diff options
67 files changed, 1992 insertions, 796 deletions
@@ -1,3 +1,42 @@ +Changes in libsoup from 2.71.1 to 2.72.0: + + * Fix critical after cancelling a message that failed auth [Carlos Garcia Campos] + + * Updated translations: Portuguese, Latvian, Italian, German, Hungarian + +Changes in libsoup from 2.71.0 to 2.71.1: + + * Add support for 308 Premanent Redirect [Benjamin Kaufmann] + + * Add basic sysprof profiling for HTTP messages [Philip Withnall] + + * Various build fixes [Tom Schoonjans, Chun-wei Fan] + + * Updated translations: Korean, Finnish, Czech, Catalan, Croatian, Slovenian, + Japanese, Serbian, Galician, Basque, Trukish, Indonesian, + Friulian + +Changes in libsoup from 2.70.0 to 2.71.0: + + * Redesign directory list returned for `file://` requests [Jan-Michael Brummer] + + * Add `SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY` policy [Carlos Garcia Campos] + + * Add soup_message_is_feature_disabled() API [Carlos Garcia Campos] + + * Fix potential leak when setting SoupSession:tls-interaction [Scott Hutton] + + * Fix building with Visual Studio [Chun-wei Fan] + + * Updated translations: Ukrainian, Romanian, Swedish, Polish, Lithuanian, Spanish, + French, Chinese (China) + +Changes in libsoup from 2.69.90 to 2.70.0: + + * Deprecate SoupSession:proxy-uri [Patrick Griffis] + + * Update translations: Persian, Finnish, Ukrainian + Changes in libsoup from 2.68.3 to 2.69.90: * Add new API to expose support for same-site cookies [Patrick Griffis] diff --git a/README.msvc b/README.msvc index d9a00613..86447e0b 100644 --- a/README.msvc +++ b/README.msvc @@ -52,9 +52,11 @@ To do a build using Meson, do the following: -Configure the build using Meson:
- python $(PYTHON_INSTALL_DIR)\scripts\meson.py $(LIBSOUP_SRCDIR) --buildtype=$(build_configuration) --prefix=$(INSTALL_PREFIX) [--backend=vs]
+ python $(PYTHON_INSTALL_DIR)\scripts\meson.py $(LIBSOUP_SRCDIR) --buildtype=$(build_configuration) --prefix=$(INSTALL_PREFIX) -Dsysprof=disabled [--backend=vs]
Also pass in -Dgssapi=false if not building with GSSAPI support.
+ For pre-Visual Studio 2013, pass in -Dtests=false, since the tests are written in
+ C99 syntax.
Please see the Meson docs for an explanation for --buildtype, the path passed for
--prefix need not to be on the same drive as where the build is carried out, but
diff --git a/docs/reference/libsoup-2.4-sections.txt b/docs/reference/libsoup-2.4-sections.txt index 6abb2627..f9d10bc9 100644 --- a/docs/reference/libsoup-2.4-sections.txt +++ b/docs/reference/libsoup-2.4-sections.txt @@ -35,6 +35,7 @@ SoupChunkAllocator soup_message_set_chunk_allocator <SUBSECTION> soup_message_disable_feature +soup_message_is_feature_disabled soup_message_get_soup_request <SUBSECTION> SoupMessagePriority diff --git a/libsoup/directory.css b/libsoup/directory.css new file mode 100644 index 00000000..82e86516 --- /dev/null +++ b/libsoup/directory.css @@ -0,0 +1,70 @@ +:root { + background-color: #f6f5f4; +} + +a { + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +table { + width: 100%; + table-layout: fixed; + margin: 0 auto; +} + +th > a { + color: inherit; +} + +table[order] > thead > tr > th::after { + display: none; + width: .8em; + margin-inline-end: -.8em; + text-align: end; +} + +table[order="asc"] > thead > tr > th::after { + content: "\2193"; +} +table[order="desc"] > thead > tr > th::after { + content: "\2191"; +} + +table[order][order-by="0"] > thead > tr > th:first-child > a , +table[order][order-by="1"] > thead > tr > th:first-child + th > a , +table[order][order-by="2"] > thead > tr > th:first-child + th + th > a { + text-decoration: underline; +} + +table[order][order-by="0"] > thead > tr > th:first-child::after , +table[order][order-by="1"] > thead > tr > th:first-child + th::after , +table[order][order-by="2"] > thead > tr > th:first-child + th + th::after { + display: inline-block; +} + +td:first-child { + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +tr:nth-child(even) { + background-color: #f2f2f2; +} + +@media (min-width: 550px) { + body { + padding: 3em; + background-color: white; + border-radius: 1em; + border: 2px solid rgba(211, 215, 207); + max-width: 65em; + margin: 2em auto; + } +} + diff --git a/libsoup/directory.js b/libsoup/directory.js new file mode 100644 index 00000000..b1380bd8 --- /dev/null +++ b/libsoup/directory.js @@ -0,0 +1,76 @@ + +/* This code is based on Firefox directory listing, distributed under + * Mozilla Public License. + */ + +'use strict'; + +var gTable, gOrderBy, gTBody, gRows; + +document.addEventListener("DOMContentLoaded", function() { + gTable = document.getElementsByTagName("table")[0]; + gTBody = gTable.tBodies[0]; + if (gTBody.rows.length < 2) + return; + var headCells = gTable.tHead.rows[0].cells; + + function rowAction(i) { + return function(event) { + event.preventDefault(); + orderBy(i); + } + } + + for (var i = headCells.length - 1; i >= 0; i--) { + var anchor = document.createElement("a"); + anchor.href = ""; + anchor.appendChild(headCells[i].firstChild); + headCells[i].appendChild(anchor); + headCells[i].addEventListener("click", rowAction(i), true); + } + gTable.setAttribute("order", ""); + orderBy(0); +}, "false"); + +function compareRows(rowA, rowB) { + var a = rowA.cells[gOrderBy].getAttribute("sortable-data") || rowA.cells[gOrderBy].innerHTML; + var b = rowB.cells[gOrderBy].getAttribute("sortable-data") || rowB.cells[gOrderBy].innerHTML; + var intA = +a; + var intB = +b; + if (a == intA && b == intB) { + a = intA; + b = intB; + } else { + a = a.toLowerCase(); + b = b.toLowerCase(); + } + if (a < b) + return -1; + if (a > b) + return 1; + return 0; +} + +function orderBy(column) { + if (!gRows) + gRows = Array.from(gTBody.rows); + var order; + if (gOrderBy == column) { + order = gTable.getAttribute("order") == "asc" ? "desc" : "asc"; + } else { + order = "asc"; + gOrderBy = column; + gTable.setAttribute("order-by", column); + gRows.sort(compareRows); + } + gTable.removeChild(gTBody); + gTable.setAttribute("order", order); + if (order == "asc") + for (var i = 0; i < gRows.length; i++) + gTBody.appendChild(gRows[i]); + else + for (var i = gRows.length - 1; i >= 0; i--) + gTBody.appendChild(gRows[i]); + gTable.appendChild(gTBody); +} + diff --git a/libsoup/meson.build b/libsoup/meson.build index 73bb1188..432e294d 100644 --- a/libsoup/meson.build +++ b/libsoup/meson.build @@ -1,6 +1,13 @@ pkg = import('pkgconfig') +resources = gnome.compile_resources('soup-resources', + 'soup.gresource.xml', + c_name: 'soup', + source_dir: '.' +) + soup_sources = [ + resources, 'soup-address.c', 'soup-auth.c', 'soup-auth-basic.c', @@ -235,6 +242,7 @@ libsoup_c_args = [ ] deps = [ + libsysprof_capture_dep, glib_deps, libxml_dep, sqlite_dep, diff --git a/libsoup/soup-brotli-decompressor.h b/libsoup/soup-brotli-decompressor.h index a730109f..6f09f689 100644 --- a/libsoup/soup-brotli-decompressor.h +++ b/libsoup/soup-brotli-decompressor.h @@ -26,12 +26,10 @@ G_BEGIN_DECLS #define SOUP_TYPE_BROTLI_DECOMPRESSOR (soup_brotli_decompressor_get_type()) +SOUP_AVAILABLE_IN_2_68 G_DECLARE_FINAL_TYPE (SoupBrotliDecompressor, soup_brotli_decompressor, SOUP, BROTLI_DECOMPRESSOR, GObject) SOUP_AVAILABLE_IN_2_68 SoupBrotliDecompressor *soup_brotli_decompressor_new (void); -SOUP_AVAILABLE_IN_2_68 -GType soup_brotli_decompressor_get_type (void) G_GNUC_CONST; - G_END_DECLS diff --git a/libsoup/soup-cache.c b/libsoup/soup-cache.c index 5d480244..f03999c4 100755 --- a/libsoup/soup-cache.c +++ b/libsoup/soup-cache.c @@ -1356,7 +1356,7 @@ soup_cache_generate_conditional_request (SoupCache *cache, SoupMessage *original SoupURI *uri; SoupCacheEntry *entry; const char *last_modified, *etag; - GSList *f; + GList *disabled_features, *f; g_return_val_if_fail (SOUP_IS_CACHE (cache), NULL); g_return_val_if_fail (SOUP_IS_MESSAGE (original), NULL); @@ -1383,8 +1383,10 @@ soup_cache_generate_conditional_request (SoupCache *cache, SoupMessage *original (SoupMessageHeadersForeachFunc)copy_headers, msg->request_headers); - for (f = soup_message_get_disabled_features (original); f; f = f->next) + disabled_features = soup_message_get_disabled_features (original); + for (f = disabled_features; f; f = f->next) soup_message_disable_feature (msg, (GType) GPOINTER_TO_SIZE (f->data)); + g_list_free (disabled_features); if (last_modified) soup_message_headers_append (msg->request_headers, diff --git a/libsoup/soup-cookie-jar.c b/libsoup/soup-cookie-jar.c index 7feaff34..c8231f0e 100755 --- a/libsoup/soup-cookie-jar.c +++ b/libsoup/soup-cookie-jar.c @@ -522,12 +522,20 @@ normalize_cookie_domain (const char *domain) } static gboolean -incoming_cookie_is_third_party (SoupCookie *cookie, SoupURI *first_party) +incoming_cookie_is_third_party (SoupCookieJar *jar, + SoupCookie *cookie, + SoupURI *first_party, + SoupCookieJarAcceptPolicy policy) { + SoupCookieJarPrivate *priv; const char *normalized_cookie_domain; const char *cookie_base_domain; const char *first_party_base_domain; + if (policy != SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY && + policy != SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY) + return FALSE; + if (first_party == NULL || first_party->host == NULL) return TRUE; @@ -539,7 +547,21 @@ incoming_cookie_is_third_party (SoupCookie *cookie, SoupURI *first_party) first_party_base_domain = soup_tld_get_base_domain (first_party->host, NULL); if (first_party_base_domain == NULL) first_party_base_domain = first_party->host; - return !soup_host_matches_host (cookie_base_domain, first_party_base_domain); + + if (soup_host_matches_host (cookie_base_domain, first_party_base_domain)) + return FALSE; + + if (policy == SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY) + return TRUE; + + /* Now we know the cookie's base domain and the first party's base domain + * are different, but for SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY + * policy we want to grandfather in any domain that's already in the jar. + * That is, we never want to block cookies from domains the user has + * previously visited directly. + */ + priv = soup_cookie_jar_get_instance_private (jar); + return !g_hash_table_lookup (priv->domains, cookie->domain); } /** @@ -582,14 +604,13 @@ soup_cookie_jar_add_cookie_full (SoupCookieJar *jar, SoupCookie *cookie, SoupURI priv = soup_cookie_jar_get_instance_private (jar); - if (first_party != NULL) { - if (priv->accept_policy == SOUP_COOKIE_JAR_ACCEPT_NEVER || - (priv->accept_policy == SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY && - incoming_cookie_is_third_party (cookie, first_party))) { - soup_cookie_free (cookie); - return; - } - } + if (first_party != NULL) { + if (priv->accept_policy == SOUP_COOKIE_JAR_ACCEPT_NEVER || + incoming_cookie_is_third_party (jar, cookie, first_party, priv->accept_policy)) { + soup_cookie_free (cookie); + return; + } + } /* Cannot set a secure cookie over http */ if (uri != NULL && !soup_uri_is_https (uri, NULL) && soup_cookie_get_secure (cookie)) { @@ -704,8 +725,9 @@ soup_cookie_jar_add_cookie_with_first_party (SoupCookieJar *jar, SoupURI *first_ * Adds @cookie to @jar, exactly as though it had appeared in a * Set-Cookie header returned from a request to @uri. * - * Keep in mind that if the #SoupCookieJarAcceptPolicy - * %SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY is set you'll need to use + * Keep in mind that if the #SoupCookieJarAcceptPolicy set is either + * %SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY or + * %SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY you'll need to use * soup_cookie_jar_set_cookie_with_first_party(), otherwise the jar * will have no way of knowing if the cookie is being set by a third * party or not. @@ -730,7 +752,8 @@ soup_cookie_jar_set_cookie (SoupCookieJar *jar, SoupURI *uri, if (priv->accept_policy == SOUP_COOKIE_JAR_ACCEPT_NEVER) return; - g_return_if_fail (priv->accept_policy != SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY); + g_return_if_fail (priv->accept_policy != SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY && + priv->accept_policy != SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY); soup_cookie = soup_cookie_parse (cookie, uri); if (soup_cookie) { @@ -942,6 +965,19 @@ soup_cookie_jar_delete_cookie (SoupCookieJar *jar, * on each outgoing #SoupMessage, setting the #SoupURI of the main * document. If no first party is set in a message when this policy is * in effect, cookies will be assumed to be third party by default. + * @SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY: accept all cookies + * set by the main document loaded in the application using libsoup, and + * from domains that have previously set at least one cookie when loaded + * as the main document. An example of the most common case, web browsers, + * would be: if http://www.example.com is the page loaded, accept all + * cookies set by example.com, but if a resource from http://www.third-party.com + * is loaded from that page, reject any cookie that it could try to + * set unless it already has a cookie in the cookie jar. For libsoup to + * be able to tell apart first party cookies from the rest, the + * application must call soup_message_set_first_party() on each outgoing + * #SoupMessage, setting the #SoupURI of the main document. If no first + * party is set in a message when this policy is in effect, cookies will + * be assumed to be third party by default. Since 2.72. * * The policy for accepting or rejecting cookies returned in * responses. diff --git a/libsoup/soup-cookie-jar.h b/libsoup/soup-cookie-jar.h index 9161cd46..d7b2b4c2 100644 --- a/libsoup/soup-cookie-jar.h +++ b/libsoup/soup-cookie-jar.h @@ -44,7 +44,8 @@ typedef struct { typedef enum { SOUP_COOKIE_JAR_ACCEPT_ALWAYS, SOUP_COOKIE_JAR_ACCEPT_NEVER, - SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY + SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY, + SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY } SoupCookieJarAcceptPolicy; SOUP_AVAILABLE_IN_2_24 diff --git a/libsoup/soup-directory-input-stream.c b/libsoup/soup-directory-input-stream.c index e0ccfd90..572f167e 100644 --- a/libsoup/soup-directory-input-stream.c +++ b/libsoup/soup-directory-input-stream.c @@ -25,11 +25,12 @@ #include <string.h> +#include <glib/gi18n-lib.h> + #include "soup-directory-input-stream.h" #include "soup.h" -#define INIT_STRING "<html>\n<body>\n<table><th align=\"left\">Name</th><th>Size</th><th>Date Modified</th>\n" -#define ROW_FORMAT "<td><a href=\"%s\">%s</a></td><td align=\"right\">%s</td><td align=\"right\" margin=8>%s</td>\n" +#define ROW_FORMAT "<td sortable-data=\"%s\"><a href=\"%s\">%s</a></td><td align=\"right\" sortable-data=\"%" G_GOFFSET_FORMAT "\">%s</td><td align=\"right\" sortable-data=\"%" G_GINT64_FORMAT "\">%s %s</td>\n" #define EXIT_STRING "</table>\n</html>\n" G_DEFINE_TYPE (SoupDirectoryInputStream, soup_directory_input_stream, G_TYPE_INPUT_STREAM) @@ -41,7 +42,9 @@ soup_directory_input_stream_parse_info (SoupDirectoryInputStream *stream, SoupBuffer *buffer; GString *string; const char *file_name; - char *escaped, *path, *xml_string, *size, *time; + char *escaped, *path, *xml_string, *size, *date, *time, *name; + goffset raw_size; + gint64 timestamp; #if !GLIB_CHECK_VERSION (2, 61, 2) GTimeVal modified; #endif @@ -62,21 +65,35 @@ soup_directory_input_stream_parse_info (SoupDirectoryInputStream *stream, xml_string = g_markup_escape_text (file_name, -1); escaped = g_uri_escape_string (file_name, NULL, FALSE); path = g_strconcat (stream->uri, G_DIR_SEPARATOR_S, escaped, NULL); - size = g_format_size (g_file_info_get_size (info)); + raw_size = g_file_info_get_size (info); + + if (g_file_info_get_file_type (info) == G_FILE_TYPE_REGULAR) + size = g_format_size (raw_size); + else + size = g_strdup(""); + + if (g_file_info_get_file_type (info) == G_FILE_TYPE_DIRECTORY) + name = g_strdup_printf("1.%s", path); + else + name = g_strdup_printf("%s", path); + #if GLIB_CHECK_VERSION (2, 61, 2) modification_time = g_file_info_get_modification_date_time (info); #else g_file_info_get_modification_time (info, &modified); modification_time = g_date_time_new_from_timeval_local (&modified); #endif - time = g_date_time_format (modification_time, "%X %x"); + time = g_date_time_format (modification_time, "%X"); + date = g_date_time_format (modification_time, "%x"); + timestamp = g_date_time_to_unix (modification_time); g_date_time_unref (modification_time); - g_string_append_printf (string, ROW_FORMAT, path, xml_string, size, time); + g_string_append_printf (string, ROW_FORMAT, name, path, xml_string, raw_size, size, timestamp, time, date); g_string_append (string, "</tr>\n"); buffer = soup_buffer_new (SOUP_MEMORY_TAKE, string->str, string->len); g_free (time); + g_free (date); g_free (escaped); g_free (size); g_free (path); @@ -190,12 +207,46 @@ soup_directory_input_stream_class_init (SoupDirectoryInputStreamClass *stream_cl inputstream_class->close_fn = soup_directory_input_stream_close; } +static +char *soup_directory_input_stream_create_header (SoupDirectoryInputStream *stream) +{ + char *header; + GBytes *css = g_resources_lookup_data ("/org/gnome/libsoup/directory.css", G_RESOURCE_LOOKUP_FLAGS_NONE, NULL); + GBytes *js = g_resources_lookup_data ("/org/gnome/libsoup/directory.js", G_RESOURCE_LOOKUP_FLAGS_NONE, NULL); + + header = g_strdup_printf ("<html><head>" \ + "<title>%s</title>" \ + "<meta http-equiv=\"Content-Type\" content=\"text/html;\" charset=\"UTF-8\">" \ + "<style>%s</style>" \ + "<script>%s</script>" \ + "</head>" \ + "<body>" \ + "<table>" \ + "<thead>" \ + "<th align=\"left\">%s</th><th align=\"right\">%s</th><th align=\"right\">%s</th>" \ + "</thead>", + stream->uri, + css ? (gchar *)g_bytes_get_data (css, NULL) : "", + js ? (gchar *)g_bytes_get_data (js, NULL) : "", + _("Name"), + _("Size"), + _("Date Modified")); + return header; +} + static void soup_directory_input_stream_init (SoupDirectoryInputStream *stream) { - stream->buffer = soup_buffer_new (SOUP_MEMORY_STATIC, - INIT_STRING, - sizeof (INIT_STRING)); +} + +static void +soup_directory_input_stream_setup_buffer (SoupDirectoryInputStream *stream) +{ + char *init = soup_directory_input_stream_create_header (stream); + + stream->buffer = soup_buffer_new (SOUP_MEMORY_TAKE, + init, + strlen (init)); } GInputStream * @@ -212,6 +263,7 @@ soup_directory_input_stream_new (GFileEnumerator *enumerator, SOUP_DIRECTORY_INPUT_STREAM (stream)->enumerator = g_object_ref (enumerator); SOUP_DIRECTORY_INPUT_STREAM (stream)->uri = soup_uri_to_string (uri, FALSE); + soup_directory_input_stream_setup_buffer (SOUP_DIRECTORY_INPUT_STREAM (stream)); + return stream; } - diff --git a/libsoup/soup-headers.c b/libsoup/soup-headers.c index 5e70b97b..eec28adf 100644 --- a/libsoup/soup-headers.c +++ b/libsoup/soup-headers.c @@ -131,7 +131,7 @@ soup_headers_parse (const char *str, int len, SoupMessageHeaders *dest) /* Delete all but one SP */ *eol = ' '; - g_memmove (eol + 1, sol, strlen (sol) + 1); + memmove (eol + 1, sol, strlen (sol) + 1); } /* clip trailing whitespace */ diff --git a/libsoup/soup-message-io.c b/libsoup/soup-message-io.c index 1f550e63..c5412abb 100644 --- a/libsoup/soup-message-io.c +++ b/libsoup/soup-message-io.c @@ -11,6 +11,10 @@ #include <glib/gi18n-lib.h> +#ifdef HAVE_SYSPROF +#include <sysprof-capture.h> +#endif + #include "soup.h" #include "soup-body-input-stream.h" #include "soup-body-output-stream.h" @@ -89,6 +93,10 @@ typedef struct { gpointer header_data; SoupMessageCompletionFn completion_cb; gpointer completion_data; + +#ifdef HAVE_SYSPROF + gint64 begin_time_nsec; +#endif } SoupMessageIOData; static void io_run (SoupMessage *msg, gboolean blocking); @@ -1018,6 +1026,32 @@ io_run_until (SoupMessage *msg, gboolean blocking, return FALSE; } +#ifdef HAVE_SYSPROF + /* Allow profiling of network requests. */ + if (io->read_state == SOUP_MESSAGE_IO_STATE_DONE && + io->write_state == SOUP_MESSAGE_IO_STATE_DONE) { + SoupURI *uri = soup_message_get_uri (msg); + char *uri_str = soup_uri_to_string (uri, FALSE); + const gchar *last_modified = soup_message_headers_get_one (msg->request_headers, "Last-Modified"); + const gchar *etag = soup_message_headers_get_one (msg->request_headers, "ETag"); + + /* FIXME: Expand and generalise sysprof support: + * https://gitlab.gnome.org/GNOME/sysprof/-/issues/43 */ + sysprof_collector_mark_printf (io->begin_time_nsec, SYSPROF_CAPTURE_CURRENT_TIME - io->begin_time_nsec, + "libsoup", "message", + "%s request/response to %s: " + "read %" G_GOFFSET_FORMAT "B, " + "wrote %" G_GOFFSET_FORMAT "B, " + "Last-Modified: %s, " + "ETag: %s", + soup_message_get_https_status (msg, NULL, NULL) ? "HTTPS" : "HTTP", + uri_str, io->read_length, io->write_length, + (last_modified != NULL) ? last_modified : "(unset)", + (etag != NULL) ? etag : "(unset)"); + g_free (uri_str); + } +#endif /* HAVE_SYSPROF */ + g_object_unref (msg); return done; } @@ -1188,6 +1222,11 @@ new_iostate (SoupMessage *msg, GIOStream *iostream, if (soup_message_get_io_data (msg)) soup_message_io_cleanup (msg); soup_message_set_io_data (msg, io); + +#ifdef HAVE_SYSPROF + io->begin_time_nsec = SYSPROF_CAPTURE_CURRENT_TIME; +#endif + return io; } diff --git a/libsoup/soup-message-private.h b/libsoup/soup-message-private.h index 0c6f5d97..c30361c0 100755 --- a/libsoup/soup-message-private.h +++ b/libsoup/soup-message-private.h @@ -33,7 +33,7 @@ typedef struct { SoupAuth *auth, *proxy_auth; SoupConnection *connection; - GSList *disabled_features; + GHashTable *disabled_features; SoupURI *first_party; SoupURI *site_for_cookies; @@ -143,10 +143,8 @@ GInputStream *soup_message_io_get_response_istream (SoupMessage *msg, gboolean soup_message_disables_feature (SoupMessage *msg, gpointer feature); -gboolean soup_message_disables_feature_by_type (SoupMessage *msg, - GType feature_type); -GSList *soup_message_get_disabled_features (SoupMessage *msg); +GList *soup_message_get_disabled_features (SoupMessage *msg); void soup_message_set_https_status (SoupMessage *msg, SoupConnection *conn); diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c index 519972a8..da32b42f 100755 --- a/libsoup/soup-message.c +++ b/libsoup/soup-message.c @@ -182,7 +182,7 @@ soup_message_finalize (GObject *object) g_clear_object (&priv->auth); g_clear_object (&priv->proxy_auth); - g_slist_free (priv->disabled_features); + g_clear_pointer (&priv->disabled_features, g_hash_table_destroy); g_clear_object (&priv->tls_certificate); @@ -1899,50 +1899,75 @@ soup_message_disable_feature (SoupMessage *msg, GType feature_type) priv = soup_message_get_instance_private (msg); - priv->disabled_features = g_slist_prepend (priv->disabled_features, - GSIZE_TO_POINTER (feature_type)); + if (!priv->disabled_features) + priv->disabled_features = g_hash_table_new (g_direct_hash, g_direct_equal); + + g_hash_table_add (priv->disabled_features, GSIZE_TO_POINTER (feature_type)); } gboolean soup_message_disables_feature (SoupMessage *msg, gpointer feature) { SoupMessagePrivate *priv; - GSList *f; + GHashTableIter iter; + gpointer key; g_return_val_if_fail (SOUP_IS_MESSAGE (msg), FALSE); priv = soup_message_get_instance_private (msg); - for (f = priv->disabled_features; f; f = f->next) { - if (G_TYPE_CHECK_INSTANCE_TYPE (feature, (GType) GPOINTER_TO_SIZE (f->data))) - return TRUE; - } - return FALSE; + if (!priv->disabled_features) + return FALSE; + + g_hash_table_iter_init (&iter, priv->disabled_features); + while (g_hash_table_iter_next (&iter, &key, NULL)) { + if (G_TYPE_CHECK_INSTANCE_TYPE (feature, GPOINTER_TO_SIZE (key))) + return TRUE; + } + return FALSE; } +/** + * soup_message_is_feature_disabled: + * @msg: a #SoupMessage + * @feature_type: the #GType of a #SoupSessionFeature + * + * Get whether #SoupSessionFeature<!-- -->s of the given @feature_type + * (or a subclass of that type) are disabled on @msg. + * See soup_message_disable_feature(). + * + * Returns: %TRUE if feature is disabled, or %FALSE otherwise. + * + * Since: 2.72 + */ gboolean -soup_message_disables_feature_by_type (SoupMessage *msg, GType feature_type) +soup_message_is_feature_disabled (SoupMessage *msg, GType feature_type) { SoupMessagePrivate *priv; - GSList *f; + GHashTableIter iter; + gpointer key; g_return_val_if_fail (SOUP_IS_MESSAGE (msg), FALSE); priv = soup_message_get_instance_private (msg); - for (f = priv->disabled_features; f; f = f->next) { - if (g_type_is_a ((GType)GPOINTER_TO_SIZE (f->data), feature_type)) + if (!priv->disabled_features) + return FALSE; + + g_hash_table_iter_init (&iter, priv->disabled_features); + while (g_hash_table_iter_next (&iter, &key, NULL)) { + if (g_type_is_a (GPOINTER_TO_SIZE (key), feature_type)) return TRUE; } return FALSE; } -GSList * +GList * soup_message_get_disabled_features (SoupMessage *msg) { SoupMessagePrivate *priv = soup_message_get_instance_private (msg); - return priv->disabled_features; + return priv->disabled_features ? g_hash_table_get_keys (priv->disabled_features) : NULL; } /** diff --git a/libsoup/soup-message.h b/libsoup/soup-message.h index 41004fd9..42379a4b 100644 --- a/libsoup/soup-message.h +++ b/libsoup/soup-message.h @@ -217,6 +217,10 @@ SOUP_AVAILABLE_IN_2_28 void soup_message_disable_feature (SoupMessage *msg, GType feature_type); +SOUP_AVAILABLE_IN_2_72 +gboolean soup_message_is_feature_disabled (SoupMessage *msg, + GType feature_type); + SOUP_AVAILABLE_IN_2_42 SoupRequest *soup_message_get_soup_request (SoupMessage *msg); diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c index 5dcf1eb2..dd3cdc46 100755 --- a/libsoup/soup-session.c +++ b/libsoup/soup-session.c @@ -685,6 +685,7 @@ soup_session_set_property (GObject *object, guint prop_id, socket_props_changed = TRUE; break; case PROP_TLS_INTERACTION: + g_clear_object(&priv->tls_interaction); priv->tls_interaction = g_value_dup_object (value); socket_props_changed = TRUE; break; @@ -1075,6 +1076,7 @@ auth_manager_authenticate (SoupAuthManager *manager, SoupMessage *msg, #define SOUP_SESSION_WOULD_REDIRECT_AS_SAFE(session, msg) \ (((msg)->status_code == SOUP_STATUS_MOVED_PERMANENTLY || \ + (msg)->status_code == SOUP_STATUS_PERMANENT_REDIRECT || \ (msg)->status_code == SOUP_STATUS_TEMPORARY_REDIRECT || \ (msg)->status_code == SOUP_STATUS_FOUND) && \ SOUP_METHOD_IS_SAFE ((msg)->method)) @@ -2877,8 +2879,21 @@ soup_session_has_feature (SoupSession *session, return TRUE; } } else if (g_type_is_a (feature_type, SOUP_TYPE_REQUEST)) { - return g_hash_table_lookup (priv->request_types, - GSIZE_TO_POINTER (feature_type)) != NULL; + SoupRequestClass *request_class; + int i; + + request_class = g_type_class_peek (feature_type); + if (!request_class) + return FALSE; + + for (i = 0; request_class->schemes[i]; i++) { + gpointer type; + + type = g_hash_table_lookup (priv->request_types, + request_class->schemes[i]); + if (type && g_type_is_a (GPOINTER_TO_SIZE (type), feature_type)) + return TRUE; + } } else { for (f = priv->features; f; f = f->next) { if (soup_session_feature_has_feature (f->data, feature_type)) @@ -3217,6 +3232,8 @@ soup_session_class_init (SoupSessionClass *session_class) * <literal>localhost</literal>. If you need more control over * proxies, you can create a #GSimpleProxyResolver and set the * #SoupSession:proxy-resolver property. + * + * Deprecated: 2.70: Use SoupSession:proxy-resolver along with #GSimpleProxyResolver. */ /** * SOUP_SESSION_PROXY_URI: @@ -3230,7 +3247,8 @@ soup_session_class_init (SoupSessionClass *session_class) "The HTTP Proxy to use for this session", SOUP_TYPE_URI, G_PARAM_READWRITE | - G_PARAM_STATIC_STRINGS)); + G_PARAM_STATIC_STRINGS | + G_PARAM_DEPRECATED)); /** * SoupSession:proxy-resolver: * @@ -3926,7 +3944,8 @@ async_send_request_restarted (SoupMessage *msg, gpointer user_data) SoupMessageQueueItem *item = user_data; /* We won't be needing this, then. */ - g_object_set_data (G_OBJECT (item->msg), "SoupSession:ostream", NULL); + if (item->task) + g_object_set_data (G_OBJECT (item->task), "SoupSession:ostream", NULL); item->io_started = FALSE; } diff --git a/libsoup/soup-status.h b/libsoup/soup-status.h index 5263df33..5b0db2aa 100644 --- a/libsoup/soup-status.h +++ b/libsoup/soup-status.h @@ -58,6 +58,7 @@ typedef enum { SOUP_STATUS_USE_PROXY = 305, SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL = 306, /* (reserved) */ SOUP_STATUS_TEMPORARY_REDIRECT = 307, + SOUP_STATUS_PERMANENT_REDIRECT = 308, SOUP_STATUS_BAD_REQUEST = 400, SOUP_STATUS_UNAUTHORIZED = 401, diff --git a/libsoup/soup-uri.c b/libsoup/soup-uri.c index c01b3e3b..4bb55b81 100644 --- a/libsoup/soup-uri.c +++ b/libsoup/soup-uri.c @@ -754,6 +754,8 @@ soup_uri_encode (const char *part, const char *escape_extra) #define XDIGIT(c) ((c) <= '9' ? (c) - '0' : ((c) & 0x4F) - 'A' + 10) #define HEXCHAR(s) ((XDIGIT (s[1]) << 4) + XDIGIT (s[2])) +/* length must be set (e.g. from strchr()) such that [part, part + length] + * contains no nul bytes */ char * soup_uri_decoded_copy (const char *part, int length, int *decoded_length) { @@ -766,7 +768,9 @@ soup_uri_decoded_copy (const char *part, int length, int *decoded_length) s = d = (unsigned char *)decoded; do { if (*s == '%') { - if (!g_ascii_isxdigit (s[1]) || + if (s[1] == '\0' || + s[2] == '\0' || + !g_ascii_isxdigit (s[1]) || !g_ascii_isxdigit (s[2])) { *d++ = *s; continue; @@ -803,6 +807,8 @@ soup_uri_decode (const char *part) return soup_uri_decoded_copy (part, strlen (part), NULL); } +/* length must be set (e.g. from strchr()) such that [part, part + length] + * contains no nul bytes */ static char * uri_normalized_copy (const char *part, int length, const char *unescape_extra) @@ -817,7 +823,9 @@ uri_normalized_copy (const char *part, int length, s = d = (unsigned char *)normalized; while (*s) { if (*s == '%') { - if (!g_ascii_isxdigit (s[1]) || + if (s[1] == '\0' || + s[2] == '\0' || + !g_ascii_isxdigit (s[1]) || !g_ascii_isxdigit (s[2])) { *d++ = *s++; continue; diff --git a/libsoup/soup-version.h.in b/libsoup/soup-version.h.in index b06b5ad0..07bed7fd 100644 --- a/libsoup/soup-version.h.in +++ b/libsoup/soup-version.h.in @@ -69,6 +69,7 @@ G_BEGIN_DECLS #define SOUP_VERSION_2_66 (G_ENCODE_VERSION (2, 66)) #define SOUP_VERSION_2_68 (G_ENCODE_VERSION (2, 68)) #define SOUP_VERSION_2_70 (G_ENCODE_VERSION (2, 70)) +#define SOUP_VERSION_2_72 (G_ENCODE_VERSION (2, 72)) /* evaluates to the current stable version; for development cycles, * this means the next stable target @@ -410,6 +411,13 @@ G_BEGIN_DECLS #else # define SOUP_AVAILABLE_IN_2_70 _SOUP_EXTERN #endif + +#if SOUP_VERSION_MAX_ALLOWED < SOUP_VERSION_2_72 +# define SOUP_AVAILABLE_IN_2_72 G_UNAVAILABLE(2, 72) _SOUP_EXTERN +#else +# define SOUP_AVAILABLE_IN_2_72 _SOUP_EXTERN +#endif + SOUP_AVAILABLE_IN_2_42 guint soup_get_major_version (void); diff --git a/libsoup/soup-websocket.c b/libsoup/soup-websocket.c index d7011b49..13b56474 100644 --- a/libsoup/soup-websocket.c +++ b/libsoup/soup-websocket.c @@ -337,7 +337,7 @@ soup_websocket_client_prepare_handshake_with_extensions (SoupMessage *msg, for (i = 0; i < supported_extensions->len; i++) { SoupWebsocketExtensionClass *extension_class = (SoupWebsocketExtensionClass *)supported_extensions->pdata[i]; - if (soup_message_disables_feature_by_type (msg, G_TYPE_FROM_CLASS (extension_class))) + if (soup_message_is_feature_disabled (msg, G_TYPE_FROM_CLASS (extension_class))) continue; if (i != 0) diff --git a/libsoup/soup.gresource.xml b/libsoup/soup.gresource.xml new file mode 100644 index 00000000..da3ad10b --- /dev/null +++ b/libsoup/soup.gresource.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<gresources> + <gresource prefix="/org/gnome/libsoup"> + <file>directory.css</file> + <file>directory.js</file> + </gresource> +</gresources> diff --git a/meson.build b/meson.build index 88a08ce1..03884d8f 100644 --- a/meson.build +++ b/meson.build @@ -1,8 +1,8 @@ project('libsoup', 'c', - version: '2.69.90', + version: '2.72.0', meson_version : '>=0.50', license : 'LGPL2', - default_options : 'c_std=c89') + default_options : 'c_std=c99') gnome = import('gnome') @@ -12,9 +12,17 @@ soup_version_major = version_arr[0] soup_version_minor = version_arr[1] soup_version_micro = version_arr[2] -libversion = '1.8.0' +# Before making a release, the libversion string should be modified. +# +# * Bump the first component if binary compatibility has been broken; or +# * Bump the second component if new APIs are added; or +# * Bump the third component otherwise. +# +# When bumping the first component version, set the second and third components +# to 0. When bumping the second version, set the third one to zero. +libversion = '1.11.0' apiversion = '2.4' -soversion = '1' +soversion = libversion.split('.')[0] libsoup_api_name = '@0@-@1@'.format(meson.project_name(), apiversion) libversion_arr = libversion.split('.') darwin_version_major = libversion_arr[0].to_int() @@ -87,7 +95,7 @@ sqlite_dep = dependency('sqlite3', required: false) # Fallback check for sqlite, not all platforms ship pkg-config file if not sqlite_dep.found() sqlite_dep = cc.find_library('sqlite3', - has_headers : ['sqlite3.h', 'sqlite3ext.h'], + has_headers : ['sqlite3.h'], required: false) endif @@ -143,6 +151,22 @@ if cc.has_function('gmtime_r', prefix : '#include <time.h>', args : default_sour cdata.set('HAVE_GMTIME_R', '1') endif +# sysprof support +libsysprof_capture_dep = dependency('sysprof-capture-4', + required: get_option('sysprof'), + default_options: [ + 'enable_examples=false', + 'enable_gtk=false', + 'enable_tests=false', + 'enable_tools=false', + 'libsysprof=false', + 'with_sysprofd=none', + 'help=false', + ], + fallback: ['sysprof', 'libsysprof_capture_dep'], +) +cdata.set('HAVE_SYSPROF', libsysprof_capture_dep.found()) + ################### # GIO TLS support # ################### @@ -272,8 +296,6 @@ if not tests_ready warning('Some regression tests will not be compiled due to missing libraries or modules. Please check the logs for more details.') endif -cdata.set('HAVE_CURL', find_program('curl', required : false).found()) - ################## # GSSAPI support # ################## diff --git a/meson_options.txt b/meson_options.txt index 12b1aae6..57b098c1 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -70,3 +70,9 @@ option('installed_tests', value: false, description: 'Install tests for as-installed testing' ) + +option('sysprof', + type: 'feature', + value: 'auto', + description: 'enable sysprof-capture support for profiling' +) diff --git a/packaging/libsoup.spec b/packaging/libsoup.spec index 9220ea85..b26eaa43 100644 --- a/packaging/libsoup.spec +++ b/packaging/libsoup.spec @@ -2,7 +2,7 @@ %bcond_with introspection Name: libsoup -Version: 2.69.90 +Version: 2.72.0 Release: 1 License: LGPL-2.0+ Summary: HTTP client/server library for GNOME diff --git a/po/POTFILES.in b/po/POTFILES.in index 3cd20bf4..61d52750 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,5 +1,6 @@ libsoup/soup-body-input-stream.c libsoup/soup-cache-input-stream.c +libsoup/soup-directory-input-stream.c libsoup/soup-converter-wrapper.c libsoup/soup-message-client-io.c libsoup/soup-message-io.c @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" "PO-Revision-Date: 2018-07-01 08:39+0200\n" "Last-Translator: Xavi Ivars <xavi.ivars@gmail.com>\n" "Language-Team: Catalan <tradgnome@softcatala.org>\n" @@ -41,6 +41,18 @@ msgstr "S'ha tancat inesperadament el flux de xarxa" msgid "Failed to completely cache the resource" msgstr "No s'ha pogut carregar completament el recurs a la memòria cau" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Nom" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Mida" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Data de modificació" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -80,31 +92,31 @@ msgstr "No s'ha proporcionat cap URI" msgid "Invalid “%s” URI: %s" msgstr "L'URI «%s» no és vàlid: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "No es pot crear un servidor de TLS sense un certificat TLS" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "No es pot escoltar a l'adreça %s, port %d: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "No s'ha pogut analitzar l'URI «%s»" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "L'esquema d'URI «%s» és incompatible" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "No és un URI HTTP" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "" "El servidor no ha acceptat la conformitat de la connexió del WebSocket." @@ -146,7 +158,8 @@ msgstr "Paràmetre duplicat a l'extensió de la capçalera «%s» de WebSocket" msgid "" "Server returned a duplicated parameter in “%s” WebSocket extension header" msgstr "" -"El servidor ha retornat un paràmetre duplicat a l'extensió de la capçalera «%s» de WebSocket" +"El servidor ha retornat un paràmetre duplicat a l'extensió de la capçalera " +"«%s» de WebSocket" #: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667 msgid "WebSocket handshake expected" @@ -1,14 +1,14 @@ # Czech translation for libsoup. # Copyright (C) 2012 libsoup's COPYRIGHT HOLDER # This file is distributed under the same license as the libsoup package. -# Marek Černocký <marek@manet.cz>, 2012, 2013, 2014, 2015, 2016, 2018, 2019. +# Marek Černocký <marek@manet.cz>, 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020. # msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-16 10:39+0200\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-08-25 10:37+0200\n" "Last-Translator: Marek Černocký <marek@manet.cz>\n" "Language-Team: čeština <gnome-cs-list@gnome.org>\n" "Language: cs\n" @@ -39,6 +39,18 @@ msgstr "Síťový proud byl neočekávaně uzavřen" msgid "Failed to completely cache the resource" msgstr "Selhalo úplné uložení prostředku do mezipaměti" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Název" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Velikost" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Datum změny" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -78,31 +90,31 @@ msgstr "Není poskytnuta žádná adresa URI" msgid "Invalid “%s” URI: %s" msgstr "Neplatná adresa URI „%s“: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Nelze vytvořit server TLS bez certifikátu TLS" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Nelze naslouchat na adrese %s, portu %d: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Nelze zpracovat adresu URI „%s“" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Nepodporované schéma URI „%s“" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Nejedná se o adresu HTTP URI" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "Server nepřijímá vyjednávání WebSocket." @@ -5,14 +5,14 @@ # Mario Blättermann <mario.blaettermann@gmail.com>, 2012-2013, 2016, 2018. # Andre Jonas <nipsky@googlemail.com>, 2013. # Bernd Homuth <dev@hmt.im>, 2015. -# Tim Sabsch <tim@sabsch.com>, 2018-2019. +# Tim Sabsch <tim@sabsch.com>, 2018-2020. # msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-23 21:37+0200\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-09-09 19:02+0200\n" "Last-Translator: Tim Sabsch <tim@sabsch.com>\n" "Language-Team: Deutsch <gnome-de@gnome.org>\n" "Language: de\n" @@ -20,7 +20,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.2.1\n" +"X-Generator: Poedit 2.4.1\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 #: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 @@ -43,6 +43,18 @@ msgstr "Netzwerk-Stream wurde unerwartet geschlossen" msgid "Failed to completely cache the resource" msgstr "Das vollständige Zwischenspeichern der Ressource ist fehlgeschlagen" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Name" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Größe" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Änderungsdatum" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -82,31 +94,31 @@ msgstr "Es wurde keine Adresse bereitgestellt" msgid "Invalid “%s” URI: %s" msgstr "Ungültige »%s«-Adresse: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "TLS-Server kann nicht ohne TLS-Zertifikat erstellt werden" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Auf Adresse %s, Port %d kann nicht gehört werden: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Die Adresse »%s« konnte nicht verarbeitet werden" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Nicht unterstütztes Adressenschema »%s«" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Keine HTTP-Adresse" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "Der Server hat den WebSocket-Handshake nicht angenommen." @@ -2,14 +2,14 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# Daniel Mustieles <daniel.mustieles@gmail.com>, 2012-2019. +# Daniel Mustieles <daniel.mustieles@gmail.com>, 2012-2020. # msgid "" msgstr "" "Project-Id-Version: libsoup\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-02 09:13+0200\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-06-29 15:46+0200\n" "Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n" "Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n" "Language: es_ES\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Gtranslator 3.32.1\n" +"X-Generator: Gtranslator 3.36.0\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 #: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 @@ -40,6 +40,18 @@ msgstr "El flujo de red se cerró inesperadamente" msgid "Failed to completely cache the resource" msgstr "Falló al cachear completamente el recurso" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Nombre" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Tamaño" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Fecha de modificación" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -79,31 +91,31 @@ msgstr "No se ha proporcionado un URI" msgid "Invalid “%s” URI: %s" msgstr "URI «%s» no válida: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "No se puede crear un servidor TLS sin un certificado TLS" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "No se puede escuchar en la dirección %s, puerto %d: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "No se pudo analizar el URI «%s»" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Esquema «%s» de URI no soportado" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "No es un URI HTTP" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "El servidor no ha aceptado la negociación WebSocket." @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Iñaki Larrañaga Murgoitio <dooteo@zundan.com>, 2013, 2014, 2015, 2017. -# Asier Sarasua Garmendia <asier.sarasua@gmail.com>, 2019. +# Asier Sarasua Garmendia <asiersarasua@ni.eus>, 2019, 2020. # msgid "" msgstr "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-11 10:00+0100\n" -"Last-Translator: Asier Sarasua Garmendia <asier.sarasua@gmail.com>\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-08-10 10:00+0100\n" +"Last-Translator: Asier Sarasua Garmendia <asiersarasua@ni.eus>\n" "Language-Team: Basque <librezale@librezale.eus>\n" "Language: eu\n" "MIME-Version: 1.0\n" @@ -39,6 +39,18 @@ msgstr "Sarearen korrontea ustekabean itxi da" msgid "Failed to completely cache the resource" msgstr "Huts egin du baliabidea erabat cachean gordetzean" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Izena" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Tamaina" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Aldatze-data" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -78,31 +90,31 @@ msgstr "Ez da URIrik eman" msgid "Invalid “%s” URI: %s" msgstr "Baliogabeko “%s“ URIa: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Ezin da TLS zerbitzaria sortu TLS ziurtagirik gabe" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Ezin izan da '%s:%d' helbidean entzun: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Ezin izan da “%s“ URIa analizatu" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Onartu gabeko “%s“ URI eskema" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Ez da HTTP URIa" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "Zerbitzariak ez du WebSocket diosala onartu" @@ -2,108 +2,191 @@ # Copyright (C) 2012 libsoup's COPYRIGHT HOLDER # This file is distributed under the same license as the libsoup package. # Arash Mousavi <mousavi.arash@gmail.com>, 2012, 2013. +# Danial Behzadi <dani.behzi@ubuntu.com>, 2020. # msgid "" msgstr "" "Project-Id-Version: libsoup master\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" -"product=libsoup&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2013-02-18 10:20+0000\n" -"PO-Revision-Date: 2013-03-23 18:07+0330\n" -"Last-Translator: Arash Mousavi <mousavi.arash@gmail.com>\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" +"POT-Creation-Date: 2019-09-21 11:44+0000\n" +"PO-Revision-Date: 2020-02-18 08:02+0000\n" +"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n" "Language-Team: Persian\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.5.4\n" +"X-Generator: Poedit 2.2.4\n" -#: ../libsoup/soup-body-input-stream.c:141 -#: ../libsoup/soup-body-input-stream.c:172 -#: ../libsoup/soup-body-input-stream.c:205 ../libsoup/soup-message-io.c:191 +#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 +#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 msgid "Connection terminated unexpectedly" msgstr "اتصال به شکل غیرمنتظرهای بسته شد" -#: ../libsoup/soup-body-input-stream.c:463 +#: libsoup/soup-body-input-stream.c:459 msgid "Invalid seek request" -msgstr "درخواست جستجو نامعتبر" +msgstr "درخواست پرش نامعتبر" -#: ../libsoup/soup-body-input-stream.c:491 +#: libsoup/soup-body-input-stream.c:487 msgid "Cannot truncate SoupBodyInputStream" msgstr "نمیتوان SoupBodyInputStream را کوتاه کرد" -#: ../libsoup/soup-cache-input-stream.c:74 +#: libsoup/soup-cache-input-stream.c:76 msgid "Network stream unexpectedly closed" msgstr "جریان شبکه بهطور غیرمنتظرهای بسته شد" -#: ../libsoup/soup-cache-input-stream.c:291 +#: libsoup/soup-cache-input-stream.c:291 msgid "Failed to completely cache the resource" -msgstr "بهطور کامل حافظهی نهان کردن منبع شکست خورد" +msgstr "شکست در انبارش کامل منبع" -#: ../libsoup/soup-converter-wrapper.c:192 +#: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" msgstr "میانگیر خروجی خیلی کوتاه است" -#: ../libsoup/soup-message-client-io.c:41 -#| msgid "Could not parse URI '%s'" +#: libsoup/soup-message-client-io.c:39 msgid "Could not parse HTTP response" msgstr "نمیتوان پاسخ HTTP را تجزیه کرد" -#: ../libsoup/soup-message-client-io.c:66 +#: libsoup/soup-message-client-io.c:62 msgid "Unrecognized HTTP response encoding" msgstr "کدگذاری پاسخ HTTP شناخته نشد" -#: ../libsoup/soup-message-io.c:846 ../libsoup/soup-message-io.c:882 -msgid "Operation was cancelled" -msgstr "عملیات لغو شده بود" +#: libsoup/soup-message-io.c:261 +msgid "Header too big" +msgstr "سرایند بسیار بزرگ" -#: ../libsoup/soup-message-io.c:893 +#: libsoup/soup-message-io.c:393 libsoup/soup-message-io.c:1016 msgid "Operation would block" msgstr "عملیات میتوانست بسته شود" -#: ../libsoup/soup-message-server-io.c:40 -#| msgid "Could not parse URI '%s'" +#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001 +msgid "Operation was cancelled" +msgstr "عملیات لغو شده بود" + +#: libsoup/soup-message-server-io.c:63 msgid "Could not parse HTTP request" msgstr "نمیتوان درخواست HTTP را تجزیه کرد" -#: ../libsoup/soup-request.c:140 +#: libsoup/soup-request.c:141 #, c-format msgid "No URI provided" -msgstr "هیچ URIای داده نشده است" +msgstr "هیچ نشانیای داده نشده" + +#: libsoup/soup-request.c:151 +#, c-format +msgid "Invalid “%s” URI: %s" +msgstr "نشانی نامعتبر %s: %s" + +#: libsoup/soup-server.c:1805 +msgid "Can’t create a TLS server without a TLS certificate" +msgstr "نمیتواند بدون یک گواهینامهٔ TLS، یک کارساز TLS ایجاد کرد" -#: ../libsoup/soup-request.c:150 +#: libsoup/soup-server.c:1822 #, c-format -msgid "Invalid '%s' URI: %s" -msgstr "«%s» نامعتبر URI: %s" +msgid "Could not listen on address %s, port %d: " +msgstr "نمیتوان روی نشانی %s و درگاه %Id شنود کرد: " -#: ../libsoup/soup-session.c:4209 +#: libsoup/soup-session.c:4543 #, c-format -msgid "Could not parse URI '%s'" -msgstr "نمیتوان URI را تجزیه کرد «%s»" +msgid "Could not parse URI “%s”" +msgstr "نتوانست نشانی %s را تجزیه کند" -#: ../libsoup/soup-session.c:4246 +#: libsoup/soup-session.c:4580 #, c-format -msgid "Unsupported URI scheme '%s'" -msgstr "شِما URI پشتیبانی نشده «%s»" +msgid "Unsupported URI scheme “%s”" +msgstr "شمای نشانی پشتیبانینشده «%s»" -#: ../libsoup/soup-session.c:4268 +#: libsoup/soup-session.c:4602 #, c-format msgid "Not an HTTP URI" -msgstr "آدرس HTTP نیست" +msgstr "یک نشانی HTTP نیست" -#: ../libsoup/soup-tld.c:185 -msgid "Hostname is an IP address" -msgstr "نام میزبان یک آدرس آیپی است" +#: libsoup/soup-session.c:4813 +msgid "The server did not accept the WebSocket handshake." +msgstr "کارساز، دست دادن سوکت وب را نپذیرفت." + +#: libsoup/soup-socket.c:148 +msgid "Can’t import non-socket as SoupSocket" +msgstr "نمیتوان ناسوکت را به عنوان SoupSocket درونریزی کرد" + +#: libsoup/soup-socket.c:166 +msgid "Could not import existing socket: " +msgstr "نتوانست سوکت موجود را درونریزی کند: " + +#: libsoup/soup-socket.c:175 +msgid "Can’t import unconnected socket" +msgstr "نمیتوان سوکت وصلنشده را درونریزی کرد" -#: ../libsoup/soup-tld.c:206 +#: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523 +#: libsoup/soup-websocket.c:539 +msgid "Server requested unsupported extension" +msgstr "کارساز، افزونهٔ پشتیبانینشده را درخواست کرد" + +#: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694 +#, c-format +msgid "Incorrect WebSocket “%s” header" +msgstr "سرایند %s نامعتبر سوکت وب" + +#: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024 +#, c-format +msgid "Server returned incorrect “%s” key" +msgstr "کارساز، کلید %s نادرست را برگرداند" + +#: libsoup/soup-websocket.c:566 +#, c-format +msgid "Duplicated parameter in “%s” WebSocket extension header" +msgstr "پارامتر تکراری در سرایند افزونهٔ سوکت وب %s" + +#: libsoup/soup-websocket.c:567 +#, c-format +msgid "Server returned a duplicated parameter in “%s” WebSocket extension header" +msgstr "کارساز، یک پارامتر تکراری در سرایند افزونهٔ سوکت وب %s برگرداند" + +#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667 +msgid "WebSocket handshake expected" +msgstr "انتظار دستدادن سوکت وب میرفت" + +#: libsoup/soup-websocket.c:675 +msgid "Unsupported WebSocket version" +msgstr "نگارش پشتیبانینشدهٔ سوکت وب" + +#: libsoup/soup-websocket.c:684 +msgid "Invalid WebSocket key" +msgstr "کلید نامعتبر سوکت وب" + +#: libsoup/soup-websocket.c:703 +msgid "Unsupported WebSocket subprotocol" +msgstr "زیرقرارداد پیشیبانینشدهٔ سوکت وب" + +#: libsoup/soup-websocket.c:975 +msgid "Server rejected WebSocket handshake" +msgstr "کارساز، دست دادن سوکت وب را رد کرد" + +#: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992 +msgid "Server ignored WebSocket handshake" +msgstr "کارساز، دست دادن سوکت وب را نادیده گرفت" + +#: libsoup/soup-websocket.c:1004 +msgid "Server requested unsupported protocol" +msgstr "کارساز، قرارداد پیشیبانینشده درخواست کرد" + +#: libsoup/soup-tld.c:150 +msgid "No public-suffix list available." +msgstr "هیچ فهرست پسوند عمومیای موجود نیست." + +#: libsoup/soup-tld.c:160 libsoup/soup-tld.c:176 msgid "Invalid hostname" -msgstr "ناممیزبان نامعتبر" +msgstr "نام میزبان نامعتبر" + +#: libsoup/soup-tld.c:167 +msgid "Hostname is an IP address" +msgstr "نام میزبان یک نشانی آیپی است" -#: ../libsoup/soup-tld.c:235 +#: libsoup/soup-tld.c:188 msgid "Hostname has no base domain" -msgstr "ناممیزبان دامنهی پایه ندارد" +msgstr "نام میزبان دامنهٔ پایه ندارد" -#: ../libsoup/soup-tld.c:257 +#: libsoup/soup-tld.c:196 msgid "Not enough domains" -msgstr "دامنههای کافی موجود نیست" +msgstr "دامنههای کافی وجود ندارد" @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-08-22 08:47+0000\n" -"PO-Revision-Date: 2019-08-22 19:44+0300\n" +"POT-Creation-Date: 2020-07-12 16:30+0000\n" +"PO-Revision-Date: 2020-08-30 13:38+0300\n" +"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n" "Language-Team: Finnish <lokalisointi-lista@googlegroups.com>\n" "Language: fi\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" -"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n" -"X-Generator: Poedit 2.0.6\n" +"X-Generator: Poedit 2.4.1\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 #: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 @@ -39,6 +39,18 @@ msgstr "" msgid "Failed to completely cache the resource" msgstr "" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Nimi" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Koko" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Muokkauspäivä" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -50,7 +62,7 @@ msgstr "HTTP-vastausta ei voitu jäsentää" #: libsoup/soup-message-client-io.c:62 msgid "Unrecognized HTTP response encoding" -msgstr "" +msgstr "Tunnistamaton HTTP-vastauksen merkistö" #: libsoup/soup-message-io.c:261 msgid "Header too big" @@ -62,7 +74,7 @@ msgstr "" #: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001 msgid "Operation was cancelled" -msgstr "" +msgstr "Toimenpide peruttiin" #: libsoup/soup-message-server-io.c:63 msgid "Could not parse HTTP request" @@ -78,33 +90,33 @@ msgstr "" msgid "Invalid “%s” URI: %s" msgstr "" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "TLS-palvelinta ei voi luoda ilman TLS-varmennetta" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Ei voitu kuunnella osoitteessa %s, portissa %d: " -#: libsoup/soup-session.c:4543 +#: libsoup/soup-session.c:4583 #, c-format msgid "Could not parse URI “%s”" msgstr "URI:a “%s” ei voitu jäsentää" -#: libsoup/soup-session.c:4580 +#: libsoup/soup-session.c:4620 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Ei-tuettu URI-skeema “%s”" -#: libsoup/soup-session.c:4602 +#: libsoup/soup-session.c:4642 #, c-format msgid "Not an HTTP URI" msgstr "Ei HTTP URI" -#: libsoup/soup-session.c:4813 +#: libsoup/soup-session.c:4853 msgid "The server did not accept the WebSocket handshake." -msgstr "" +msgstr "Palvelin ei hyväksynyt WebSocket-kättelyä." #: libsoup/soup-socket.c:148 msgid "Can’t import non-socket as SoupSocket" @@ -121,7 +133,7 @@ msgstr "" #: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523 #: libsoup/soup-websocket.c:539 msgid "Server requested unsupported extension" -msgstr "" +msgstr "Palvelin pyysi ei-tuettua laajennusta" #: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694 #, c-format @@ -131,7 +143,7 @@ msgstr "Virheellinen WebSocket “%s” -otsake" #: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024 #, c-format msgid "Server returned incorrect “%s” key" -msgstr "" +msgstr "Palvelin palautti virheellisen “%s”-avaimen" #: libsoup/soup-websocket.c:566 #, c-format @@ -157,19 +169,19 @@ msgstr "Virheellinen WebSocket-avain" #: libsoup/soup-websocket.c:703 msgid "Unsupported WebSocket subprotocol" -msgstr "" +msgstr "Ei-tuettu WebSocket-aliprotokolla" #: libsoup/soup-websocket.c:975 msgid "Server rejected WebSocket handshake" -msgstr "" +msgstr "Palvelin hylkäsi WebSocket-kättelyn" #: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992 msgid "Server ignored WebSocket handshake" -msgstr "" +msgstr "Palvelin jätti huomiotta WebSocket-kättelyn" #: libsoup/soup-websocket.c:1004 msgid "Server requested unsupported protocol" -msgstr "" +msgstr "Palvelin pyysi ei-tuettua protokollaa" #: libsoup/soup-tld.c:150 msgid "No public-suffix list available." @@ -5,22 +5,22 @@ # Pierre Henry <pierrehenry73@yahoo.fr>, 2012. # Alain Lojewski <allomervan@gmail.com>, 2012. # Mickael Albertus <mickael.albertus@gmail.com>, 2012. -# Charles Monzat <charles.monzat@numericable.fr>, 2018. +# Charles Monzat <charles.monzat@free.fr>, 2018-2020. # msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-02 09:33+0200\n" -"Last-Translator: Charles Monzat <charles.monzat@numericable.fr>\n" -"Language-Team: français <gnomefr@traduc.org>\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-07-02 12:28+0200\n" +"Last-Translator: Charles Monzat <charles.monzat@free.fr>\n" +"Language-Team: GNOME French Team <gnomefr@traduc.org>\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Gtranslator 3.30.0\n" +"X-Generator: Gtranslator 3.36.0\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 #: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 @@ -43,6 +43,18 @@ msgstr "Le flux réseau s’est arrêté inopinément" msgid "Failed to completely cache the resource" msgstr "Impossible de mettre la ressource totalement en cache" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Nom" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Taille" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Date de modification" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -82,31 +94,31 @@ msgstr "Aucun URI fourni" msgid "Invalid “%s” URI: %s" msgstr "URI « %s » non valide : %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Impossible de créer un serveur TLS sans un certificat TLS" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Impossible d’écouter l’adresse %s sur le port %d : " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Impossible d’analyser l’URI « %s »" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Le schéma d’URI « %s » n’est pas pris en charge" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Ce n’est pas un URI HTTP" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "Le serveur n’a pas accepté la négociation WebSocket." @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: libsoup gnome-3-6\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-09-03 09:55+0200\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-07-12 18:29+0200\n" "Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n" "Language-Team: Friulian <fur@li.org>\n" "Language: fur\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2.3\n" +"X-Generator: Poedit 2.3.1\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 #: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 @@ -38,6 +38,18 @@ msgstr "Flus di rêt sierât a colp" msgid "Failed to completely cache the resource" msgstr "Salvament in memorie de risorse falît" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Non" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Dimension" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Date di modifiche" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -77,33 +89,33 @@ msgstr "No'l è stât furnît un URI" msgid "Invalid “%s” URI: %s" msgstr "URI “%s”no valit: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Impussibil creâ un servidôr TLS cence un certificât TLS" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Impussibil scoltâ te direzion %s, puarte %d: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "No puès analizâ il URI “%s”" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Scheme URI “%s” no supuartât" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "No un URI HTTP" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." -msgstr "Il servidôr nol acete il handshake WebSocket" +msgstr "Il servidôr nol acete il handshake WebSocket." #: libsoup/soup-socket.c:148 msgid "Can’t import non-socket as SoupSocket" @@ -139,8 +151,11 @@ msgstr "Parametri dopleât inte intestazion de estension dal WebSocket di “%s #: libsoup/soup-websocket.c:567 #, c-format -msgid "Server returned a duplicated parameter in “%s” WebSocket extension header" -msgstr "Il servidôr al à tornât indaûr un parametri dopleât inte intestazion de estension dal WebSocket di “%s”" +msgid "" +"Server returned a duplicated parameter in “%s” WebSocket extension header" +msgstr "" +"Il servidôr al à tornât indaûr un parametri dopleât inte intestazion de " +"estension dal WebSocket di “%s”" #: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667 msgid "WebSocket handshake expected" @@ -1,21 +1,22 @@ # Galician translation for libsoup. # Copyright (C) 2012 libsoup's COPYRIGHT HOLDER # This file is distributed under the same license as the libsoup package. -# Fran Dieguez <frandieguez@gnome.org>, 2012, 2013, 2014, 2015, 2017, 2018. +# Fran Dieguez <frandieguez@gnome.org>, 2012-2020. +# msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-25 18:09+0200\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-08-13 01:13+0200\n" "Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n" -"Language-Team: Proxecto Trasno <proxecto@trasno.gal>\n" +"Language-Team: Galician <proxecto@trasno.gal>\n" "Language: gl\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: Poedit 2.2.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"X-Generator: Gtranslator 3.36.0\n" "X-Project-Style: gnome\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 @@ -39,6 +40,18 @@ msgstr "Fluxo de rede pechado de forma non esperada" msgid "Failed to completely cache the resource" msgstr "Produciuse un fallo ao cachear completamente o recurso" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Nome" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Tamaño" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Data de modificación" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -78,31 +91,31 @@ msgstr "Non se forneceu un URI" msgid "Invalid “%s” URI: %s" msgstr "URI «%s» non válida: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Non é posíbel crear un servidor TLS sen un certificado TLS" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Non é posíbel escoitar no enderezo %s, porto %d: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Non é posíbel analizar o URI «%s»" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Esquema de URI «%s» non admitido" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Non é unha URI de HTTP" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "O servidor non acepta un saúdo WebSocket." @@ -140,8 +153,11 @@ msgstr "Parámetro duplicado «%s» na cabeceira da extensión de WebSocket" #: libsoup/soup-websocket.c:567 #, c-format -msgid "Server returned a duplicated parameter in “%s” WebSocket extension header" -msgstr "O servidor devolveu un parámetro duplicado «%s» na cabeceira da extensión do WebSocket" +msgid "" +"Server returned a duplicated parameter in “%s” WebSocket extension header" +msgstr "" +"O servidor devolveu un parámetro duplicado «%s» na cabeceira da extensión do " +"WebSocket" #: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667 msgid "WebSocket handshake expected" @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: libsoup2.4\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-09-03 17:55+0200\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-08-23 13:21+0200\n" "Last-Translator: gogo <linux.hr@protonmail.com>\n" "Language-Team: Croatian <hr@li.org>\n" "Language: hr\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-03-17 18:28+0000\n" -"X-Generator: Poedit 2.2.1\n" +"X-Generator: Poedit 2.4.1\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 #: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 @@ -39,6 +39,18 @@ msgstr "Mrežno strujanje je neočekivano zatvoreno" msgid "Failed to completely cache the resource" msgstr "Neuspjelo potpuno međuspremanje resursa" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Naziv" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Veličina" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Datum promjene" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -78,31 +90,31 @@ msgstr "Nema pruženog URI-ja" msgid "Invalid “%s” URI: %s" msgstr "Neispravno “%s” URI: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Nemoguće stvaranje TLS poslužitelja bez TLS vjerodajnice" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Nemoguće osluškivanje adrese %s, ulaz %d: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Nemoguća obrada URI-ja “%s”" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Nepodržana URI shema “%s”" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Nije HTTP URI" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "Poslužitelj ne prihvaća WebSocket rukovanje." @@ -140,8 +152,11 @@ msgstr "Udvostručeni parametar u %s” WebSocket zaglavlju proširenja" #: libsoup/soup-websocket.c:567 #, c-format -msgid "Server returned a duplicated parameter in “%s” WebSocket extension header" -msgstr "Poslužitelj je vratio udvostručeni parametar u “%s” WebSocket zaglavlju proširenja" +msgid "" +"Server returned a duplicated parameter in “%s” WebSocket extension header" +msgstr "" +"Poslužitelj je vratio udvostručeni parametar u “%s” WebSocket zaglavlju " +"proširenja" #: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667 msgid "WebSocket handshake expected" @@ -8,16 +8,16 @@ msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-24 22:31+0200\n" -"Last-Translator: Balázs Úr <ur.balazs at fsf dot hu>\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-09-05 19:37+0200\n" +"Last-Translator: Meskó Balázs <mesko.balazs@fsf.hu>\n" "Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n" "Language: hu\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 18.12.3\n" +"X-Generator: Poedit 2.4.1\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 #: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 @@ -40,6 +40,18 @@ msgstr "Az hálózati adatfolyam váratlanul lezárult" msgid "Failed to completely cache the resource" msgstr "Nem sikerült teljesen gyorsítótárazni az erőforrást" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Név" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Méret" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Módosítás dátuma" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -79,31 +91,31 @@ msgstr "Nincs megadva URI" msgid "Invalid “%s” URI: %s" msgstr "Érvénytelen „%s” URI: „%s”" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Nem lehet TLS kiszolgálót létrehozni TLS tanúsítvány nélkül" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Nem sikerült figyelni a(z) %s címen a(z) %d. porton: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Nem dolgozható fel a(z) „%s” URI" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Nem támogatott URI séma: „%s”" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Ez nem HTTP URI" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "A kiszolgáló nem fogadta el a WebSocket kézfogást." @@ -9,15 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-12 17:39+0700\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-07-19 10:56+0700\n" "Last-Translator: Kukuh Syafaat <kukuhsyafaat@gnome.org>\n" "Language-Team: Indonesian <gnome@i15n.org>\n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2.3\n" +"X-Generator: Poedit 2.3.1\n" "Plural-Forms: nplurals=1; plural=0;\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 @@ -41,6 +41,18 @@ msgstr "Lalu lintas jaringan putus tak terduga" msgid "Failed to completely cache the resource" msgstr "Gagal melengkapi tembolok sumber" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Nama" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Ukuran" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Tanggal Diubah" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -80,31 +92,31 @@ msgstr "URI tak diberikan" msgid "Invalid “%s” URI: %s" msgstr "URI \"%s\" tak valid: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Tak bisa membuat sebuah peladen TLS tanpa suatu sertifikat TLS" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Tak bisa mendengar pada alamat %s, port %d: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Tak bisa mengurai URI \"%s\"" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Skema URI \"%s\" tak didukung" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Bukan URI HTTP" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "Peladen tak menerima jabat tangan WebSocket." @@ -1,14 +1,14 @@ # Italian translations for libsoup package -# Copyright (C) 2012, 2013, 2014, 2015, 2017, 2018, 2019 the Free Software Foundation, Inc. +# Copyright (C) 2012, 2013, 2014, 2015, 2017, 2018, 2019, 2020 the Free Software Foundation, Inc. # This file is distributed under the same license as the libsoup package. -# Milo Casagrande <milo@milo.name>, 2012, 2013, 2014, 2015, 2017, 2018, 2019. +# Milo Casagrande <milo@milo.name>, 2012, 2013, 2014, 2015, 2017, 2018, 2019, 2020. # msgid "" msgstr "" "Project-Id-Version: libsoup\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-20 10:42+0200\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-09-02 10:46+0200\n" "Last-Translator: Milo Casagrande <milo@milo.name>\n" "Language-Team: Italian <tp@lists.linux.it>\n" "Language: it\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" -"X-Generator: Poedit 2.2.3\n" +"X-Generator: Poedit 2.4.1\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 #: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 @@ -39,6 +39,18 @@ msgstr "Flusso di rete chiuso inaspettatamente" msgid "Failed to completely cache the resource" msgstr "Salvataggio in memoria della risorsa non riuscito" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Nome" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Dimensione" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Data di modifica" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -78,31 +90,31 @@ msgstr "Nessun URI fornito" msgid "Invalid “%s” URI: %s" msgstr "URI «%s» non valido: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Impossibile creare un server TLS senza un certificato TLS" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Impossibile restare in ascolto sull'indirizzo %s, porta %d: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Impossibile analizzare l'URI «%s»" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Schema URI «%s» non supportato" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Non è uno URI HTTP" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "Il server non ha accettato l'handshake WebSocket." @@ -1,81 +1,209 @@ # libsoup ja.po -# Copyright (C) 2012 libsoup's COPYRIGHT HOLDER +# Copyright (C) 2012, 2020 libsoup's COPYRIGHT HOLDER # This file is distributed under the same license as the libsoup package. # Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>, 2012. +# sicklylife <translation@sicklylife.jp>, 2020. # msgid "" msgstr "" "Project-Id-Version: libsoup master\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=libsoup&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2012-11-02 19:31+0000\n" -"PO-Revision-Date: 2012-10-12 13:30+0900\n" -"Last-Translator: Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-08-20 20:14+0900\n" +"Last-Translator: sicklylife <translation@sicklylife.jp>\n" "Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../libsoup/soup-body-input-stream.c:141 -#: ../libsoup/soup-body-input-stream.c:172 -#: ../libsoup/soup-body-input-stream.c:205 ../libsoup/soup-message-io.c:191 +#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 +#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 msgid "Connection terminated unexpectedly" msgstr "接続が突然切断されました" -#: ../libsoup/soup-body-input-stream.c:461 +#: libsoup/soup-body-input-stream.c:459 msgid "Invalid seek request" -msgstr "無効な seek 要求" +msgstr "無効なシーク要求です" -#: ../libsoup/soup-body-input-stream.c:489 +#: libsoup/soup-body-input-stream.c:487 msgid "Cannot truncate SoupBodyInputStream" -msgstr "SoupBodyInputStream は truncate できません" +msgstr "SoupBodyInputStream を切り詰めることはできません" -#: ../libsoup/soup-converter-wrapper.c:192 +#: libsoup/soup-cache-input-stream.c:76 +msgid "Network stream unexpectedly closed" +msgstr "ネットワークストリームが突然閉じられました" + +#: libsoup/soup-cache-input-stream.c:291 +msgid "Failed to completely cache the resource" +msgstr "リソースを完全にキャッシュできませんでした" + +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "名前" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "サイズ" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "変更日" + +#: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" msgstr "出力バッファーが小さすぎます" -#: ../libsoup/soup-message-io.c:846 ../libsoup/soup-message-io.c:882 -msgid "Operation was cancelled" -msgstr "動作が中止されました" +#: libsoup/soup-message-client-io.c:39 +msgid "Could not parse HTTP response" +msgstr "HTTP レスポンスを解析できませんでした" + +#: libsoup/soup-message-client-io.c:62 +msgid "Unrecognized HTTP response encoding" +msgstr "認識できない HTTP レスポンスのエンコーディングです" + +#: libsoup/soup-message-io.c:261 +msgid "Header too big" +msgstr "ヘッダーが大きすぎます" -#: ../libsoup/soup-message-io.c:893 +#: libsoup/soup-message-io.c:393 libsoup/soup-message-io.c:1016 msgid "Operation would block" msgstr "動作はブロックします" -#: ../libsoup/soup-request.c:142 +#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001 +msgid "Operation was cancelled" +msgstr "動作が中止されました" + +#: libsoup/soup-message-server-io.c:63 +msgid "Could not parse HTTP request" +msgstr "HTTP リクエストを解析できませんでした" + +#: libsoup/soup-request.c:141 #, c-format msgid "No URI provided" msgstr "URI が与えられていません" -#: ../libsoup/soup-request.c:152 +#: libsoup/soup-request.c:151 #, c-format -msgid "Invalid '%s' URI: %s" -msgstr "不正なスキーム '%s' の URI: %s" +msgid "Invalid “%s” URI: %s" +msgstr "不正なスキーム“%s”の URI: %s" + +#: libsoup/soup-server.c:1810 +msgid "Can’t create a TLS server without a TLS certificate" +msgstr "TLS 証明書なしで TLS サーバーを作成することはできません" -#: ../libsoup/soup-requester.c:219 +#: libsoup/soup-server.c:1827 #, c-format -msgid "Could not parse URI '%s'" -msgstr "URI '%s' をパースできませんでした" +msgid "Could not listen on address %s, port %d: " +msgstr "アドレス %s ポート %d で待ち受けできませんでした: " -#: ../libsoup/soup-requester.c:253 +#: libsoup/soup-session.c:4570 #, c-format -msgid "Unsupported URI scheme '%s'" -msgstr "サポートされていない URI のスキーム '%s'" +msgid "Could not parse URI “%s”" +msgstr "URI “%s”を解析できませんでした" -#: ../libsoup/soup-tld.c:154 -msgid "Hostname is an IP address" -msgstr "ホスト名が IP アドレスです" +#: libsoup/soup-session.c:4607 +#, c-format +msgid "Unsupported URI scheme “%s”" +msgstr "URI のスキーム“%s”はサポートしていません" + +#: libsoup/soup-session.c:4629 +#, c-format +msgid "Not an HTTP URI" +msgstr "HTTP の URI ではありません" + +#: libsoup/soup-session.c:4840 +msgid "The server did not accept the WebSocket handshake." +msgstr "サーバーが WebSocket ハンドシェイクを受け取りませんでした。" + +#: libsoup/soup-socket.c:148 +msgid "Can’t import non-socket as SoupSocket" +msgstr "" +"ソケットではないものを SoupSocket としてインポートすることはできません" + +#: libsoup/soup-socket.c:166 +msgid "Could not import existing socket: " +msgstr "既存のソケットをインポートできませんでした: " + +#: libsoup/soup-socket.c:175 +msgid "Can’t import unconnected socket" +msgstr "接続されていないソケットはインポートできません" -#: ../libsoup/soup-tld.c:175 +#: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523 +#: libsoup/soup-websocket.c:539 +msgid "Server requested unsupported extension" +msgstr "サーバーがサポートしていない拡張機能を要求しました" + +#: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694 +#, c-format +msgid "Incorrect WebSocket “%s” header" +msgstr "WebSocket “%s”のヘッダーが正しくありません" + +#: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024 +#, c-format +msgid "Server returned incorrect “%s” key" +msgstr "サーバーが正しくない“%s”のキーを返しました" + +#: libsoup/soup-websocket.c:566 +#, c-format +msgid "Duplicated parameter in “%s” WebSocket extension header" +msgstr "" +"“%s” WebSocket 拡張機能のヘッダーに重複したパラメーターがあります" + +#: libsoup/soup-websocket.c:567 +#, c-format +msgid "" +"Server returned a duplicated parameter in “%s” WebSocket extension header" +msgstr "" +"サーバーが“%s” WebSocket 拡張機能ヘッダーの重複したパラメーターを返しまし" +"た" + +#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667 +msgid "WebSocket handshake expected" +msgstr "WebSocket ハンドシェイクではありません" + +#: libsoup/soup-websocket.c:675 +msgid "Unsupported WebSocket version" +msgstr "サポートしていない WebSocket のバージョンです" + +#: libsoup/soup-websocket.c:684 +msgid "Invalid WebSocket key" +msgstr "無効な WebSocket のキーです" + +#: libsoup/soup-websocket.c:703 +msgid "Unsupported WebSocket subprotocol" +msgstr "サポートしていない WebSocket サブプロトコルです" + +#: libsoup/soup-websocket.c:975 +msgid "Server rejected WebSocket handshake" +msgstr "サーバーが WebSocket ハンドシェイクを拒否しました" + +#: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992 +msgid "Server ignored WebSocket handshake" +msgstr "サーバーが WebSocket ハンドシェイクを無視しました" + +#: libsoup/soup-websocket.c:1004 +msgid "Server requested unsupported protocol" +msgstr "サーバーがサポートしていないプロトコルを要求しました" + +#: libsoup/soup-tld.c:150 +msgid "No public-suffix list available." +msgstr "Public Suffix List を利用できません。" + +#: libsoup/soup-tld.c:160 libsoup/soup-tld.c:176 msgid "Invalid hostname" msgstr "不正なホスト名です" -#: ../libsoup/soup-tld.c:204 +#: libsoup/soup-tld.c:167 +msgid "Hostname is an IP address" +msgstr "ホスト名が IP アドレスです" + +#: libsoup/soup-tld.c:188 msgid "Hostname has no base domain" msgstr "ホスト名にトップレベルドメインがありません" # ソースコードと http://www.nic.ad.jp/ja/dom/system.html 参照 -#: ../libsoup/soup-tld.c:226 +#: libsoup/soup-tld.c:196 msgid "Not enough domains" msgstr "ドメイン名が十分な数のラベルがありません" @@ -3,14 +3,14 @@ # This file is distributed under the same license as the libsoup package. # # eukim <eukim@redhat.com>, 2012. -# Changwoo Ryu <cwryu@debian.org>, 2013-2015, 2017-2019. +# Changwoo Ryu <cwryu@debian.org>, 2013-2015, 2017-2020. # msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-26 19:57+0900\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-08-31 00:39+0900\n" "Last-Translator: Changwoo Ryu <cwryu@debian.org>\n" "Language-Team: Korean <gnome-kr@googlegroups.com>\n" "Language: ko\n" @@ -41,6 +41,18 @@ msgstr "네트워크 스트림이 예상치 못하게 닫혔습니다" msgid "Failed to completely cache the resource" msgstr "리소스를 완전히 캐시에 저장하는데 실패했습니다" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "이름" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "크기" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "수정 시각" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -80,31 +92,31 @@ msgstr "URI가 없습니다" msgid "Invalid “%s” URI: %s" msgstr "잘못된 “%s” URI: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "TLS 인증서 없이 TLS 서버를 만들 수 없습니다" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "주소 %s, 포트 %d번에 연결을 받을 수 없습니다: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "“%s” URI를 구문 분석할 수 없습니다" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "“%s” URI 스킴을 지원하지 않습니다" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "HTTP URI가 아닙니다" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "서버에서 웹소켓 핸드셰이크를 받아들이지 않습니다." @@ -1,14 +1,14 @@ # Lithuanian translation for libsoup. # Copyright (C) 2012 libsoup's COPYRIGHT HOLDER # This file is distributed under the same license as the libsoup package. -# Aurimas Černius <aurisc4@gmail.com>, 2012-2019. +# Aurimas Černius <aurisc4@gmail.com>, 2012-2020. # msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-18 22:19+0300\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-06-28 22:21+0300\n" "Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n" "Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n" "Language: lt\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" "%100<10 || n%100>=20) ? 1 : 2)\n" -"X-Generator: Gtranslator 3.32.1\n" +"X-Generator: Gtranslator 3.36.0\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 #: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 @@ -40,6 +40,18 @@ msgstr "Tinklo srautas netikėtai užsivėrė" msgid "Failed to completely cache the resource" msgstr "Nepavyko visiškai patalpinti resurso į podėlį" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Pavadinimas" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Dydis" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Keitimo data" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -79,31 +91,31 @@ msgstr "Nepateiktas URI" msgid "Invalid “%s” URI: %s" msgstr "Netinkamas „%s“ URI: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Negalima sukurti TLS serverio be TLS liudijimo" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Nepavyksta klausytis adreso %s, prievadu %d: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Nepavyko išanalizuoti URI „%s“" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Nepalaikoma URI schema „%s“" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Ne HTTP URI" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "Serveris nepriėmė WebSocket rankos paspaudimo." @@ -3,13 +3,13 @@ # This file is distributed under the same license as the libsoup package. # # Tranzistors <rudolfs.mazurs@gmail.com>, 2012. -# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2012, 2013, 2014, 2016, 2017, 2018, 2019. +# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2012, 2013, 2014, 2016, 2017, 2018, 2019, 2020. msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-24 17:24+0200\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-09-12 13:15+0300\n" "Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n" "Language-Team: Latvian <lata-l10n@googlegroups.com>\n" "Language: lv\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 :" " 2);\n" -"X-Generator: Lokalize 2.0\n" +"X-Generator: Lokalize 19.12.3\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 #: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 @@ -41,6 +41,18 @@ msgstr "Tīkla straume negaidīti aizvērās" msgid "Failed to completely cache the resource" msgstr "Neizdevās resursu pilnībā noglabāt kešatmiņā" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Nosaukums" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Izmērs" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Izmaiņu datums" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -80,31 +92,31 @@ msgstr "Nav sniegts URI" msgid "Invalid “%s” URI: %s" msgstr "Nederīgs “%s” URI — %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Bez TLS sertifikāta nevar izveidot TLS serveri" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Nevarēja sākt klausīties adresi %s, portu %d: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Nevarēja parsēt URI “%s”" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Neatbalstīta URI shēma “%s”" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Nav HTTP URI" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "Serveris nepieņēma WebSocket rokasspiedienu." @@ -194,4 +206,3 @@ msgstr "Datora nosaukumam nav bāzes domēna" #: libsoup/soup-tld.c:196 msgid "Not enough domains" msgstr "Nepietiekami daudz domēnu" - @@ -1,15 +1,15 @@ # Polish translation for libsoup. -# Copyright © 2012-2019 the libsoup authors. +# Copyright © 2012-2020 the libsoup authors. # This file is distributed under the same license as the libsoup package. -# Piotr Drąg <piotrdrag@gmail.com>, 2012-2019. -# Aviary.pl <community-poland@mozilla.org>, 2012-2019. +# Piotr Drąg <piotrdrag@gmail.com>, 2012-2020. +# Aviary.pl <community-poland@mozilla.org>, 2012-2020. # msgid "" msgstr "" "Project-Id-Version: libsoup\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-20 19:30+0200\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-06-28 13:02+0200\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Language-Team: Polish <community-poland@mozilla.org>\n" "Language: pl\n" @@ -40,6 +40,18 @@ msgstr "Strumień sieciowy został nieoczekiwanie zamknięty" msgid "Failed to completely cache the resource" msgstr "Całkowite umieszczenie zasobu w pamięci podręcznej się nie powiodło" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Nazwa" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Rozmiar" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Data modyfikacji" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -79,31 +91,31 @@ msgstr "Nie podano adresu URI" msgid "Invalid “%s” URI: %s" msgstr "Nieprawidłowy adres URI „%s”: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Nie można utworzyć serwera TLS bez certyfikatu TLS" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Nie można nasłuchiwać na adresie %s, porcie %d: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Nie można przetworzyć adresu URI „%s”" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Nieobsługiwany schemat adresu URI „%s”" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Nie jest adresem URI protokołu HTTP" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "Serwer nie przyjął powitania WebSocket." @@ -4,174 +4,203 @@ # Duarte Loreto <happyguy_pt@hotmail.com>, 2012, 2013.
#
# Pedro Albuquerque <palbuquerque73@openmailbox.com>, 2015. +# Juliano de Souza Camargo <julianosc@protonmail.com>, 2020. # msgid "" msgstr "" "Project-Id-Version: 3.8\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" -"product=libsoup&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2015-06-07 22:39+0000\n" -"PO-Revision-Date: 2015-06-24 09:25+0100\n" -"Last-Translator: Pedro Albuquerque <palbuquerque73@openmailbox.com>\n" -"Language-Team: Português <palbuquerque73@openmailbox.com>\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" +"POT-Creation-Date: 2020-07-08 18:29+0000\n" +"PO-Revision-Date: 2020-09-13 10:41-0300\n" +"Last-Translator: Juliano de Souza Camargo <julianosc@protonmail.com>\n" +"Language-Team: Portuguese <>\n" "Language: pt\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: Gtranslator 2.91.6\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"X-Generator: Gtranslator 3.36.0\n" -#: ../libsoup/soup-body-input-stream.c:140 -#: ../libsoup/soup-body-input-stream.c:171 -#: ../libsoup/soup-body-input-stream.c:204 ../libsoup/soup-message-io.c:235 +#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 +#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 msgid "Connection terminated unexpectedly" msgstr "Ligação terminou inesperadamente" -#: ../libsoup/soup-body-input-stream.c:462 +#: libsoup/soup-body-input-stream.c:459 msgid "Invalid seek request" msgstr "Pedido de procura inválido" -#: ../libsoup/soup-body-input-stream.c:490 +#: libsoup/soup-body-input-stream.c:487 msgid "Cannot truncate SoupBodyInputStream" msgstr "Impossível truncar SoupBodyInputStream" -#: ../libsoup/soup-cache-input-stream.c:74 +#: libsoup/soup-cache-input-stream.c:76 msgid "Network stream unexpectedly closed" msgstr "Fluxo de rede terminado inesperadamente" -#: ../libsoup/soup-cache-input-stream.c:291 +#: libsoup/soup-cache-input-stream.c:291 msgid "Failed to completely cache the resource" msgstr "Falha ao colocar o recurso totalmente em cache" -#: ../libsoup/soup-converter-wrapper.c:192 +#: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" msgstr "Buffer de resultado é demasiado pequeno" -#: ../libsoup/soup-message-client-io.c:41 +#: libsoup/soup-message-client-io.c:39 msgid "Could not parse HTTP response" msgstr "Impossível processar a resposta HTTP" -#: ../libsoup/soup-message-client-io.c:66 +#: libsoup/soup-message-client-io.c:62 msgid "Unrecognized HTTP response encoding" msgstr "Codificação de resposta HTTP desconhecida" -#: ../libsoup/soup-message-io.c:392 ../libsoup/soup-message-io.c:1020 +#: libsoup/soup-message-io.c:261 +msgid "Header too big" +msgstr "Cabeçalho demasiado grande" + +#: libsoup/soup-message-io.c:393 libsoup/soup-message-io.c:1016 msgid "Operation would block" msgstr "A operação iria bloquear" -#: ../libsoup/soup-message-io.c:972 ../libsoup/soup-message-io.c:1005 +#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001 msgid "Operation was cancelled" msgstr "A operação foi cancelada" -#: ../libsoup/soup-message-server-io.c:64 +#: libsoup/soup-message-server-io.c:63 msgid "Could not parse HTTP request" msgstr "Impossível processar o pedido HTTP" -#: ../libsoup/soup-request.c:140 +#: libsoup/soup-request.c:141 #, c-format msgid "No URI provided" msgstr "Nenhum URI especificado" -#: ../libsoup/soup-request.c:150 +#: libsoup/soup-request.c:151 #, c-format -msgid "Invalid '%s' URI: %s" -msgstr "URI \"%s\" inválido: %s" +#| msgid "Invalid '%s' URI: %s" +msgid "Invalid “%s” URI: %s" +msgstr "URI “%s” inválido: %s" -#: ../libsoup/soup-server.c:1711 -msgid "Can't create a TLS server without a TLS certificate" +#: libsoup/soup-server.c:1810 +#| msgid "Can't create a TLS server without a TLS certificate" +msgid "Can’t create a TLS server without a TLS certificate" msgstr "Impossível criar um servidor TLS sem um certificado TLS" -#: ../libsoup/soup-server.c:1730 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Impossível ouvir no endereço %s, porta %d: " -#: ../libsoup/soup-session.c:4554 +#: libsoup/soup-session.c:4566 #, c-format -msgid "Could not parse URI '%s'" -msgstr "Impossível processar o URI \"%s\"" +#| msgid "Could not parse URI '%s'" +msgid "Could not parse URI “%s”" +msgstr "Impossível processar o URI “%s”" -#: ../libsoup/soup-session.c:4591 +#: libsoup/soup-session.c:4603 #, c-format -msgid "Unsupported URI scheme '%s'" -msgstr "Esquema de URI \"%s\" não suportado" +#| msgid "Unsupported URI scheme '%s'" +msgid "Unsupported URI scheme “%s”" +msgstr "Esquema de URI “%s” não suportado" -#: ../libsoup/soup-session.c:4613 +#: libsoup/soup-session.c:4625 #, c-format msgid "Not an HTTP URI" msgstr "Não é um URI HTTP" -#: ../libsoup/soup-session.c:4797 +#: libsoup/soup-session.c:4836 msgid "The server did not accept the WebSocket handshake." msgstr "O servidor não aceitou o handshake WebSocket." -#: ../libsoup/soup-socket.c:148 -msgid "Can't import non-socket as SoupSocket" +#: libsoup/soup-socket.c:148 +#| msgid "Can't import non-socket as SoupSocket" +msgid "Can’t import non-socket as SoupSocket" msgstr "Impossível importar não socket como SoupSocket" -#: ../libsoup/soup-socket.c:166 +#: libsoup/soup-socket.c:166 msgid "Could not import existing socket: " msgstr "Impossível importar socket existente: " -#: ../libsoup/soup-socket.c:175 -msgid "Can't import unconnected socket" +#: libsoup/soup-socket.c:175 +#| msgid "Can't import unconnected socket" +msgid "Can’t import unconnected socket" msgstr "Impossível importar socket desligado" -#: ../libsoup/soup-websocket.c:336 ../libsoup/soup-websocket.c:345 +#: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523 +#: libsoup/soup-websocket.c:539 +msgid "Server requested unsupported extension" +msgstr "O servidor pediu uma extensão não suportada" + +#: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694 +#, c-format +#| msgid "Incorrect WebSocket \"%s\" header" +msgid "Incorrect WebSocket “%s” header" +msgstr "Cabeçalho WebSocket “%s” incorreto" + +#: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024 +#, c-format +#| msgid "Server returned incorrect \"%s\" key" +msgid "Server returned incorrect “%s” key" +msgstr "O servidor devolveu uma chave “%s” incorreta" + +#: libsoup/soup-websocket.c:566 +#, c-format +msgid "Duplicated parameter in “%s” WebSocket extension header" +msgstr "Parâmetro duplicado no cabeçalho de extensão WebSocket “%s”" + +#: libsoup/soup-websocket.c:567 +#, c-format +msgid "" +"Server returned a duplicated parameter in “%s” WebSocket extension header" +msgstr "" +"Servidor retornou um parâmetro duplicado no cabeçalho de extensão WebSocket " +"“%s”" + +#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667 msgid "WebSocket handshake expected" msgstr "Esperado handshake WebSocket" -#: ../libsoup/soup-websocket.c:353 +#: libsoup/soup-websocket.c:675 msgid "Unsupported WebSocket version" msgstr "Versão WebSocket não suportada" -#: ../libsoup/soup-websocket.c:362 +#: libsoup/soup-websocket.c:684 msgid "Invalid WebSocket key" msgstr "Chave WebSocket inválida" -#: ../libsoup/soup-websocket.c:372 -#, c-format -msgid "Incorrect WebSocket \"%s\" header" -msgstr "Cabeçalho WebSocket \"%s\" incorreto" - -#: ../libsoup/soup-websocket.c:381 +#: libsoup/soup-websocket.c:703 msgid "Unsupported WebSocket subprotocol" msgstr "Subprotocolo WebSocket não suportado" -#: ../libsoup/soup-websocket.c:508 +#: libsoup/soup-websocket.c:975 msgid "Server rejected WebSocket handshake" msgstr "O servidor rejeitou o handshake WebSocket" -#: ../libsoup/soup-websocket.c:516 ../libsoup/soup-websocket.c:525 +#: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992 msgid "Server ignored WebSocket handshake" msgstr "O servidor ignorou o handshake WebSocket" -#: ../libsoup/soup-websocket.c:537 +#: libsoup/soup-websocket.c:1004 msgid "Server requested unsupported protocol" msgstr "O servidor pediu um protocolo não suportado" -#: ../libsoup/soup-websocket.c:547 -msgid "Server requested unsupported extension" -msgstr "O servidor pediu uma extensão não suportada" +#: libsoup/soup-tld.c:150 +msgid "No public-suffix list available." +msgstr "Nenhuma lista de sufixos públicos disponível." -#: ../libsoup/soup-websocket.c:560 -#, c-format -msgid "Server returned incorrect \"%s\" key" -msgstr "O servidor devolveu uma chave \"%s\" incorreta" +#: libsoup/soup-tld.c:160 libsoup/soup-tld.c:176 +msgid "Invalid hostname" +msgstr "Nome de máquina inválido" -#: ../libsoup/soup-tld.c:188 +#: libsoup/soup-tld.c:167 msgid "Hostname is an IP address" msgstr "Nome da máquina é um endereço IP" -#: ../libsoup/soup-tld.c:198 ../libsoup/soup-tld.c:220 -msgid "Invalid hostname" -msgstr "Nome de máquina inválido" - -#: ../libsoup/soup-tld.c:250 +#: libsoup/soup-tld.c:188 msgid "Hostname has no base domain" msgstr "Nome de máquina não possui domínio base" -#: ../libsoup/soup-tld.c:304 +#: libsoup/soup-tld.c:196 msgid "Not enough domains" msgstr "Domínios insuficientes" diff --git a/po/pt_BR.po b/po/pt_BR.po index 09a7f94a..e13cc780 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -1,16 +1,16 @@ # Brazilian Portuguese translation for libsoup. -# Copyright (C) 2019 libsoup's COPYRIGHT HOLDER +# Copyright (C) 2020 libsoup's COPYRIGHT HOLDER # This file is distributed under the same license as the libsoup package. # Gabriel F. Vilar <cogumm@gmail.com>, 2012. # Enrico Nicoletto <liverig@gmail.com>, 2013, 2014. -# Rafael Fontenelle <rafaelff@gnome.org>, 2015-2019. +# Rafael Fontenelle <rafaelff@gnome.org>, 2015-2020. # msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-09-05 02:29-0300\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-08-18 10:33-0300\n" "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n" "Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n" "Language: pt_BR\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -"X-Generator: Gtranslator 3.32.0\n" +"X-Generator: Gtranslator 3.36.0\n" "X-Project-Style: gnome\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 @@ -42,6 +42,18 @@ msgstr "O fluxo de rede fechou de forma inesperada" msgid "Failed to completely cache the resource" msgstr "Falha ao armazenar completamente em cache o recurso" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Nome" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Tamanho" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Data modificada" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -81,31 +93,31 @@ msgstr "Nenhuma URI foi fornecida" msgid "Invalid “%s” URI: %s" msgstr "URI “%s” inválida: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Não foi possível criar um servidor TLS sem um certificado TLS" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Não foi possível escutar o endereço %s, porta %d: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Não foi possível analisar URI “%s”" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Esquema de URI não suportado “%s”" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Não é um URI do tipo HTTP" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "O servidor não aceitou handshake de WebSocket." @@ -8,10 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-04 14:07+0300\n" -"Last-Translator: Florentina Mușat <florentina.musat.28 [at] gmail [dot] " -"com>\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-06-27 13:22+0300\n" +"Last-Translator: Florentina Mușat <florentina.musat.28@gmail.com>\n" "Language-Team: Romanian <gnomero-list@lists.sourceforge.net>\n" "Language: ro\n" "MIME-Version: 1.0\n" @@ -19,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "20)) ? 1 : 2);;\n" -"X-Generator: Poedit 2.2.3\n" +"X-Generator: Poedit 2.3.1\n" "X-Project-Style: gnome\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 @@ -43,6 +42,18 @@ msgstr "Fluxul de rețea s-a închis neașteptat" msgid "Failed to completely cache the resource" msgstr "Nu s-a putut adăuga complet la cache resursa" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Nume" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Dimensiune" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Dată modificat" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -82,31 +93,31 @@ msgstr "Nu s-a furnizat un URI" msgid "Invalid “%s” URI: %s" msgstr "URI nevalid „%s”: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Nu se poate crea un server TLS fără un certificat TLS" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Nu s-a putut asculta la adresa %s, portul %d: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Nu s-a putut parsa URI „%s”" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Schemă de URI nesuportată „%s”" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Nu este un URI HTTP" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "Serverul nu a acceptat conectarea WebSocket." @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: libsoup\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2018-09-24 14:21+0000\n" -"PO-Revision-Date: 2018-11-04 12:25+0100\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-09-06 17:36+0200\n" "Last-Translator: Dušan Kazik <prescott66@gmail.com>\n" "Language-Team: Slovak <gnome-sk-list@gnome.org>\n" "Language: sk\n" @@ -16,10 +16,10 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.4.1\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 -#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:238 +#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 msgid "Connection terminated unexpectedly" msgstr "Pripojenie bolo neočakávane ukončené" @@ -40,6 +40,18 @@ msgstr "Sieťový prúd bol neočakávane uzavretý" msgid "Failed to completely cache the resource" msgstr "Úplné načítanie zdroja do dočasnej pamäte zlyhalo" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Názov" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Veľkosť" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Dátum zmeny" + # PM: buffer by som preložil ako schránka # PK: schranka je clipboard, buffer je jednoznacne vyrovnavacia pamet #: libsoup/soup-converter-wrapper.c:189 @@ -47,28 +59,28 @@ msgstr "Úplné načítanie zdroja do dočasnej pamäte zlyhalo" msgid "Output buffer is too small" msgstr "Výstupná vyrovnávacia pamäť je príliš malá" -#: libsoup/soup-message-client-io.c:41 +#: libsoup/soup-message-client-io.c:39 msgid "Could not parse HTTP response" msgstr "Nepodarilo sa analyzovať odpoveď HTTP" -#: libsoup/soup-message-client-io.c:66 +#: libsoup/soup-message-client-io.c:62 msgid "Unrecognized HTTP response encoding" msgstr "Nerozpoznané kódovanie odpovede HTTP" -#: libsoup/soup-message-io.c:263 +#: libsoup/soup-message-io.c:261 msgid "Header too big" msgstr "Záhlavie je príliš veľké" # PK: tu neviem ako to povedat, malo by ist o to, ze proste ta operacia neni async -#: libsoup/soup-message-io.c:396 libsoup/soup-message-io.c:1024 +#: libsoup/soup-message-io.c:393 libsoup/soup-message-io.c:1016 msgid "Operation would block" msgstr "Operácia by blokovala spracovanie" -#: libsoup/soup-message-io.c:976 libsoup/soup-message-io.c:1009 +#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001 msgid "Operation was cancelled" msgstr "Operácia bola zrušená" -#: libsoup/soup-message-server-io.c:64 +#: libsoup/soup-message-server-io.c:63 msgid "Could not parse HTTP request" msgstr "Nepodarilo sa analyzovať požiadavku HTTP" @@ -84,31 +96,31 @@ msgstr "Nebol poskytnutý identifikátor URI" msgid "Invalid “%s” URI: %s" msgstr "Neplatná schéma „%s“ identifikátora URI: %s" -#: libsoup/soup-server.c:1725 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Nedá sa vytvoriť TLS server bez TLS certifikátu" -#: libsoup/soup-server.c:1742 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Nepodarilo sa počúvať na adrese %s, porte %d: " -#: libsoup/soup-session.c:4534 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Nepodarilo sa analyzovať identifikátor URI „%s“" -#: libsoup/soup-session.c:4571 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Nepodporovaná schéma „%s“ pre identifikátor URI" -#: libsoup/soup-session.c:4593 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Nie je HTTP URI" -#: libsoup/soup-session.c:4791 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "Server neprijal vyjednanie protokolu WebSocket." @@ -124,48 +136,59 @@ msgstr "Nepodarilo sa importovať existujúci soket: " msgid "Can’t import unconnected socket" msgstr "Nedá sa importovať nepripojený soket" -#: libsoup/soup-websocket.c:338 libsoup/soup-websocket.c:347 +#: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523 +#: libsoup/soup-websocket.c:539 +msgid "Server requested unsupported extension" +msgstr "Server si vyžiadal nepodporované rozšírenie" + +#: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694 +#, c-format +msgid "Incorrect WebSocket “%s” header" +msgstr "Nesprávna hlavička „%s“ protokolu Websocket" + +#: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024 +#, c-format +msgid "Server returned incorrect “%s” key" +msgstr "Server vrátil nesprávny kľúč „%s“" + +#: libsoup/soup-websocket.c:566 +#, c-format +msgid "Duplicated parameter in “%s” WebSocket extension header" +msgstr "Duplikovaný parameter v hlavičke rozšírenia protokolu WebSocket „%s“" + +#: libsoup/soup-websocket.c:567 +#, c-format +msgid "Server returned a duplicated parameter in “%s” WebSocket extension header" +msgstr "Server vrátil duplikovaný parameter v hlavičke rozšírenia protokolu WebSocket „%s“" + +#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667 msgid "WebSocket handshake expected" msgstr "Očakávalo sa vyjednanie protokolu WebSocket" -#: libsoup/soup-websocket.c:355 +#: libsoup/soup-websocket.c:675 msgid "Unsupported WebSocket version" msgstr "Nepodporovaná verzia protokolu WebSocket" -#: libsoup/soup-websocket.c:364 +#: libsoup/soup-websocket.c:684 msgid "Invalid WebSocket key" msgstr "Neplatný kľúč protokolu WebSocket" -#: libsoup/soup-websocket.c:374 -#, c-format -msgid "Incorrect WebSocket “%s” header" -msgstr "Nesprávna hlavička „%s“ protokolu Websocket" - -#: libsoup/soup-websocket.c:383 +#: libsoup/soup-websocket.c:703 msgid "Unsupported WebSocket subprotocol" msgstr "Nepodporovaný podprotokol protokolu WebSocket" -#: libsoup/soup-websocket.c:510 +#: libsoup/soup-websocket.c:975 msgid "Server rejected WebSocket handshake" msgstr "Server odmietol vyjednanie protokolu WebSocket" -#: libsoup/soup-websocket.c:518 libsoup/soup-websocket.c:527 +#: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992 msgid "Server ignored WebSocket handshake" msgstr "Server ignoroval vyjednanie protokolu WebSocket" -#: libsoup/soup-websocket.c:539 +#: libsoup/soup-websocket.c:1004 msgid "Server requested unsupported protocol" msgstr "Server si vyžiadal nepodporovaný protokol" -#: libsoup/soup-websocket.c:549 -msgid "Server requested unsupported extension" -msgstr "Server si vyžiadal nepodporované rozšírenie" - -#: libsoup/soup-websocket.c:562 -#, c-format -msgid "Server returned incorrect “%s” key" -msgstr "Server vrátil nesprávny kľúč „%s“" - #: libsoup/soup-tld.c:150 msgid "No public-suffix list available." msgstr "Nie je dostupný žiadny zoznam verejných prípon." @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-08-24 14:24+0000\n" -"PO-Revision-Date: 2019-08-24 19:42+0200\n" +"POT-Creation-Date: 2020-08-19 05:23+0000\n" +"PO-Revision-Date: 2020-08-19 21:41+0200\n" "Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n" "Language-Team: Slovenian <gnome-si@googlegroups.com>\n" "Language: sl\n" @@ -19,10 +19,10 @@ msgstr "" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" "%100==4 ? 3 : 0);\n" "X-Poedit-SourceCharset: utf-8\n" -"X-Generator: Poedit 2.2.1\n" +"X-Generator: Poedit 2.3\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 -#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 +#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:244 msgid "Connection terminated unexpectedly" msgstr "Povezava je nepričakovano končana" @@ -42,6 +42,18 @@ msgstr "Omrežni pretok se je nepričakovano zaprl" msgid "Failed to completely cache the resource" msgstr "Ustvarjanje predpomnilnika vira je spodletelo" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Ime" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Velikost" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Datum spremembe" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -55,15 +67,15 @@ msgstr "Odziva HTTP ni mogoče razčleniti" msgid "Unrecognized HTTP response encoding" msgstr "Neprepoznano kodiranje odziva HTTP" -#: libsoup/soup-message-io.c:261 +#: libsoup/soup-message-io.c:269 msgid "Header too big" msgstr "Glava je prevelika" -#: libsoup/soup-message-io.c:393 libsoup/soup-message-io.c:1016 +#: libsoup/soup-message-io.c:401 libsoup/soup-message-io.c:1024 msgid "Operation would block" msgstr "Opravilo bi zaustavilo delovanje" -#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001 +#: libsoup/soup-message-io.c:976 libsoup/soup-message-io.c:1009 msgid "Operation was cancelled" msgstr "Opravilo je preklicano." @@ -81,31 +93,31 @@ msgstr "Ni podanega naslova URI" msgid "Invalid “%s” URI: %s" msgstr "Neveljaven naslov URI “%s”: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Ni mogoče ustvariti strežnika TLS brez ustreznega potrdila TLS." -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Ni mogoče prisluhniti naslovu %s, vrata %d:" -#: libsoup/soup-session.c:4543 +#: libsoup/soup-session.c:4584 #, c-format msgid "Could not parse URI “%s”" msgstr "Ni mogoče razčleniti naslova URI “%s”" -#: libsoup/soup-session.c:4580 +#: libsoup/soup-session.c:4621 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Nepodprta shema naslova URI “%s”" -#: libsoup/soup-session.c:4602 +#: libsoup/soup-session.c:4643 #, c-format msgid "Not an HTTP URI" msgstr "Naslov ni v obliki HTTP URI" -#: libsoup/soup-session.c:4813 +#: libsoup/soup-session.c:4854 msgid "The server did not accept the WebSocket handshake." msgstr "Strežnik ne podpira zahteve overitve WebSocket" @@ -2,22 +2,24 @@ # Courtesy of Prevod.org team (http://prevod.org/) -- 2012—2017. # This file is distributed under the same license as the libsoup package. # Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011—2017. +# Марко М. Костић <marko.m.kostic@gmail.com>, 2020. +# msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-21 23:26+0200\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-08-19 07:22+0200\n" "Last-Translator: Марко М. Костић <marko.m.kostic@gmail.com>\n" -"Language-Team: Serbian <(nothing)>\n" +"Language-Team: Serbian <gnome-sr@googlegroups.org>\n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n" -"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n" "X-Project-Style: gnome\n" -"X-Generator: Poedit 2.2.3\n" +"X-Generator: Gtranslator 3.36.0\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 #: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 @@ -40,6 +42,18 @@ msgstr "Мрежни ток је изненадно затворен" msgid "Failed to completely cache the resource" msgstr "Нисам успео у потпуности да сместим извориште у оставу" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Назив" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Величина" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Датум измене" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -79,31 +93,31 @@ msgstr "Није наведена путања" msgid "Invalid “%s” URI: %s" msgstr "Неисправна „%s“ путања: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Не могу да направим ТЛС сервер без ТЛС уверења" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Не могу да ослушкујем на адреси „%s“, прикључник %d: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Не могу да обрадим путању „%s“" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Неподржана „%s“ шема путање" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Није ХТТП путања" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "Сервер не прихвата руковање Веб прикључнице." @@ -1,23 +1,23 @@ # Swedish translation for libsoup. -# Copyright © 2012-2019 Free Software Foundation, Inc. +# Copyright © 2012-2020 Free Software Foundation, Inc. # This file is distributed under the same license as the libsoup package. # Daniel Nylander <po@danielnylander.se>, 2012. # Sebastian Rasmussen <sebras@gmail.com>, 2015, 2016. -# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2018, 2019. +# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2018, 2019, 2020. # msgid "" msgstr "" "Project-Id-Version: libsoup\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-08-19 20:37+0200\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-06-27 13:20+0200\n" "Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2.3\n" +"X-Generator: Poedit 2.3.1\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 #: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 @@ -40,6 +40,18 @@ msgstr "Nätverksström stängdes oväntat" msgid "Failed to completely cache the resource" msgstr "Misslyckades med att helt mellanlagra resursen" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Namn" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Storlek" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Ändringsdatum" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -79,31 +91,31 @@ msgstr "Ingen URI angavs" msgid "Invalid “%s” URI: %s" msgstr "Ogiltig ”%s”-URI: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Kan inte skapa en TLS-server utan ett TLS-certifikat" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "Kan inte lyssna på adress %s, port %d: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "Kunde inte tolka URI:n ”%s”" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "URI-schemat ”%s” stöds inte" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "Inte en HTTP-URI" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "Servern accepterade inte WebSocket-handskakningen." @@ -6,16 +6,16 @@ # Necdet Yücel <necdetyucel@gmail.com>, 2014, 2015. # Furkan Ahmet Kara <furkanahmetkara.fk@gmail.com>, 2017. # Muhammet Kara <muhammetk@gmail.com>, 2012, 2014, 2015, 2018. -# Emin Tufan Çetin <etcetin@gmail.com>, 2017, 2018. # Sabri Ünal <libreajans@gmail.com>, 2019. +# Emin Tufan Çetin <etcetin@gmail.com>, 2017, 2018, 2020. # msgid "" msgstr "" "Project-Id-Version: libsoup master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" -"POT-Creation-Date: 2019-07-31 12:10+0000\n" -"PO-Revision-Date: 2019-09-05 20:50+0300\n" -"Last-Translator: Sabri Ünal <libreajans@gmail.com>\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-08-08 12:05+0300\n" +"Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n" "Language-Team: Türkçe <gnome-turk@gnome.org>\n" "Language: tr\n" "MIME-Version: 1.0\n" @@ -46,6 +46,18 @@ msgstr "Ağ akışı beklenmeyen bir şekilde sonlandı" msgid "Failed to completely cache the resource" msgstr "Özkaynak tümüyle önbelleğe alınamadı" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Ad" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Boyut" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Değiştirilme Tarihi" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" @@ -85,31 +97,31 @@ msgstr "URI verilmedi" msgid "Invalid “%s” URI: %s" msgstr "Geçersiz “%s” URI: %s" -#: libsoup/soup-server.c:1797 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "Bir TLS sertifikası olmadan TLS sunucusu oluşturulamaz" -#: libsoup/soup-server.c:1814 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " msgstr "%s adresinin %d bağlantı noktası dinlenemedi: " -#: libsoup/soup-session.c:4535 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "URI “%s” ayrıştırılamadı" -#: libsoup/soup-session.c:4572 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "Desteklenmeyen URI şeması “%s”" -#: libsoup/soup-session.c:4594 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "HTTP URI değil" -#: libsoup/soup-session.c:4805 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "Sunucu WebSocket el sıkışmasını kabul etmedi." @@ -119,7 +131,7 @@ msgstr "Non-socket, SoupSocket olarak içe aktarılamıyor" #: libsoup/soup-socket.c:166 msgid "Could not import existing socket: " -msgstr "Mevcut soket içe aktarılamadı: " +msgstr "Var olan soket içe aktarılamadı: " #: libsoup/soup-socket.c:175 msgid "Can’t import unconnected socket" @@ -128,7 +140,7 @@ msgstr "Bağlı olmayan soket içe aktarılamıyor" #: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523 #: libsoup/soup-websocket.c:539 msgid "Server requested unsupported extension" -msgstr "Sunucu desteklenmeyen eklenti isteğinde bulundu" +msgstr "Sunucu, desteklenmeyen eklenti isteğinde bulundu" #: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694 #, c-format @@ -138,7 +150,7 @@ msgstr "Hatalı WebSocket “%s” başlığı" #: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024 #, c-format msgid "Server returned incorrect “%s” key" -msgstr "Sunucu geçersiz “%s” anahtarı döndürdü" +msgstr "Sunucu, geçersiz “%s” anahtarı döndürdü" #: libsoup/soup-websocket.c:566 #, c-format @@ -147,8 +159,9 @@ msgstr "“%s” WebSocket eklenti başlığında yinelenen parametre" #: libsoup/soup-websocket.c:567 #, c-format -msgid "Server returned a duplicated parameter in “%s” WebSocket extension header" -msgstr "Sunucu “%s” WebSocket eklenti başlığında yinelenen parametre döndürdü" +msgid "" +"Server returned a duplicated parameter in “%s” WebSocket extension header" +msgstr "Sunucu, “%s” WebSocket eklenti başlığında yinelenen parametre döndürdü" #: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667 msgid "WebSocket handshake expected" @@ -168,15 +181,15 @@ msgstr "Desteklenmeyen WebSocket alt iletişim kuralı" #: libsoup/soup-websocket.c:975 msgid "Server rejected WebSocket handshake" -msgstr "Sunucu WebSocket el sıkışmasını reddetti" +msgstr "Sunucu, WebSocket el sıkışmasını reddetti" #: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992 msgid "Server ignored WebSocket handshake" -msgstr "Sunucu WebSocket el sıkışmasını yoksaydı" +msgstr "Sunucu, WebSocket el sıkışmasını yoksaydı" #: libsoup/soup-websocket.c:1004 msgid "Server requested unsupported protocol" -msgstr "Sunucu desteklenmeyen iletişim kuralı isteğinde bulundu" +msgstr "Sunucu, desteklenmeyen iletişim kuralı isteğinde bulundu" #: libsoup/soup-tld.c:150 msgid "No public-suffix list available." @@ -1,182 +1,208 @@ -# Ukrainian translation for libsoup.
-# Copyright (C) 2012 libsoup's COPYRIGHT HOLDER
-# This file is distributed under the same license as the libsoup package.
-# Mykola Tkach <Stuartlittle1970@gmail.com>, 2014.
-msgid ""
-msgstr ""
-"Project-Id-Version: libsoup master\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-01-12 13:57+0000\n"
-"PO-Revision-Date: 2019-05-19 18:59+0300\n"
-"Last-Translator: Mykola Tkach <Stuartlittle1970@gmail.com>\n"
-"Language-Team: linux.org.ua\n"
-"Language: uk\n"
-"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"
-"X-Generator: Poedit 2.2.1\n"
-"X-Project-Style: gnome\n"
-
-#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
-#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:238
-msgid "Connection terminated unexpectedly"
-msgstr "Несподівано зв'язок розірвано"
-
-#: libsoup/soup-body-input-stream.c:459
-msgid "Invalid seek request"
-msgstr "Неправильний пошуковий запит"
-
-#: libsoup/soup-body-input-stream.c:487
-msgid "Cannot truncate SoupBodyInputStream"
-msgstr "Не вдається обрізати SoupBodyInputStream"
-
-#: libsoup/soup-cache-input-stream.c:76
-msgid "Network stream unexpectedly closed"
-msgstr "Мережевий потік несподівано закрився"
-
-#: libsoup/soup-cache-input-stream.c:291
-msgid "Failed to completely cache the resource"
-msgstr "Не вдалося повністю кешувати ресурс"
-
-#: libsoup/soup-converter-wrapper.c:189
-#, c-format
-msgid "Output buffer is too small"
-msgstr "Вихідний буфер замалий"
-
-#: libsoup/soup-message-client-io.c:41
-msgid "Could not parse HTTP response"
-msgstr "Не вдалося проаналізувати відповідь HTTP"
-
-#: libsoup/soup-message-client-io.c:66
-msgid "Unrecognized HTTP response encoding"
-msgstr "Нерозпізнане кодування відповіді HTTP"
-
-#: libsoup/soup-message-io.c:263
-msgid "Header too big"
-msgstr "Заголовок завеликий"
-
-#: libsoup/soup-message-io.c:396 libsoup/soup-message-io.c:1024
-msgid "Operation would block"
-msgstr "Операція блокується"
-
-#: libsoup/soup-message-io.c:976 libsoup/soup-message-io.c:1009
-msgid "Operation was cancelled"
-msgstr "Операцію скасовано"
-
-#: libsoup/soup-message-server-io.c:64
-msgid "Could not parse HTTP request"
-msgstr "Не вдалося проаналізувати запит HTTP"
-
-#: libsoup/soup-request.c:141
-#, c-format
-msgid "No URI provided"
-msgstr "Не надано URI"
-
-#: libsoup/soup-request.c:151
-#, c-format
-msgid "Invalid “%s” URI: %s"
-msgstr "Неправильний “%s” URI: %s"
-
-#: libsoup/soup-server.c:1725
-msgid "Can’t create a TLS server without a TLS certificate"
-msgstr "Неможливо створити сервер TLS без сертифіката TLS"
-
-#: libsoup/soup-server.c:1742
-#, c-format
-msgid "Could not listen on address %s, port %d: "
-msgstr "Не вдалося почати прослуховування за адресою %s, порт %d: "
-
-#: libsoup/soup-session.c:4534
-#, c-format
-msgid "Could not parse URI “%s”"
-msgstr "Не вдалося проаналізувати URI \"%s\""
-
-#: libsoup/soup-session.c:4571
-#, c-format
-msgid "Unsupported URI scheme “%s”"
-msgstr "Непідтримувана схема URI \"%s\""
-
-#: libsoup/soup-session.c:4593
-#, c-format
-msgid "Not an HTTP URI"
-msgstr "URI не в форматі HTTP"
-
-#: libsoup/soup-session.c:4791
-msgid "The server did not accept the WebSocket handshake."
-msgstr "Сервер не прийняв рукостискання WebSocket."
-
-#: libsoup/soup-socket.c:148
-msgid "Can’t import non-socket as SoupSocket"
-msgstr "Неможливо імпортувати об’єкти відмінні від сокета як SoupSocket"
-
-#: libsoup/soup-socket.c:166
-msgid "Could not import existing socket: "
-msgstr "Не вдалося імпортувати наявний сокет: "
-
-#: libsoup/soup-socket.c:175
-msgid "Can’t import unconnected socket"
-msgstr "Неможливо імпортувати непід'єднаний сокет"
-
-#: libsoup/soup-websocket.c:338 libsoup/soup-websocket.c:347
-msgid "WebSocket handshake expected"
-msgstr "Очікується рукостискання WebSocket"
-
-#: libsoup/soup-websocket.c:355
-msgid "Unsupported WebSocket version"
-msgstr "Непідтримувана версія WebSocket"
-
-#: libsoup/soup-websocket.c:364
-msgid "Invalid WebSocket key"
-msgstr "Невірний ключ WebSocket"
-
-#: libsoup/soup-websocket.c:374
-#, c-format
-msgid "Incorrect WebSocket “%s” header"
-msgstr "Неправильний заголовок “%s” WebSocket"
-
-#: libsoup/soup-websocket.c:383
-msgid "Unsupported WebSocket subprotocol"
-msgstr "Непідтримуваний підпротокол WebSocket"
-
-#: libsoup/soup-websocket.c:510
-msgid "Server rejected WebSocket handshake"
-msgstr "Сервер відхилив рукостискання WebSocket"
-
-#: libsoup/soup-websocket.c:518 libsoup/soup-websocket.c:527
-msgid "Server ignored WebSocket handshake"
-msgstr "Сервер проігнорував рукостискання WebSocket"
-
-#: libsoup/soup-websocket.c:539
-msgid "Server requested unsupported protocol"
-msgstr "Сервер запросив протокол, який не підтримується"
-
-#: libsoup/soup-websocket.c:549
-msgid "Server requested unsupported extension"
-msgstr "Сервер запросив непідтримуване розширення"
-
-#: libsoup/soup-websocket.c:562
-#, c-format
-msgid "Server returned incorrect “%s” key"
-msgstr "Сервер повернув неправильний ключ “%s”"
-
-#: libsoup/soup-tld.c:150
-msgid "No public-suffix list available."
-msgstr "Список публічних суфіксів недоступний."
-
-#: libsoup/soup-tld.c:160 libsoup/soup-tld.c:176
-msgid "Invalid hostname"
-msgstr "Неправильне ім'я хоста"
-
-#: libsoup/soup-tld.c:167
-msgid "Hostname is an IP address"
-msgstr "Ім'я хоста - це IP-адреса"
-
-#: libsoup/soup-tld.c:188
-msgid "Hostname has no base domain"
-msgstr "Ім'я хоста не має базового домену"
-
-#: libsoup/soup-tld.c:196
-msgid "Not enough domains"
-msgstr "Недостатньо доменів"
+# Ukrainian translation for libsoup. +# Copyright (C) 2012 libsoup's COPYRIGHT HOLDER +# This file is distributed under the same license as the libsoup package. +# Mykola Tkach <Stuartlittle1970@gmail.com>, 2014. +# Yuri Chornoivan <yurchor@ukr.net>, 2020. +msgid "" +msgstr "" +"Project-Id-Version: libsoup master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-06-26 20:10+0300\n" +"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" +"Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n" +"Language: uk\n" +"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" +"X-Generator: Lokalize 20.07.70\n" +"X-Project-Style: gnome\n" + +#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 +#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 +msgid "Connection terminated unexpectedly" +msgstr "Несподівано зв'язок розірвано" + +#: libsoup/soup-body-input-stream.c:459 +msgid "Invalid seek request" +msgstr "Неправильний пошуковий запит" + +#: libsoup/soup-body-input-stream.c:487 +msgid "Cannot truncate SoupBodyInputStream" +msgstr "Не вдається обрізати SoupBodyInputStream" + +#: libsoup/soup-cache-input-stream.c:76 +msgid "Network stream unexpectedly closed" +msgstr "Мережевий потік несподівано закрився" + +#: libsoup/soup-cache-input-stream.c:291 +msgid "Failed to completely cache the resource" +msgstr "Не вдалося повністю кешувати ресурс" + +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "Назва" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "Розмір" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "Дата зміни" + +#: libsoup/soup-converter-wrapper.c:189 +#, c-format +msgid "Output buffer is too small" +msgstr "Вихідний буфер замалий" + +#: libsoup/soup-message-client-io.c:39 +msgid "Could not parse HTTP response" +msgstr "Не вдалося проаналізувати відповідь HTTP" + +#: libsoup/soup-message-client-io.c:62 +msgid "Unrecognized HTTP response encoding" +msgstr "Нерозпізнане кодування відповіді HTTP" + +#: libsoup/soup-message-io.c:261 +msgid "Header too big" +msgstr "Заголовок завеликий" + +#: libsoup/soup-message-io.c:393 libsoup/soup-message-io.c:1016 +msgid "Operation would block" +msgstr "Операція блокується" + +#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001 +msgid "Operation was cancelled" +msgstr "Операцію скасовано" + +#: libsoup/soup-message-server-io.c:63 +msgid "Could not parse HTTP request" +msgstr "Не вдалося проаналізувати запит HTTP" + +#: libsoup/soup-request.c:141 +#, c-format +msgid "No URI provided" +msgstr "Не надано URI" + +#: libsoup/soup-request.c:151 +#, c-format +msgid "Invalid “%s” URI: %s" +msgstr "Неправильний “%s” URI: %s" + +#: libsoup/soup-server.c:1810 +msgid "Can’t create a TLS server without a TLS certificate" +msgstr "Неможливо створити сервер TLS без сертифіката TLS" + +#: libsoup/soup-server.c:1827 +#, c-format +msgid "Could not listen on address %s, port %d: " +msgstr "Не вдалося почати прослуховування за адресою %s, порт %d: " + +#: libsoup/soup-session.c:4570 +#, c-format +msgid "Could not parse URI “%s”" +msgstr "Не вдалося проаналізувати URI \"%s\"" + +#: libsoup/soup-session.c:4607 +#, c-format +msgid "Unsupported URI scheme “%s”" +msgstr "Непідтримувана схема URI \"%s\"" + +#: libsoup/soup-session.c:4629 +#, c-format +msgid "Not an HTTP URI" +msgstr "URI не в форматі HTTP" + +#: libsoup/soup-session.c:4840 +msgid "The server did not accept the WebSocket handshake." +msgstr "Сервер не прийняв рукостискання WebSocket." + +#: libsoup/soup-socket.c:148 +msgid "Can’t import non-socket as SoupSocket" +msgstr "Неможливо імпортувати об’єкти відмінні від сокета як SoupSocket" + +#: libsoup/soup-socket.c:166 +msgid "Could not import existing socket: " +msgstr "Не вдалося імпортувати наявний сокет: " + +#: libsoup/soup-socket.c:175 +msgid "Can’t import unconnected socket" +msgstr "Неможливо імпортувати непід'єднаний сокет" + +#: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523 +#: libsoup/soup-websocket.c:539 +msgid "Server requested unsupported extension" +msgstr "Сервер запросив непідтримуване розширення" + +#: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694 +#, c-format +msgid "Incorrect WebSocket “%s” header" +msgstr "Неправильний заголовок “%s” WebSocket" + +#: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024 +#, c-format +msgid "Server returned incorrect “%s” key" +msgstr "Сервер повернув неправильний ключ “%s”" + +#: libsoup/soup-websocket.c:566 +#, c-format +msgid "Duplicated parameter in “%s” WebSocket extension header" +msgstr "Дублювання параметра у заголовку розширення вебсокету «%s»" + +#: libsoup/soup-websocket.c:567 +#, c-format +msgid "" +"Server returned a duplicated parameter in “%s” WebSocket extension header" +msgstr "" +"Сервером повернуто дубльований параметр у заголовку розширення вебсокету «%s»" + +#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667 +msgid "WebSocket handshake expected" +msgstr "Очікується рукостискання WebSocket" + +#: libsoup/soup-websocket.c:675 +msgid "Unsupported WebSocket version" +msgstr "Непідтримувана версія WebSocket" + +#: libsoup/soup-websocket.c:684 +msgid "Invalid WebSocket key" +msgstr "Невірний ключ WebSocket" + +#: libsoup/soup-websocket.c:703 +msgid "Unsupported WebSocket subprotocol" +msgstr "Непідтримуваний підпротокол WebSocket" + +#: libsoup/soup-websocket.c:975 +msgid "Server rejected WebSocket handshake" +msgstr "Сервер відхилив рукостискання WebSocket" + +#: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992 +msgid "Server ignored WebSocket handshake" +msgstr "Сервер проігнорував рукостискання WebSocket" + +#: libsoup/soup-websocket.c:1004 +msgid "Server requested unsupported protocol" +msgstr "Сервер запросив протокол, який не підтримується" + +#: libsoup/soup-tld.c:150 +msgid "No public-suffix list available." +msgstr "Список публічних суфіксів недоступний." + +#: libsoup/soup-tld.c:160 libsoup/soup-tld.c:176 +msgid "Invalid hostname" +msgstr "Неправильне ім'я хоста" + +#: libsoup/soup-tld.c:167 +msgid "Hostname is an IP address" +msgstr "Ім'я хоста - це IP-адреса" + +#: libsoup/soup-tld.c:188 +msgid "Hostname has no base domain" +msgstr "Ім'я хоста не має базового домену" + +#: libsoup/soup-tld.c:196 +msgid "Not enough domains" +msgstr "Недостатньо доменів" diff --git a/po/zh_CN.po b/po/zh_CN.po index d65615ca..4d16fba2 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1,32 +1,31 @@ # Chinese (China) translation for libsoup. -# Copyright (C) 2012-2018 libsoup's COPYRIGHT HOLDER +# Copyright (C) 2012-2019 libsoup's COPYRIGHT HOLDER # This file is distributed under the same license as the libsoup package. # hmasterwang <hmasterwang@gmail.com>, 2012. # Alpha Cheng <hmasterwang@gmail.com>, 2012. # Cheng Lu <chenglu1990@gmail.com>, 2012. # YunQiang Su <wzssyqa@gmail.com>, 2012. -# Dingzhong Chen <wsxy162@@gmail.com>, 2017, 2018. # Aron Xu <aronxu@gnome.org>, 2018. # Mingcong Bai <jeffbai@aosc.xyz>, 2018. +# Dingzhong Chen <wsxy162@gmail.com>, 2017-2019. # msgid "" msgstr "" "Project-Id-Version: libsoup master\n" -"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" -"product=libsoup&keywords=I18N+L10N&component=Misc\n" -"POT-Creation-Date: 2018-04-13 08:29+0000\n" -"PO-Revision-Date: 2018-05-10 12:08-0500\n" -"Last-Translator: Mingcong Bai <jeffbai@aosc.xyz>\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" +"POT-Creation-Date: 2020-06-26 17:08+0000\n" +"PO-Revision-Date: 2020-07-01 20:29-0400\n" +"Last-Translator: Boyuan Yang <073plan@gmail.com>\n" "Language-Team: Chinese (China) <i18n-zh@googlegroups.com>\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 2.0.6\n" +"X-Generator: Poedit 2.3.1\n" #: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 -#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:238 +#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 msgid "Connection terminated unexpectedly" msgstr "连接异常终止" @@ -36,7 +35,7 @@ msgstr "无效的 seek 请求" #: libsoup/soup-body-input-stream.c:487 msgid "Cannot truncate SoupBodyInputStream" -msgstr "无法截断 (truncate) SoupBodyInputStream" +msgstr "无法截断(truncate)SoupBodyInputStream" #: libsoup/soup-cache-input-stream.c:76 msgid "Network stream unexpectedly closed" @@ -46,32 +45,44 @@ msgstr "网络流意外关闭" msgid "Failed to completely cache the resource" msgstr "无法完全缓存该资源" +#: libsoup/soup-directory-input-stream.c:231 +msgid "Name" +msgstr "名称" + +#: libsoup/soup-directory-input-stream.c:232 +msgid "Size" +msgstr "大小" + +#: libsoup/soup-directory-input-stream.c:233 +msgid "Date Modified" +msgstr "修改日期" + #: libsoup/soup-converter-wrapper.c:189 #, c-format msgid "Output buffer is too small" msgstr "输出缓冲区太小" -#: libsoup/soup-message-client-io.c:41 +#: libsoup/soup-message-client-io.c:39 msgid "Could not parse HTTP response" msgstr "无法解析 HTTP 响应" -#: libsoup/soup-message-client-io.c:66 +#: libsoup/soup-message-client-io.c:62 msgid "Unrecognized HTTP response encoding" msgstr "未识别的 HTTP 响应编码" -#: libsoup/soup-message-io.c:263 +#: libsoup/soup-message-io.c:261 msgid "Header too big" -msgstr "Header 太大" +msgstr "首部太大" -#: libsoup/soup-message-io.c:396 libsoup/soup-message-io.c:1024 +#: libsoup/soup-message-io.c:393 libsoup/soup-message-io.c:1016 msgid "Operation would block" msgstr "操作将阻塞" -#: libsoup/soup-message-io.c:976 libsoup/soup-message-io.c:1009 +#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001 msgid "Operation was cancelled" msgstr "操作被取消" -#: libsoup/soup-message-server-io.c:64 +#: libsoup/soup-message-server-io.c:63 msgid "Could not parse HTTP request" msgstr "无法解析 HTTP 请求" @@ -85,31 +96,31 @@ msgstr "未提供 URI" msgid "Invalid “%s” URI: %s" msgstr "无效的“%s”URI:%s" -#: libsoup/soup-server.c:1725 +#: libsoup/soup-server.c:1810 msgid "Can’t create a TLS server without a TLS certificate" msgstr "没有 TLS 证书不能创建 TLS 服务器" -#: libsoup/soup-server.c:1742 +#: libsoup/soup-server.c:1827 #, c-format msgid "Could not listen on address %s, port %d: " -msgstr "不能监听 %s 地址的 %d 端口:" +msgstr "不能监听 %s 地址的 %d 端口:" -#: libsoup/soup-session.c:4534 +#: libsoup/soup-session.c:4570 #, c-format msgid "Could not parse URI “%s”" msgstr "无法解析 URI“%s”" -#: libsoup/soup-session.c:4571 +#: libsoup/soup-session.c:4607 #, c-format msgid "Unsupported URI scheme “%s”" msgstr "不支持的 URI 方案“%s”" -#: libsoup/soup-session.c:4593 +#: libsoup/soup-session.c:4629 #, c-format msgid "Not an HTTP URI" msgstr "不是一个 HTTP URI" -#: libsoup/soup-session.c:4791 +#: libsoup/soup-session.c:4840 msgid "The server did not accept the WebSocket handshake." msgstr "服务器不接受 WebSocket 握手。" @@ -119,54 +130,65 @@ msgstr "不能将 non-socket 作为 SoupSocket 导入" #: libsoup/soup-socket.c:166 msgid "Could not import existing socket: " -msgstr "不能导入已存在的套接字:" +msgstr "不能导入已存在的套接字:" #: libsoup/soup-socket.c:175 msgid "Can’t import unconnected socket" msgstr "不能导入未连接的套接字" -#: libsoup/soup-websocket.c:338 libsoup/soup-websocket.c:347 +#: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523 +#: libsoup/soup-websocket.c:539 +msgid "Server requested unsupported extension" +msgstr "服务器请求不支持的扩展" + +#: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694 +#, c-format +msgid "Incorrect WebSocket “%s” header" +msgstr "不正确的 WebSocket “%s”首部" + +#: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024 +#, c-format +msgid "Server returned incorrect “%s” key" +msgstr "服务器返回不正确的“%s”密钥" + +#: libsoup/soup-websocket.c:566 +#, c-format +msgid "Duplicated parameter in “%s” WebSocket extension header" +msgstr "“%s”WebSocket 扩展首部中有重复的参数" + +#: libsoup/soup-websocket.c:567 +#, c-format +msgid "Server returned a duplicated parameter in “%s” WebSocket extension header" +msgstr "服务器在“%s”WebSocket 扩展首部中返回了重复的参数" + +#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667 msgid "WebSocket handshake expected" msgstr "期待 WebSocket 握手" -#: libsoup/soup-websocket.c:355 +#: libsoup/soup-websocket.c:675 msgid "Unsupported WebSocket version" msgstr "不支持的 WebSocket 版本" -#: libsoup/soup-websocket.c:364 +#: libsoup/soup-websocket.c:684 msgid "Invalid WebSocket key" msgstr "无效的 WebSocket 密钥" -#: libsoup/soup-websocket.c:374 -#, c-format -msgid "Incorrect WebSocket “%s” header" -msgstr "不正确的 WebSocket “%s”头" - -#: libsoup/soup-websocket.c:383 +#: libsoup/soup-websocket.c:703 msgid "Unsupported WebSocket subprotocol" msgstr "不支持的 WebSocket 子协议" -#: libsoup/soup-websocket.c:510 +#: libsoup/soup-websocket.c:975 msgid "Server rejected WebSocket handshake" msgstr "服务器拒绝 WebSocket 握手" -#: libsoup/soup-websocket.c:518 libsoup/soup-websocket.c:527 +#: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992 msgid "Server ignored WebSocket handshake" msgstr "服务器忽略 WebSocket 握手" -#: libsoup/soup-websocket.c:539 +#: libsoup/soup-websocket.c:1004 msgid "Server requested unsupported protocol" msgstr "服务器请求不支持的协议" -#: libsoup/soup-websocket.c:549 -msgid "Server requested unsupported extension" -msgstr "服务器请求不支持的扩展" - -#: libsoup/soup-websocket.c:562 -#, c-format -msgid "Server returned incorrect “%s” key" -msgstr "服务器返回不正确的“%s”密钥" - #: libsoup/soup-tld.c:150 msgid "No public-suffix list available." msgstr "无可用的 public-suffix 列表。" diff --git a/subprojects/sysprof.wrap b/subprojects/sysprof.wrap new file mode 100644 index 00000000..8e8a101d --- /dev/null +++ b/subprojects/sysprof.wrap @@ -0,0 +1,5 @@ +[wrap-git] +directory=sysprof +url=https://gitlab.gnome.org/GNOME/sysprof.git +revision=1bb0eb7798f6a88667681229dde415ed663b1053 +depth=1 diff --git a/tests/auth-test.c b/tests/auth-test.c index 95de60c2..8295ec32 100644 --- a/tests/auth-test.c +++ b/tests/auth-test.c @@ -1490,6 +1490,65 @@ do_message_has_authorization_header_test (void) soup_test_session_abort_unref (session); } +static void +cancel_after_retry_authenticate (SoupSession *session, + SoupMessage *msg, + SoupAuth *auth, + gboolean retrying, + GCancellable *cancellable) +{ + if (retrying) { + soup_session_cancel_message (session, msg, SOUP_STATUS_CANCELLED); + g_cancellable_cancel (cancellable); + } else + soup_auth_authenticate (auth, "user1", "wrong"); +} + +static void +request_send_cb (SoupSession *session, + GAsyncResult *result, + GMainLoop *loop) +{ + GInputStream *stream; + GError *error = NULL; + + stream = soup_session_send_finish (session, result, &error); + g_assert_null (stream); + g_assert_error (error, G_IO_ERROR, G_IO_ERROR_CANCELLED); + + g_main_loop_quit (loop); +} + +static void +do_cancel_after_retry_test (void) +{ + SoupSession *session; + SoupMessage *msg; + char *uri; + GCancellable *cancellable; + GMainLoop *loop; + + SOUP_TEST_SKIP_IF_NO_APACHE; + + session = soup_test_session_new (SOUP_TYPE_SESSION, NULL); + cancellable = g_cancellable_new (); + g_signal_connect (session, "authenticate", + G_CALLBACK (cancel_after_retry_authenticate), + cancellable); + + loop = g_main_loop_new (NULL, FALSE); + + uri = g_strconcat (base_uri, "Digest/realm1/", NULL); + msg = soup_message_new ("GET", uri); + soup_session_send_async (session, msg, cancellable, (GAsyncReadyCallback)request_send_cb, loop); + g_main_loop_run (loop); + + g_object_unref (msg); + g_object_unref (cancellable); + g_free (uri); + soup_test_session_abort_unref (session); +} + int main (int argc, char **argv) { @@ -1516,6 +1575,7 @@ main (int argc, char **argv) g_test_add_func ("/auth/message-do-not-use-auth-cache", do_message_do_not_use_auth_cache_test); g_test_add_func ("/auth/async-message-do-not-use-auth-cache", do_async_message_do_not_use_auth_cache_test); g_test_add_func ("/auth/authorization-header-request", do_message_has_authorization_header_test); + g_test_add_func ("/auth/cancel-after-retry", do_cancel_after_retry_test); ret = g_test_run (); diff --git a/tests/cookies-test.c b/tests/cookies-test.c index d25da0e9..2e2a54fc 100644 --- a/tests/cookies-test.c +++ b/tests/cookies-test.c @@ -36,13 +36,16 @@ server_callback (SoupServer *server, SoupMessage *msg, typedef struct { SoupCookieJarAcceptPolicy policy; + gboolean try_third_party_again; int n_cookies; } CookiesForPolicy; static const CookiesForPolicy validResults[] = { - { SOUP_COOKIE_JAR_ACCEPT_ALWAYS, 2 }, - { SOUP_COOKIE_JAR_ACCEPT_NEVER, 0 }, - { SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY, 1 } + { SOUP_COOKIE_JAR_ACCEPT_ALWAYS, FALSE, 2 }, + { SOUP_COOKIE_JAR_ACCEPT_NEVER, FALSE, 0 }, + { SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY, FALSE, 1 }, + { SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY, FALSE, 1 }, + { SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY, TRUE, 2 } }; static void @@ -62,13 +65,6 @@ do_cookies_accept_policy_test (void) for (i = 0; i < G_N_ELEMENTS (validResults); i++) { soup_cookie_jar_set_accept_policy (jar, validResults[i].policy); - uri = soup_uri_new_with_base (first_party_uri, "/index.html"); - msg = soup_message_new_from_uri ("GET", uri); - soup_message_set_first_party (msg, first_party_uri); - soup_session_send_message (session, msg); - soup_uri_free (uri); - g_object_unref (msg); - /* We can't use two servers due to limitations in * test_server, so let's swap first and third party here * to simulate a cookie coming from a third party. @@ -80,6 +76,22 @@ do_cookies_accept_policy_test (void) soup_uri_free (uri); g_object_unref (msg); + uri = soup_uri_new_with_base (first_party_uri, "/index.html"); + msg = soup_message_new_from_uri ("GET", uri); + soup_message_set_first_party (msg, first_party_uri); + soup_session_send_message (session, msg); + soup_uri_free (uri); + g_object_unref (msg); + + if (validResults[i].try_third_party_again) { + uri = soup_uri_new_with_base (first_party_uri, "/foo.jpg"); + msg = soup_message_new_from_uri ("GET", uri); + soup_message_set_first_party (msg, third_party_uri); + soup_session_send_message (session, msg); + soup_uri_free (uri); + g_object_unref (msg); + } + l = soup_cookie_jar_all_cookies (jar); g_assert_cmpint (g_slist_length (l), ==, validResults[i].n_cookies); @@ -138,69 +150,86 @@ do_cookies_subdomain_policy_test (void) g_assert_cmpint (g_slist_length (cookies), ==, 2); g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free); + /* Now, we allow the "third-party" to set one cookie as the + * first party. Three cookies in the jar. + */ + soup_cookie_jar_set_cookie_with_first_party (jar, third_party_uri, third_party_uri, "4=foo"); + cookies = soup_cookie_jar_all_cookies (jar); + g_assert_cmpint (g_slist_length (cookies), ==, 3); + g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free); + + /* Third-party cookie should now be allowed by grandfathering, though + * it was blocked before on the same URL. Four cookies in the jar. + */ + soup_cookie_jar_set_accept_policy (jar, SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY); + soup_cookie_jar_set_cookie_with_first_party (jar, third_party_uri, uri1, "5=foo"); + cookies = soup_cookie_jar_all_cookies (jar); + g_assert_cmpint (g_slist_length (cookies), ==, 4); + g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free); + /* Now some Domain attribute tests.*/ soup_cookie_jar_set_accept_policy (jar, SOUP_COOKIE_JAR_ACCEPT_ALWAYS); /* The cookie must be rejected if the Domain is not an appropriate - * match for the URI. Still two cookies in the jar. + * match for the URI. Still four cookies in the jar. */ - soup_cookie_jar_set_cookie (jar, uri1, "4=foo; Domain=gitlab.gnome.org"); + soup_cookie_jar_set_cookie (jar, uri1, "6=foo; Domain=gitlab.gnome.org"); cookies = soup_cookie_jar_all_cookies (jar); - g_assert_cmpint (g_slist_length (cookies), ==, 2); + g_assert_cmpint (g_slist_length (cookies), ==, 4); g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free); - /* Now the Domain is an appropriate match. Three cookies in the jar. */ - soup_cookie_jar_set_cookie (jar, uri1, "5=foo; Domain=gnome.org"); + /* Now the Domain is an appropriate match. Five cookies in the jar. */ + soup_cookie_jar_set_cookie (jar, uri1, "7=foo; Domain=gnome.org"); cookies = soup_cookie_jar_all_cookies (jar); - g_assert_cmpint (g_slist_length (cookies), ==, 3); + g_assert_cmpint (g_slist_length (cookies), ==, 5); g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free); /* A leading dot in the domain property should not affect things. - * This cookie should be accepted. Four cookies in the jar. + * This cookie should be accepted. Six cookies in the jar. */ - soup_cookie_jar_set_cookie (jar, uri1, "6=foo; Domain=.www.gnome.org"); + soup_cookie_jar_set_cookie (jar, uri1, "8=foo; Domain=.www.gnome.org"); cookies = soup_cookie_jar_all_cookies (jar); - g_assert_cmpint (g_slist_length (cookies), ==, 4); + g_assert_cmpint (g_slist_length (cookies), ==, 6); g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free); /* The cookie must be rejected if the Domain ends in a trailing dot * but the uri doesn't. */ - soup_cookie_jar_set_cookie (jar, uri1, "7=foo; Domain=www.gnome.org."); + soup_cookie_jar_set_cookie (jar, uri1, "9=foo; Domain=www.gnome.org."); cookies = soup_cookie_jar_all_cookies (jar); - g_assert_cmpint (g_slist_length (cookies), ==, 4); + g_assert_cmpint (g_slist_length (cookies), ==, 6); g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free); /* The cookie should be accepted if both Domain and URI end with a trailing - * dot and they are a match. Five cookies in the jar. + * dot and they are a match. Seven cookies in the jar. */ - soup_cookie_jar_set_cookie (jar, uri3, "8=foo; Domain=gnome.org."); + soup_cookie_jar_set_cookie (jar, uri3, "10=foo; Domain=gnome.org."); cookies = soup_cookie_jar_all_cookies (jar); - g_assert_cmpint (g_slist_length (cookies), ==, 5); + g_assert_cmpint (g_slist_length (cookies), ==, 7); g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free); /* The cookie should be rejected if URI has trailing dot but Domain doesn't. - * Five cookies in the jar. + * Seven cookies in the jar. */ - soup_cookie_jar_set_cookie (jar, uri3, "9=foo; Domain=gnome.org"); + soup_cookie_jar_set_cookie (jar, uri3, "11=foo; Domain=gnome.org"); cookies = soup_cookie_jar_all_cookies (jar); - g_assert_cmpint (g_slist_length (cookies), ==, 5); + g_assert_cmpint (g_slist_length (cookies), ==, 7); g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free); - /* It should not be possible to set a cookie for a TLD. Still five + /* It should not be possible to set a cookie for a TLD. Still seven * cookies in the jar. */ - soup_cookie_jar_set_cookie (jar, uri1, "10=foo; Domain=.org"); + soup_cookie_jar_set_cookie (jar, uri1, "12=foo; Domain=.org"); cookies = soup_cookie_jar_all_cookies (jar); - g_assert_cmpint (g_slist_length (cookies), ==, 5); + g_assert_cmpint (g_slist_length (cookies), ==, 7); g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free); /* It should still not be possible to set a cookie for a TLD, even if - * we are tricksy and have a trailing dot. Still only five cookies. + * we are tricksy and have a trailing dot. Still only seven cookies. */ - soup_cookie_jar_set_cookie (jar, uri3, "11=foo; Domain=.org."); + soup_cookie_jar_set_cookie (jar, uri3, "13=foo; Domain=.org."); cookies = soup_cookie_jar_all_cookies (jar); - g_assert_cmpint (g_slist_length (cookies), ==, 5); + g_assert_cmpint (g_slist_length (cookies), ==, 7); g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free); soup_uri_free (uri1); diff --git a/tests/forms-test.c b/tests/forms-test.c index 349932bf..0ac199d1 100644 --- a/tests/forms-test.c +++ b/tests/forms-test.c @@ -90,10 +90,10 @@ do_hello_tests (gconstpointer uri) { int n; -#ifndef HAVE_CURL - g_test_skip ("/usr/bin/curl is not available"); - return; -#endif + if (!have_curl()) { + g_test_skip ("curl is not available"); + return; + } for (n = 0; n < G_N_ELEMENTS (tests); n++) { do_hello_test (n, FALSE, uri); @@ -139,10 +139,10 @@ do_md5_test_curl (gconstpointer data) char *file_arg, *str_stdout; GError *error = NULL; -#ifndef HAVE_CURL - g_test_skip ("/usr/bin/curl is not available"); - return; -#endif + if (!have_curl()) { + g_test_skip ("curl is not available"); + return; + } md5 = get_md5_data (NULL, NULL); if (!md5) @@ -226,10 +226,10 @@ do_form_decode_test (void) const gchar *value; gchar *tmp; -#ifndef HAVE_CURL - g_test_skip ("/usr/bin/curl is not available"); - return; -#endif + if (!have_curl()) { + g_test_skip ("curl is not available"); + return; + } /* Test that the code handles multiple values with the same key. */ table = soup_form_decode ("foo=first&foo=second&foo=third"); diff --git a/tests/meson.build b/tests/meson.build index 119bf166..5482aa86 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -23,6 +23,15 @@ test_resources = gnome.compile_resources('soup-tests', install_dir : installed_tests_execdir, ) +if installed_tests_enabled + install_data( + 'index.txt', + 'test-cert.pem', + 'test-key.pem', + install_dir : installed_tests_execdir + ) +endif + # ['name', is_parallel, extra_deps] tests = [ ['cache', true, []], @@ -107,9 +116,6 @@ if have_apache if installed_tests_enabled install_data( - 'index.txt', - 'test-cert.pem', - 'test-key.pem', 'htdigest', 'htpasswd', install_dir : installed_tests_execdir, diff --git a/tests/redirect-test.c b/tests/redirect-test.c index ccdd4c29..e5f5fa6d 100644 --- a/tests/redirect-test.c +++ b/tests/redirect-test.c @@ -37,6 +37,9 @@ static TestCase tests[] = { { { { "GET", "/307", 307 }, { "GET", "/", 200 }, { NULL } }, 200, NULL }, + { { { "GET", "/308", 308 }, + { "GET", "/", 200 }, + { NULL } }, 200, NULL }, { { { "HEAD", "/301", 301 }, { "HEAD", "/", 200 }, { NULL } }, 200, "551190" }, @@ -52,6 +55,9 @@ static TestCase tests[] = { { { { "HEAD", "/307", 307 }, { "HEAD", "/", 200 }, { NULL } }, 200, "551190" }, + { { { "HEAD", "/308", 308 }, + { "HEAD", "/", 200 }, + { NULL } }, 200, "551190" }, /* A non-redirecty response to a GET or HEAD should not */ @@ -63,8 +69,6 @@ static TestCase tests[] = { { NULL } }, 305, NULL }, { { { "GET", "/306", 306 }, { NULL } }, 306, NULL }, - { { { "GET", "/308", 308 }, - { NULL } }, 308, NULL }, { { { "HEAD", "/300", 300 }, { NULL } }, 300, "551190" }, { { { "HEAD", "/304", 304 }, @@ -73,8 +77,6 @@ static TestCase tests[] = { { NULL } }, 305, "551190" }, { { { "HEAD", "/306", 306 }, { NULL } }, 306, "551190" }, - { { { "HEAD", "/308", 308 }, - { NULL } }, 308, "551190" }, /* Test double-redirect */ diff --git a/tests/server-auth-test.c b/tests/server-auth-test.c index 34c297bc..dd92f1a6 100644 --- a/tests/server-auth-test.c +++ b/tests/server-auth-test.c @@ -109,10 +109,10 @@ do_server_auth_test (gconstpointer data) { int i = GPOINTER_TO_INT (data); -#ifndef HAVE_CURL - g_test_skip ("/usr/bin/curl is not available"); - return; -#endif + if (!have_curl()) { + g_test_skip ("curl is not available"); + return; + } /* 1. No auth required. The server will ignore the * Authorization headers completely, and the request diff --git a/tests/session-test.c b/tests/session-test.c index 8957a258..eb8cbc13 100644 --- a/tests/session-test.c +++ b/tests/session-test.c @@ -370,6 +370,46 @@ do_property_tests (void) g_object_unref (session); } +static gint +compare_by_gtype (gconstpointer a, + gconstpointer b) +{ + return G_TYPE_CHECK_INSTANCE_TYPE (a, GPOINTER_TO_SIZE (b)) ? 0 : 1; +} + +static void +do_features_test (void) +{ + SoupSession *session; + GSList *features; + SoupSessionFeature *feature; + + session = soup_test_session_new (SOUP_TYPE_SESSION_ASYNC, NULL); + + features = soup_session_get_features (session, SOUP_TYPE_SESSION_FEATURE); + /* SoupAuthManager is always added */ + g_assert_cmpuint (g_slist_length (features), >=, 1); + g_assert_nonnull (g_slist_find_custom (features, GSIZE_TO_POINTER (SOUP_TYPE_AUTH_MANAGER), compare_by_gtype)); + g_assert_true (soup_session_has_feature (session, SOUP_TYPE_AUTH_MANAGER)); + feature = soup_session_get_feature (session, SOUP_TYPE_AUTH_MANAGER); + g_assert_true (SOUP_IS_AUTH_MANAGER (feature)); + soup_session_remove_feature (session, feature); + g_assert_false (soup_session_has_feature (session, SOUP_TYPE_AUTH_MANAGER)); + g_assert_null (soup_session_get_feature (session, SOUP_TYPE_AUTH_MANAGER)); + g_slist_free (features); + + /* HTTP, File and Data requests are always added */ + g_assert_true (soup_session_has_feature (session, SOUP_TYPE_REQUEST_HTTP)); + g_assert_true (soup_session_has_feature (session, SOUP_TYPE_REQUEST_FILE)); + g_assert_true (soup_session_has_feature (session, SOUP_TYPE_REQUEST_DATA)); + soup_session_remove_feature_by_type (session, SOUP_TYPE_REQUEST_FILE); + g_assert_false (soup_session_has_feature (session, SOUP_TYPE_REQUEST_FILE)); + g_assert_true (soup_session_has_feature (session, SOUP_TYPE_REQUEST_HTTP)); + g_assert_true (soup_session_has_feature (session, SOUP_TYPE_REQUEST_DATA)); + + soup_test_session_abort_unref (session); +} + int main (int argc, char **argv) { @@ -388,6 +428,7 @@ main (int argc, char **argv) g_test_add_data_func ("/session/SoupSessionSync", uri, do_sync_tests); g_test_add_data_func ("/session/priority", uri, do_priority_tests); g_test_add_func ("/session/property", do_property_tests); + g_test_add_func ("/session/features", do_features_test); ret = g_test_run (); diff --git a/tests/sniffing-test.c b/tests/sniffing-test.c index 7b391178..d2aa86b9 100644 --- a/tests/sniffing-test.c +++ b/tests/sniffing-test.c @@ -403,7 +403,9 @@ test_disabled (gconstpointer data) uri = soup_uri_new_with_base (base_uri, path); msg = soup_message_new_from_uri ("GET", uri); + g_assert_false (soup_message_is_feature_disabled (msg, SOUP_TYPE_CONTENT_SNIFFER)); soup_message_disable_feature (msg, SOUP_TYPE_CONTENT_SNIFFER); + g_assert_true (soup_message_is_feature_disabled (msg, SOUP_TYPE_CONTENT_SNIFFER)); g_signal_connect (msg, "content-sniffed", G_CALLBACK (sniffing_content_sniffed), &sniffed_type); @@ -415,7 +417,9 @@ test_disabled (gconstpointer data) req = soup_session_request_uri (session, uri, NULL); msg = soup_request_http_get_message (SOUP_REQUEST_HTTP (req)); + g_assert_false (soup_message_is_feature_disabled (msg, SOUP_TYPE_CONTENT_SNIFFER)); soup_message_disable_feature (msg, SOUP_TYPE_CONTENT_SNIFFER); + g_assert_true (soup_message_is_feature_disabled (msg, SOUP_TYPE_CONTENT_SNIFFER)); g_object_unref (msg); stream = soup_test_request_send (req, NULL, 0, &error); if (stream) { diff --git a/tests/test-utils.c b/tests/test-utils.c index bd1bab05..0c48e506 100644 --- a/tests/test-utils.c +++ b/tests/test-utils.c @@ -131,6 +131,19 @@ debug_printf (int level, const char *format, ...) va_end (args); } +gboolean +have_curl(void) { + char *found; + + found = g_find_program_in_path ("curl"); + if (found) { + g_free (found); + return TRUE; + } else { + return FALSE; + } +} + #ifdef HAVE_APACHE static gboolean @@ -189,7 +202,9 @@ apache_cmd (const char *cmd) void apache_init (void) { - if (g_getenv ("SOUP_TESTS_IN_MAKE_CHECK")) + /* Set this environment variable if you are already running a + * suitably-configured Apache server */ + if (g_getenv ("SOUP_TESTS_ALREADY_RUNNING_APACHE")) return; if (!apache_cmd ("start")) { diff --git a/tests/test-utils.h b/tests/test-utils.h index 0bc065fc..7beb2b28 100644 --- a/tests/test-utils.h +++ b/tests/test-utils.h @@ -42,6 +42,8 @@ void apache_cleanup (void); } G_STMT_END #endif +gboolean have_curl (void); + typedef enum { SOUP_TEST_REQUEST_NONE = 0, SOUP_TEST_REQUEST_CANCEL_MESSAGE = (1 << 0), diff --git a/tests/uri-parsing-test.c b/tests/uri-parsing-test.c index 85f09b9e..d463f1f4 100644 --- a/tests/uri-parsing-test.c +++ b/tests/uri-parsing-test.c @@ -466,7 +466,8 @@ static struct { { "foo bar", NULL, "foo%20bar" }, { "foo bar", " ", "foo bar" }, { "fo\xc3\xb6" "bar", NULL, "fo%C3%B6bar" }, - { "fo\xc3\xb6 bar", " ", "fo%C3%B6 bar" } + { "fo\xc3\xb6 bar", " ", "fo%C3%B6 bar" }, + { "%", NULL, "%" }, }; static int num_normalization_tests = G_N_ELEMENTS (normalization_tests); @@ -563,6 +564,14 @@ do_data_tests (void) soup_test_session_abort_unref (session); } +static void +test_uri_decode (void) +{ + gchar *decoded = soup_uri_decode ("%"); + g_assert_cmpstr (decoded, ==, "%"); + g_free (decoded); +} + int main (int argc, char **argv) { @@ -576,6 +585,7 @@ main (int argc, char **argv) g_test_add_func ("/uri/null", do_soup_uri_null_tests); g_test_add_func ("/uri/normalization", do_normalization_tests); g_test_add_func ("/uri/data", do_data_tests); + g_test_add_func ("/uri/decode", test_uri_decode); ret = g_test_run (); |