Merge branch 'mingw-file-offset-64' into 'master'
meson: define _FILE_OFFSET_BITS=64 for MinGW. See #1476
See merge request GNOME/glib!228
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 916f41e..a3634df 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,6 +11,7 @@
variables:
MESON_TEST_TIMEOUT_MULTIPLIER: 2
+ G_MESSAGES_DEBUG: all
fedora-x86_64:
stage: build
diff --git a/docs/reference/glib/cross.xml b/docs/reference/glib/cross.xml
index 35d169b..c452004 100644
--- a/docs/reference/glib/cross.xml
+++ b/docs/reference/glib/cross.xml
@@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
]>
-<refentry id="glib-cross-compiling" revision="8 Apr 2003">
+<refentry id="glib-cross-compiling" revision="7 Aug 2018">
<refmeta>
<refentrytitle>Cross-compiling the GLib package</refentrytitle>
<manvolnum>3</manvolnum>
@@ -28,181 +28,118 @@
<para>
These notes cover things specific to cross-compiling GLib;
for general information about cross-compilation, see the
- <application>autoconf</application> info pages.
+ <ulink url="http://mesonbuild.com/Cross-compilation.html">meson</ulink>
+ info pages.
</para>
<para>
GLib tries to detect as much information as possible about
the target system by compiling and linking programs without
actually running anything; however, some information GLib
needs is not available this way. This information needs
- to be provided to the configure script via a "cache file"
- or by setting the cache variables in your environment.
+ to be provided to meson via a ‘cross file’.
</para>
<para>
- As an example of using a cache file, to cross compile for
- the "MingW32" Win32 runtime environment on a Linux system,
- create a file 'win32.cache' with the following contents:
+ As an example of using a cross file, to cross compile for
+ the ‘MingW32’ Win64 runtime environment on a Linux system,
+ create a file <filename>cross_file.txt</filename> with the following
+ contents:
</para>
<programlisting>
-glib_cv_long_long_format=I64
-glib_cv_stack_grows=no
+[host_machine]
+system = 'windows'
+cpu_family = 'x86_64'
+cpu = 'x86_64'
+endian = 'little'
+
+[properties]
+c_args = []
+c_link_args = []
+
+[binaries]
+c = 'x86_64-w64-mingw32-gcc'
+cpp = 'x86_64-w64-mingw32-g++'
+ar = 'x86_64-w64-mingw32-ar'
+strip = 'x86_64-w64-mingw32-strip'
+pkgconfig = 'x86_64-w64-mingw32-pkg-config'
+windres = 'x86_64-w64-mingw32-windres'
</programlisting>
<para>
Then execute the following commands:
</para>
<programlisting>
-PATH=/path/to/mingw32-compiler/bin:$PATH
-chmod a-w win32.cache # prevent configure from changing it
-./configure --cache-file=win32.cache --host=mingw32
+meson --cross_file cross_file.txt builddir
</programlisting>
<para>
- The complete list of cache file variables follows. Most
+ The complete list of cross properties follows. Most
of these won't need to be set in most cases.
</para>
</refsect1>
- <refsect1 id="cache-file-variables">
- <title>Cache file variables</title>
+ <refsect1 id="cross-properties">
+ <title>Cross properties</title>
<formalpara>
- <title>glib_cv_long_long_format=[ll/q/I64]</title>
-
+ <title>have_[function]</title>
+
<para>
- Format used by <function>printf()</function> and
- <function>scanf()</function> for 64 bit integers. "ll" is
- the C99 standard, and what is used by the 'trio' library
- that GLib builds if your <function>printf()</function> is
- insufficiently capable.
- Doesn't need to be set if you are compiling using trio.
+ When meson checks if a function is supported, the test can be
+ overridden by setting the
+ <literal>have_<replaceable>function</replaceable></literal> property
+ to <constant>true</constant> or <constant>false</constant>.
+ For example <programlisting>Checking for function "alloca" : YES</programlisting>
+ can be overridden by setting <programlisting>have_alloca = false</programlisting>
</para>
</formalpara>
<formalpara>
- <title>glib_cv_stack_grows=[yes/no]</title>
+ <title>growing_stack=[true/false]</title>
<para>
- Whether the stack grows up or down. Most places will want "no",
- A few architectures, such as PA-RISC need "yes".
+ Whether the stack grows up or down. Most places will want
+ <constant>false</constant>.
+ A few architectures, such as PA-RISC need <constant>true</constant>.
</para>
</formalpara>
<formalpara>
- <title>glib_cv_working_bcopy=[yes/no]</title>
-
- <para>
- Whether your <function>bcopy()</function> can handle overlapping
- copies. Only needs to be set if you don't have
- <function>memmove()</function>. (Very unlikely)
- </para>
- </formalpara>
- <formalpara>
- <title>glib_cv_sane_realloc=[yes/no]</title>
-
- <para>
- Whether your <function>realloc()</function> conforms to ANSI C
- and can handle <literal>NULL</literal> as the first argument.
- Defaults to "yes" and probably doesn't need to be set.
- </para>
- </formalpara>
- <formalpara>
- <title>glib_cv_have_strlcpy=[yes/no]</title>
+ <title>have_strlcpy=[true/false]</title>
<para>
Whether you have <function>strlcpy()</function> that matches
- OpenBSD. Defaults to "no", which is safe, since GLib uses a
- built-in version in that case.
+ OpenBSD. Defaults to <constant>false</constant>, which is safe,
+ since GLib uses a built-in version in that case.
</para>
</formalpara>
<formalpara>
- <title>glib_cv_have_qsort_r=[yes/no]</title>
+ <title>va_val_copy=[true/false]</title>
<para>
- Whether you have <function>qsort_r()</function> that matches
- BSD. Defaults to "no", which is safe, since GLib uses a
- built-in version in that case.
- </para>
- </formalpara>
- <formalpara>
- <title>glib_cv_va_val_copy=[yes/no]</title>
-
- <para>
Whether <type>va_list</type> can be copied as a pointer. If set
- to "no", then <function>memcopy()</function> will be used. Only
- matters if you don't have <function>va_copy()</function> or
- <function>__va_copy()</function>. (So, doesn't matter for GCC.)
- Defaults to "yes" which is slightly more common than "no".
- </para>
+ to <constant>false</constant>, then <function>memcopy()</function>
+ will be used. Only matters if you don't have
+ <function>va_copy()</function> or <function>__va_copy()</function>.
+ (So, doesn't matter for GCC.)
+ Defaults to <constant>true</constant> which is slightly more common
+ than <constant>false</constant>.
+ </para>
</formalpara>
<formalpara>
- <title>glib_cv_rtldglobal_broken=[yes/no]</title>
-
- <para>
- Whether you have a bug found in OSF/1 v5.0. Defaults to "no".
- </para>
- </formalpara>
- <formalpara>
- <title>glib_cv_uscore=[yes/no]</title>
-
- <para>
- Whether an underscore needs to be prepended to symbols when
- looking them up via <function>dlsym()</function>. Only needs to
- be set if your system uses
- <function>dlopen()</function>/<function>dlsym()</function>.
- </para>
- </formalpara>
- <formalpara>
- <title>ac_cv_func_posix_getpwuid_r=[yes/no]</title>
-
- <para>
- Whether you have a getpwuid_r function (in your C library,
- not your thread library) that conforms to the POSIX spec.
- (Takes a 'struct passwd **' as the final argument)
- </para>
- </formalpara>
- <formalpara>
- <title>ac_cv_func_nonposix_getpwuid_r=[yes/no]</title>
-
- <para>
- Whether you have some variant of <function>getpwuid_r()</function>
- that doesn't conform to to the POSIX spec, but GLib might be able
- to use (or might segfault.) Only needs to be set if
- <literal>ac_cv_func_posix_getpwuid_r</literal> is not set. It's
- safest to set this to "no".
- </para>
- </formalpara>
- <formalpara>
- <title>ac_cv_func_posix_getgrgid_r=[yes/no]</title>
-
- <para>
- Whether you have a getgrgid_r function that conforms to
- the POSIX spec.
- </para>
- </formalpara>
- <formalpara>
- <title>glib_cv_use_pid_surrogate=[yes/no]</title>
-
- <para>
- Whether to use a <function>setpriority()</function> on the PID of
- the thread as a method for setting the priority of threads. This
- only needs to be set when using POSIX threads.
- </para>
- </formalpara>
- <formalpara>
- <title>ac_cv_func_printf_unix98=[yes/no]</title>
-
- <para>
- Whether your <function>printf()</function> family supports Unix98
- style <literal>%N$</literal> positional parameters. Defaults to
- "no".
- </para>
- </formalpara>
- <formalpara>
- <title>ac_cv_func_vsnprintf_c99=[yes/no]</title>
+ <title>have_c99_vsnprintf=[true/false]</title>
<para>
Whether you have a <function>vsnprintf()</function> with C99
semantics. (C99 semantics means returning the number of bytes
that would have been written had the output buffer had enough
- space.) Defaults to "no".
+ space.) Defaults to <constant>false</constant>.
+ </para>
+ </formalpara>
+ <formalpara>
+ <title>have_c99_snprintf=[true/false]</title>
+
+ <para>
+ Whether you have a <function>snprintf()</function> with C99
+ semantics. (C99 semantics means returning the number of bytes
+ that would have been written had the output buffer had enough
+ space.) Defaults to <constant>false</constant>.
</para>
</formalpara>
- </refsect1>
+ </refsect1>
</refentry>
diff --git a/gio/gapplicationimpl-dbus.c b/gio/gapplicationimpl-dbus.c
index ac029a9..f9e5e71 100644
--- a/gio/gapplicationimpl-dbus.c
+++ b/gio/gapplicationimpl-dbus.c
@@ -426,10 +426,12 @@
* the well-known name and fall back to remote mode (!is_primary)
* in the case that we can't do that.
*/
- /* DBUS_NAME_FLAG_DO_NOT_QUEUE: 0x4 */
reply = g_dbus_connection_call_sync (impl->session_bus, "org.freedesktop.DBus", "/org/freedesktop/DBus",
"org.freedesktop.DBus", "RequestName",
- g_variant_new ("(su)", impl->bus_name, 0x4), G_VARIANT_TYPE ("(u)"),
+ g_variant_new ("(su)",
+ impl->bus_name,
+ G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE),
+ G_VARIANT_TYPE ("(u)"),
0, -1, cancellable, error);
if (reply == NULL)
diff --git a/gio/gdbusmessage.c b/gio/gdbusmessage.c
index 6812238..8de836b 100644
--- a/gio/gdbusmessage.c
+++ b/gio/gdbusmessage.c
@@ -1994,7 +1994,7 @@
/**
* g_dbus_message_new_from_blob:
- * @blob: (array length=blob_len) (element-type guint8): A blob represent a binary D-Bus message.
+ * @blob: (array length=blob_len) (element-type guint8): A blob representing a binary D-Bus message.
* @blob_len: The length of @blob.
* @capabilities: A #GDBusCapabilityFlags describing what protocol features are supported.
* @error: Return location for error or %NULL.
diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c
index d4340d4..5e1bebb 100644
--- a/gio/glib-compile-schemas.c
+++ b/gio/glib-compile-schemas.c
@@ -2112,6 +2112,7 @@
}
g_strfreev (groups);
+ g_key_file_free (key_file);
}
return TRUE;
diff --git a/gio/glocalfile.c b/gio/glocalfile.c
index 354ac7c..30fa228 100644
--- a/gio/glocalfile.c
+++ b/gio/glocalfile.c
@@ -983,15 +983,20 @@
block_size = statfs_buffer.f_bsize;
/* Many backends can't report free size (for instance the gvfs fuse
- backend for backend not supporting this), and set f_bfree to 0,
- but it can be 0 for real too. We treat the available == 0 and
- free == 0 case as "both of these are invalid".
- */
-#ifndef G_OS_WIN32
+ * backend for backend not supporting this), and set f_bfree to 0,
+ * but it can be 0 for real too. We treat the available == 0 and
+ * free == 0 case as "both of these are invalid", but only on file systems
+ * which are known to not support this (otherwise we can omit metadata for
+ * systems which are legitimately full). */
+#if defined(__linux__)
if (statfs_result == 0 &&
- statfs_buffer.f_bavail == 0 && statfs_buffer.f_bfree == 0)
+ statfs_buffer.f_bavail == 0 && statfs_buffer.f_bfree == 0 &&
+ (/* linux/ncp_fs.h: NCP_SUPER_MAGIC == 0x564c */
+ statfs_buffer.f_type == 0x564c ||
+ /* man statfs: FUSE_SUPER_MAGIC == 0x65735546 */
+ statfs_buffer.f_type == 0x65735546))
no_size = TRUE;
-#endif /* G_OS_WIN32 */
+#endif /* __linux__ */
#elif defined(USE_STATVFS)
statfs_result = statvfs (local->filename, &statfs_buffer);
@@ -1677,20 +1682,16 @@
}
}
-static char *
-_g_local_file_find_topdir_for_internal (const char *file, dev_t file_dev)
+char *
+_g_local_file_find_topdir_for (const char *file)
{
char *dir;
char *mountpoint = NULL;
dev_t dir_dev;
dir = get_parent (file, &dir_dev);
- if (dir == NULL || dir_dev != file_dev)
- {
- g_free (dir);
-
- return NULL;
- }
+ if (dir == NULL)
+ return NULL;
mountpoint = find_mountpoint_for (dir, dir_dev);
g_free (dir);
@@ -1698,17 +1699,6 @@
return mountpoint;
}
-char *
-_g_local_file_find_topdir_for (const char *file)
-{
- GStatBuf file_stat;
-
- if (g_lstat (file, &file_stat) != 0)
- return NULL;
-
- return _g_local_file_find_topdir_for_internal (file, file_stat.st_dev);
-}
-
static char *
get_unique_filename (const char *basename,
int id)
@@ -1908,6 +1898,7 @@
char *original_name, *original_name_escaped;
int i;
char *data;
+ char *path;
gboolean is_homedir_trash;
char *delete_time = NULL;
int fd;
@@ -1932,6 +1923,24 @@
is_homedir_trash = FALSE;
trashdir = NULL;
+
+ /* On overlayfs, a file's st_dev will be different to the home directory's.
+ * We still want to create our trash directory under the home directory, so
+ * instead we should stat the directory that the file we're deleting is in as
+ * this will have the same st_dev.
+ */
+ if (!S_ISDIR (file_stat.st_mode))
+ {
+ path = g_path_get_dirname (local->filename);
+ /* If the parent is a symlink to a different device then it might have
+ * st_dev equal to the home directory's, in which case we will end up
+ * trying to rename across a filesystem boundary, which doesn't work. So
+ * we use g_stat here instead of g_lstat, to know where the symlink
+ * points to. */
+ g_stat (path, &file_stat);
+ g_free (path);
+ }
+
if (file_stat.st_dev == home_stat.st_dev)
{
is_homedir_trash = TRUE;
@@ -1962,8 +1971,7 @@
uid = geteuid ();
g_snprintf (uid_str, sizeof (uid_str), "%lu", (unsigned long)uid);
- topdir = _g_local_file_find_topdir_for_internal (local->filename,
- file_stat.st_dev);
+ topdir = _g_local_file_find_topdir_for (local->filename);
if (topdir == NULL)
{
g_set_io_error (error,
diff --git a/gio/glocalfileinfo.c b/gio/glocalfileinfo.c
index b3e2937..58802fd 100644
--- a/gio/glocalfileinfo.c
+++ b/gio/glocalfileinfo.c
@@ -924,13 +924,9 @@
_g_file_info_set_attribute_boolean_by_id (info, G_FILE_ATTRIBUTE_ID_ACCESS_CAN_DELETE,
writable);
- /* Trashing is supported only if the parent device is the same */
if (_g_file_attribute_matcher_matches_id (attribute_matcher, G_FILE_ATTRIBUTE_ID_ACCESS_CAN_TRASH))
- _g_file_info_set_attribute_boolean_by_id (info,
- G_FILE_ATTRIBUTE_ID_ACCESS_CAN_TRASH,
- writable &&
- parent_info->has_trash_dir &&
- parent_info->device == statbuf->st_dev);
+ _g_file_info_set_attribute_boolean_by_id (info, G_FILE_ATTRIBUTE_ID_ACCESS_CAN_TRASH,
+ writable && parent_info->has_trash_dir);
}
}
@@ -961,7 +957,8 @@
else if (S_ISLNK (statbuf->st_mode))
file_type = G_FILE_TYPE_SYMBOLIC_LINK;
#elif defined (G_OS_WIN32)
- if (statbuf->reparse_tag == IO_REPARSE_TAG_SYMLINK)
+ if (statbuf->reparse_tag == IO_REPARSE_TAG_SYMLINK ||
+ statbuf->reparse_tag == IO_REPARSE_TAG_MOUNT_POINT)
file_type = G_FILE_TYPE_SYMBOLIC_LINK;
#endif
@@ -1005,13 +1002,20 @@
#elif defined (HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC)
_g_file_info_set_attribute_uint32_by_id (info, G_FILE_ATTRIBUTE_ID_TIME_ACCESS_USEC, statbuf->st_atim.tv_nsec / 1000);
#endif
-
+
+#ifndef G_OS_WIN32
+ /* Microsoft uses st_ctime for file creation time,
+ * instead of file change time:
+ * https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/stat-functions#generic-text-routine-mappings
+ * Thank you, Microsoft!
+ */
_g_file_info_set_attribute_uint64_by_id (info, G_FILE_ATTRIBUTE_ID_TIME_CHANGED, statbuf->st_ctime);
#if defined (HAVE_STRUCT_STAT_ST_CTIMENSEC)
_g_file_info_set_attribute_uint32_by_id (info, G_FILE_ATTRIBUTE_ID_TIME_CHANGED_USEC, statbuf->st_ctimensec / 1000);
#elif defined (HAVE_STRUCT_STAT_ST_CTIM_TV_NSEC)
_g_file_info_set_attribute_uint32_by_id (info, G_FILE_ATTRIBUTE_ID_TIME_CHANGED_USEC, statbuf->st_ctim.tv_nsec / 1000);
#endif
+#endif
#if defined (HAVE_STRUCT_STAT_ST_BIRTHTIME) && defined (HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC)
_g_file_info_set_attribute_uint64_by_id (info, G_FILE_ATTRIBUTE_ID_TIME_CREATED, statbuf->st_birthtime);
@@ -1023,6 +1027,8 @@
_g_file_info_set_attribute_uint64_by_id (info, G_FILE_ATTRIBUTE_ID_TIME_CREATED, statbuf->st_birthtime);
#elif defined (HAVE_STRUCT_STAT_ST_BIRTHTIM)
_g_file_info_set_attribute_uint64_by_id (info, G_FILE_ATTRIBUTE_ID_TIME_CREATED, statbuf->st_birthtim);
+#elif defined (G_OS_WIN32)
+ _g_file_info_set_attribute_uint64_by_id (info, G_FILE_ATTRIBUTE_ID_TIME_CREATED, statbuf->st_ctime);
#endif
if (_g_file_attribute_matcher_matches_id (attribute_matcher,
@@ -1799,7 +1805,9 @@
is_symlink = stat_ok && S_ISLNK (statbuf.st_mode);
#elif defined (G_OS_WIN32)
/* glib already checked the FILE_ATTRIBUTE_REPARSE_POINT for us */
- is_symlink = stat_ok && statbuf.reparse_tag == IO_REPARSE_TAG_SYMLINK;
+ is_symlink = stat_ok &&
+ (statbuf.reparse_tag == IO_REPARSE_TAG_SYMLINK ||
+ statbuf.reparse_tag == IO_REPARSE_TAG_MOUNT_POINT);
#else
is_symlink = FALSE;
#endif
@@ -2182,7 +2190,9 @@
GWin32PrivateStat statbuf;
res = GLIB_PRIVATE_CALL (g_win32_lstat_utf8) (filename, &statbuf);
- is_symlink = (res == 0 && statbuf.reparse_tag == IO_REPARSE_TAG_SYMLINK);
+ is_symlink = (res == 0 &&
+ (statbuf.reparse_tag == IO_REPARSE_TAG_SYMLINK ||
+ statbuf.reparse_tag == IO_REPARSE_TAG_MOUNT_POINT));
#endif
if (is_symlink)
{
diff --git a/gio/gnetworkmonitorportal.c b/gio/gnetworkmonitorportal.c
index 16249ac..bce8a33 100644
--- a/gio/gnetworkmonitorportal.c
+++ b/gio/gnetworkmonitorportal.c
@@ -182,6 +182,15 @@
}
static void
+update_properties (GDBusProxy *proxy,
+ GNetworkMonitorPortal *nm)
+{
+ g_dbus_proxy_call (proxy, "GetConnectivity", NULL, 0, -1, NULL, got_connectivity, nm);
+ g_dbus_proxy_call (proxy, "GetMetered", NULL, 0, -1, NULL, got_metered, nm);
+ g_dbus_proxy_call (proxy, "GetAvailable", NULL, 0, -1, NULL, got_available, nm);
+}
+
+static void
proxy_signal (GDBusProxy *proxy,
const char *sender,
const char *signal,
@@ -200,9 +209,7 @@
}
else if (nm->priv->version == 2)
{
- g_dbus_proxy_call (proxy, "GetConnectivity", NULL, 0, -1, NULL, got_connectivity, nm);
- g_dbus_proxy_call (proxy, "GetMetered", NULL, 0, -1, NULL, got_metered, nm);
- g_dbus_proxy_call (proxy, "GetAvailable", NULL, 0, -1, NULL, got_available, nm);
+ update_properties (proxy, nm);
}
}
@@ -326,7 +333,13 @@
nm->priv->has_network = glib_network_available_in_sandbox ();
nm->priv->version = version;
- return initable_parent_iface->init (initable, cancellable, error);
+ if (!initable_parent_iface->init (initable, cancellable, error))
+ return FALSE;
+
+ if (nm->priv->has_network && nm->priv->version == 2)
+ update_properties (proxy, nm);
+
+ return TRUE;
}
static void
diff --git a/gio/gresource.c b/gio/gresource.c
index bf54f1d..2844f48 100644
--- a/gio/gresource.c
+++ b/gio/gresource.c
@@ -489,7 +489,7 @@
{
if (g_atomic_int_dec_and_test (&resource->ref_count))
{
- gvdb_table_unref (resource->table);
+ gvdb_table_free (resource->table);
g_free (resource);
}
}
@@ -512,6 +512,19 @@
return resource;
}
+static void
+g_resource_error_from_gvdb_table_error (GError **g_resource_error,
+ GError *gvdb_table_error /* (transfer full) */)
+{
+ if (g_error_matches (gvdb_table_error, G_FILE_ERROR, G_FILE_ERROR_INVAL))
+ g_set_error_literal (g_resource_error,
+ G_RESOURCE_ERROR, G_RESOURCE_ERROR_INTERNAL,
+ gvdb_table_error->message);
+ else
+ g_propagate_error (g_resource_error, g_steal_pointer (&gvdb_table_error));
+ g_clear_error (&gvdb_table_error);
+}
+
/**
* g_resource_new_from_data:
* @data: A #GBytes
@@ -528,6 +541,8 @@
* Otherwise this function will internally create a copy of the memory since
* GLib 2.56, or in older versions fail and exit the process.
*
+ * If @data is empty or corrupt, %G_RESOURCE_ERROR_INTERNAL will be returned.
+ *
* Returns: (transfer full): a new #GResource, or %NULL on error
*
* Since: 2.32
@@ -538,6 +553,7 @@
{
GvdbTable *table;
gboolean unref_data = FALSE;
+ GError *local_error = NULL;
if (((guintptr) g_bytes_get_data (data, NULL)) % sizeof (gpointer) != 0)
{
@@ -546,19 +562,16 @@
unref_data = TRUE;
}
- table = gvdb_table_new_from_data (g_bytes_get_data (data, NULL),
- g_bytes_get_size (data),
- TRUE,
- g_bytes_ref (data),
- (GvdbRefFunc)g_bytes_ref,
- (GDestroyNotify)g_bytes_unref,
- error);
+ table = gvdb_table_new_from_bytes (data, TRUE, &local_error);
if (unref_data)
g_bytes_unref (data);
if (table == NULL)
- return NULL;
+ {
+ g_resource_error_from_gvdb_table_error (error, g_steal_pointer (&local_error));
+ return NULL;
+ }
return g_resource_new_from_table (table);
}
@@ -574,6 +587,11 @@
* If you want to use this resource in the global resource namespace you need
* to register it with g_resources_register().
*
+ * If @filename is empty or the data in it is corrupt,
+ * %G_RESOURCE_ERROR_INTERNAL will be returned. If @filename doesn’t exist, or
+ * there is an error in reading it, an error from g_mapped_file_new() will be
+ * returned.
+ *
* Returns: (transfer full): a new #GResource, or %NULL on error
*
* Since: 2.32
@@ -583,10 +601,14 @@
GError **error)
{
GvdbTable *table;
+ GError *local_error = NULL;
- table = gvdb_table_new (filename, FALSE, error);
+ table = gvdb_table_new (filename, FALSE, &local_error);
if (table == NULL)
- return NULL;
+ {
+ g_resource_error_from_gvdb_table_error (error, g_steal_pointer (&local_error));
+ return NULL;
+ }
return g_resource_new_from_table (table);
}
diff --git a/gio/gschema.dtd b/gio/gschema.dtd
index 8cd552d..1599f8d 100644
--- a/gio/gschema.dtd
+++ b/gio/gschema.dtd
@@ -49,8 +49,8 @@
<!ELEMENT range EMPTY >
<!-- min and max must be parseable as values of the key type and
min must be less than or equal to max -->
-<!ATTLIST range min CDATA #REQUIRED
- max CDATA #REQUIRED >
+<!ATTLIST range min CDATA #IMPLIED
+ max CDATA #IMPLIED >
<!-- choices is only allowed for keys with string or string array type -->
<!ELEMENT choices (choice+) >
diff --git a/gio/gsettingsschema.c b/gio/gsettingsschema.c
index 17b7e3b..38c9d78 100644
--- a/gio/gsettingsschema.c
+++ b/gio/gsettingsschema.c
@@ -231,7 +231,7 @@
if (source->parent)
g_settings_schema_source_unref (source->parent);
- gvdb_table_unref (source->table);
+ gvdb_table_free (source->table);
g_free (source->directory);
if (source->text_tables)
@@ -267,6 +267,9 @@
* Generally, you should set @trusted to %TRUE for files installed by the
* system and to %FALSE for files in the home directory.
*
+ * In either case, an empty file or some types of corruption in the file will
+ * result in %G_FILE_ERROR_INVAL being returned.
+ *
* If @parent is non-%NULL then there are two effects.
*
* First, if g_settings_schema_source_lookup() is called with the
@@ -802,7 +805,7 @@
else
g_hash_table_add (reloc, schema);
- gvdb_table_unref (table);
+ gvdb_table_free (table);
}
}
@@ -928,7 +931,7 @@
g_settings_schema_unref (schema->extends);
g_settings_schema_source_unref (schema->source);
- gvdb_table_unref (schema->table);
+ gvdb_table_free (schema->table);
g_free (schema->items);
g_free (schema->id);
@@ -1188,7 +1191,7 @@
g_hash_table_iter_remove (&iter);
}
- gvdb_table_unref (child_table);
+ gvdb_table_free (child_table);
}
/* Now create the list */
diff --git a/gio/gtask.c b/gio/gtask.c
index df40357..4087543 100644
--- a/gio/gtask.c
+++ b/gio/gtask.c
@@ -52,7 +52,7 @@
* where it was created (waiting until the next iteration of the main
* loop first, if necessary). The caller will pass the #GTask back to
* the operation's finish function (as a #GAsyncResult), and you can
- * can use g_task_propagate_pointer() or the like to extract the
+ * use g_task_propagate_pointer() or the like to extract the
* return value.
*
* Here is an example for using GTask as a GAsyncResult:
diff --git a/gio/gtestdbus.c b/gio/gtestdbus.c
index 685503c..2fc2d51 100644
--- a/gio/gtestdbus.c
+++ b/gio/gtestdbus.c
@@ -179,7 +179,7 @@
if (num_events == 0)
continue;
- if (fds[0].revents == G_IO_HUP)
+ if (fds[0].revents & G_IO_HUP)
{
/* Parent quit, cleanup the mess and exit */
for (n = 0; n < pids_to_kill->len; n++)
diff --git a/gio/gthemedicon.c b/gio/gthemedicon.c
index 3ada77b..35970de 100644
--- a/gio/gthemedicon.c
+++ b/gio/gthemedicon.c
@@ -49,6 +49,7 @@
{
GObject parent_instance;
+ char **init_names;
char **names;
gboolean use_default_fallbacks;
};
@@ -66,6 +67,8 @@
PROP_USE_DEFAULT_FALLBACKS
};
+static void g_themed_icon_update_names (GThemedIcon *themed);
+
G_DEFINE_TYPE_WITH_CODE (GThemedIcon, g_themed_icon, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (G_TYPE_ICON,
g_themed_icon_icon_iface_init))
@@ -81,7 +84,7 @@
switch (prop_id)
{
case PROP_NAMES:
- g_value_set_boxed (value, icon->names);
+ g_value_set_boxed (value, icon->init_names);
break;
case PROP_USE_DEFAULT_FALLBACKS:
@@ -111,12 +114,12 @@
if (!name)
break;
- if (icon->names)
- g_strfreev (icon->names);
+ if (icon->init_names)
+ g_strfreev (icon->init_names);
- icon->names = g_new (char *, 2);
- icon->names[0] = g_strdup (name);
- icon->names[1] = NULL;
+ icon->init_names = g_new (char *, 2);
+ icon->init_names[0] = g_strdup (name);
+ icon->init_names[1] = NULL;
break;
case PROP_NAMES:
@@ -125,10 +128,10 @@
if (!names)
break;
- if (icon->names)
- g_strfreev (icon->names);
+ if (icon->init_names)
+ g_strfreev (icon->init_names);
- icon->names = names;
+ icon->init_names = names;
break;
case PROP_USE_DEFAULT_FALLBACKS:
@@ -143,63 +146,7 @@
static void
g_themed_icon_constructed (GObject *object)
{
- GThemedIcon *themed = G_THEMED_ICON (object);
-
- g_return_if_fail (themed->names != NULL && themed->names[0] != NULL);
-
- if (themed->use_default_fallbacks)
- {
- int i = 0, dashes = 0;
- const char *p;
- char *dashp;
- char *last;
- gboolean is_symbolic;
- char *name;
- char **names;
-
- is_symbolic = g_str_has_suffix (themed->names[0], "-symbolic");
- if (is_symbolic)
- name = g_strndup (themed->names[0], strlen (themed->names[0]) - 9);
- else
- name = g_strdup (themed->names[0]);
-
- p = name;
- while (*p)
- {
- if (*p == '-')
- dashes++;
- p++;
- }
-
- last = name;
-
- g_strfreev (themed->names);
-
- names = g_new (char *, dashes + 1 + 1);
- names[i++] = last;
-
- while ((dashp = strrchr (last, '-')) != NULL)
- names[i++] = last = g_strndup (last, dashp - last);
-
- names[i++] = NULL;
-
- if (is_symbolic)
- {
- themed->names = g_new (char *, 2 * dashes + 3);
- for (i = 0; names[i] != NULL; i++)
- {
- themed->names[i] = g_strconcat (names[i], "-symbolic", NULL);
- themed->names[dashes + 1 + i] = names[i];
- }
-
- themed->names[dashes + 1 + i] = NULL;
- g_free (names);
- }
- else
- {
- themed->names = names;
- }
- }
+ g_themed_icon_update_names (G_THEMED_ICON (object));
}
static void
@@ -209,6 +156,7 @@
themed = G_THEMED_ICON (object);
+ g_strfreev (themed->init_names);
g_strfreev (themed->names);
G_OBJECT_CLASS (g_themed_icon_parent_class)->finalize (object);
@@ -278,7 +226,136 @@
static void
g_themed_icon_init (GThemedIcon *themed)
{
- themed->names = NULL;
+ themed->init_names = NULL;
+ themed->names = NULL;
+}
+
+/**
+ * g_themed_icon_update_names:
+ * @themed: a #GThemedIcon.
+ *
+ * Update the actual icon name list, based on the requested names (from
+ * construction, or later added with g_themed_icon_prepend_name() and
+ * g_themed_icon_append_name()).
+ * The order of the list matters, indicating priority:
+ * - The first requested icon is first in priority.
+ * - If "use-default-fallbacks" is #TRUE, then it is followed by all its
+ * fallbacks (starting from top to lower context levels).
+ * - Then next requested icons, and optionally their fallbacks, follow.
+ * - Finally all the style variants (symbolic or regular, opposite to whatever
+ * is the requested style) follow in the same order.
+ *
+ * An icon is not added twice in the list if it was previously added.
+ *
+ * For instance, if requested names are:
+ * [ "some-icon-symbolic", "some-other-icon" ]
+ * and use-default-fallbacks is TRUE, the final name list shall be:
+ * [ "some-icon-symbolic", "some-symbolic", "some-other-icon",
+ * "some-other", "some", "some-icon", "some-other-icon-symbolic",
+ * "some-other-symbolic" ]
+ *
+ * Returns: (transfer full) (type GThemedIcon): a new #GThemedIcon
+ **/
+static void
+g_themed_icon_update_names (GThemedIcon *themed)
+{
+ GList *names = NULL;
+ GList *variants = NULL;
+ GList *iter;
+ guint i;
+
+ g_return_if_fail (themed->init_names != NULL && themed->init_names[0] != NULL);
+
+ for (i = 0; themed->init_names[i]; i++)
+ {
+ gchar *name;
+ gboolean is_symbolic;
+
+ is_symbolic = g_str_has_suffix (themed->init_names[i], "-symbolic");
+ if (is_symbolic)
+ name = g_strndup (themed->init_names[i], strlen (themed->init_names[i]) - 9);
+ else
+ name = g_strdup (themed->init_names[i]);
+
+ if (g_list_find_custom (names, name, (GCompareFunc) g_strcmp0))
+ {
+ g_free (name);
+ continue;
+ }
+
+ if (is_symbolic)
+ names = g_list_prepend (names, g_strdup (themed->init_names[i]));
+ else
+ names = g_list_prepend (names, name);
+
+ if (themed->use_default_fallbacks)
+ {
+ char *dashp;
+ char *last;
+
+ last = name;
+
+ while ((dashp = strrchr (last, '-')) != NULL)
+ {
+ gchar *tmp = last;
+ gchar *fallback;
+
+ last = g_strndup (last, dashp - last);
+ if (is_symbolic)
+ {
+ g_free (tmp);
+ fallback = g_strdup_printf ("%s-symbolic", last);
+ }
+ else
+ fallback = last;
+ if (g_list_find_custom (names, fallback, (GCompareFunc) g_strcmp0))
+ {
+ g_free (fallback);
+ break;
+ }
+ names = g_list_prepend (names, fallback);
+ }
+ if (is_symbolic)
+ g_free (last);
+ }
+ else if (is_symbolic)
+ g_free (name);
+ }
+ for (iter = names; iter; iter = iter->next)
+ {
+ gchar *name = (gchar *) iter->data;
+ gchar *variant;
+ gboolean is_symbolic;
+
+ is_symbolic = g_str_has_suffix (name, "-symbolic");
+ if (is_symbolic)
+ variant = g_strndup (name, strlen (name) - 9);
+ else
+ variant = g_strdup_printf ("%s-symbolic", name);
+ if (g_list_find_custom (names, variant, (GCompareFunc) g_strcmp0) ||
+ g_list_find_custom (variants, variant, (GCompareFunc) g_strcmp0))
+ {
+ g_free (variant);
+ continue;
+ }
+
+ variants = g_list_prepend (variants, variant);
+ }
+ names = g_list_reverse (names);
+
+ g_strfreev (themed->names);
+ themed->names = g_new (char *, g_list_length (names) + g_list_length (variants) + 1);
+
+ for (iter = names, i = 0; iter; iter = iter->next, i++)
+ themed->names[i] = iter->data;
+ for (iter = variants; iter; iter = iter->next, i++)
+ themed->names[i] = iter->data;
+ themed->names[i] = NULL;
+
+ g_list_free (names);
+ g_list_free (variants);
+
+ g_object_notify (G_OBJECT (themed), "names");
}
/**
@@ -402,12 +479,12 @@
g_return_if_fail (G_IS_THEMED_ICON (icon));
g_return_if_fail (iconname != NULL);
- num_names = g_strv_length (icon->names);
- icon->names = g_realloc (icon->names, sizeof (char*) * (num_names + 2));
- icon->names[num_names] = g_strdup (iconname);
- icon->names[num_names + 1] = NULL;
+ num_names = g_strv_length (icon->init_names);
+ icon->init_names = g_realloc (icon->init_names, sizeof (char*) * (num_names + 2));
+ icon->init_names[num_names] = g_strdup (iconname);
+ icon->init_names[num_names + 1] = NULL;
- g_object_notify (G_OBJECT (icon), "names");
+ g_themed_icon_update_names (icon);
}
/**
@@ -433,17 +510,17 @@
g_return_if_fail (G_IS_THEMED_ICON (icon));
g_return_if_fail (iconname != NULL);
- num_names = g_strv_length (icon->names);
+ num_names = g_strv_length (icon->init_names);
names = g_new (char*, num_names + 2);
- for (i = 0; icon->names[i]; i++)
- names[i + 1] = icon->names[i];
+ for (i = 0; icon->init_names[i]; i++)
+ names[i + 1] = icon->init_names[i];
names[0] = g_strdup (iconname);
names[num_names + 1] = NULL;
- g_free (icon->names);
- icon->names = names;
+ g_free (icon->init_names);
+ icon->init_names = names;
- g_object_notify (G_OBJECT (icon), "names");
+ g_themed_icon_update_names (icon);
}
static guint
diff --git a/gio/gtlsclientconnection.c b/gio/gtlsclientconnection.c
index f80c625..b38fad6 100644
--- a/gio/gtlsclientconnection.c
+++ b/gio/gtlsclientconnection.c
@@ -105,14 +105,7 @@
*
* If %TRUE, forces the connection to use a fallback version of TLS
* or SSL, rather than trying to negotiate the best version of TLS
- * to use. This can be used when talking to servers that don't
- * implement version negotiation correctly and therefore refuse to
- * handshake at all with a modern TLS handshake.
- *
- * Despite the property name, the fallback version is usually not
- * SSL 3.0, because SSL 3.0 is generally disabled by the #GTlsBackend.
- * #GTlsClientConnection will use the next-highest available version
- * as the fallback version.
+ * to use. See g_tls_client_connection_set_use_ssl3().
*
* Since: 2.28
*
@@ -304,14 +297,19 @@
* @conn: the #GTlsClientConnection
* @use_ssl3: whether to use the lowest-supported protocol version
*
- * If @use_ssl3 is %TRUE, this forces @conn to use the lowest-supported
- * TLS protocol version rather than trying to properly negotiate the
- * highest mutually-supported protocol version with the peer. This can
- * be used when talking to broken TLS servers that exhibit protocol
- * version intolerance.
+ * Since 2.42.1, if @use_ssl3 is %TRUE, this forces @conn to use the
+ * lowest-supported TLS protocol version rather than trying to properly
+ * negotiate the highest mutually-supported protocol version with the
+ * peer. Be aware that SSL 3.0 is generally disabled by the
+ * #GTlsBackend, so the lowest-supported protocol version is probably
+ * not SSL 3.0.
*
- * Be aware that SSL 3.0 is generally disabled by the #GTlsBackend, so
- * the lowest-supported protocol version is probably not SSL 3.0.
+ * Since 2.58, this may additionally cause an RFC 7507 fallback SCSV to
+ * be sent to the server, causing modern TLS servers to immediately
+ * terminate the connection. You should generally only use this function
+ * if you need to connect to broken servers that exhibit TLS protocol
+ * version intolerance, and when an initial attempt to connect to a
+ * server normally has already failed.
*
* Since: 2.28
*
diff --git a/gio/gtlsconnection.c b/gio/gtlsconnection.c
index e13d986..b0353af 100644
--- a/gio/gtlsconnection.c
+++ b/gio/gtlsconnection.c
@@ -674,7 +674,8 @@
* @conn: a #GTlsConnection
* @mode: the rehandshaking mode
*
- * Sets how @conn behaves with respect to rehandshaking requests.
+ * Sets how @conn behaves with respect to rehandshaking requests, when
+ * TLS 1.2 or older is in use.
*
* %G_TLS_REHANDSHAKE_NEVER means that it will never agree to
* rehandshake after the initial handshake is complete. (For a client,
@@ -756,7 +757,8 @@
* the beginning of the communication, you do not need to call this
* function explicitly unless you want clearer error reporting.
* However, you may call g_tls_connection_handshake() later on to
- * renegotiate parameters (encryption methods, etc) with the client.
+ * rehandshake, if TLS 1.2 or older is in use. With TLS 1.3, this will
+ * instead perform a rekey.
*
* #GTlsConnection::accept_certificate may be emitted during the
* handshake.
diff --git a/gio/gvdb/gvdb-builder.c b/gio/gvdb/gvdb-builder.c
index 8b9baa0..2383e60 100644
--- a/gio/gvdb/gvdb-builder.c
+++ b/gio/gvdb/gvdb-builder.c
@@ -339,6 +339,13 @@
#undef chunk
memset (*bloom_filter, 0, n_bloom_words * sizeof (guint32_le));
+
+ /* NOTE - the code to actually fill in the bloom filter here is missing.
+ * Patches welcome!
+ *
+ * http://en.wikipedia.org/wiki/Bloom_filter
+ * http://0pointer.de/blog/projects/bloom.html
+ */
}
static void
diff --git a/gio/gvdb/gvdb-reader.c b/gio/gvdb/gvdb-reader.c
index 510eba2..aa3154f 100644
--- a/gio/gvdb/gvdb-reader.c
+++ b/gio/gvdb/gvdb-reader.c
@@ -23,15 +23,11 @@
#include <string.h>
struct _GvdbTable {
- gint ref_count;
+ GBytes *bytes;
const gchar *data;
gsize size;
- gpointer user_data;
- GvdbRefFunc ref_user_data;
- GDestroyNotify unref_user_data;
-
gboolean byteswapped;
gboolean trusted;
@@ -124,80 +120,81 @@
file->n_hash_items = size / sizeof (struct gvdb_hash_item);
}
-static GvdbTable *
-new_from_data (const void *data,
- gsize data_len,
- gboolean trusted,
- gpointer user_data,
- GvdbRefFunc ref,
- GDestroyNotify unref,
- const char *filename,
- GError **error)
+/**
+ * gvdb_table_new_from_bytes:
+ * @bytes: the #GBytes with the data
+ * @trusted: if the contents of @bytes are trusted
+ * @error: %NULL, or a pointer to a %NULL #GError
+ *
+ * Creates a new #GvdbTable from the contents of @bytes.
+ *
+ * This call can fail if the header contained in @bytes is invalid or if @bytes
+ * is empty; if so, %G_FILE_ERROR_INVAL will be returned.
+ *
+ * You should call gvdb_table_free() on the return result when you no
+ * longer require it.
+ *
+ * Returns: a new #GvdbTable
+ **/
+GvdbTable *
+gvdb_table_new_from_bytes (GBytes *bytes,
+ gboolean trusted,
+ GError **error)
{
+ const struct gvdb_header *header;
GvdbTable *file;
file = g_slice_new0 (GvdbTable);
- file->data = data;
- file->size = data_len;
+ file->bytes = g_bytes_ref (bytes);
+ file->data = g_bytes_get_data (bytes, &file->size);
file->trusted = trusted;
- file->ref_count = 1;
- file->ref_user_data = ref;
- file->unref_user_data = unref;
- file->user_data = user_data;
- if (sizeof (struct gvdb_header) <= file->size)
- {
- const struct gvdb_header *header = (gpointer) file->data;
+ if (file->size < sizeof (struct gvdb_header))
+ goto invalid;
- if (header->signature[0] == GVDB_SIGNATURE0 &&
- header->signature[1] == GVDB_SIGNATURE1 &&
- guint32_from_le (header->version) == 0)
- file->byteswapped = FALSE;
+ header = (gpointer) file->data;
- else if (header->signature[0] == GVDB_SWAPPED_SIGNATURE0 &&
- header->signature[1] == GVDB_SWAPPED_SIGNATURE1 &&
- guint32_from_le (header->version) == 0)
- file->byteswapped = TRUE;
+ if (header->signature[0] == GVDB_SIGNATURE0 &&
+ header->signature[1] == GVDB_SIGNATURE1 &&
+ guint32_from_le (header->version) == 0)
+ file->byteswapped = FALSE;
- else
- {
- if (filename)
- g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_INVAL,
- "%s: invalid header", filename);
- else
- g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_INVAL,
- "invalid gvdb header");
- g_slice_free (GvdbTable, file);
- if (unref)
- unref (user_data);
+ else if (header->signature[0] == GVDB_SWAPPED_SIGNATURE0 &&
+ header->signature[1] == GVDB_SWAPPED_SIGNATURE1 &&
+ guint32_from_le (header->version) == 0)
+ file->byteswapped = TRUE;
- return NULL;
- }
+ else
+ goto invalid;
- gvdb_table_setup_root (file, &header->root);
- }
+ gvdb_table_setup_root (file, &header->root);
return file;
+
+invalid:
+ g_set_error_literal (error, G_FILE_ERROR, G_FILE_ERROR_INVAL, "invalid gvdb header");
+
+ g_bytes_unref (file->bytes);
+
+ g_slice_free (GvdbTable, file);
+
+ return NULL;
}
/**
* gvdb_table_new:
- * @filename: the path to the hash file
- * @trusted: if the contents of @filename are trusted
+ * @filename: a filename
+ * @trusted: if the contents of @bytes are trusted
* @error: %NULL, or a pointer to a %NULL #GError
*
- * Creates a new #GvdbTable from the contents of the file found at
- * @filename.
+ * Creates a new #GvdbTable using the #GMappedFile for @filename as the
+ * #GBytes.
*
- * The only time this function fails is if the file cannot be opened.
+ * This function will fail if the file cannot be opened.
* In that case, the #GError that is returned will be an error from
* g_mapped_file_new().
*
- * An empty or otherwise corrupted file is considered to be a valid
- * #GvdbTable with no entries.
- *
- * You should call gvdb_table_unref() on the return result when you no
- * longer require it.
+ * An empty or corrupt file will result in %G_FILE_ERROR_INVAL.
*
* Returns: a new #GvdbTable
**/
@@ -207,53 +204,21 @@
GError **error)
{
GMappedFile *mapped;
+ GvdbTable *table;
+ GBytes *bytes;
- if ((mapped = g_mapped_file_new (filename, FALSE, error)) == NULL)
+ mapped = g_mapped_file_new (filename, FALSE, error);
+ if (!mapped)
return NULL;
- return new_from_data (g_mapped_file_get_contents (mapped),
- g_mapped_file_get_length (mapped),
- trusted,
- mapped,
- (GvdbRefFunc)g_mapped_file_ref,
- (GDestroyNotify)g_mapped_file_unref,
- filename,
- error);
-}
+ bytes = g_mapped_file_get_bytes (mapped);
+ table = gvdb_table_new_from_bytes (bytes, trusted, error);
+ g_mapped_file_unref (mapped);
+ g_bytes_unref (bytes);
-/**
- * gvdb_table_new_from_data:
- * @data: the data
- * @data_len: the length of @data in bytes
- * @trusted: if the contents of @data are trusted
- * @user_data: User supplied data that owns @data
- * @ref: Ref function for @user_data
- * @unref: Unref function for @user_data
- *
- * Creates a new #GvdbTable from the data in @data.
- *
- * An empty or otherwise corrupted data is considered to be a valid
- * #GvdbTable with no entries.
- *
- * You should call gvdb_table_unref() on the return result when you no
- * longer require it.
- *
- * Returns: a new #GvdbTable
- **/
-GvdbTable *
-gvdb_table_new_from_data (const void *data,
- gsize data_len,
- gboolean trusted,
- gpointer user_data,
- GvdbRefFunc ref,
- GDestroyNotify unref,
- GError **error)
-{
- return new_from_data (data, data_len,
- trusted,
- user_data, ref, unref,
- NULL,
- error);
+ g_prefix_error (error, "%s: ", filename);
+
+ return table;
}
static gboolean
@@ -346,18 +311,6 @@
return NULL;
}
-static const struct gvdb_hash_item *
-gvdb_table_get_item (GvdbTable *table,
- guint32_le item_no)
-{
- guint32 item_no_native = guint32_from_le (item_no);
-
- if G_LIKELY (item_no_native < table->n_hash_items)
- return table->hash_items + item_no_native;
-
- return NULL;
-}
-
static gboolean
gvdb_table_list_from_item (GvdbTable *table,
const struct gvdb_hash_item *item,
@@ -376,6 +329,155 @@
return TRUE;
}
+/**
+ * gvdb_table_get_names:
+ * @table: a #GvdbTable
+ * @length: the number of items returned, or %NULL
+ *
+ * Gets a list of all names contained in @table.
+ *
+ * No call to gvdb_table_get_table(), gvdb_table_list() or
+ * gvdb_table_get_value() will succeed unless it is for one of the
+ * names returned by this function.
+ *
+ * Note that some names that are returned may still fail for all of the
+ * above calls in the case of the corrupted file. Note also that the
+ * returned strings may not be utf8.
+ *
+ * Returns: a %NULL-terminated list of strings, of length @length
+ **/
+gchar **
+gvdb_table_get_names (GvdbTable *table,
+ gint *length)
+{
+ gchar **names;
+ gint n_names;
+ gint filled;
+ gint total;
+ gint i;
+
+ /* We generally proceed by iterating over the list of items in the
+ * hash table (in order of appearance) recording them into an array.
+ *
+ * Each item has a parent item (except root items). The parent item
+ * forms part of the name of the item. We could go fetching the
+ * parent item chain at the point that we encounter each item but then
+ * we would need to implement some sort of recursion along with checks
+ * for self-referential items.
+ *
+ * Instead, we do a number of passes. Each pass will build up one
+ * level of names (starting from the root). We continue to do passes
+ * until no more items are left. The first pass will only add root
+ * items and each further pass will only add items whose direct parent
+ * is an item added in the immediately previous pass. It's also
+ * possible that items get filled if they follow their parent within a
+ * particular pass.
+ *
+ * At most we will have a number of passes equal to the depth of the
+ * tree. Self-referential items will never be filled in (since their
+ * parent will have never been filled in). We continue until we have
+ * a pass that fills in no additional items.
+ *
+ * This takes an O(n) algorithm and turns it into O(n*m) where m is
+ * the depth of the tree, but in all sane cases the tree won't be very
+ * deep and the constant factor of this algorithm is lower (and the
+ * complexity of coding it, as well).
+ */
+
+ n_names = table->n_hash_items;
+ names = g_new0 (gchar *, n_names + 1);
+
+ /* 'names' starts out all-NULL. On each pass we record the number
+ * of items changed from NULL to non-NULL in 'filled' so we know if we
+ * should repeat the loop. 'total' counts the total number of items
+ * filled. If 'total' ends up equal to 'n_names' then we know that
+ * 'names' has been completely filled.
+ */
+
+ total = 0;
+ do
+ {
+ /* Loop until we have filled no more entries */
+ filled = 0;
+
+ for (i = 0; i < n_names; i++)
+ {
+ const struct gvdb_hash_item *item = &table->hash_items[i];
+ const gchar *name;
+ gsize name_length;
+ guint32 parent;
+
+ /* already got it on a previous pass */
+ if (names[i] != NULL)
+ continue;
+
+ parent = guint32_from_le (item->parent);
+
+ if (parent == 0xffffffffu)
+ {
+ /* it's a root item */
+ name = gvdb_table_item_get_key (table, item, &name_length);
+
+ if (name != NULL)
+ {
+ names[i] = g_strndup (name, name_length);
+ filled++;
+ }
+ }
+
+ else if (parent < n_names && names[parent] != NULL)
+ {
+ /* It's a non-root item whose parent was filled in already.
+ *
+ * Calculate the name of this item by combining it with
+ * its parent name.
+ */
+ name = gvdb_table_item_get_key (table, item, &name_length);
+
+ if (name != NULL)
+ {
+ const gchar *parent_name = names[parent];
+ gsize parent_length;
+ gchar *fullname;
+
+ parent_length = strlen (parent_name);
+ fullname = g_malloc (parent_length + name_length + 1);
+ memcpy (fullname, parent_name, parent_length);
+ memcpy (fullname + parent_length, name, name_length);
+ fullname[parent_length + name_length] = '\0';
+ names[i] = fullname;
+ filled++;
+ }
+ }
+ }
+
+ total += filled;
+ }
+ while (filled && total < n_names);
+
+ /* If the table was corrupted then 'names' may have holes in it.
+ * Collapse those.
+ */
+ if G_UNLIKELY (total != n_names)
+ {
+ GPtrArray *fixed_names;
+
+ fixed_names = g_ptr_array_new ();
+ for (i = 0; i < n_names; i++)
+ if (names[i] != NULL)
+ g_ptr_array_add (fixed_names, names[i]);
+
+ g_free (names);
+ n_names = fixed_names->len;
+ g_ptr_array_add (fixed_names, NULL);
+ names = (gchar **) g_ptr_array_free (fixed_names, FALSE);
+ }
+
+ if (length)
+ *length = n_names;
+
+ return names;
+}
/**
* gvdb_table_list:
@@ -457,7 +559,15 @@
gvdb_table_has_value (GvdbTable *file,
const gchar *key)
{
- return gvdb_table_lookup (file, key, 'v') != NULL;
+ static const struct gvdb_hash_item *item;
+ gsize size;
+
+ item = gvdb_table_lookup (file, key, 'v');
+
+ if (item == NULL)
+ return FALSE;
+
+ return gvdb_table_dereference (file, &item->value.pointer, 8, &size) != NULL;
}
static GVariant *
@@ -466,6 +576,7 @@
{
GVariant *variant, *value;
gconstpointer data;
+ GBytes *bytes;
gsize size;
data = gvdb_table_dereference (table, &item->value.pointer, 8, &size);
@@ -473,12 +584,11 @@
if G_UNLIKELY (data == NULL)
return NULL;
- variant = g_variant_new_from_data (G_VARIANT_TYPE_VARIANT,
- data, size, table->trusted,
- table->unref_user_data,
- table->ref_user_data ? table->ref_user_data (table->user_data) : table->user_data);
+ bytes = g_bytes_new_from_bytes (table->bytes, ((gchar *) data) - table->data, size);
+ variant = g_variant_new_from_bytes (G_VARIANT_TYPE_VARIANT, bytes, table->trusted);
value = g_variant_get_variant (variant);
g_variant_unref (variant);
+ g_bytes_unref (bytes);
return value;
}
@@ -562,7 +672,7 @@
* contained in the file. This newly-created #GvdbTable does not depend
* on the continued existence of @file.
*
- * You should call gvdb_table_unref() on the return result when you no
+ * You should call gvdb_table_free() on the return result when you no
* longer require it.
*
* Returns: a new #GvdbTable, or %NULL
@@ -580,14 +690,11 @@
return NULL;
new = g_slice_new0 (GvdbTable);
- new->user_data = file->ref_user_data ? file->ref_user_data (file->user_data) : file->user_data;
- new->ref_user_data = file->ref_user_data;
- new->unref_user_data = file->unref_user_data;
+ new->bytes = g_bytes_ref (file->bytes);
new->byteswapped = file->byteswapped;
new->trusted = file->trusted;
new->data = file->data;
new->size = file->size;
- new->ref_count = 1;
gvdb_table_setup_root (new, &item->value.pointer);
@@ -595,38 +702,16 @@
}
/**
- * gvdb_table_ref:
+ * gvdb_table_free:
* @file: a #GvdbTable
*
- * Increases the reference count on @file.
- *
- * Returns: a new reference on @file
- **/
-GvdbTable *
-gvdb_table_ref (GvdbTable *file)
-{
- g_atomic_int_inc (&file->ref_count);
-
- return file;
-}
-
-/**
- * gvdb_table_unref:
- * @file: a #GvdbTable
- *
- * Decreases the reference count on @file, possibly freeing it.
- *
- * Since: 2.26
+ * Frees @file.
**/
void
-gvdb_table_unref (GvdbTable *file)
+gvdb_table_free (GvdbTable *file)
{
- if (g_atomic_int_dec_and_test (&file->ref_count))
- {
- if (file->unref_user_data)
- file->unref_user_data (file->user_data);
- g_slice_free (GvdbTable, file);
- }
+ g_bytes_unref (file->bytes);
+ g_slice_free (GvdbTable, file);
}
/**
@@ -646,105 +731,3 @@
{
return !!*table->data;
}
-
-/**
- * gvdb_table_walk:
- * @table: a #GvdbTable
- * @key: a key corresponding to a list
- * @open_func: the #GvdbWalkOpenFunc
- * @value_func: the #GvdbWalkValueFunc
- * @close_func: the #GvdbWalkCloseFunc
- * @user_data: data to pass to the callbacks
- *
- * Looks up the list at @key and iterate over the items in it.
- *
- * First, @open_func is called to signal that we are starting to iterate over
- * the list. Then the list is iterated. When all items in the list have been
- * iterated over, the @close_func is called.
- *
- * When iterating, if a given item in the list is a value then @value_func is
- * called.
- *
- * If a given item in the list is itself a list then @open_func is called. If
- * that function returns %TRUE then the walk begins iterating the items in the
- * sublist, until there are no more items, at which point a matching
- * @close_func call is made. If @open_func returns %FALSE then no iteration of
- * the sublist occurs and no corresponding @close_func call is made.
- **/
-void
-gvdb_table_walk (GvdbTable *table,
- const gchar *key,
- GvdbWalkOpenFunc open_func,
- GvdbWalkValueFunc value_func,
- GvdbWalkCloseFunc close_func,
- gpointer user_data)
-{
- const struct gvdb_hash_item *item;
- const guint32_le *pointers[64];
- const guint32_le *enders[64];
- gsize name_lengths[64];
- gint index = 0;
-
- item = gvdb_table_lookup (table, key, 'L');
- name_lengths[0] = 0;
- pointers[0] = NULL;
- enders[0] = NULL;
- goto start_here;
-
- while (index)
- {
- close_func (name_lengths[index], user_data);
- index--;
-
- while (pointers[index] < enders[index])
- {
- const gchar *name;
- gsize name_len;
-
- item = gvdb_table_get_item (table, *pointers[index]++);
- start_here:
-
- if (item != NULL &&
- (name = gvdb_table_item_get_key (table, item, &name_len)))
- {
- if (item->type == 'L')
- {
- if (open_func (name, name_len, user_data))
- {
- guint length = 0;
-
- index++;
- g_assert (index < 64);
-
- gvdb_table_list_from_item (table, item,
- &pointers[index],
- &length);
- enders[index] = pointers[index] + length;
- name_lengths[index] = name_len;
- }
- }
- else if (item->type == 'v')
- {
- GVariant *value;
-
- value = gvdb_table_value_from_item (table, item);
-
- if (value != NULL)
- {
- if (table->byteswapped)
- {
- GVariant *tmp;
-
- tmp = g_variant_byteswap (value);
- g_variant_unref (value);
- value = tmp;
- }
-
- value_func (name, name_len, value, user_data);
- g_variant_unref (value);
- }
- }
- }
- }
- }
-}
diff --git a/gio/gvdb/gvdb-reader.h b/gio/gvdb/gvdb-reader.h
index 449241e..3982773 100644
--- a/gio/gvdb/gvdb-reader.h
+++ b/gio/gvdb/gvdb-reader.h
@@ -24,27 +24,21 @@
typedef struct _GvdbTable GvdbTable;
-typedef gpointer (*GvdbRefFunc) (gpointer data);
-
G_BEGIN_DECLS
G_GNUC_INTERNAL
+GvdbTable * gvdb_table_new_from_bytes (GBytes *bytes,
+ gboolean trusted,
+ GError **error);
+G_GNUC_INTERNAL
GvdbTable * gvdb_table_new (const gchar *filename,
gboolean trusted,
GError **error);
G_GNUC_INTERNAL
-GvdbTable * gvdb_table_new_from_data (const void *data,
- gsize data_len,
- gboolean trusted,
- gpointer user_data,
- GvdbRefFunc ref,
- GDestroyNotify unref,
- GError **error);
+void gvdb_table_free (GvdbTable *table);
G_GNUC_INTERNAL
-GvdbTable * gvdb_table_ref (GvdbTable *table);
-G_GNUC_INTERNAL
-void gvdb_table_unref (GvdbTable *table);
-
+gchar ** gvdb_table_get_names (GvdbTable *table,
+ gint *length);
G_GNUC_INTERNAL
gchar ** gvdb_table_list (GvdbTable *table,
const gchar *key);
@@ -61,28 +55,9 @@
G_GNUC_INTERNAL
gboolean gvdb_table_has_value (GvdbTable *table,
const gchar *key);
-
G_GNUC_INTERNAL
gboolean gvdb_table_is_valid (GvdbTable *table);
-typedef void (*GvdbWalkValueFunc) (const gchar *name,
- gsize name_len,
- GVariant *value,
- gpointer user_data);
-typedef gboolean (*GvdbWalkOpenFunc) (const gchar *name,
- gsize name_len,
- gpointer user_data);
-typedef void (*GvdbWalkCloseFunc) (gsize name_len,
- gpointer user_data);
-
-G_GNUC_INTERNAL
-void gvdb_table_walk (GvdbTable *table,
- const gchar *key,
- GvdbWalkOpenFunc open_func,
- GvdbWalkValueFunc value_func,
- GvdbWalkCloseFunc close_func,
- gpointer user_data);
-
G_END_DECLS
#endif /* __gvdb_reader_h__ */
diff --git a/gio/gvdb/gvdb.doap b/gio/gvdb/gvdb.doap
index b4ae60c..8c5f3e8 100644
--- a/gio/gvdb/gvdb.doap
+++ b/gio/gvdb/gvdb.doap
@@ -23,9 +23,34 @@
<maintainer>
<foaf:Person>
- <foaf:name>Ryan Lortie</foaf:name>
- <foaf:mbox rdf:resource='mailto:desrt@desrt.ca'/>
- <gnome:userid>ryanl</gnome:userid>
+ <foaf:name>Matthias Clasen</foaf:name>
+ <foaf:mbox rdf:resource="mailto:mclasen@redhat.com"/>
+ <gnome:userid>matthiasc</gnome:userid>
+ </foaf:Person>
+ </maintainer>
+
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Allison Ryan Lortie</foaf:name>
+ <foaf:mbox rdf:resource="mailto:desrt@desrt.ca"/>
+ <gnome:userid>desrt</gnome:userid>
+ </foaf:Person>
+ </maintainer>
+
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Philip Withnall</foaf:name>
+ <foaf:mbox rdf:resource="mailto:philip@tecnocode.co.uk"/>
+ <foaf:mbox rdf:resource="mailto:withnall@endlessm.com"/>
+ <gnome:userid>pwithnall</gnome:userid>
+ </foaf:Person>
+ </maintainer>
+
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Emmanuele Bassi</foaf:name>
+ <foaf:mbox rdf:resource="mailto:ebassi@gnome.org"/>
+ <gnome:userid>ebassi</gnome:userid>
</foaf:Person>
</maintainer>
diff --git a/gio/tests/g-icon.c b/gio/tests/g-icon.c
index 598ae94..7f87e49 100644
--- a/gio/tests/g-icon.c
+++ b/gio/tests/g-icon.c
@@ -108,9 +108,18 @@
g_object_unref (location);
#endif
+ icon = g_themed_icon_new_with_default_fallbacks ("some-icon-symbolic");
+ g_themed_icon_append_name (G_THEMED_ICON (icon), "some-other-icon");
+ data = g_icon_to_string (icon);
+ g_assert_cmpstr (data, ==, ". GThemedIcon "
+ "some-icon-symbolic some-symbolic some-other-icon some-other some "
+ "some-icon some-other-icon-symbolic some-other-symbolic");
+ g_free (data);
+ g_object_unref (icon);
+
icon = g_themed_icon_new ("network-server");
data = g_icon_to_string (icon);
- g_assert_cmpstr (data, ==, "network-server");
+ g_assert_cmpstr (data, ==, ". GThemedIcon network-server network-server-symbolic");
icon2 = g_icon_new_for_string (data, &error);
g_assert_no_error (error);
g_assert (g_icon_equal (icon, icon2));
@@ -371,7 +380,7 @@
{
GIcon *icon1, *icon2, *icon3, *icon4;
const gchar *const *names;
- const gchar *names2[] = { "first", "testicon", "last", NULL };
+ const gchar *names2[] = { "first-symbolic", "testicon", "last", NULL };
gchar *str;
gboolean fallbacks;
GVariant *variant;
@@ -382,17 +391,21 @@
g_assert (!fallbacks);
names = g_themed_icon_get_names (G_THEMED_ICON (icon1));
- g_assert_cmpint (g_strv_length ((gchar **)names), ==, 1);
+ g_assert_cmpint (g_strv_length ((gchar **)names), ==, 2);
g_assert_cmpstr (names[0], ==, "testicon");
+ g_assert_cmpstr (names[1], ==, "testicon-symbolic");
- g_themed_icon_prepend_name (G_THEMED_ICON (icon1), "first");
+ g_themed_icon_prepend_name (G_THEMED_ICON (icon1), "first-symbolic");
g_themed_icon_append_name (G_THEMED_ICON (icon1), "last");
names = g_themed_icon_get_names (G_THEMED_ICON (icon1));
- g_assert_cmpint (g_strv_length ((gchar **)names), ==, 3);
- g_assert_cmpstr (names[0], ==, "first");
+ g_assert_cmpint (g_strv_length ((gchar **)names), ==, 6);
+ g_assert_cmpstr (names[0], ==, "first-symbolic");
g_assert_cmpstr (names[1], ==, "testicon");
g_assert_cmpstr (names[2], ==, "last");
- g_assert_cmpuint (g_icon_hash (icon1), ==, 2400773466U);
+ g_assert_cmpstr (names[3], ==, "first");
+ g_assert_cmpstr (names[4], ==, "testicon-symbolic");
+ g_assert_cmpstr (names[5], ==, "last-symbolic");
+ g_assert_cmpuint (g_icon_hash (icon1), ==, 1812785139);
icon2 = g_themed_icon_new_from_names ((gchar**)names2, -1);
g_assert (g_icon_equal (icon1, icon2));
@@ -448,11 +461,11 @@
emblem = emblems->data;
g_assert (g_emblem_get_icon (emblem) == icon2);
- g_assert (g_emblem_get_origin (emblem) == G_EMBLEM_ORIGIN_TAG);
+ g_assert (g_emblem_get_origin (emblem) == G_EMBLEM_ORIGIN_UNKNOWN);
emblem = emblems->next->data;
g_assert (g_emblem_get_icon (emblem) == icon2);
- g_assert (g_emblem_get_origin (emblem) == G_EMBLEM_ORIGIN_UNKNOWN);
+ g_assert (g_emblem_get_origin (emblem) == G_EMBLEM_ORIGIN_TAG);
g_emblemed_icon_clear_emblems (G_EMBLEMED_ICON (icon4));
g_assert (g_emblemed_icon_get_emblems (G_EMBLEMED_ICON (icon4)) == NULL);
diff --git a/gio/tests/gdbus-unix-addresses.c b/gio/tests/gdbus-unix-addresses.c
index 746a7c2..531ce7a 100644
--- a/gio/tests/gdbus-unix-addresses.c
+++ b/gio/tests/gdbus-unix-addresses.c
@@ -128,6 +128,7 @@
g_unsetenv ("DISPLAY");
g_unsetenv ("DBUS_SESSION_BUS_ADDRESS");
g_unsetenv ("XDG_RUNTIME_DIR");
+ g_unsetenv ("G_MESSAGES_DEBUG");
set_up_mock_dbus_launch ();
print_address ();
diff --git a/gio/tests/gnotification.c b/gio/tests/gnotification.c
index c896af6..80d476d 100644
--- a/gio/tests/gnotification.c
+++ b/gio/tests/gnotification.c
@@ -219,7 +219,8 @@
g_assert (G_IS_THEMED_ICON (rn->icon));
names = g_themed_icon_get_names (G_THEMED_ICON (rn->icon));
g_assert_cmpstr (names[0], ==, "i-c-o-n");
- g_assert (names[1] == NULL);
+ g_assert_cmpstr (names[1], ==, "i-c-o-n-symbolic");
+ g_assert_null (names[2]);
g_assert (rn->priority == G_NOTIFICATION_PRIORITY_HIGH);
g_assert_cmpint (rn->buttons->len, ==, 1);
diff --git a/gio/tests/gsettings.c b/gio/tests/gsettings.c
index 2d18d4d..852a8b7 100644
--- a/gio/tests/gsettings.c
+++ b/gio/tests/gsettings.c
@@ -2353,6 +2353,18 @@
g_assert_error (error, G_FILE_ERROR, G_FILE_ERROR_NOENT);
g_clear_error (&error);
+ /* Test error handling of corrupt compiled files. */
+ source = g_settings_schema_source_new_from_directory ("schema-source-corrupt", parent, TRUE, &error);
+ g_assert_error (error, G_FILE_ERROR, G_FILE_ERROR_INVAL);
+ g_assert_null (source);
+ g_clear_error (&error);
+
+ /* Test error handling of empty compiled files. */
+ source = g_settings_schema_source_new_from_directory ("schema-source-empty", parent, TRUE, &error);
+ g_assert_error (error, G_FILE_ERROR, G_FILE_ERROR_INVAL);
+ g_assert_null (source);
+ g_clear_error (&error);
+
/* create a source with the parent */
source = g_settings_schema_source_new_from_directory ("schema-source", parent, TRUE, &error);
g_assert_no_error (error);
@@ -2770,6 +2782,12 @@
if (!g_test_subprocess ())
{
+ GError *local_error = NULL;
+ /* A GVDB header is 6 guint32s, and requires a magic number in the first
+ * two guint32s. A set of zero bytes of a greater length is considered
+ * corrupt. */
+ const guint8 gschemas_compiled_corrupt[sizeof (guint32) * 7] = { 0, };
+
backend_set = g_getenv ("GSETTINGS_BACKEND") != NULL;
g_setenv ("XDG_DATA_DIRS", ".", TRUE);
@@ -2821,6 +2839,21 @@
"--schema-file=" SRCDIR "/org.gtk.schemasourcecheck.gschema.xml",
NULL, NULL, &result, NULL));
g_assert (result == 0);
+
+ g_remove ("schema-source-corrupt/gschemas.compiled");
+ g_mkdir ("schema-source-corrupt", 0777);
+ g_file_set_contents ("schema-source-corrupt/gschemas.compiled",
+ (const gchar *) gschemas_compiled_corrupt,
+ sizeof (gschemas_compiled_corrupt),
+ &local_error);
+ g_assert_no_error (local_error);
+
+ g_remove ("schema-source-empty/gschemas.compiled");
+ g_mkdir ("schema-source-empty", 0777);
+ g_file_set_contents ("schema-source-empty/gschemas.compiled",
+ "", 0,
+ &local_error);
+ g_assert_no_error (local_error);
}
g_test_add_func ("/gsettings/basic", test_basic);
diff --git a/gio/tests/meson.build b/gio/tests/meson.build
index 85d31d6..4e5ad25 100644
--- a/gio/tests/meson.build
+++ b/gio/tests/meson.build
@@ -15,69 +15,67 @@
command: [gengiotypefuncs_prog, '@OUTPUT@', '@INPUT@'])
# Test programs buildable on all platforms
-gio_tests = [
- 'appmonitor',
- 'async-close-output-stream',
- 'async-splice-output-stream',
- 'buffered-input-stream',
- 'buffered-output-stream',
- 'cancellable',
- 'contexts',
- 'contenttype',
- 'converter-stream',
- 'credentials',
- 'data-input-stream',
- 'data-output-stream',
- 'defaultvalue',
- 'fileattributematcher',
- 'filter-streams',
- 'giomodule',
- 'gsubprocess',
- 'g-file',
- 'g-file-info',
- 'g-icon',
- 'gdbus-addresses',
- 'gdbus-message',
- 'inet-address',
- 'io-stream',
- 'memory-input-stream',
- 'memory-output-stream',
- 'monitor',
- 'mount-operation',
- 'network-address',
- 'network-monitor',
- 'network-monitor-race',
- 'permission',
- 'pollable',
- 'proxy-test',
- 'readwrite',
- 'simple-async-result',
- 'simple-proxy',
- 'sleepy-stream',
- 'socket',
- 'socket-listener',
- 'socket-service',
- 'srvtarget',
- 'task',
- 'vfs',
- 'volumemonitor',
- 'glistmodel',
- 'testfilemonitor',
- 'thumbnail-verification',
- 'tls-certificate',
- 'tls-interaction',
-]
-slow_tests = [
- 'actions',
- 'gdbus-export',
- 'gdbus-threading',
- 'testfilemonitor',
-]
+# FIXME: We are using list of dictionnaries until we can depend on Meson 0.48.0
+# that supports '+=' operator on dictionnaries.
+gio_tests = [{
+ 'appmonitor' : {},
+ 'async-close-output-stream' : {},
+ 'async-splice-output-stream' : {},
+ 'buffered-input-stream' : {},
+ 'buffered-output-stream' : {},
+ 'cancellable' : {},
+ 'contexts' : {},
+ 'contenttype' : {},
+ 'converter-stream' : {},
+ 'credentials' : {},
+ 'data-input-stream' : {},
+ 'data-output-stream' : {},
+ 'defaultvalue' : {'extra_sources' : [giotypefuncs_inc]},
+ 'fileattributematcher' : {},
+ 'filter-streams' : {},
+ 'giomodule' : {},
+ 'gsubprocess' : {},
+ 'g-file' : {},
+ 'g-file-info' : {},
+ 'g-icon' : {},
+ 'gdbus-addresses' : {},
+ 'gdbus-message' : {},
+ 'inet-address' : {},
+ 'io-stream' : {},
+ 'memory-input-stream' : {},
+ 'memory-output-stream' : {},
+ 'monitor' : {},
+ 'mount-operation' : {},
+ 'network-address' : {},
+ 'network-monitor' : {},
+ 'network-monitor-race' : {},
+ 'permission' : {},
+ 'pollable' : {},
+ 'proxy-test' : {},
+ 'readwrite' : {},
+ 'simple-async-result' : {},
+ 'simple-proxy' : {},
+ 'sleepy-stream' : {},
+ 'socket' : {},
+ 'socket-listener' : {},
+ 'socket-service' : {},
+ 'srvtarget' : {},
+ 'task' : {},
+ 'vfs' : {},
+ 'volumemonitor' : {},
+ 'glistmodel' : {},
+ 'testfilemonitor' : {'suite' : ['slow']},
+ 'thumbnail-verification' : {},
+ 'tls-certificate' : {'extra_sources' : ['gtesttlsbackend.c']},
+ 'tls-interaction' : {'extra_sources' : ['gtesttlsbackend.c']},
+}]
-test_extra_programs = [
- ['gdbus-connection-flush-helper'],
- ['gdbus-testserver'],
-]
+# FIXME: We are using list of dictionnaries until we can depend on Meson 0.48.0
+# that supports '+=' operator on dictionnaries.
+test_extra_programs = [{
+ 'gdbus-connection-flush-helper' : {},
+ 'gdbus-testserver' : {},
+}]
test_env = environment()
test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
@@ -110,49 +108,57 @@
if dbus1_dep.found()
glib_conf.set('HAVE_DBUS1', 1)
- exe = executable('gdbus-serialization',
- 'gdbus-serialization.c', 'gdbus-tests.c',
- install : false,
- c_args : test_c_args,
- dependencies : common_gio_tests_deps + [dbus1_dep])
- test('gdbus-serialization', exe, env : test_env, suite : ['gio'])
+ gio_tests += [{
+ 'gdbus-serialization' : {
+ 'extra_sources' : ['gdbus-tests.c'],
+ 'dependencies' : [dbus1_dep],
+ }
+ }]
endif
# Test programs buildable on UNIX only
if host_machine.system() != 'windows'
- gio_tests += [
- 'file',
- 'gdbus-peer',
- 'gdbus-peer-object-manager',
- 'live-g-file',
- 'socket-address',
- 'stream-rw_all',
- 'unix-fd',
- 'unix-mounts',
- 'unix-streams',
- 'g-file-info-filesystem-readonly',
- 'gschema-compile',
- 'trash',
- ]
+ gio_tests += [{
+ 'file' : {},
+ 'gdbus-peer' : {'dependencies' : [libgdbus_example_objectmanager_dep]},
+ 'gdbus-peer-object-manager' : {},
+ 'live-g-file' : {},
+ 'socket-address' : {},
+ 'stream-rw_all' : {},
+ 'unix-fd' : {},
+ 'unix-mounts' : {},
+ 'unix-streams' : {},
+ 'g-file-info-filesystem-readonly' : {},
+ 'gschema-compile' : {'install' : false},
+ 'trash' : {},
+ }]
# Uninstalled because of the check-for-executable logic in DesktopAppInfo
# unable to find the installed executable
if not glib_have_cocoa
- gio_tests += [
- 'appinfo',
- 'desktop-app-info',
- ]
+ gio_tests += [{
+ 'appinfo' : {
+ 'install' : false,
+ },
+ 'desktop-app-info' : {
+ 'install' : false,
+ },
+ }]
endif
- test_extra_programs += [
- ['basic-application'],
- ['dbus-launch'],
- ['appinfo-test'],
- ]
+ test_extra_programs += [{
+ 'basic-application' : {},
+ 'dbus-launch' : {},
+ 'appinfo-test' : {},
+ }]
if not glib_have_cocoa
- test_extra_programs += [['apps']]
- gio_tests += ['mimeapps']
+ test_extra_programs += [{
+ 'apps' : {},
+ }]
+ gio_tests += [{
+ 'mimeapps' : {},
+ }]
endif
# Test programs that need to bring up a session bus (requires dbus-daemon)
@@ -181,71 +187,61 @@
'--annotate', 'org.project.Bar::TestSignal[array_of_strings]', 'Key8', 'Value8',
'@INPUT@'])
- gio_dbus_tests = [
- ['actions', [], []],
- ['gdbus-auth', [], []],
- ['gdbus-bz627724', [], []],
- ['gdbus-close-pending', [], []],
- ['gdbus-connection', [], []],
- ['gdbus-connection-loss', [], []],
- ['gdbus-connection-slow', [], []],
- ['gdbus-error', [], []],
- ['gdbus-exit-on-close', [], []],
- ['gdbus-export', [], []],
- ['gdbus-introspection', [], []],
- ['gdbus-names', [], []],
- ['gdbus-proxy', [], []],
- ['gdbus-proxy-threads', [], [dbus1_dep]],
- ['gdbus-proxy-well-known-name', [], []],
- ['gdbus-test-codegen', [gdbus_test_codegen_generated], []],
- ['gdbus-threading', [], []],
- ['gmenumodel', [], []],
- ['gnotification', ['gnotification-server.c'], []],
- ]
+ extra_sources = ['gdbus-sessionbus.c', 'gdbus-tests.c']
+
+ gio_tests += [{
+ 'actions' : {
+ 'extra_sources' : extra_sources,
+ 'suite' : ['slow'],
+ },
+ 'gdbus-auth' : {'extra_sources' : extra_sources},
+ 'gdbus-bz627724' : {'extra_sources' : extra_sources},
+ 'gdbus-close-pending' : {'extra_sources' : extra_sources},
+ 'gdbus-connection' : {'extra_sources' : extra_sources},
+ 'gdbus-connection-loss' : {'extra_sources' : extra_sources},
+ 'gdbus-connection-slow' : {'extra_sources' : extra_sources},
+ 'gdbus-error' : {'extra_sources' : extra_sources},
+ 'gdbus-exit-on-close' : {'extra_sources' : extra_sources},
+ 'gdbus-export' : {
+ 'extra_sources' : extra_sources,
+ 'suite' : ['slow'],
+ },
+ 'gdbus-introspection' : {'extra_sources' : extra_sources},
+ 'gdbus-names' : {'extra_sources' : extra_sources},
+ 'gdbus-proxy' : {'extra_sources' : extra_sources},
+ 'gdbus-proxy-threads' : {
+ 'extra_sources' : extra_sources,
+ 'dependencies' : [dbus1_dep],
+ },
+ 'gdbus-proxy-well-known-name' : {'extra_sources' : extra_sources},
+ 'gdbus-test-codegen' : {
+ 'extra_sources' : [extra_sources, gdbus_test_codegen_generated],
+ },
+ 'gdbus-threading' : {
+ 'extra_sources' : extra_sources,
+ 'suite' : ['slow'],
+ },
+ 'gmenumodel' : {'extra_sources' : extra_sources},
+ 'gnotification' : {
+ 'extra_sources' : [extra_sources, 'gnotification-server.c'],
+ },
+ 'gdbus-test-codegen-old' : {
+ 'source' : 'gdbus-test-codegen.c',
+ 'extra_sources' : [extra_sources, gdbus_test_codegen_generated],
+ 'c_args' : ['-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_36',
+ '-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_36'],
+ },
+ 'gapplication' : {'extra_sources' : extra_sources},
+ 'gdbus-unix-addresses' : {},
+ }]
if not glib_have_cocoa
- gio_dbus_tests += [['dbus-appinfo', [], []]]
+ gio_tests += [{
+ 'dbus-appinfo' : {
+ 'extra_sources' : extra_sources,
+ },
+ }]
endif
-
- # separate loop because extra source files for each test
- foreach dbus_test : gio_dbus_tests
- test_name = dbus_test[0]
- extra_src = dbus_test[1]
- extra_deps = dbus_test[2]
- exe = executable(test_name, '@0@.c'.format(test_name),
- 'gdbus-sessionbus.c', 'gdbus-tests.c', extra_src,
- install : false,
- c_args : test_c_args,
- dependencies : common_gio_tests_deps + extra_deps)
- # These tests may take more than 30 seconds to run on the CI infrastructure
- if slow_tests.contains(test_name)
- test(test_name, exe, env : test_env, timeout : 120, suite : ['gio', 'slow'])
- else
- test(test_name, exe, env : test_env, suite : ['gio'])
- endif
- endforeach
-
- exe = executable('gdbus-test-codegen-old', 'gdbus-test-codegen.c',
- 'gdbus-sessionbus.c', 'gdbus-tests.c', gdbus_test_codegen_generated,
- install : false,
- c_args : test_c_args + ['-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_36', '-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_36'],
- dependencies : common_gio_tests_deps)
- test('gdbus-test-codegen-old', exe, env : test_env, suite : ['gio'])
-
- # There is already a gapplication exe target in gio so need to use a
- # different name for the unit test executable, since we can't have two
- # targets of the same name even if in different directories
- # (FIXME: just rename source file to gapplication-test.c)
- if not glib_have_cocoa
- exe = executable('gapplication-test', 'gapplication.c',
- 'gdbus-sessionbus.c', 'gdbus-tests.c',
- install : false,
- c_args : test_c_args,
- dependencies : common_gio_tests_deps)
- endif
- test('gapplication', exe, env : test_env, suite : ['gio'])
-
- gio_tests += ['gdbus-unix-addresses']
endif # have_dbus_daemon
# This test is currently unreliable
@@ -254,125 +250,100 @@
c_args : test_c_args,
dependencies : common_gio_tests_deps)
- exe = executable('gdbus-connection-flush', 'gdbus-connection-flush.c',
- 'test-io-stream.c', 'test-pipe-unix.c',
- install : false,
- c_args : test_c_args,
- dependencies : common_gio_tests_deps)
- test('gdbus-connection-flush', exe, env : test_env, suite : ['gio'])
-
- exe = executable('gdbus-non-socket', 'gdbus-non-socket.c',
- 'gdbus-tests.c', 'test-io-stream.c', 'test-pipe-unix.c',
- install : false,
- c_args : test_c_args,
- dependencies : common_gio_tests_deps)
- test('gdbus-non-socket', exe, env : test_env, suite : ['gio'])
+ gio_tests += [{
+ 'gdbus-connection-flush' : {
+ 'extra_sources' : ['test-io-stream.c', 'test-pipe-unix.c'],
+ },
+ 'gdbus-non-socket' : {
+ 'extra_sources' : ['gdbus-tests.c', 'test-io-stream.c', 'test-pipe-unix.c'],
+ },
+ }]
# Generate test.mo from de.po using msgfmt
msgfmt = find_program('msgfmt', required : false)
if msgfmt.found()
subdir('de/LC_MESSAGES')
- # gsettings target exe already exists in gio directory
- exe = executable('gsettings-test', 'gsettings.c', test_mo,
- install : false,
- c_args : test_c_args + [
- '-DSRCDIR="@0@"'.format(meson.current_source_dir()),
- '-DTEST_LOCALE_PATH="@0@"'.format(test_mo_dir),
- ],
- dependencies : common_gio_tests_deps)
- test('gsettings', exe, env : test_env, suite : ['gio'])
+ gio_tests += [{
+ 'gsettings' : {
+ 'extra_sources' : [test_mo],
+ 'c_args' : ['-DSRCDIR="@0@"'.format(meson.current_source_dir()),
+ '-DTEST_LOCALE_PATH="@0@"'.format(test_mo_dir)],
+ 'install' : false,
+ },
+ }]
endif
endif # unix
# Test programs buildable on Windows only
if host_machine.system() == 'windows'
- gio_tests += ['win32-streams']
+ gio_tests += [{'win32-streams' : {}}]
endif
if cc.get_id() != 'msvc'
- gio_tests += [ 'autoptr' ]
+ gio_tests += [{
+ 'autoptr-gio' : {
+ 'source' : 'autoptr.c',
+ },
+ }]
endif
-foreach test_name : gio_tests
- extra_deps = []
- srcs = ['@0@.c'.format(test_name)]
- # conflicts with glib/tests/autoptr, can't have two targets with same name
- if test_name == 'autoptr'
- test_name = 'autoptr-gio'
- elif test_name == 'defaultvalue'
- srcs += [giotypefuncs_inc]
- elif test_name == 'gdbus-peer'
- # This is peer to peer so it doesn't need a session bus, so we can run
- # it automatically as a test by default
- extra_deps = [libgdbus_example_objectmanager_dep]
- elif test_name == 'tls-certificate' or test_name == 'tls-interaction'
- srcs += ['gtesttlsbackend.c']
- endif
- exe = executable(test_name, srcs,
- install : false,
- c_args : test_c_args,
- dependencies : common_gio_tests_deps + extra_deps)
- # These tests may take more than 30 seconds to run on the CI infrastructure
- if slow_tests.contains(test_name)
- test(test_name, exe, env : test_env, timeout : 120, suite : ['gio', 'slow'])
- else
- test(test_name, exe, env : test_env, suite : ['gio'])
- endif
-endforeach
-
-uninstalled_test_extra_programs = [
- ['gio-du'],
- ['echo-server'],
- ['filter-cat'],
- ['gapplication-example-actions'],
- ['gapplication-example-cmdline'],
- ['gapplication-example-cmdline2'],
- ['gapplication-example-cmdline3'],
- ['gapplication-example-cmdline4'],
- ['gapplication-example-dbushooks'],
- ['gapplication-example-open'],
- ['gdbus-daemon', gdbus_daemon_sources],
- ['gdbus-example-export'],
- ['gdbus-example-own-name'],
- ['gdbus-example-peer'],
- ['gdbus-example-proxy-subclass'],
- ['gdbus-example-server'],
- ['gdbus-example-subtree'],
- ['gdbus-example-watch-name'],
- ['gdbus-example-watch-proxy'],
- ['gsubprocess-testprog'],
- ['httpd'],
- ['proxy'],
- ['resolver'],
- ['send-data'],
- ['socket-server'],
- ['socket-client', ['gtlsconsoleinteraction.c']],
+test_extra_programs += [{
+ 'gio-du' : {'install' : false},
+ 'echo-server' : {'install' : false},
+ 'filter-cat' : {'install' : false},
+ 'gapplication-example-actions' : {'install' : false},
+ 'gapplication-example-cmdline' : {'install' : false},
+ 'gapplication-example-cmdline2' : {'install' : false},
+ 'gapplication-example-cmdline3' : {'install' : false},
+ 'gapplication-example-cmdline4' : {'install' : false},
+ 'gapplication-example-dbushooks' : {'install' : false},
+ 'gapplication-example-open' : {'install' : false},
+ 'gdbus-daemon' : {
+ 'extra_sources' : gdbus_daemon_sources,
+ 'install' : false,
+ },
+ 'gdbus-example-export' : {'install' : false},
+ 'gdbus-example-own-name' : {'install' : false},
+ 'gdbus-example-peer' : {'install' : false},
+ 'gdbus-example-proxy-subclass' : {'install' : false},
+ 'gdbus-example-server' : {'install' : false},
+ 'gdbus-example-subtree' : {'install' : false},
+ 'gdbus-example-watch-name' : {'install' : false},
+ 'gdbus-example-watch-proxy' : {'install' : false},
+ 'gsubprocess-testprog' : {'install' : false},
+ 'httpd' : {'install' : false},
+ 'proxy' : {'install' : false},
+ 'resolver' : {'install' : false},
+ 'send-data' : {'install' : false},
+ 'socket-server' : {'install' : false},
+ 'socket-client' : {
+ 'extra_sources' : ['gtlsconsoleinteraction.c'],
+ 'install' : false,
+ },
# These three are manual-run tests because they need a session bus but don't bring one up themselves
# FIXME: these build but don't seem to work!
- ['gdbus-example-objectmanager-client', [], [libgdbus_example_objectmanager_dep]],
- ['gdbus-example-objectmanager-server', [], [libgdbus_example_objectmanager_dep]],
- ['gdbus-test-fixture', [], [libgdbus_example_objectmanager_dep]],
-]
+ 'gdbus-example-objectmanager-client' : {
+ 'dependencies' : [libgdbus_example_objectmanager_dep],
+ 'install' : false,
+ },
+ 'gdbus-example-objectmanager-server' : {
+ 'dependencies' : [libgdbus_example_objectmanager_dep],
+ 'install' : false,
+ },
+ 'gdbus-test-fixture' : {
+ 'dependencies' : [libgdbus_example_objectmanager_dep],
+ 'install' : false,
+ },
+}]
if host_machine.system() != 'windows'
- uninstalled_test_extra_programs += [['gdbus-example-unix-fd-client']]
+ test_extra_programs += [{
+ 'gdbus-example-unix-fd-client' : {
+ 'install' : false,
+ },
+ }]
endif
-foreach extra_program : uninstalled_test_extra_programs + test_extra_programs
- srcs = ['@0@.c'.format(extra_program[0])]
- if extra_program.length() > 1
- srcs += extra_program[1]
- endif
- extra_deps = []
- if extra_program.length() > 2
- extra_deps = extra_program[2]
- endif
- executable(extra_program[0], srcs,
- install : false,
- c_args : test_c_args,
- dependencies : common_gio_tests_deps + extra_deps)
-endforeach
-
if not meson.is_cross_build() or meson.has_exe_wrapper()
plugin_resources_c = custom_target('plugin-resources.c',
@@ -441,13 +412,58 @@
copy : true,
install : false)
- exe = executable('resources', 'resources.c', test_gresource,
- test_resources_c, test_resources2_c, test_resources2_h,
- install : false,
- c_args : test_c_args,
- dependencies : common_gio_tests_deps)
- test('resources', exe, env : test_env, suite : ['gio'])
+ gio_tests += [{
+ 'resources' : {
+ 'extra_sources' : [test_gresource, test_resources_c, test_resources2_c,
+ test_resources2_h],
+ },
+ }]
endif
+foreach test_dict : gio_tests
+ foreach test_name, extra_args : test_dict
+ source = extra_args.get('source', test_name + '.c')
+ extra_sources = extra_args.get('extra_sources', [])
+ install = installed_tests_enabled and extra_args.get('install', true)
+
+ if install
+ test_conf = configuration_data()
+ test_conf.set('installed_tests_dir', installed_tests_execdir)
+ test_conf.set('program', test_name)
+ configure_file(
+ input: installed_tests_template,
+ output: test_name + '.test',
+ install_dir: installed_tests_metadir,
+ configuration: test_conf
+ )
+ endif
+
+ exe = executable(test_name, [source, extra_sources],
+ c_args : test_c_args + extra_args.get('c_args', []),
+ dependencies : common_gio_tests_deps + extra_args.get('dependencies', []),
+ install_dir: installed_tests_execdir,
+ install: install,
+ )
+
+ suite = ['gio'] + extra_args.get('suite', [])
+ timeout = suite.contains('slow') ? 120 : 30
+ test(test_name, exe, env : test_env, timeout : timeout, suite : suite)
+ endforeach
+endforeach
+
+foreach program_dict : test_extra_programs
+ foreach program_name, extra_args : program_dict
+ source = extra_args.get('source', program_name + '.c')
+ extra_sources = extra_args.get('extra_sources', [])
+ install = installed_tests_enabled and extra_args.get('install', true)
+ executable(program_name, [source, extra_sources],
+ c_args : test_c_args,
+ dependencies : common_gio_tests_deps + extra_args.get('dependencies', []),
+ install_dir : installed_tests_execdir,
+ install : install,
+ )
+ endforeach
+endforeach
+
# FIXME: subdir('services')
subdir('modules')
diff --git a/gio/tests/resources.c b/gio/tests/resources.c
index 6ae8e7d..70d8c03 100644
--- a/gio/tests/resources.c
+++ b/gio/tests/resources.c
@@ -317,6 +317,45 @@
g_resource_unref (resource);
}
+/* Test error handling for corrupt GResource files (specifically, a corrupt
+ * GVDB header). */
+static void
+test_resource_data_corrupt (void)
+{
+ /* A GVDB header is 6 guint32s, and requires a magic number in the first two
+ * guint32s. A set of zero bytes of a greater length is considered corrupt. */
+ static const guint8 data[sizeof (guint32) * 7] = { 0, };
+ GBytes *bytes = NULL;
+ GResource *resource = NULL;
+ GError *local_error = NULL;
+
+ bytes = g_bytes_new_static (data, sizeof (data));
+ resource = g_resource_new_from_data (bytes, &local_error);
+ g_bytes_unref (bytes);
+ g_assert_error (local_error, G_RESOURCE_ERROR, G_RESOURCE_ERROR_INTERNAL);
+ g_assert_null (resource);
+
+ g_clear_error (&local_error);
+}
+
+/* Test handling for empty GResource files. They should also be treated as
+ * corrupt. */
+static void
+test_resource_data_empty (void)
+{
+ GBytes *bytes = NULL;
+ GResource *resource = NULL;
+ GError *local_error = NULL;
+
+ bytes = g_bytes_new_static (NULL, 0);
+ resource = g_resource_new_from_data (bytes, &local_error);
+ g_bytes_unref (bytes);
+ g_assert_error (local_error, G_RESOURCE_ERROR, G_RESOURCE_ERROR_INTERNAL);
+ g_assert_null (resource);
+
+ g_clear_error (&local_error);
+}
+
static void
test_resource_registered (void)
{
@@ -785,6 +824,8 @@
g_test_add_func ("/resource/file-path", test_resource_file_path);
g_test_add_func ("/resource/data", test_resource_data);
g_test_add_func ("/resource/data_unaligned", test_resource_data_unaligned);
+ g_test_add_func ("/resource/data-corrupt", test_resource_data_corrupt);
+ g_test_add_func ("/resource/data-empty", test_resource_data_empty);
g_test_add_func ("/resource/registered", test_resource_registered);
g_test_add_func ("/resource/manual", test_resource_manual);
g_test_add_func ("/resource/manual2", test_resource_manual2);
diff --git a/gio/tests/trash.c b/gio/tests/trash.c
index 2abe0aa..176c4b9 100644
--- a/gio/tests/trash.c
+++ b/gio/tests/trash.c
@@ -35,23 +35,26 @@
GFileInfo *info;
GError *error = NULL;
gboolean ret;
- GStatBuf file_stat, home_stat;
+ gchar *parent_dirname;
+ GStatBuf parent_stat, home_stat;
/* The test assumes that tmp file is located on system internal mount. */
file = g_file_new_tmp ("test-trashXXXXXX", &stream, &error);
+ parent_dirname = g_path_get_dirname (g_file_peek_path (file));
g_assert_no_error (error);
- g_assert_cmpint (g_lstat (g_file_peek_path (file), &file_stat), ==, 0);
- g_test_message ("File: %s (dev: %" G_GUINT64_FORMAT ")",
- g_file_peek_path (file), (guint64) file_stat.st_dev);
+ g_assert_cmpint (g_stat (parent_dirname, &parent_stat), ==, 0);
+ g_test_message ("File: %s (parent st_dev: %" G_GUINT64_FORMAT ")",
+ g_file_peek_path (file), (guint64) parent_stat.st_dev);
g_assert_cmpint (g_stat (g_get_home_dir (), &home_stat), ==, 0);
- g_test_message ("Home: %s (dev: %" G_GUINT64_FORMAT ")",
+ g_test_message ("Home: %s (st_dev: %" G_GUINT64_FORMAT ")",
g_get_home_dir (), (guint64) home_stat.st_dev);
- if (file_stat.st_dev == home_stat.st_dev)
+ if (parent_stat.st_dev == home_stat.st_dev)
{
g_test_skip ("The file has to be on another filesystem than the home trash to run this test");
+ g_free (parent_dirname);
g_object_unref (stream);
g_object_unref (file);
@@ -85,6 +88,7 @@
g_io_stream_close (G_IO_STREAM (stream), NULL, &error);
g_assert_no_error (error);
+ g_free (parent_dirname);
g_object_unref (info);
g_object_unref (stream);
g_object_unref (file);
diff --git a/glib/gbookmarkfile.c b/glib/gbookmarkfile.c
index 3f0275f..31706ba 100644
--- a/glib/gbookmarkfile.c
+++ b/glib/gbookmarkfile.c
@@ -863,7 +863,8 @@
item->metadata->applications = g_list_prepend (item->metadata->applications, ai);
g_hash_table_replace (item->metadata->apps_by_name, ai->name, ai);
}
-
+
+ g_free (ai->exec);
ai->exec = g_strdup (exec);
if (count)
diff --git a/glib/gbytes.c b/glib/gbytes.c
index 74f8148..7b72886 100644
--- a/glib/gbytes.c
+++ b/glib/gbytes.c
@@ -403,10 +403,18 @@
*
* Compares the two #GBytes values.
*
- * This function can be used to sort GBytes instances in lexographical order.
+ * This function can be used to sort GBytes instances in lexicographical order.
*
- * Returns: a negative value if bytes2 is lesser, a positive value if bytes2 is
- * greater, and zero if bytes2 is equal to bytes1
+ * If @bytes1 and @bytes2 have different length but the shorter one is a
+ * prefix of the longer one then the shorter one is considered to be less than
+ * the longer one. Otherwise the first byte where both differ is used for
+ * comparison. If @bytes1 has a smaller value at that position it is
+ * considered less, otherwise greater than @bytes2.
+ *
+ * Returns: a negative value if @bytes1 is less than @bytes2, a positive value
+ * if @bytes1 is greater than @bytes2, and zero if @bytes1 is equal to
+ * @bytes2
+ *
*
* Since: 2.32
*/
diff --git a/glib/gspawn.c b/glib/gspawn.c
index 1ab3307..e273e2a 100644
--- a/glib/gspawn.c
+++ b/glib/gspawn.c
@@ -81,6 +81,12 @@
extern char **environ;
#endif
+#ifndef O_CLOEXEC
+#define O_CLOEXEC 0
+#else
+#define HAVE_O_CLOEXEC 1
+#endif
+
/**
* SECTION:spawn
* @Short_description: process launching
@@ -1454,6 +1460,10 @@
g_assert (read_null != -1);
parent_close_fds[num_parent_close_fds++] = read_null;
+#ifndef HAVE_O_CLOEXEC
+ fcntl (read_null, F_SETFD, FD_CLOEXEC);
+#endif
+
r = posix_spawn_file_actions_adddup2 (&file_actions, read_null, 0);
if (r != 0)
goto out_close_fds;
@@ -1474,6 +1484,10 @@
g_assert (write_null != -1);
parent_close_fds[num_parent_close_fds++] = write_null;
+#ifndef HAVE_O_CLOEXEC
+ fcntl (read_null, F_SETFD, FD_CLOEXEC);
+#endif
+
r = posix_spawn_file_actions_adddup2 (&file_actions, write_null, 1);
if (r != 0)
goto out_close_fds;
@@ -1494,6 +1508,10 @@
g_assert (write_null != -1);
parent_close_fds[num_parent_close_fds++] = write_null;
+#ifndef HAVE_O_CLOEXEC
+ fcntl (read_null, F_SETFD, FD_CLOEXEC);
+#endif
+
r = posix_spawn_file_actions_adddup2 (&file_actions, write_null, 2);
if (r != 0)
goto out_close_fds;
diff --git a/glib/gtestutils.c b/glib/gtestutils.c
index da6c733..7b29c27 100644
--- a/glib/gtestutils.c
+++ b/glib/gtestutils.c
@@ -959,7 +959,20 @@
fail = result == G_TEST_RUN_FAILURE;
if (test_tap_log)
{
- g_print ("%s %d %s", fail ? "not ok" : "ok", test_run_count, string1);
+ const gchar *ok;
+
+ /* The TAP representation for an expected failure starts with
+ * "not ok", even though it does not actually count as failing
+ * due to the use of the TODO directive. "ok # TODO" would mean
+ * a test that was expected to fail unexpectedly succeeded,
+ * for which GTestResult does not currently have a
+ * representation. */
+ if (fail || result == G_TEST_RUN_INCOMPLETE)
+ ok = "not ok";
+ else
+ ok = "ok";
+
+ g_print ("%s %d %s", ok, test_run_count, string1);
if (result == G_TEST_RUN_INCOMPLETE)
g_print (" # TODO %s\n", string2 ? string2 : "");
else if (result == G_TEST_RUN_SKIPPED)
@@ -977,7 +990,7 @@
g_print ("Bail out!\n");
g_abort ();
}
- if (result == G_TEST_RUN_SKIPPED)
+ if (result == G_TEST_RUN_SKIPPED || result == G_TEST_RUN_INCOMPLETE)
test_skipped_count++;
break;
case G_TEST_LOG_MIN_RESULT:
@@ -1271,6 +1284,12 @@
*
* - `--debug-log`: Debug test logging output.
*
+ * Since 2.58, if tests are compiled with `G_DISABLE_ASSERT` defined,
+ * g_test_init() will print an error and exit. This is to prevent no-op tests
+ * from being executed, as g_assert() is commonly (erroneously) used in unit
+ * tests, and is a no-op when compiled with `G_DISABLE_ASSERT`. Ensure your
+ * tests are compiled without `G_DISABLE_ASSERT` defined.
+ *
* Since: 2.16
*/
void
@@ -1720,11 +1739,13 @@
* particular code runs before or after a given test case, use
* g_test_add(), which lets you specify setup and teardown functions.
*
- * If all tests are skipped, this function will return 0 if
- * producing TAP output, or 77 (treated as "skip test" by Automake) otherwise.
+ * If all tests are skipped or marked as incomplete (expected failures),
+ * this function will return 0 if producing TAP output, or 77 (treated
+ * as "skip test" by Automake) otherwise.
*
* Returns: 0 on success, 1 on failure (assuming it returns at all),
- * 0 or 77 if all tests were skipped with g_test_skip()
+ * 0 or 77 if all tests were skipped with g_test_skip() and/or
+ * g_test_incomplete()
*
* Since: 2.16
*/
@@ -2325,7 +2346,8 @@
test_uri_base = old_base;
return (success == G_TEST_RUN_SUCCESS ||
- success == G_TEST_RUN_SKIPPED);
+ success == G_TEST_RUN_SKIPPED ||
+ success == G_TEST_RUN_INCOMPLETE);
}
static gboolean
diff --git a/glib/gtimer.c b/glib/gtimer.c
index e95ac0e..2012255 100644
--- a/glib/gtimer.c
+++ b/glib/gtimer.c
@@ -345,6 +345,8 @@
* zone indicator. (In the absence of any time zone indication, the
* timestamp is assumed to be in local time.)
*
+ * Any leading or trailing space in @iso_date is ignored.
+ *
* Returns: %TRUE if the conversion was successful.
*
* Since: 2.12
@@ -355,6 +357,8 @@
{
struct tm tm = {0};
long val;
+ long mday, mon, year;
+ long hour, min, sec;
g_return_val_if_fail (iso_date != NULL, FALSE);
g_return_val_if_fail (time_ != NULL, FALSE);
@@ -368,30 +372,42 @@
if (*iso_date == '\0')
return FALSE;
- if (!g_ascii_isdigit (*iso_date) && *iso_date != '-' && *iso_date != '+')
+ if (!g_ascii_isdigit (*iso_date) && *iso_date != '+')
return FALSE;
val = strtoul (iso_date, (char **)&iso_date, 10);
if (*iso_date == '-')
{
/* YYYY-MM-DD */
- tm.tm_year = val - 1900;
+ year = val;
iso_date++;
- tm.tm_mon = strtoul (iso_date, (char **)&iso_date, 10) - 1;
-
+
+ mon = strtoul (iso_date, (char **)&iso_date, 10);
if (*iso_date++ != '-')
return FALSE;
- tm.tm_mday = strtoul (iso_date, (char **)&iso_date, 10);
+ mday = strtoul (iso_date, (char **)&iso_date, 10);
}
else
{
/* YYYYMMDD */
- tm.tm_mday = val % 100;
- tm.tm_mon = (val % 10000) / 100 - 1;
- tm.tm_year = val / 10000 - 1900;
+ mday = val % 100;
+ mon = (val % 10000) / 100;
+ year = val / 10000;
}
+ /* Validation. */
+ if (year < 1900 || year > G_MAXINT)
+ return FALSE;
+ if (mon < 1 || mon > 12)
+ return FALSE;
+ if (mday < 1 || mday > 31)
+ return FALSE;
+
+ tm.tm_mday = mday;
+ tm.tm_mon = mon - 1;
+ tm.tm_year = year - 1900;
+
if (*iso_date != 'T')
return FALSE;
@@ -405,34 +421,50 @@
if (*iso_date == ':')
{
/* hh:mm:ss */
- tm.tm_hour = val;
+ hour = val;
iso_date++;
- tm.tm_min = strtoul (iso_date, (char **)&iso_date, 10);
+ min = strtoul (iso_date, (char **)&iso_date, 10);
if (*iso_date++ != ':')
return FALSE;
- tm.tm_sec = strtoul (iso_date, (char **)&iso_date, 10);
+ sec = strtoul (iso_date, (char **)&iso_date, 10);
}
else
{
/* hhmmss */
- tm.tm_sec = val % 100;
- tm.tm_min = (val % 10000) / 100;
- tm.tm_hour = val / 10000;
+ sec = val % 100;
+ min = (val % 10000) / 100;
+ hour = val / 10000;
}
+ /* Validation. Allow up to 2 leap seconds when validating @sec. */
+ if (hour > 23)
+ return FALSE;
+ if (min > 59)
+ return FALSE;
+ if (sec > 61)
+ return FALSE;
+
+ tm.tm_hour = hour;
+ tm.tm_min = min;
+ tm.tm_sec = sec;
+
time_->tv_usec = 0;
if (*iso_date == ',' || *iso_date == '.')
{
glong mul = 100000;
- while (g_ascii_isdigit (*++iso_date))
+ while (mul >= 1 && g_ascii_isdigit (*++iso_date))
{
time_->tv_usec += (*iso_date - '0') * mul;
mul /= 10;
}
+
+ /* Skip any remaining digits after we’ve reached our limit of precision. */
+ while (g_ascii_isdigit (*iso_date))
+ iso_date++;
}
/* Now parse the offset and convert tm to a time_t */
@@ -448,11 +480,24 @@
val = strtoul (iso_date + 1, (char **)&iso_date, 10);
if (*iso_date == ':')
- val = 60 * val + strtoul (iso_date + 1, (char **)&iso_date, 10);
+ {
+ /* hh:mm */
+ hour = val;
+ min = strtoul (iso_date + 1, (char **)&iso_date, 10);
+ }
else
- val = 60 * (val / 100) + (val % 100);
+ {
+ /* hhmm */
+ hour = val / 100;
+ min = val % 100;
+ }
- time_->tv_sec = mktime_utc (&tm) + (time_t) (60 * val * sign);
+ if (hour > 99)
+ return FALSE;
+ if (min > 59)
+ return FALSE;
+
+ time_->tv_sec = mktime_utc (&tm) + (time_t) (60 * (gint64) (60 * hour + min) * sign);
}
else
{
diff --git a/glib/gvariant-parser.c b/glib/gvariant-parser.c
index 3261bc1..233a19f 100644
--- a/glib/gvariant-parser.c
+++ b/glib/gvariant-parser.c
@@ -260,6 +260,9 @@
stream->this = stream->stream;
stream->stream = end;
+ /* We must have at least one byte in a token. */
+ g_assert (stream->stream - stream->this >= 1);
+
return TRUE;
}
@@ -276,7 +279,8 @@
if (!token_stream_prepare (stream))
return FALSE;
- return stream->this[0] == first_char;
+ return stream->stream - stream->this >= 1 &&
+ stream->this[0] == first_char;
}
static gboolean
@@ -287,7 +291,8 @@
if (!token_stream_prepare (stream))
return FALSE;
- return stream->this[0] == first_char &&
+ return stream->stream - stream->this >= 2 &&
+ stream->this[0] == first_char &&
stream->this[1] == second_char;
}
@@ -297,7 +302,8 @@
if (!token_stream_prepare (stream))
return FALSE;
- return g_ascii_isalpha (stream->this[0]) &&
+ return stream->stream - stream->this >= 2 &&
+ g_ascii_isalpha (stream->this[0]) &&
g_ascii_isalpha (stream->this[1]);
}
@@ -307,10 +313,11 @@
if (!token_stream_prepare (stream))
return FALSE;
- return (g_ascii_isdigit (stream->this[0]) ||
- stream->this[0] == '-' ||
- stream->this[0] == '+' ||
- stream->this[0] == '.');
+ return (stream->stream - stream->this >= 1 &&
+ (g_ascii_isdigit (stream->this[0]) ||
+ stream->this[0] == '-' ||
+ stream->this[0] == '+' ||
+ stream->this[0] == '.'));
}
static gboolean
diff --git a/glib/tests/Makefile.am b/glib/tests/Makefile.am
index 172d166..b29b684 100644
--- a/glib/tests/Makefile.am
+++ b/glib/tests/Makefile.am
@@ -38,6 +38,7 @@
test_extra_programs = \
test-spawn-echo \
+ testing-helper \
$(NULL)
test_programs = \
@@ -165,6 +166,8 @@
bookmarks/fail-37.xbel \
bookmarks/fail-38.xbel \
bookmarks/fail-39.xbel \
+ bookmarks/fail-40.xbel \
+ bookmarks/fail-41.xbel \
bookmarks/valid-01.xbel \
bookmarks/valid-02.xbel \
bookmarks/valid-03.xbel \
diff --git a/glib/tests/atomic.c b/glib/tests/atomic.c
index 2aafe86..84c13fb 100644
--- a/glib/tests/atomic.c
+++ b/glib/tests/atomic.c
@@ -92,7 +92,8 @@
g_assert (ip == 0);
g_atomic_pointer_set (&gs, 0);
- gs2 = (gsize) g_atomic_pointer_get (&gs);
+ vp2 = g_atomic_pointer_get (&gs);
+ gs2 = (gsize) vp2;
g_assert (gs2 == 0);
res = g_atomic_pointer_compare_and_exchange (&gs, 0, 0);
g_assert (res);
diff --git a/glib/tests/bookmarks/fail-40.xbel b/glib/tests/bookmarks/fail-40.xbel
new file mode 100644
index 0000000..9ce48a8
--- /dev/null
+++ b/glib/tests/bookmarks/fail-40.xbel
@@ -0,0 +1 @@
+<xbel version="1.0"><bookmark href=""><info><metadata owner="http://freedesktop.org"><applications><application name=""exec=""/><application name=""exec=""/
\ No newline at end of file
diff --git a/glib/tests/bookmarks/fail-41.xbel b/glib/tests/bookmarks/fail-41.xbel
new file mode 100644
index 0000000..8ac0c56
--- /dev/null
+++ b/glib/tests/bookmarks/fail-41.xbel
@@ -0,0 +1 @@
+<xbel version="1.0"><bookmark href=""added="2T0+819855292164632335">
diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c
index c6837fc..a028f6d 100644
--- a/glib/tests/gdatetime.c
+++ b/glib/tests/gdatetime.c
@@ -2131,13 +2131,15 @@
GTimeZone *tz;
GDateTime *gdt1, *gdt2;
- tz = g_time_zone_new ("PST");
+ /* Check that an unknown zone name falls back to UTC. */
+ tz = g_time_zone_new ("nonexistent");
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "UTC");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "UTC");
g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, 0);
g_assert (!g_time_zone_is_dst (tz, 0));
g_time_zone_unref (tz);
+ /* An existent zone name should not fall back to UTC. */
tz = g_time_zone_new ("PST8");
g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "PST8");
g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "PST");
diff --git a/glib/tests/gvariant.c b/glib/tests/gvariant.c
index fdaed1a..5aac3de 100644
--- a/glib/tests/gvariant.c
+++ b/glib/tests/gvariant.c
@@ -3889,27 +3889,48 @@
"boolean 4", "8-9:", "can not parse as",
"int32 true", "6-10:", "can not parse as",
"[double 5, int32 5]", "1-9,11-18:", "common type",
- "string 4", "7-8:", "can not parse as"
+ "string 4", "7-8:", "can not parse as",
+ "\x0a", "1:", "expected value",
+ "((", "2:", "expected value",
};
gint i;
for (i = 0; i < G_N_ELEMENTS (test); i += 3)
{
- GError *error = NULL;
+ GError *error1 = NULL, *error2 = NULL;
GVariant *value;
- value = g_variant_parse (NULL, test[i], NULL, NULL, &error);
- g_assert (value == NULL);
+ /* Copy the test string and drop its nul terminator, then use the @limit
+ * parameter of g_variant_parse() to set the length. This allows valgrind
+ * to catch 1-byte heap buffer overflows. */
+ gsize test_len = MAX (strlen (test[i]), 1);
+ gchar *test_blob = g_malloc0 (test_len); /* no nul terminator */
- if (!strstr (error->message, test[i+2]))
+ memcpy (test_blob, test[i], test_len);
+ value = g_variant_parse (NULL, test_blob, test_blob + test_len, NULL, &error1);
+ g_assert_null (value);
+
+ g_free (test_blob);
+
+ if (!strstr (error1->message, test[i+2]))
g_error ("test %d: Can't find '%s' in '%s'", i / 3,
- test[i+2], error->message);
+ test[i+2], error1->message);
- if (!g_str_has_prefix (error->message, test[i+1]))
+ if (!g_str_has_prefix (error1->message, test[i+1]))
g_error ("test %d: Expected location '%s' in '%s'", i / 3,
- test[i+1], error->message);
+ test[i+1], error1->message);
- g_error_free (error);
+ /* Test again with the nul terminator this time. The behaviour should be
+ * the same. */
+ value = g_variant_parse (NULL, test[i], NULL, NULL, &error2);
+ g_assert_null (value);
+
+ g_assert_cmpint (error1->domain, ==, error2->domain);
+ g_assert_cmpint (error1->code, ==, error2->code);
+ g_assert_cmpstr (error1->message, ==, error2->message);
+
+ g_clear_error (&error1);
+ g_clear_error (&error2);
}
}
diff --git a/glib/tests/meson.build b/glib/tests/meson.build
index f5c0fbe..0af71b0 100644
--- a/glib/tests/meson.build
+++ b/glib/tests/meson.build
@@ -183,6 +183,13 @@
install: installed_tests_enabled,
)
+executable('testing-helper', 'testing-helper.c',
+ c_args : test_cargs,
+ dependencies : test_deps,
+ install_dir: installed_tests_execdir,
+ install: installed_tests_enabled,
+)
+
# some testing of gtester functionality
if not meson.is_cross_build() and host_system != 'windows'
xmllint = find_program('xmllint', required: false)
diff --git a/glib/tests/testing-helper.c b/glib/tests/testing-helper.c
new file mode 100644
index 0000000..43127e8
--- /dev/null
+++ b/glib/tests/testing-helper.c
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2018 Collabora Ltd.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+#include <glib.h>
+
+static void
+test_pass (void)
+{
+}
+
+static void
+test_skip (void)
+{
+ g_test_skip ("not enough tea");
+}
+
+static void
+test_fail (void)
+{
+ g_test_fail ();
+}
+
+static void
+test_incomplete (void)
+{
+ g_test_incomplete ("mind reading not implemented yet");
+}
+
+int
+main (int argc,
+ char *argv[])
+{
+ char *argv1;
+
+ g_return_val_if_fail (argc > 1, 1);
+ argv1 = argv[1];
+
+ if (argc > 2)
+ memmove (&argv[1], &argv[2], (argc - 2) * sizeof (char *));
+
+ argc -= 1;
+ argv[argc] = NULL;
+
+ g_test_init (&argc, &argv, NULL);
+ g_test_set_nonfatal_assertions ();
+
+ if (g_strcmp0 (argv1, "pass") == 0)
+ {
+ g_test_add_func ("/pass", test_pass);
+ }
+ else if (g_strcmp0 (argv1, "skip") == 0)
+ {
+ g_test_add_func ("/skip", test_skip);
+ }
+ else if (g_strcmp0 (argv1, "incomplete") == 0)
+ {
+ g_test_add_func ("/incomplete", test_incomplete);
+ }
+ else if (g_strcmp0 (argv1, "fail") == 0)
+ {
+ g_test_add_func ("/fail", test_fail);
+ }
+ else if (g_strcmp0 (argv1, "all-non-failures") == 0)
+ {
+ g_test_add_func ("/pass", test_pass);
+ g_test_add_func ("/skip", test_skip);
+ g_test_add_func ("/incomplete", test_incomplete);
+ }
+ else if (g_strcmp0 (argv1, "all") == 0)
+ {
+ g_test_add_func ("/pass", test_pass);
+ g_test_add_func ("/skip", test_skip);
+ g_test_add_func ("/incomplete", test_incomplete);
+ g_test_add_func ("/fail", test_fail);
+ }
+ else
+ {
+ g_assert_not_reached ();
+ }
+
+ return g_test_run ();
+}
diff --git a/glib/tests/testing.c b/glib/tests/testing.c
index de95f26..716516e 100644
--- a/glib/tests/testing.c
+++ b/glib/tests/testing.c
@@ -20,6 +20,8 @@
* if advised of the possibility of such damage.
*/
+#include "config.h"
+
/* We want to distinguish between messages originating from libglib
* and messages originating from this program.
*/
@@ -78,6 +80,7 @@
g_assert_cmpfloat_with_epsilon (3.14, 3.15, 0.01);
g_assert_cmpfloat_with_epsilon (3.14159, 3.1416, 0.0001);
g_assert (TRUE);
+ g_assert_true (TRUE);
g_assert_cmpstr ("foo", !=, "faa");
fuu = g_strdup_printf ("f%s", "uu");
g_test_queue_free (fuu);
@@ -170,7 +173,7 @@
g_usleep (1000 * 1000);
}
g_test_trap_assert_failed();
- g_assert (g_test_trap_reached_timeout());
+ g_assert_true (g_test_trap_reached_timeout());
}
G_GNUC_END_IGNORE_DEPRECATIONS
@@ -233,7 +236,7 @@
/* allow child to run for only a fraction of a second */
g_test_trap_subprocess (NULL, 0.11 * 1000000, 0);
g_test_trap_assert_failed ();
- g_assert (g_test_trap_reached_timeout ());
+ g_assert_true (g_test_trap_reached_timeout ());
}
/* run a test with fixture setup and teardown */
@@ -246,7 +249,7 @@
fixturetest_setup (Fixturetest *fix,
gconstpointer test_data)
{
- g_assert (test_data == (void*) 0xc0cac01a);
+ g_assert_true (test_data == (void*) 0xc0cac01a);
fix->seed = 18;
fix->prime = 19;
fix->msg = g_strdup_printf ("%d", fix->prime);
@@ -259,13 +262,13 @@
g_assert_cmpint (prime, ==, fix->prime);
prime = g_ascii_strtoull (fix->msg, NULL, 0);
g_assert_cmpint (prime, ==, fix->prime);
- g_assert (test_data == (void*) 0xc0cac01a);
+ g_assert_true (test_data == (void*) 0xc0cac01a);
}
static void
fixturetest_teardown (Fixturetest *fix,
gconstpointer test_data)
{
- g_assert (test_data == (void*) 0xc0cac01a);
+ g_assert_true (test_data == (void*) 0xc0cac01a);
g_free (fix->msg);
}
@@ -308,7 +311,7 @@
static void
test_data_test (gconstpointer test_data)
{
- g_assert (test_data == (void*) 0xc0c0baba);
+ g_assert_true (test_data == (void*) 0xc0c0baba);
}
static void
@@ -319,7 +322,7 @@
char *err, *str = g_strdup_printf ("%d", vint);
gint64 vint64 = g_ascii_strtoll (str, &err, 10);
g_assert_cmphex (vint, ==, vint64);
- g_assert (!err || *err == 0);
+ g_assert_true (!err || *err == 0);
g_free (str);
}
@@ -622,6 +625,10 @@
test_skip (void)
{
g_test_skip ("Skipped should count as passed, not failed");
+ /* This function really means "the test concluded with a non-successful
+ * status" rather than "the test failed": it is documented to return
+ * true for skipped and incomplete tests, not just for failures. */
+ g_assert_true (g_test_failed ());
}
static void
@@ -630,12 +637,21 @@
}
static void
+subprocess_fail (void)
+{
+ /* Exit 1 instead of raising SIGABRT so that we can make assertions about
+ * how this combines with skipped/incomplete tests */
+ g_test_set_nonfatal_assertions ();
+ g_test_fail ();
+ g_assert_true (g_test_failed ());
+}
+
+static void
test_fail (void)
{
if (g_test_subprocess ())
{
- g_test_fail ();
- g_assert (g_test_failed ());
+ subprocess_fail ();
return;
}
g_test_trap_subprocess (NULL, 0, 0);
@@ -643,15 +659,29 @@
}
static void
+subprocess_incomplete (void)
+{
+ g_test_incomplete ("not done");
+ /* This function really means "the test concluded with a non-successful
+ * status" rather than "the test failed": it is documented to return
+ * true for skipped and incomplete tests, not just for failures. */
+ g_assert_true (g_test_failed ());
+}
+
+static void
test_incomplete (void)
{
if (g_test_subprocess ())
{
- g_test_incomplete ("not done");
- g_assert (g_test_failed ());
+ subprocess_incomplete ();
return;
}
g_test_trap_subprocess (NULL, 0, 0);
+ /* An incomplete test represents functionality that is known not to be
+ * implemented yet (an expected failure), so it does not cause test
+ * failure; but it does count as the test having been skipped, which
+ * causes nonzero exit status 77, which is treated as failure by
+ * g_test_trap_subprocess(). */
g_test_trap_assert_failed ();
}
@@ -664,18 +694,19 @@
return;
}
g_test_trap_subprocess (NULL, 50000, 0);
- g_assert (g_test_trap_reached_timeout ());
+ g_assert_true (g_test_trap_reached_timeout ());
}
static const char *argv0;
static void
-test_skip_all (void)
+test_combining (void)
{
GPtrArray *argv;
GError *error = NULL;
int status;
+ g_test_message ("single test case skipped -> overall status 77");
argv = g_ptr_array_new ();
g_ptr_array_add (argv, (char *) argv0);
g_ptr_array_add (argv, "--GTestSubprocess");
@@ -693,15 +724,16 @@
g_assert_error (error, G_SPAWN_EXIT_ERROR, 77);
g_clear_error (&error);
+ g_test_message ("each test case skipped -> overall status 77");
g_ptr_array_set_size (argv, 0);
g_ptr_array_add (argv, (char *) argv0);
g_ptr_array_add (argv, "--GTestSubprocess");
g_ptr_array_add (argv, "-p");
g_ptr_array_add (argv, "/misc/skip");
g_ptr_array_add (argv, "-p");
- g_ptr_array_add (argv, "/misc/skip-all/subprocess/skip1");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/skip1");
g_ptr_array_add (argv, "-p");
- g_ptr_array_add (argv, "/misc/skip-all/subprocess/skip2");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/skip2");
g_ptr_array_add (argv, NULL);
g_spawn_sync (NULL, (char **) argv->pdata, NULL,
@@ -714,15 +746,260 @@
g_assert_error (error, G_SPAWN_EXIT_ERROR, 77);
g_clear_error (&error);
+ g_test_message ("single test case incomplete -> overall status 77");
+ g_ptr_array_set_size (argv, 0);
+ g_ptr_array_add (argv, (char *) argv0);
+ g_ptr_array_add (argv, "--GTestSubprocess");
+ g_ptr_array_add (argv, "-p");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/incomplete");
+ g_ptr_array_add (argv, NULL);
+
+ g_spawn_sync (NULL, (char **) argv->pdata, NULL,
+ G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL,
+ NULL, NULL, NULL, NULL, &status,
+ &error);
+ g_assert_no_error (error);
+
+ g_spawn_check_exit_status (status, &error);
+ g_assert_error (error, G_SPAWN_EXIT_ERROR, 77);
+ g_clear_error (&error);
+
+ g_test_message ("one pass and some skipped -> overall status 0");
g_ptr_array_set_size (argv, 0);
g_ptr_array_add (argv, (char *) argv0);
g_ptr_array_add (argv, "--GTestSubprocess");
g_ptr_array_add (argv, "-p");
g_ptr_array_add (argv, "/misc/skip");
g_ptr_array_add (argv, "-p");
- g_ptr_array_add (argv, "/misc/skip-all/subprocess/pass");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/pass");
g_ptr_array_add (argv, "-p");
- g_ptr_array_add (argv, "/misc/skip-all/subprocess/skip1");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/skip1");
+ g_ptr_array_add (argv, NULL);
+
+ g_spawn_sync (NULL, (char **) argv->pdata, NULL,
+ G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL,
+ NULL, NULL, NULL, NULL, &status,
+ &error);
+ g_assert_no_error (error);
+
+ g_spawn_check_exit_status (status, &error);
+ g_assert_no_error (error);
+
+ g_test_message ("one pass and some incomplete -> overall status 0");
+ g_ptr_array_set_size (argv, 0);
+ g_ptr_array_add (argv, (char *) argv0);
+ g_ptr_array_add (argv, "--GTestSubprocess");
+ g_ptr_array_add (argv, "-p");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/pass");
+ g_ptr_array_add (argv, "-p");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/incomplete");
+ g_ptr_array_add (argv, NULL);
+
+ g_spawn_sync (NULL, (char **) argv->pdata, NULL,
+ G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL,
+ NULL, NULL, NULL, NULL, &status,
+ &error);
+ g_assert_no_error (error);
+
+ g_spawn_check_exit_status (status, &error);
+ g_assert_no_error (error);
+
+ g_test_message ("one pass and mix of skipped and incomplete -> overall status 0");
+ g_ptr_array_set_size (argv, 0);
+ g_ptr_array_add (argv, (char *) argv0);
+ g_ptr_array_add (argv, "--GTestSubprocess");
+ g_ptr_array_add (argv, "-p");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/pass");
+ g_ptr_array_add (argv, "-p");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/skip1");
+ g_ptr_array_add (argv, "-p");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/incomplete");
+ g_ptr_array_add (argv, NULL);
+
+ g_spawn_sync (NULL, (char **) argv->pdata, NULL,
+ G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL,
+ NULL, NULL, NULL, NULL, &status,
+ &error);
+ g_assert_no_error (error);
+
+ g_spawn_check_exit_status (status, &error);
+ g_assert_no_error (error);
+
+ g_test_message ("one fail and some skipped -> overall status fail");
+ g_ptr_array_set_size (argv, 0);
+ g_ptr_array_add (argv, (char *) argv0);
+ g_ptr_array_add (argv, "--GTestSubprocess");
+ g_ptr_array_add (argv, "-p");
+ g_ptr_array_add (argv, "/misc/skip");
+ g_ptr_array_add (argv, "-p");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/fail");
+ g_ptr_array_add (argv, "-p");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/skip1");
+ g_ptr_array_add (argv, NULL);
+
+ g_spawn_sync (NULL, (char **) argv->pdata, NULL,
+ G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL,
+ NULL, NULL, NULL, NULL, &status,
+ &error);
+ g_assert_no_error (error);
+
+ g_spawn_check_exit_status (status, &error);
+ g_assert_error (error, G_SPAWN_EXIT_ERROR, 1);
+ g_clear_error (&error);
+
+ g_test_message ("one fail and some incomplete -> overall status fail");
+ g_ptr_array_set_size (argv, 0);
+ g_ptr_array_add (argv, (char *) argv0);
+ g_ptr_array_add (argv, "--GTestSubprocess");
+ g_ptr_array_add (argv, "-p");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/fail");
+ g_ptr_array_add (argv, "-p");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/incomplete");
+ g_ptr_array_add (argv, NULL);
+
+ g_spawn_sync (NULL, (char **) argv->pdata, NULL,
+ G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL,
+ NULL, NULL, NULL, NULL, &status,
+ &error);
+ g_assert_no_error (error);
+
+ g_spawn_check_exit_status (status, &error);
+ g_assert_error (error, G_SPAWN_EXIT_ERROR, 1);
+ g_clear_error (&error);
+
+ g_test_message ("one fail and mix of skipped and incomplete -> overall status fail");
+ g_ptr_array_set_size (argv, 0);
+ g_ptr_array_add (argv, (char *) argv0);
+ g_ptr_array_add (argv, "--GTestSubprocess");
+ g_ptr_array_add (argv, "-p");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/fail");
+ g_ptr_array_add (argv, "-p");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/skip1");
+ g_ptr_array_add (argv, "-p");
+ g_ptr_array_add (argv, "/misc/combining/subprocess/incomplete");
+ g_ptr_array_add (argv, NULL);
+
+ g_spawn_sync (NULL, (char **) argv->pdata, NULL,
+ G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL,
+ NULL, NULL, NULL, NULL, &status,
+ &error);
+ g_assert_no_error (error);
+
+ g_spawn_check_exit_status (status, &error);
+ g_assert_error (error, G_SPAWN_EXIT_ERROR, 1);
+ g_clear_error (&error);
+
+ g_ptr_array_unref (argv);
+}
+
+/* Test the TAP output when a test suite is run with --tap. */
+static void
+test_tap (void)
+{
+ const char *testing_helper;
+ GPtrArray *argv;
+ GError *error = NULL;
+ int status;
+ gchar *output;
+
+ testing_helper = g_test_get_filename (G_TEST_BUILT, "testing-helper" EXEEXT, NULL);
+
+ g_test_message ("pass");
+ argv = g_ptr_array_new ();
+ g_ptr_array_add (argv, (char *) testing_helper);
+ g_ptr_array_add (argv, "pass");
+ g_ptr_array_add (argv, "--tap");
+ g_ptr_array_add (argv, NULL);
+
+ g_spawn_sync (NULL, (char **) argv->pdata, NULL,
+ G_SPAWN_STDERR_TO_DEV_NULL,
+ NULL, NULL, &output, NULL, &status,
+ &error);
+ g_assert_no_error (error);
+
+ g_spawn_check_exit_status (status, &error);
+ g_assert_no_error (error);
+ g_assert_nonnull (strstr (output, "\nok 1 /pass\n"));
+ g_free (output);
+ g_ptr_array_unref (argv);
+
+ g_test_message ("skip");
+ argv = g_ptr_array_new ();
+ g_ptr_array_add (argv, (char *) testing_helper);
+ g_ptr_array_add (argv, "skip");
+ g_ptr_array_add (argv, "--tap");
+ g_ptr_array_add (argv, NULL);
+
+ g_spawn_sync (NULL, (char **) argv->pdata, NULL,
+ G_SPAWN_STDERR_TO_DEV_NULL,
+ NULL, NULL, &output, NULL, &status,
+ &error);
+ g_assert_no_error (error);
+
+ g_spawn_check_exit_status (status, &error);
+ g_assert_no_error (error);
+ g_assert_nonnull (strstr (output, "\nok 1 /skip # SKIP not enough tea\n"));
+ g_free (output);
+ g_ptr_array_unref (argv);
+
+ g_test_message ("incomplete");
+ argv = g_ptr_array_new ();
+ g_ptr_array_add (argv, (char *) testing_helper);
+ g_ptr_array_add (argv, "incomplete");
+ g_ptr_array_add (argv, "--tap");
+ g_ptr_array_add (argv, NULL);
+
+ g_spawn_sync (NULL, (char **) argv->pdata, NULL,
+ G_SPAWN_STDERR_TO_DEV_NULL,
+ NULL, NULL, &output, NULL, &status,
+ &error);
+ g_assert_no_error (error);
+
+ g_spawn_check_exit_status (status, &error);
+ g_assert_no_error (error);
+ g_assert_nonnull (strstr (output, "\nnot ok 1 /incomplete # TODO mind reading not implemented yet\n"));
+ g_free (output);
+ g_ptr_array_unref (argv);
+
+ g_test_message ("fail");
+ argv = g_ptr_array_new ();
+ g_ptr_array_add (argv, (char *) testing_helper);
+ g_ptr_array_add (argv, "fail");
+ g_ptr_array_add (argv, "--tap");
+ g_ptr_array_add (argv, NULL);
+
+ g_spawn_sync (NULL, (char **) argv->pdata, NULL,
+ G_SPAWN_STDERR_TO_DEV_NULL,
+ NULL, NULL, &output, NULL, &status,
+ &error);
+ g_assert_no_error (error);
+
+ g_spawn_check_exit_status (status, &error);
+ g_assert_error (error, G_SPAWN_EXIT_ERROR, 1);
+ g_assert_nonnull (strstr (output, "\nnot ok 1 /fail\n"));
+ g_free (output);
+ g_ptr_array_unref (argv);
+
+ g_test_message ("all");
+ argv = g_ptr_array_new ();
+ g_ptr_array_add (argv, (char *) testing_helper);
+ g_ptr_array_add (argv, "all");
+ g_ptr_array_add (argv, "--tap");
+ g_ptr_array_add (argv, NULL);
+
+ g_spawn_sync (NULL, (char **) argv->pdata, NULL,
+ G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL,
+ NULL, NULL, NULL, NULL, &status,
+ &error);
+ g_assert_error (error, G_SPAWN_EXIT_ERROR, 1);
+ g_clear_error (&error);
+ g_ptr_array_unref (argv);
+
+ g_test_message ("all-non-failures");
+ argv = g_ptr_array_new ();
+ g_ptr_array_add (argv, (char *) testing_helper);
+ g_ptr_array_add (argv, "all-non-failures");
+ g_ptr_array_add (argv, "--tap");
g_ptr_array_add (argv, NULL);
g_spawn_sync (NULL, (char **) argv->pdata, NULL,
@@ -801,13 +1078,17 @@
g_test_add_func ("/misc/nonfatal", test_nonfatal);
g_test_add_func ("/misc/skip", test_skip);
- g_test_add_func ("/misc/skip-all", test_skip_all);
- g_test_add_func ("/misc/skip-all/subprocess/skip1", test_skip);
- g_test_add_func ("/misc/skip-all/subprocess/skip2", test_skip);
- g_test_add_func ("/misc/skip-all/subprocess/pass", test_pass);
+ g_test_add_func ("/misc/combining", test_combining);
+ g_test_add_func ("/misc/combining/subprocess/fail", subprocess_fail);
+ g_test_add_func ("/misc/combining/subprocess/skip1", test_skip);
+ g_test_add_func ("/misc/combining/subprocess/skip2", test_skip);
+ g_test_add_func ("/misc/combining/subprocess/incomplete", subprocess_incomplete);
+ g_test_add_func ("/misc/combining/subprocess/pass", test_pass);
g_test_add_func ("/misc/fail", test_fail);
g_test_add_func ("/misc/incomplete", test_incomplete);
g_test_add_func ("/misc/timeout", test_subprocess_timed_out);
+ g_test_add_func ("/tap", test_tap);
+
return g_test_run();
}
diff --git a/glib/tests/timer.c b/glib/tests/timer.c
index cb9a268..5ee191d 100644
--- a/glib/tests/timer.c
+++ b/glib/tests/timer.c
@@ -115,6 +115,14 @@
g_time_val_add (&time, 1000);
g_assert_cmpint (time.tv_sec, ==, 1);
g_assert_cmpint (time.tv_usec, ==, 510);
+
+ g_time_val_add (&time, 0);
+ g_assert_cmpint (time.tv_sec, ==, 1);
+ g_assert_cmpint (time.tv_usec, ==, 510);
+
+ g_time_val_add (&time, -210);
+ g_assert_cmpint (time.tv_sec, ==, 1);
+ g_assert_cmpint (time.tv_usec, ==, 300);
}
typedef struct {
@@ -126,6 +134,7 @@
static void
test_timeval_from_iso8601 (void)
{
+ gchar *old_tz = g_strdup (g_getenv ("TZ"));
TimeValParseTest tests[] = {
{ TRUE, "1990-11-01T10:21:17Z", { 657454877, 0 } },
{ TRUE, "19901101T102117Z", { 657454877, 0 } },
@@ -144,13 +153,50 @@
{ FALSE, "2001-10-08Tx", { 0, 0 } },
{ FALSE, "2001-10-08T10:11x", { 0, 0 } },
{ FALSE, "Wed Dec 19 17:20:20 GMT 2007", { 0, 0 } },
- { FALSE, "1980-02-22T10:36:00Zulu", { 0, 0 } }
+ { FALSE, "1980-02-22T10:36:00Zulu", { 0, 0 } },
+ { FALSE, "2T0+819855292164632335", { 0, 0 } },
+ { TRUE, "2018-08-03T14:08:05.446178377+01:00", { 1533301685, 446178 } },
+ { FALSE, "2147483648-08-03T14:08:05.446178377+01:00", { 0, 0 } },
+ { FALSE, "2018-13-03T14:08:05.446178377+01:00", { 0, 0 } },
+ { FALSE, "2018-00-03T14:08:05.446178377+01:00", { 0, 0 } },
+ { FALSE, "2018-08-00T14:08:05.446178377+01:00", { 0, 0 } },
+ { FALSE, "2018-08-32T14:08:05.446178377+01:00", { 0, 0 } },
+ { FALSE, "2018-08-03T24:08:05.446178377+01:00", { 0, 0 } },
+ { FALSE, "2018-08-03T14:60:05.446178377+01:00", { 0, 0 } },
+ { FALSE, "2018-08-03T14:08:63.446178377+01:00", { 0, 0 } },
+ { FALSE, "2018-08-03T14:08:05.446178377+100:00", { 0, 0 } },
+ { FALSE, "2018-08-03T14:08:05.446178377+01:60", { 0, 0 } },
+ { TRUE, "20180803T140805.446178377+0100", { 1533301685, 446178 } },
+ { FALSE, "21474836480803T140805.446178377+0100", { 0, 0 } },
+ { FALSE, "20181303T140805.446178377+0100", { 0, 0 } },
+ { FALSE, "20180003T140805.446178377+0100", { 0, 0 } },
+ { FALSE, "20180800T140805.446178377+0100", { 0, 0 } },
+ { FALSE, "20180832T140805.446178377+0100", { 0, 0 } },
+ { FALSE, "20180803T240805.446178377+0100", { 0, 0 } },
+ { FALSE, "20180803T146005.446178377+0100", { 0, 0 } },
+ { FALSE, "20180803T140863.446178377+0100", { 0, 0 } },
+ { FALSE, "20180803T140805.446178377+10000", { 0, 0 } },
+ { FALSE, "20180803T140805.446178377+0160", { 0, 0 } },
+ { TRUE, "+1980-02-22T12:36:00+02:00", { 320063760, 0 } },
+ { FALSE, "-0005-01-01T00:00:00Z", { 0, 0 } },
+ { FALSE, "2018-08-06", { 0, 0 } },
+ { FALSE, "2018-08-06 13:51:00Z", { 0, 0 } },
+ { TRUE, "20180803T140805,446178377+0100", { 1533301685, 446178 } },
+ { TRUE, "2018-08-03T14:08:05.446178377-01:00", { 1533308885, 446178 } },
+ { FALSE, "2018-08-03T14:08:05.446178377 01:00", { 0, 0 } },
+ { TRUE, "1990-11-01T10:21:17", { 657454877, 0 } },
+ { TRUE, "1990-11-01T10:21:17 ", { 657454877, 0 } },
};
GTimeVal out;
gboolean success;
gint i;
- g_unsetenv ("TZ");
+ /* Always run in UTC so the comparisons of parsed values are valid. */
+ if (!g_setenv ("TZ", "UTC", TRUE))
+ {
+ g_test_skip ("Failed to set TZ=UTC");
+ return;
+ }
for (i = 0; i < G_N_ELEMENTS (tests); i++)
{
@@ -164,6 +210,13 @@
g_assert_cmpint (out.tv_usec, ==, tests[i].val.tv_usec);
}
}
+
+ if (old_tz != NULL)
+ g_assert_true (g_setenv ("TZ", old_tz, TRUE));
+ else
+ g_unsetenv ("TZ");
+
+ g_free (old_tz);
}
typedef struct {
@@ -198,6 +251,22 @@
}
}
+/* Test error handling for g_time_val_to_iso8601() on dates which are too large. */
+static void
+test_timeval_to_iso8601_overflow (void)
+{
+ GTimeVal val;
+ gchar *out = NULL;
+
+ g_unsetenv ("TZ");
+
+ val.tv_sec = G_MAXLONG;
+ val.tv_usec = G_USEC_PER_SEC - 1;
+
+ out = g_time_val_to_iso8601 (&val);
+ g_assert_null (out);
+}
+
int
main (int argc, char *argv[])
{
@@ -210,6 +279,7 @@
g_test_add_func ("/timeval/add", test_timeval_add);
g_test_add_func ("/timeval/from-iso8601", test_timeval_from_iso8601);
g_test_add_func ("/timeval/to-iso8601", test_timeval_to_iso8601);
+ g_test_add_func ("/timeval/to-iso8601/overflow", test_timeval_to_iso8601_overflow);
return g_test_run ();
}
diff --git a/gobject/gbinding.c b/gobject/gbinding.c
index 6872b96..42dcb36 100644
--- a/gobject/gbinding.c
+++ b/gobject/gbinding.c
@@ -373,6 +373,7 @@
gboolean unref_binding)
{
gboolean source_is_target = binding->source == binding->target;
+ gboolean binding_was_removed = FALSE;
/* dispose of the transformation data */
if (binding->notify != NULL)
@@ -392,6 +393,7 @@
binding->source_notify = 0;
binding->source = NULL;
+ binding_was_removed = TRUE;
}
if (binding->target != NULL)
@@ -404,9 +406,10 @@
binding->target_notify = 0;
binding->target = NULL;
+ binding_was_removed = TRUE;
}
- if (unref_binding)
+ if (binding_was_removed && unref_binding)
g_object_unref (binding);
}
@@ -748,7 +751,7 @@
/**
* g_binding_unbind:
- * @binding: (transfer full): a #GBinding
+ * @binding: a #GBinding
*
* Explicitly releases the binding between the source and the target
* property expressed by @binding.
diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in
index de05232..985edd2 100755
--- a/gobject/glib-mkenums.in
+++ b/gobject/glib-mkenums.in
@@ -303,15 +303,15 @@
parser.add_argument('--identifier-prefix', default='', dest='idprefix',
help='Identifier prefix')
parser.add_argument('--symbol-prefix', default='', dest='symprefix',
- help='symbol-prefix')
+ help='Symbol prefix')
parser.add_argument('--fhead', default=[], dest='fhead', action='append',
help='Output file header')
parser.add_argument('--ftail', default=[], dest='ftail', action='append',
- help='Per input file production')
+ help='Output file footer')
parser.add_argument('--fprod', default=[], dest='fprod', action='append',
- help='Put out TEXT everytime a new input file is being processed.')
+ help='Put out TEXT every time a new input file is being processed.')
parser.add_argument('--eprod', default=[], dest='eprod', action='append',
- help='Per enum text (produced prior to value iterations)')
+ help='Per enum text, produced prior to value iterations')
parser.add_argument('--vhead', default=[], dest='vhead', action='append',
help='Value header, produced before iterating over enum values')
parser.add_argument('--vprod', default=[], dest='vprod', action='append',
@@ -324,8 +324,9 @@
help='Template file')
parser.add_argument('--output', default=None, dest='output')
parser.add_argument('--version', '-v', default=False, action='store_true', dest='version',
- help='Print version informations')
-parser.add_argument('args', nargs='*')
+ help='Print version information')
+parser.add_argument('args', nargs='*',
+ help='Input files')
options = parser.parse_args()
@@ -415,12 +416,17 @@
prod = prod.rstrip()
return prod
+
+def warn_if_filename_basename_used(section, prod):
+ for substitution in ('\u0040filename\u0040',
+ '\u0040basename\u0040'):
+ if substitution in prod:
+ print_warning('{} used in {} section.'.format(substitution,
+ section))
+
if len(fhead) > 0:
prod = fhead
- base = os.path.basename(options.args[0])
-
- prod = prod.replace('\u0040filename\u0040', options.args[0])
- prod = prod.replace('\u0040basename\u0040', base)
+ warn_if_filename_basename_used('file-header', prod)
prod = replace_specials(prod)
write_output(prod)
@@ -712,10 +718,7 @@
if len(ftail) > 0:
prod = ftail
- base = os.path.basename(options.args[-1]) # FIXME, wrong
-
- prod = prod.replace('\u0040filename\u0040', 'ARGV') # wrong too
- prod = prod.replace('\u0040basename\u0040', base)
+ warn_if_filename_basename_used('file-tail', prod)
prod = replace_specials(prod)
write_output(prod)
diff --git a/gobject/tests/binding.c b/gobject/tests/binding.c
index e088ca7..019fb28 100644
--- a/gobject/tests/binding.c
+++ b/gobject/tests/binding.c
@@ -460,6 +460,7 @@
BindingSource *c = g_object_new (binding_source_get_type (), NULL);
GBinding *binding_1, *binding_2;
+ g_test_bug_base ("http://bugzilla.gnome.org/");
g_test_bug ("621782");
/* A -> B, B -> C */
@@ -625,6 +626,83 @@
g_object_unref (source);
}
+/* When source or target die, so does the binding if there is no other ref */
+static void
+binding_unbind_weak (void)
+{
+ GBinding *binding;
+ BindingSource *source;
+ BindingTarget *target;
+
+ /* first source, then target */
+ source = g_object_new (binding_source_get_type (), NULL);
+ target = g_object_new (binding_target_get_type (), NULL);
+ binding = g_object_bind_property (source, "foo",
+ target, "bar",
+ G_BINDING_DEFAULT);
+ g_object_add_weak_pointer (G_OBJECT (binding), (gpointer *) &binding);
+ g_assert_nonnull (binding);
+ g_object_unref (source);
+ g_assert_null (binding);
+ g_object_unref (target);
+ g_assert_null (binding);
+
+ /* first target, then source */
+ source = g_object_new (binding_source_get_type (), NULL);
+ target = g_object_new (binding_target_get_type (), NULL);
+ binding = g_object_bind_property (source, "foo",
+ target, "bar",
+ G_BINDING_DEFAULT);
+ g_object_add_weak_pointer (G_OBJECT (binding), (gpointer *) &binding);
+ g_assert_nonnull (binding);
+ g_object_unref (target);
+ g_assert_null (binding);
+ g_object_unref (source);
+ g_assert_null (binding);
+
+ /* target and source are the same */
+ source = g_object_new (binding_source_get_type (), NULL);
+ binding = g_object_bind_property (source, "foo",
+ source, "bar",
+ G_BINDING_DEFAULT);
+ g_object_add_weak_pointer (G_OBJECT (binding), (gpointer *) &binding);
+ g_assert_nonnull (binding);
+ g_object_unref (source);
+ g_assert_null (binding);
+}
+
+/* Test that every call to unbind() after the first is a noop */
+static void
+binding_unbind_multiple (void)
+{
+ BindingSource *source = g_object_new (binding_source_get_type (), NULL);
+ BindingTarget *target = g_object_new (binding_target_get_type (), NULL);
+ GBinding *binding;
+ guint i;
+
+ g_test_bug ("1373");
+
+ binding = g_object_bind_property (source, "foo",
+ target, "bar",
+ G_BINDING_DEFAULT);
+ g_object_ref (binding);
+ g_object_add_weak_pointer (G_OBJECT (binding), (gpointer *) &binding);
+ g_assert_nonnull (binding);
+
+ /* this shouldn't crash */
+ for (i = 0; i < 50; i++)
+ {
+ g_binding_unbind (binding);
+ g_assert_nonnull (binding);
+ }
+
+ g_object_unref (binding);
+ g_assert_null (binding);
+
+ g_object_unref (source);
+ g_object_unref (target);
+}
+
static void
binding_fail (void)
{
@@ -653,7 +731,7 @@
{
g_test_init (&argc, &argv, NULL);
- g_test_bug_base ("http://bugzilla.gnome.org/");
+ g_test_bug_base ("https://gitlab.gnome.org/GNOME/glib/issues/");
g_test_add_func ("/binding/default", binding_default);
g_test_add_func ("/binding/bidirectional", binding_bidirectional);
@@ -665,6 +743,8 @@
g_test_add_func ("/binding/invert-boolean", binding_invert_boolean);
g_test_add_func ("/binding/same-object", binding_same_object);
g_test_add_func ("/binding/unbind", binding_unbind);
+ g_test_add_func ("/binding/unbind-weak", binding_unbind_weak);
+ g_test_add_func ("/binding/unbind-multiple", binding_unbind_multiple);
g_test_add_func ("/binding/fail", binding_fail);
return g_test_run ();
diff --git a/gobject/tests/meson.build b/gobject/tests/meson.build
index 8851500..cc83c5f 100644
--- a/gobject/tests/meson.build
+++ b/gobject/tests/meson.build
@@ -1,47 +1,3 @@
-gobject_tests = [
- 'qdata',
- 'boxed',
- 'enums',
- 'param',
- 'threadtests',
- 'dynamictests',
- 'binding',
- 'properties',
- 'reference',
- 'value',
- 'type',
- 'private',
- 'closure',
- 'object',
- 'signal-handler',
- 'ifaceproperties',
-]
-
-# FIXME: put common bits of test environment() in one location
-# Not entirely random of course, but at least it changes over time
-random_number = minor_version + meson.version().split('.').get(1).to_int()
-
-test_env = environment()
-test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
-test_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
-test_env.set('G_DEBUG', 'gc-friendly')
-test_env.set('MALLOC_CHECK_', '2')
-test_env.set('MALLOC_PERTURB_', '@0@'.format(random_number % 256))
-
-foreach test_name : gobject_tests
- deps = [libm, thread_dep, libglib_dep, libgobject_dep]
- test_src = '@0@.c'.format(test_name)
- # private is an existing or reserved target it seems
- if test_name == 'private'
- test_name = 'gobject-private'
- endif
- exe = executable(test_name, test_src,
- c_args : ['-DG_LOG_DOMAIN="GLib-GObject"'],
- dependencies : deps,
- )
- test(test_name, exe, env : test_env, suite : ['gobject'])
-endforeach
-
marshalers_h = custom_target('marshalers_h',
output : 'marshalers.h',
input : 'marshalers.list',
@@ -70,12 +26,71 @@
],
)
-exe = executable('signals',
- 'signals.c', marshalers_h, marshalers_c,
- c_args : ['-DG_LOG_DOMAIN="GLib-GObject"'],
- dependencies : deps,
-)
-test('signals', exe, env : test_env, suite : ['gobject'])
+gobject_tests = {
+ 'qdata' : {},
+ 'boxed' : {},
+ 'enums' : {},
+ 'param' : {},
+ 'threadtests' : {},
+ 'dynamictests' : {},
+ 'binding' : {},
+ 'properties' : {},
+ 'reference' : {},
+ 'value' : {},
+ 'type' : {},
+ 'gobject-private' : {
+ 'source' : 'private.c',
+ },
+ 'closure' : {},
+ 'object' : {},
+ 'signal-handler' : {},
+ 'ifaceproperties' : {},
+ 'signals' : {
+ 'source' : ['signals.c', marshalers_h, marshalers_c],
+ },
+}
+
+# FIXME: put common bits of test environment() in one location
+# Not entirely random of course, but at least it changes over time
+random_number = minor_version + meson.version().split('.').get(1).to_int()
+
+test_env = environment()
+test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
+test_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
+test_env.set('G_DEBUG', 'gc-friendly')
+test_env.set('MALLOC_CHECK_', '2')
+test_env.set('MALLOC_PERTURB_', '@0@'.format(random_number % 256))
+
+test_deps = [libm, thread_dep, libglib_dep, libgobject_dep]
+test_cargs = ['-DG_LOG_DOMAIN="GLib-GObject"']
+
+foreach test_name, extra_args : gobject_tests
+ source = extra_args.get('source', test_name + '.c')
+ install = installed_tests_enabled and extra_args.get('install', true)
+
+ if install
+ test_conf = configuration_data()
+ test_conf.set('installed_tests_dir', installed_tests_execdir)
+ test_conf.set('program', test_name)
+ configure_file(
+ input: installed_tests_template,
+ output: test_name + '.test',
+ install_dir: installed_tests_metadir,
+ configuration: test_conf
+ )
+ endif
+
+ exe = executable(test_name, source,
+ c_args : test_cargs + extra_args.get('c_args', []),
+ dependencies : test_deps + extra_args.get('dependencies', []),
+ install_dir: installed_tests_execdir,
+ install: install,
+ )
+
+ suite = ['gobject'] + extra_args.get('suite', [])
+ timeout = suite.contains('slow') ? 120 : 30
+ test(test_name, exe, env : test_env, timeout : timeout, suite : suite)
+endforeach
test(
'mkenums.py',
diff --git a/gobject/tests/mkenums.py b/gobject/tests/mkenums.py
index 431453d..bb54433 100644
--- a/gobject/tests/mkenums.py
+++ b/gobject/tests/mkenums.py
@@ -20,14 +20,19 @@
"""Integration tests for glib-mkenums utility."""
+import collections
import os
import subprocess
import tempfile
+import textwrap
import unittest
import taptestrunner
+Result = collections.namedtuple('Result', ('info', 'out', 'err', 'subs'))
+
+
class TestMkenums(unittest.TestCase):
"""Integration test for running glib-mkenums.
@@ -70,15 +75,40 @@
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
env=env)
- print('Output:', info.stdout.decode('utf-8'))
- return info
+ info.check_returncode()
+ out = info.stdout.decode('utf-8').strip()
+ err = info.stderr.decode('utf-8').strip()
- def runMkenumsWithHeader(self, h_contents, encoding='utf-8', *args):
+ # Known substitutions for standard boilerplate
+ subs = {
+ 'standard_top_comment':
+ 'This file is generated by glib-mkenums, do not modify '
+ 'it. This code is licensed under the same license as the '
+ 'containing project. Note that it links to GLib, so must '
+ 'comply with the LGPL linking clauses.',
+ 'standard_bottom_comment': 'Generated data ends here'
+ }
+
+ result = Result(info, out, err, subs)
+
+ print('Output:', result.out)
+ return result
+
+ def runMkenumsWithTemplate(self, template_contents, *args):
+ with tempfile.NamedTemporaryFile(dir=self.tmpdir.name,
+ suffix='.template') as template_file:
+ # Write out the template.
+ template_file.write(template_contents.encode('utf-8'))
+ print(template_file.name + ':', template_contents)
+ template_file.flush()
+
+ return self.runMkenums('--template', template_file.name, *args)
+
+ def runMkenumsWithAllSubstitutions(self, *args):
+ '''Run glib-mkenums with a template which outputs all substitutions.'''
template_contents = '''
/*** BEGIN file-header ***/
file-header
-filename: @filename@
-basename: @basename@
/*** END file-header ***/
/*** BEGIN file-production ***/
@@ -140,48 +170,30 @@
/*** BEGIN file-tail ***/
file-tail
-filename: @filename@
-basename: @basename@
/*** END file-tail ***/
'''
+ return self.runMkenumsWithTemplate(template_contents, *args)
+ def runMkenumsWithHeader(self, h_contents, encoding='utf-8'):
with tempfile.NamedTemporaryFile(dir=self.tmpdir.name,
- suffix='.template') as template_file, \
- tempfile.NamedTemporaryFile(dir=self.tmpdir.name,
suffix='.h') as h_file:
- # Write out the template.
- template_file.write(template_contents.encode('utf-8'))
- print(template_file.name + ':', template_contents)
-
# Write out the header to be scanned.
h_file.write(h_contents.encode(encoding))
print(h_file.name + ':', h_contents)
-
- template_file.flush()
h_file.flush()
# Run glib-mkenums with a template which outputs all substitutions.
- info = self.runMkenums('--template', template_file.name,
- h_file.name)
- info.check_returncode()
- out = info.stdout.decode('utf-8').strip()
- err = info.stderr.decode('utf-8').strip()
+ result = self.runMkenumsWithAllSubstitutions(h_file.name)
# Known substitutions for generated filenames.
- subs = {
+ result.subs.update({
'filename': h_file.name,
'basename': os.path.basename(h_file.name),
- 'standard_top_comment':
- 'This file is generated by glib-mkenums, do not modify '
- 'it. This code is licensed under the same license as the '
- 'containing project. Note that it links to GLib, so must '
- 'comply with the LGPL linking clauses.',
- 'standard_bottom_comment': 'Generated data ends here'
- }
+ })
- return (info, out, err, subs)
+ return result
- def assertSingleEnum(self, out, subs, enum_name_camel, enum_name_lower,
+ def assertSingleEnum(self, result, enum_name_camel, enum_name_lower,
enum_name_upper, enum_name_short, enum_prefix,
type_lower, type_camel, type_upper,
value_name, value_nick, value_num):
@@ -199,7 +211,7 @@
'value_name': value_name,
'value_nick': value_nick,
'value_num': value_num,
- }, **subs)
+ }, **result.subs)
self.assertEqual('''
comment
@@ -207,8 +219,6 @@
file-header
-filename: {filename}
-basename: {basename}
file-production
filename: {filename}
basename: {basename}
@@ -247,40 +257,67 @@
Type: {type_camel}
TYPE: {type_upper}
file-tail
-filename: ARGV
-basename: {basename}
comment
comment: {standard_bottom_comment}
-'''.format(**subs).strip(), out)
+'''.format(**subs).strip(), result.out)
def test_help(self):
"""Test the --help argument."""
- info = self.runMkenums('--help')
- info.check_returncode()
+ result = self.runMkenums('--help')
+ self.assertIn('usage: glib-mkenums', result.out)
- out = info.stdout.decode('utf-8').strip()
- self.assertIn('usage: glib-mkenums', out)
+ def test_no_args(self):
+ """Test running with no arguments at all."""
+ result = self.runMkenums()
+ self.assertEqual('', result.err)
+ self.assertEquals('''/* {standard_top_comment} */
+
+
+/* {standard_bottom_comment} */'''.format(**result.subs),
+ result.out.strip())
+
+ def test_empty_template(self):
+ """Test running with an empty template and no header files."""
+ result = self.runMkenumsWithTemplate('')
+ self.assertEqual('', result.err)
+ self.assertEquals('''/* {standard_top_comment} */
+
+
+/* {standard_bottom_comment} */'''.format(**result.subs),
+ result.out.strip())
+
+ def test_no_headers(self):
+ """Test running with a complete template, but no header files."""
+ result = self.runMkenumsWithAllSubstitutions()
+ self.assertEqual('', result.err)
+ self.assertEquals('''
+comment
+comment: {standard_top_comment}
+
+
+file-header
+file-tail
+
+comment
+comment: {standard_bottom_comment}
+'''.format(**result.subs).strip(), result.out)
def test_empty_header(self):
"""Test an empty header."""
- (info, out, err, subs) = self.runMkenumsWithHeader('')
- self.assertEqual('', err)
+ result = self.runMkenumsWithHeader('')
+ self.assertEqual('', result.err)
self.assertEqual('''
comment
comment: {standard_top_comment}
file-header
-filename: {filename}
-basename: {basename}
file-tail
-filename: ARGV
-basename: {basename}
comment
comment: {standard_bottom_comment}
-'''.format(**subs).strip(), out)
+'''.format(**result.subs).strip(), result.out)
def test_enum_name(self):
"""Test typedefs with an enum and a typedef name. Bug #794506."""
@@ -289,9 +326,9 @@
ENUM_VALUE
} SomeEnumIdentifier;
'''
- (info, out, err, subs) = self.runMkenumsWithHeader(h_contents)
- self.assertEqual('', err)
- self.assertSingleEnum(out, subs, 'SomeEnumIdentifier',
+ result = self.runMkenumsWithHeader(h_contents)
+ self.assertEqual('', result.err)
+ self.assertSingleEnum(result, 'SomeEnumIdentifier',
'some_enum_identifier', 'SOME_ENUM_IDENTIFIER',
'ENUM_IDENTIFIER', 'SOME', 'enum', 'Enum',
'ENUM', 'ENUM_VALUE', 'value', '0')
@@ -304,10 +341,9 @@
ENUM_VALUE
} SomeEnumIdentifier;
'''
- (info, out, err, subs) = \
- self.runMkenumsWithHeader(h_contents, encoding='iso-8859-1')
- self.assertIn('WARNING: UnicodeWarning: ', err)
- self.assertSingleEnum(out, subs, 'SomeEnumIdentifier',
+ result = self.runMkenumsWithHeader(h_contents, encoding='iso-8859-1')
+ self.assertIn('WARNING: UnicodeWarning: ', result.err)
+ self.assertSingleEnum(result, 'SomeEnumIdentifier',
'some_enum_identifier', 'SOME_ENUM_IDENTIFIER',
'ENUM_IDENTIFIER', 'SOME', 'enum', 'Enum',
'ENUM', 'ENUM_VALUE', 'value', '0')
@@ -315,6 +351,8 @@
def test_reproducible(self):
"""Test builds are reproducible regardless of file ordering.
Bug #691436."""
+ template_contents = 'template'
+
h_contents1 = '''
typedef enum {
FIRST,
@@ -328,36 +366,28 @@
'''
with tempfile.NamedTemporaryFile(dir=self.tmpdir.name,
- suffix='.template') as template_file, \
- tempfile.NamedTemporaryFile(dir=self.tmpdir.name,
suffix='1.h') as h_file1, \
- tempfile.NamedTemporaryFile(dir=self.tmpdir.name,
- suffix='2.h') as h_file2:
- # Write out the template and headers.
- template_file.write('template'.encode('utf-8'))
+ tempfile.NamedTemporaryFile(dir=self.tmpdir.name,
+ suffix='2.h') as h_file2:
+ # Write out the headers.
h_file1.write(h_contents1.encode('utf-8'))
h_file2.write(h_contents2.encode('utf-8'))
- template_file.flush()
h_file1.flush()
h_file2.flush()
# Run glib-mkenums with the headers in one order, and then again
# in another order.
- info1 = self.runMkenums('--template', template_file.name,
- h_file1.name, h_file2.name)
- info1.check_returncode()
- out1 = info1.stdout.decode('utf-8').strip()
- self.assertEqual('', info1.stderr.decode('utf-8').strip())
+ result1 = self.runMkenumsWithTemplate(template_contents,
+ h_file1.name, h_file2.name)
+ self.assertEqual('', result1.err)
- info2 = self.runMkenums('--template', template_file.name,
- h_file2.name, h_file1.name)
- info2.check_returncode()
- out2 = info2.stdout.decode('utf-8').strip()
- self.assertEqual('', info2.stderr.decode('utf-8').strip())
+ result2 = self.runMkenumsWithTemplate(template_contents,
+ h_file2.name, h_file1.name)
+ self.assertEqual('', result2.err)
# The output should be the same.
- self.assertEqual(out1, out2)
+ self.assertEqual(result1.out, result2.out)
def test_no_nick(self):
"""Test trigraphs with a desc but no nick. Issue #1360."""
@@ -366,13 +396,57 @@
GEGL_SAMPLER_NEAREST = 0, /*< desc="nearest" >*/
} GeglSamplerType;
'''
- (info, out, err, subs) = self.runMkenumsWithHeader(h_contents)
- self.assertEqual('', err)
- self.assertSingleEnum(out, subs, 'GeglSamplerType',
+ result = self.runMkenumsWithHeader(h_contents)
+ self.assertEqual('', result.err)
+ self.assertSingleEnum(result, 'GeglSamplerType',
'gegl_sampler_type', 'GEGL_SAMPLER_TYPE',
'SAMPLER_TYPE', 'GEGL', 'enum', 'Enum',
'ENUM', 'GEGL_SAMPLER_NEAREST', 'nearest', '0')
+ def test_filename_basename_in_fhead_ftail(self):
+ template_contents = '''
+/*** BEGIN file-header ***/
+file-header
+filename: @filename@
+basename: @basename@
+/*** END file-header ***/
+
+/*** BEGIN comment ***/
+comment
+comment: @comment@
+/*** END comment ***/
+
+/*** BEGIN file-tail ***/
+file-tail
+filename: @filename@
+basename: @basename@
+/*** END file-tail ***/'''
+ result = self.runMkenumsWithTemplate(template_contents)
+ self.assertEqual(
+ textwrap.dedent(
+ '''
+ WARNING: @filename@ used in file-header section.
+ WARNING: @basename@ used in file-header section.
+ WARNING: @filename@ used in file-tail section.
+ WARNING: @basename@ used in file-tail section.
+ ''').strip(),
+ result.err)
+ self.assertEqual('''
+comment
+comment: {standard_top_comment}
+
+
+file-header
+filename: @filename@
+basename: @basename@
+file-tail
+filename: @filename@
+basename: @basename@
+
+comment
+comment: {standard_bottom_comment}
+'''.format(**result.subs).strip(), result.out)
+
if __name__ == '__main__':
unittest.main(testRunner=taptestrunner.TAPTestRunner())
diff --git a/po/de.po b/po/de.po
index 8efc69e..80a14d1 100644
--- a/po/de.po
+++ b/po/de.po
@@ -16,8 +16,8 @@
msgstr ""
"Project-Id-Version: glib master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/glib/issues\n"
-"POT-Creation-Date: 2018-06-21 17:12+0000\n"
-"PO-Revision-Date: 2018-06-23 12:35+0200\n"
+"POT-Creation-Date: 2018-08-10 13:36+0000\n"
+"PO-Revision-Date: 2018-08-15 11:52+0200\n"
"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
"Language: de\n"
@@ -25,130 +25,127 @@
"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.0.7\n"
+"X-Generator: Poedit 2.1\n"
-#: ../gio/gapplication.c:496
+#: gio/gapplication.c:496
msgid "GApplication options"
msgstr "Optionen für GApplication"
-#: ../gio/gapplication.c:496
+#: gio/gapplication.c:496
msgid "Show GApplication options"
msgstr "Optionen für GApplication anzeigen"
-#: ../gio/gapplication.c:541
+#: gio/gapplication.c:541
msgid "Enter GApplication service mode (use from D-Bus service files)"
msgstr "GApplication Dienstmodus starten (aus D-Bus Dienstdateien verwenden)"
-#: ../gio/gapplication.c:553
+#: gio/gapplication.c:553
msgid "Override the application’s ID"
msgstr "Anwendungskennung überschreiben"
-#: ../gio/gapplication-tool.c:45 ../gio/gapplication-tool.c:46
-#: ../gio/gio-tool.c:227 ../gio/gresource-tool.c:488
-#: ../gio/gsettings-tool.c:569
+#: gio/gapplication-tool.c:45 gio/gapplication-tool.c:46 gio/gio-tool.c:227
+#: gio/gresource-tool.c:495 gio/gsettings-tool.c:569
msgid "Print help"
msgstr "Hilfe ausgeben"
-#: ../gio/gapplication-tool.c:47 ../gio/gresource-tool.c:489
-#: ../gio/gresource-tool.c:557
+#: gio/gapplication-tool.c:47 gio/gresource-tool.c:496 gio/gresource-tool.c:564
msgid "[COMMAND]"
msgstr "[BEFEHL]"
-#: ../gio/gapplication-tool.c:49 ../gio/gio-tool.c:228
+#: gio/gapplication-tool.c:49 gio/gio-tool.c:228
msgid "Print version"
msgstr "Version ausgeben"
-#: ../gio/gapplication-tool.c:50 ../gio/gsettings-tool.c:575
+#: gio/gapplication-tool.c:50 gio/gsettings-tool.c:575
msgid "Print version information and exit"
msgstr "Versionsinformationen anzeigen und beenden"
-#: ../gio/gapplication-tool.c:52
+#: gio/gapplication-tool.c:52
msgid "List applications"
msgstr "Anwendungen auflisten"
-#: ../gio/gapplication-tool.c:53
+#: gio/gapplication-tool.c:53
msgid "List the installed D-Bus activatable applications (by .desktop files)"
msgstr ""
"Die über D-Bus aktivierbaren Anwendungen auflisten (aus .desktop-Dateien)"
-#: ../gio/gapplication-tool.c:55
+#: gio/gapplication-tool.c:55
msgid "Launch an application"
msgstr "Eine Anwendung starten"
-#: ../gio/gapplication-tool.c:56
+#: gio/gapplication-tool.c:56
msgid "Launch the application (with optional files to open)"
msgstr "Die Anwendung starten (mit optional zu öffnenden Dateien)"
-#: ../gio/gapplication-tool.c:57
+#: gio/gapplication-tool.c:57
msgid "APPID [FILE…]"
msgstr "ANWENDUNGSKENNUNG [DATEI …]"
-#: ../gio/gapplication-tool.c:59
+#: gio/gapplication-tool.c:59
msgid "Activate an action"
msgstr "Eine Aktion starten"
-#: ../gio/gapplication-tool.c:60
+#: gio/gapplication-tool.c:60
msgid "Invoke an action on the application"
msgstr "Eine Aktion auf die Anwendung starten"
-#: ../gio/gapplication-tool.c:61
+#: gio/gapplication-tool.c:61
msgid "APPID ACTION [PARAMETER]"
msgstr "ANWENDUNGSKENNUNG AKTION [PARAMETER]"
-#: ../gio/gapplication-tool.c:63
+#: gio/gapplication-tool.c:63
msgid "List available actions"
msgstr "Verfügbare Aktionen auflisten"
-#: ../gio/gapplication-tool.c:64
+#: gio/gapplication-tool.c:64
msgid "List static actions for an application (from .desktop file)"
msgstr "Statische Aktionen einer Anwendung auflisten (aus .desktop-Datei)"
-#: ../gio/gapplication-tool.c:65 ../gio/gapplication-tool.c:71
+#: gio/gapplication-tool.c:65 gio/gapplication-tool.c:71
msgid "APPID"
msgstr "ANWENDUNGSKENNUNG"
-#: ../gio/gapplication-tool.c:70 ../gio/gapplication-tool.c:133
-#: ../gio/gdbus-tool.c:90 ../gio/gio-tool.c:224
+#: gio/gapplication-tool.c:70 gio/gapplication-tool.c:133 gio/gdbus-tool.c:90
+#: gio/gio-tool.c:224
msgid "COMMAND"
msgstr "BEFEHL"
-#: ../gio/gapplication-tool.c:70
+#: gio/gapplication-tool.c:70
msgid "The command to print detailed help for"
msgstr "Der Befehl, für den eine detaillierte Hilfe ausgegeben wird"
-#: ../gio/gapplication-tool.c:71
+#: gio/gapplication-tool.c:71
msgid "Application identifier in D-Bus format (eg: org.example.viewer)"
msgstr "Anwendungsbezeichnung im D-Bus-Format (z.B: org.example.viewer)"
-#: ../gio/gapplication-tool.c:72 ../gio/glib-compile-resources.c:737
-#: ../gio/glib-compile-resources.c:743 ../gio/glib-compile-resources.c:770
-#: ../gio/gresource-tool.c:495 ../gio/gresource-tool.c:561
+#: gio/gapplication-tool.c:72 gio/glib-compile-resources.c:737
+#: gio/glib-compile-resources.c:743 gio/glib-compile-resources.c:770
+#: gio/gresource-tool.c:502 gio/gresource-tool.c:568
msgid "FILE"
msgstr "DATEI"
-#: ../gio/gapplication-tool.c:72
+#: gio/gapplication-tool.c:72
msgid "Optional relative or absolute filenames, or URIs to open"
msgstr ""
"Optional relative oder absolute Dateinamen oder Adressen (URIs) zum Öffnen"
-#: ../gio/gapplication-tool.c:73
+#: gio/gapplication-tool.c:73
msgid "ACTION"
msgstr "AKTION"
-#: ../gio/gapplication-tool.c:73
+#: gio/gapplication-tool.c:73
msgid "The action name to invoke"
msgstr "Der Name der aufzurufenden Aktion"
-#: ../gio/gapplication-tool.c:74
+#: gio/gapplication-tool.c:74
msgid "PARAMETER"
msgstr "PARAMETER"
-#: ../gio/gapplication-tool.c:74
+#: gio/gapplication-tool.c:74
msgid "Optional parameter to the action invocation, in GVariant format"
msgstr "Optionaler Parameter für den Aufruf der Aktion, im GVariant-Format"
-#: ../gio/gapplication-tool.c:96 ../gio/gresource-tool.c:526
-#: ../gio/gsettings-tool.c:661
+#: gio/gapplication-tool.c:96 gio/gresource-tool.c:533 gio/gsettings-tool.c:661
#, c-format
msgid ""
"Unknown command %s\n"
@@ -157,26 +154,26 @@
"Unbekannter Befehl %s\n"
"\n"
-#: ../gio/gapplication-tool.c:101
+#: gio/gapplication-tool.c:101
msgid "Usage:\n"
msgstr "Aufruf:\n"
-#: ../gio/gapplication-tool.c:114 ../gio/gresource-tool.c:551
-#: ../gio/gsettings-tool.c:696
+#: gio/gapplication-tool.c:114 gio/gresource-tool.c:558
+#: gio/gsettings-tool.c:696
msgid "Arguments:\n"
msgstr "Argumente:\n"
-#: ../gio/gapplication-tool.c:133 ../gio/gio-tool.c:224
+#: gio/gapplication-tool.c:133 gio/gio-tool.c:224
msgid "[ARGS…]"
msgstr "[ARGUMENTE …]"
-#: ../gio/gapplication-tool.c:134
+#: gio/gapplication-tool.c:134
#, c-format
msgid "Commands:\n"
msgstr "Befehle:\n"
#. Translators: do not translate 'help', but please translate 'COMMAND'.
-#: ../gio/gapplication-tool.c:146
+#: gio/gapplication-tool.c:146
#, c-format
msgid ""
"Use “%s help COMMAND” to get detailed help.\n"
@@ -185,7 +182,7 @@
"Rufen Sie »%s help BEFEHL« auf, um detaillierte Hilfe zu erhalten.\n"
"\n"
-#: ../gio/gapplication-tool.c:165
+#: gio/gapplication-tool.c:165
#, c-format
msgid ""
"%s command requires an application id to directly follow\n"
@@ -194,13 +191,13 @@
"Der Befehl %s erfordert eine unmittelbar folgende Anwendungskennung\n"
"\n"
-#: ../gio/gapplication-tool.c:171
+#: gio/gapplication-tool.c:171
#, c-format
msgid "invalid application id: “%s”\n"
msgstr "Ungültige Anwendungskennung: »%s«\n"
#. Translators: %s is replaced with a command name like 'list-actions'
-#: ../gio/gapplication-tool.c:182
+#: gio/gapplication-tool.c:182
#, c-format
msgid ""
"“%s” takes no arguments\n"
@@ -209,22 +206,21 @@
"»%s« akzeptiert keine Argumente\n"
"\n"
-#: ../gio/gapplication-tool.c:266
+#: gio/gapplication-tool.c:266
#, c-format
msgid "unable to connect to D-Bus: %s\n"
msgstr "Verbindung mit D-Bus ist nicht möglich: %s\n"
-#: ../gio/gapplication-tool.c:286
+#: gio/gapplication-tool.c:286
#, c-format
msgid "error sending %s message to application: %s\n"
msgstr "Fehler beim Senden der %s-Nachricht zur Anwendung: %s\n"
-#: ../gio/gapplication-tool.c:317
-#, c-format
+#: gio/gapplication-tool.c:317
msgid "action name must be given after application id\n"
msgstr "Der Aktionsname muss nach der Anwendungskennung angegeben werden\n"
-#: ../gio/gapplication-tool.c:325
+#: gio/gapplication-tool.c:325
#, c-format
msgid ""
"invalid action name: “%s”\n"
@@ -233,27 +229,25 @@
"Ungültiger Aktionsname: »%s«\n"
"Aktionsnamen dürfen nur aus alphanumerischen Zeichen, »-« und ».« bestehen\n"
-#: ../gio/gapplication-tool.c:344
+#: gio/gapplication-tool.c:344
#, c-format
msgid "error parsing action parameter: %s\n"
msgstr "Fehler bei der Verarbeitung des Aktionsparameters: %s\n"
-#: ../gio/gapplication-tool.c:356
-#, c-format
+#: gio/gapplication-tool.c:356
msgid "actions accept a maximum of one parameter\n"
msgstr "Aktionen akzeptiert maximal einen Parameter\n"
-#: ../gio/gapplication-tool.c:411
-#, c-format
+#: gio/gapplication-tool.c:411
msgid "list-actions command takes only the application id"
msgstr "Der Befehl list-actions akzeptiert nur die Anwendungskennung"
-#: ../gio/gapplication-tool.c:421
+#: gio/gapplication-tool.c:421
#, c-format
msgid "unable to find desktop file for application %s\n"
msgstr "Die desktop-Datei für die Anwendung %s konnte nicht gefunden werden\n"
-#: ../gio/gapplication-tool.c:466
+#: gio/gapplication-tool.c:466
#, c-format
msgid ""
"unrecognised command: %s\n"
@@ -262,122 +256,118 @@
"Unbekannter Befehl: %s\n"
"\n"
-#: ../gio/gbufferedinputstream.c:420 ../gio/gbufferedinputstream.c:498
-#: ../gio/ginputstream.c:179 ../gio/ginputstream.c:379
-#: ../gio/ginputstream.c:617 ../gio/ginputstream.c:1019
-#: ../gio/goutputstream.c:203 ../gio/goutputstream.c:834
-#: ../gio/gpollableinputstream.c:205 ../gio/gpollableoutputstream.c:209
+#: gio/gbufferedinputstream.c:420 gio/gbufferedinputstream.c:498
+#: gio/ginputstream.c:179 gio/ginputstream.c:379 gio/ginputstream.c:617
+#: gio/ginputstream.c:1019 gio/goutputstream.c:203 gio/goutputstream.c:834
+#: gio/gpollableinputstream.c:205 gio/gpollableoutputstream.c:209
#, c-format
msgid "Too large count value passed to %s"
msgstr "Zu großer Zählwert an %s übermittelt"
-#: ../gio/gbufferedinputstream.c:891 ../gio/gbufferedoutputstream.c:575
-#: ../gio/gdataoutputstream.c:562
+#: gio/gbufferedinputstream.c:891 gio/gbufferedoutputstream.c:575
+#: gio/gdataoutputstream.c:562
msgid "Seek not supported on base stream"
msgstr "Suchen im Basis-Datenstrom nicht unterstützt"
-#: ../gio/gbufferedinputstream.c:937
+#: gio/gbufferedinputstream.c:937
msgid "Cannot truncate GBufferedInputStream"
msgstr "GBufferedInputStream konnte nicht abgeschnitten werden"
-#: ../gio/gbufferedinputstream.c:982 ../gio/ginputstream.c:1208
-#: ../gio/giostream.c:300 ../gio/goutputstream.c:1661
+#: gio/gbufferedinputstream.c:982 gio/ginputstream.c:1208 gio/giostream.c:300
+#: gio/goutputstream.c:1661
msgid "Stream is already closed"
msgstr "Datenstrom ist bereits geschlossen"
-#: ../gio/gbufferedoutputstream.c:612 ../gio/gdataoutputstream.c:592
+#: gio/gbufferedoutputstream.c:612 gio/gdataoutputstream.c:592
msgid "Truncate not supported on base stream"
msgstr "Abschneiden wird vom Basis-Datenstrom nicht unterstützt"
-#: ../gio/gcancellable.c:317 ../gio/gdbusconnection.c:1849
-#: ../gio/gdbusprivate.c:1402 ../gio/gsimpleasyncresult.c:871
-#: ../gio/gsimpleasyncresult.c:897
+#: gio/gcancellable.c:317 gio/gdbusconnection.c:1840 gio/gdbusprivate.c:1402
+#: gio/gsimpleasyncresult.c:871 gio/gsimpleasyncresult.c:897
#, c-format
msgid "Operation was cancelled"
msgstr "Vorgang wurde abgebrochen"
-#: ../gio/gcharsetconverter.c:260
+#: gio/gcharsetconverter.c:260
msgid "Invalid object, not initialized"
msgstr "Ungültiges Objekt, wurde nicht initialisiert"
-#: ../gio/gcharsetconverter.c:281 ../gio/gcharsetconverter.c:309
+#: gio/gcharsetconverter.c:281 gio/gcharsetconverter.c:309
msgid "Incomplete multibyte sequence in input"
msgstr "Ungültige Multibyte-Folge in Eingabe"
-#: ../gio/gcharsetconverter.c:315 ../gio/gcharsetconverter.c:324
+#: gio/gcharsetconverter.c:315 gio/gcharsetconverter.c:324
msgid "Not enough space in destination"
msgstr "Nicht genug Platz im Ziel"
-#: ../gio/gcharsetconverter.c:342 ../gio/gdatainputstream.c:848
-#: ../gio/gdatainputstream.c:1261 ../glib/gconvert.c:454 ../glib/gconvert.c:883
-#: ../glib/giochannel.c:1557 ../glib/giochannel.c:1599
-#: ../glib/giochannel.c:2443 ../glib/gutf8.c:869 ../glib/gutf8.c:1322
+#: gio/gcharsetconverter.c:342 gio/gdatainputstream.c:848
+#: gio/gdatainputstream.c:1261 glib/gconvert.c:454 glib/gconvert.c:883
+#: glib/giochannel.c:1557 glib/giochannel.c:1599 glib/giochannel.c:2443
+#: glib/gutf8.c:869 glib/gutf8.c:1322
msgid "Invalid byte sequence in conversion input"
msgstr "Ungültige Bytefolge in Umwandlungseingabe"
-#: ../gio/gcharsetconverter.c:347 ../glib/gconvert.c:462 ../glib/gconvert.c:797
-#: ../glib/giochannel.c:1564 ../glib/giochannel.c:2455
+#: gio/gcharsetconverter.c:347 glib/gconvert.c:462 glib/gconvert.c:797
+#: glib/giochannel.c:1564 glib/giochannel.c:2455
#, c-format
msgid "Error during conversion: %s"
msgstr "Fehler bei der Umwandlung: %s"
-#: ../gio/gcharsetconverter.c:445 ../gio/gsocket.c:1104
+#: gio/gcharsetconverter.c:445 gio/gsocket.c:1104
msgid "Cancellable initialization not supported"
msgstr "Abbrechbare Initialisierung wird nicht unterstützt"
-#: ../gio/gcharsetconverter.c:456 ../glib/gconvert.c:327
-#: ../glib/giochannel.c:1385
+#: gio/gcharsetconverter.c:456 glib/gconvert.c:327 glib/giochannel.c:1385
#, c-format
msgid "Conversion from character set “%s” to “%s” is not supported"
msgstr "Umwandlung von Zeichensatz »%s« in »%s« wird nicht unterstützt"
-#: ../gio/gcharsetconverter.c:460 ../glib/gconvert.c:331
+#: gio/gcharsetconverter.c:460 glib/gconvert.c:331
#, c-format
msgid "Could not open converter from “%s” to “%s”"
msgstr "Konverter von »%s« in »%s« konnte nicht geöffnet werden"
-#: ../gio/gcontenttype.c:358
+#: gio/gcontenttype.c:358
#, c-format
msgid "%s type"
msgstr "%s-Typ"
-#: ../gio/gcontenttype-win32.c:177
+#: gio/gcontenttype-win32.c:177
msgid "Unknown type"
msgstr "Unbekannter Typ"
-#: ../gio/gcontenttype-win32.c:179
+#: gio/gcontenttype-win32.c:179
#, c-format
msgid "%s filetype"
msgstr "%s-Dateityp"
-#: ../gio/gcredentials.c:315 ../gio/gcredentials.c:574
+#: gio/gcredentials.c:315 gio/gcredentials.c:574
msgid "GCredentials is not implemented on this OS"
msgstr "GCredentials ist in diesem Betriebssystem nicht implementiert"
-#: ../gio/gcredentials.c:470
+#: gio/gcredentials.c:470
msgid "There is no GCredentials support for your platform"
msgstr "Es gibt auf Ihrer Plattform keine Unterstützung für GCredentials"
-#: ../gio/gcredentials.c:516
+#: gio/gcredentials.c:516
msgid "GCredentials does not contain a process ID on this OS"
msgstr "GCredentials enthält in diesem Betriebssystem keine Prozesskennung"
-#: ../gio/gcredentials.c:568
+#: gio/gcredentials.c:568
msgid "Credentials spoofing is not possible on this OS"
msgstr ""
"Fälschen von Anmeldedaten ist unter diesem Betriebssystem nicht möglich"
-#: ../gio/gdatainputstream.c:304
+#: gio/gdatainputstream.c:304
msgid "Unexpected early end-of-stream"
msgstr "Unerwartet frühes Datenstromende"
-#: ../gio/gdbusaddress.c:158 ../gio/gdbusaddress.c:246
-#: ../gio/gdbusaddress.c:327
+#: gio/gdbusaddress.c:158 gio/gdbusaddress.c:246 gio/gdbusaddress.c:327
#, c-format
msgid "Unsupported key “%s” in address entry “%s”"
msgstr "Nicht unterstützter Schlüssel »%s« im Adresseintrag »%s«"
-#: ../gio/gdbusaddress.c:185
+#: gio/gdbusaddress.c:185
#, c-format
msgid ""
"Address “%s” is invalid (need exactly one of path, tmpdir or abstract keys)"
@@ -385,32 +375,32 @@
"Adresse »%s« ist ungültig (benötigt genau einen der Schlüssel path, tmpdir "
"oder abstract)"
-#: ../gio/gdbusaddress.c:198
+#: gio/gdbusaddress.c:198
#, c-format
msgid "Meaningless key/value pair combination in address entry “%s”"
msgstr "Bedeutungsloses Schlüssel-Wert-Paar im Adresseintrag »%s«"
-#: ../gio/gdbusaddress.c:261 ../gio/gdbusaddress.c:342
+#: gio/gdbusaddress.c:261 gio/gdbusaddress.c:342
#, c-format
msgid "Error in address “%s” — the port attribute is malformed"
msgstr "Fehler in Adresse »%s« – Das Port-Attribut ist nicht korrekt"
-#: ../gio/gdbusaddress.c:272 ../gio/gdbusaddress.c:353
+#: gio/gdbusaddress.c:272 gio/gdbusaddress.c:353
#, c-format
msgid "Error in address “%s” — the family attribute is malformed"
msgstr "Fehler in Adresse »%s« – Das Familien-Attribut ist nicht korrekt"
-#: ../gio/gdbusaddress.c:423 ../gio/gdbusaddress.c:673
+#: gio/gdbusaddress.c:423 gio/gdbusaddress.c:673
#, c-format
msgid "Unknown or unsupported transport “%s” for address “%s”"
msgstr "Unbekannter oder nicht unterstützter Transport »%s« für Adresse »%s«"
-#: ../gio/gdbusaddress.c:467
+#: gio/gdbusaddress.c:467
#, c-format
msgid "Address element “%s” does not contain a colon (:)"
msgstr "Adresselement »%s« enthält keinen Doppelpunkt"
-#: ../gio/gdbusaddress.c:488
+#: gio/gdbusaddress.c:488
#, c-format
msgid ""
"Key/Value pair %d, “%s”, in address element “%s” does not contain an equal "
@@ -419,7 +409,7 @@
"Schlüssel-Wert-Paar %d, »%s«, in Adresselement »%s« enthält kein "
"Gleichheitszeichen"
-#: ../gio/gdbusaddress.c:502
+#: gio/gdbusaddress.c:502
#, c-format
msgid ""
"Error unescaping key or value in Key/Value pair %d, “%s”, in address element "
@@ -428,7 +418,7 @@
"Fehler beim Entfernen von Escape-Zeichen im Schlüssel-Wert-Paar %d, »%s«, im "
"Adresselement »%s«"
-#: ../gio/gdbusaddress.c:580
+#: gio/gdbusaddress.c:580
#, c-format
msgid ""
"Error in address “%s” — the unix transport requires exactly one of the keys "
@@ -437,94 +427,94 @@
"Fehler in Adresse »%s« - für den Unix-Transport muss genau einer der "
"Schlüssel »path« oder »abstract« gesetzt sein"
-#: ../gio/gdbusaddress.c:616
+#: gio/gdbusaddress.c:616
#, c-format
msgid "Error in address “%s” — the host attribute is missing or malformed"
msgstr ""
"Fehler in Adresse »%s« – Das Host-Attribut fehlt oder ist nicht korrekt"
-#: ../gio/gdbusaddress.c:630
+#: gio/gdbusaddress.c:630
#, c-format
msgid "Error in address “%s” — the port attribute is missing or malformed"
msgstr ""
"Fehler in Adresse »%s« – Das Port-Attribut fehlt oder ist nicht korrekt"
-#: ../gio/gdbusaddress.c:644
+#: gio/gdbusaddress.c:644
#, c-format
msgid "Error in address “%s” — the noncefile attribute is missing or malformed"
msgstr ""
"Fehler in Adresse »%s« – Das noncefile-Attribut fehlt oder ist nicht korrekt"
-#: ../gio/gdbusaddress.c:665
+#: gio/gdbusaddress.c:665
msgid "Error auto-launching: "
msgstr "Fehler beim automatischen Starten: "
-#: ../gio/gdbusaddress.c:718
+#: gio/gdbusaddress.c:718
#, c-format
msgid "Error opening nonce file “%s”: %s"
msgstr "Fehler beim Öffnen der Nonce-Datei »%s«: %s"
-#: ../gio/gdbusaddress.c:737
+#: gio/gdbusaddress.c:737
#, c-format
msgid "Error reading from nonce file “%s”: %s"
msgstr "Fehler beim Lesen der Nonce-Datei »%s«: %s"
-#: ../gio/gdbusaddress.c:746
+#: gio/gdbusaddress.c:746
#, c-format
msgid "Error reading from nonce file “%s”, expected 16 bytes, got %d"
msgstr ""
"Fehler beim Lesen der Nonce-Datei »%s«, erwartet wurden 16 Bytes, jedoch %d "
"erhalten"
-#: ../gio/gdbusaddress.c:764
+#: gio/gdbusaddress.c:764
#, c-format
msgid "Error writing contents of nonce file “%s” to stream:"
msgstr ""
"Fehler beim Schreiben des Inhalts der Nonce-Datei »%s« in den Datenstrom:"
-#: ../gio/gdbusaddress.c:973
+#: gio/gdbusaddress.c:973
msgid "The given address is empty"
msgstr "Die angegebene Adresse ist leer"
-#: ../gio/gdbusaddress.c:1086
+#: gio/gdbusaddress.c:1086
#, c-format
msgid "Cannot spawn a message bus when setuid"
msgstr "Ein Nachrichtenbus kann nicht mit setuid erzeugt werden"
-#: ../gio/gdbusaddress.c:1093
+#: gio/gdbusaddress.c:1093
msgid "Cannot spawn a message bus without a machine-id: "
msgstr ""
"Ein Nachrichtenbus kann nicht ohne eine Rechner-Kennung erzeugt werden: "
-#: ../gio/gdbusaddress.c:1100
+#: gio/gdbusaddress.c:1100
#, c-format
msgid "Cannot autolaunch D-Bus without X11 $DISPLAY"
msgstr "D-Bus kann nicht automatisch ohne X11 $DISPLAY gestartet werden"
-#: ../gio/gdbusaddress.c:1142
+#: gio/gdbusaddress.c:1142
#, c-format
msgid "Error spawning command line “%s”: "
msgstr "Fehler beim Erzeugen der Befehlszeile »%s«: "
-#: ../gio/gdbusaddress.c:1359
+#: gio/gdbusaddress.c:1359
#, c-format
msgid "(Type any character to close this window)\n"
msgstr ""
"(Geben Sie ein beliebiges Zeichen ein, um dieses Fenster zu schließen)\n"
-#: ../gio/gdbusaddress.c:1513
+#: gio/gdbusaddress.c:1513
#, c-format
msgid "Session dbus not running, and autolaunch failed"
msgstr "Der Sitzungs-dbus läuft nicht und automatisches Starten schlug fehl"
-#: ../gio/gdbusaddress.c:1524
+#: gio/gdbusaddress.c:1524
#, c-format
msgid "Cannot determine session bus address (not implemented for this OS)"
msgstr ""
"Adresse des Sitzungsbus konnte nicht ermittelt werden (für dieses "
"Betriebssystem nicht implementiert)"
-#: ../gio/gdbusaddress.c:1662 ../gio/gdbusconnection.c:7151
+#: gio/gdbusaddress.c:1662 gio/gdbusconnection.c:7142
#, c-format
msgid ""
"Cannot determine bus address from DBUS_STARTER_BUS_TYPE environment variable "
@@ -533,7 +523,7 @@
"Bus-Adresse konnte nicht über die Umgebungsvariable DBUS_STARTER_BUS_TYPE "
"ermittelt werden – unbekannter Wert »%s«"
-#: ../gio/gdbusaddress.c:1671 ../gio/gdbusconnection.c:7160
+#: gio/gdbusaddress.c:1671 gio/gdbusconnection.c:7151
msgid ""
"Cannot determine bus address because the DBUS_STARTER_BUS_TYPE environment "
"variable is not set"
@@ -541,21 +531,21 @@
"Bus-Adresse konnte nicht ermittelt werden, da die Umgebungsvariable "
"DBUS_STARTER_BUS_TYPE nicht gesetzt ist"
-#: ../gio/gdbusaddress.c:1681
+#: gio/gdbusaddress.c:1681
#, c-format
msgid "Unknown bus type %d"
msgstr "Unbekannter Bus-Typ %d"
-#: ../gio/gdbusauth.c:293
+#: gio/gdbusauth.c:293
msgid "Unexpected lack of content trying to read a line"
msgstr "Unerwarteter Mangel an Inhalt beim Versuch, eine Zeile zu lesen"
-#: ../gio/gdbusauth.c:337
+#: gio/gdbusauth.c:337
msgid "Unexpected lack of content trying to (safely) read a line"
msgstr ""
"Unerwarteter Mangel an Inhalt beim Versuch, eine Zeile (sicher) zu lesen"
-#: ../gio/gdbusauth.c:481
+#: gio/gdbusauth.c:481
#, c-format
msgid ""
"Exhausted all available authentication mechanisms (tried: %s) (available: %s)"
@@ -563,16 +553,16 @@
"Alle verfügbaren Legitimierungsmechanismen sind ausgeschöpft (%s Versuche) "
"(verfügbar: %s)"
-#: ../gio/gdbusauth.c:1144
+#: gio/gdbusauth.c:1144
msgid "Cancelled via GDBusAuthObserver::authorize-authenticated-peer"
msgstr "Abgebrochen durch GDBusAuthObserver::authorize-authenticated-peer"
-#: ../gio/gdbusauthmechanismsha1.c:262
+#: gio/gdbusauthmechanismsha1.c:262
#, c-format
msgid "Error when getting information for directory “%s”: %s"
msgstr "Fehler beim Holen der Informationen für Ordner »%s«: %s"
-#: ../gio/gdbusauthmechanismsha1.c:274
+#: gio/gdbusauthmechanismsha1.c:274
#, c-format
msgid ""
"Permissions on directory “%s” are malformed. Expected mode 0700, got 0%o"
@@ -580,22 +570,22 @@
"Zugriffsrechte des Ordners »%s« sind inkorrekt. Erwarteter Modus ist 0700, "
"0%o wurde erhalten"
-#: ../gio/gdbusauthmechanismsha1.c:299
+#: gio/gdbusauthmechanismsha1.c:299
#, c-format
msgid "Error creating directory “%s”: %s"
msgstr "Fehler beim Erstellen des Ordners »%s«: %s"
-#: ../gio/gdbusauthmechanismsha1.c:346
+#: gio/gdbusauthmechanismsha1.c:346
#, c-format
msgid "Error opening keyring “%s” for reading: "
msgstr "Fehler beim Öffnen des Schlüsselbundes »%s« zum Lesen: "
-#: ../gio/gdbusauthmechanismsha1.c:369 ../gio/gdbusauthmechanismsha1.c:687
+#: gio/gdbusauthmechanismsha1.c:369 gio/gdbusauthmechanismsha1.c:687
#, c-format
msgid "Line %d of the keyring at “%s” with content “%s” is malformed"
msgstr "Zeile %d des Schlüsselbundes auf »%s« mit Inhalt »%s« ist inkorrekt"
-#: ../gio/gdbusauthmechanismsha1.c:383 ../gio/gdbusauthmechanismsha1.c:701
+#: gio/gdbusauthmechanismsha1.c:383 gio/gdbusauthmechanismsha1.c:701
#, c-format
msgid ""
"First token of line %d of the keyring at “%s” with content “%s” is malformed"
@@ -603,7 +593,7 @@
"Der erste Token in Zeile %d des Schlüsselbundes bei »%s« mit dem Inhalt »%s« "
"ist inkorrekt"
-#: ../gio/gdbusauthmechanismsha1.c:397 ../gio/gdbusauthmechanismsha1.c:715
+#: gio/gdbusauthmechanismsha1.c:397 gio/gdbusauthmechanismsha1.c:715
#, c-format
msgid ""
"Second token of line %d of the keyring at “%s” with content “%s” is malformed"
@@ -611,58 +601,58 @@
"Der zweite Token in Zeile %d des Schlüsselbundes bei »%s« mit dem Inhalt "
"»%s« ist inkorrekt"
-#: ../gio/gdbusauthmechanismsha1.c:421
+#: gio/gdbusauthmechanismsha1.c:421
#, c-format
msgid "Didn’t find cookie with id %d in the keyring at “%s”"
msgstr ""
"Cookie mit Kennung %d konnte im Schlüsselbund auf »%s« nicht gefunden werden"
-#: ../gio/gdbusauthmechanismsha1.c:503
+#: gio/gdbusauthmechanismsha1.c:503
#, c-format
msgid "Error deleting stale lock file “%s”: %s"
msgstr "Fehler beim Löschen der alten Sperrdatei »%s«: %s"
-#: ../gio/gdbusauthmechanismsha1.c:535
+#: gio/gdbusauthmechanismsha1.c:535
#, c-format
msgid "Error creating lock file “%s”: %s"
msgstr "Fehler beim Erstellen der Sperrdatei »%s«: %s"
-#: ../gio/gdbusauthmechanismsha1.c:566
+#: gio/gdbusauthmechanismsha1.c:566
#, c-format
msgid "Error closing (unlinked) lock file “%s”: %s"
msgstr "Fehler beim Schließen der entknüpften Sperrdatei »%s«: %s"
-#: ../gio/gdbusauthmechanismsha1.c:577
+#: gio/gdbusauthmechanismsha1.c:577
#, c-format
msgid "Error unlinking lock file “%s”: %s"
msgstr "Fehler beim Entknüpfen der Sperrdatei »%s«: %s"
-#: ../gio/gdbusauthmechanismsha1.c:654
+#: gio/gdbusauthmechanismsha1.c:654
#, c-format
msgid "Error opening keyring “%s” for writing: "
msgstr "Fehler beim Öffnen des Schlüsselbundes »%s« zum Schreiben: "
-#: ../gio/gdbusauthmechanismsha1.c:850
+#: gio/gdbusauthmechanismsha1.c:850
#, c-format
msgid "(Additionally, releasing the lock for “%s” also failed: %s) "
msgstr "(Außerdem schlug das Entsperren von »%s« ebenso fehl: %s) "
-#: ../gio/gdbusconnection.c:612 ../gio/gdbusconnection.c:2378
+#: gio/gdbusconnection.c:603 gio/gdbusconnection.c:2369
msgid "The connection is closed"
msgstr "Verbindung ist geschlossen"
-#: ../gio/gdbusconnection.c:1879
+#: gio/gdbusconnection.c:1870
msgid "Timeout was reached"
msgstr "Zeitüberschreitung wurde erreicht"
-#: ../gio/gdbusconnection.c:2500
+#: gio/gdbusconnection.c:2491
msgid ""
"Unsupported flags encountered when constructing a client-side connection"
msgstr ""
"Beim Erstellen einer client-seitigen Verbindung wurden nicht unterstützte "
"Flags entdeckt"
-#: ../gio/gdbusconnection.c:4124 ../gio/gdbusconnection.c:4471
+#: gio/gdbusconnection.c:4115 gio/gdbusconnection.c:4462
#, c-format
msgid ""
"No such interface “org.freedesktop.DBus.Properties” on object at path %s"
@@ -670,104 +660,100 @@
"Keine derartige Schnittstelle »org.freedesktop.DBus.Properties« des Objekts "
"im Pfad %s"
-#: ../gio/gdbusconnection.c:4266
+#: gio/gdbusconnection.c:4257
#, c-format
msgid "No such property “%s”"
msgstr "Keine derartige Eigenschaft »%s«"
-#: ../gio/gdbusconnection.c:4278
+#: gio/gdbusconnection.c:4269
#, c-format
msgid "Property “%s” is not readable"
msgstr "Eigenschaft »%s« ist nicht lesbar"
-#: ../gio/gdbusconnection.c:4289
+#: gio/gdbusconnection.c:4280
#, c-format
msgid "Property “%s” is not writable"
msgstr "Eigenschaft »%s« ist nicht schreibbar"
-#: ../gio/gdbusconnection.c:4309
+#: gio/gdbusconnection.c:4300
#, c-format
msgid "Error setting property “%s”: Expected type “%s” but got “%s”"
msgstr ""
"Fehler beim Setzen der Eigenschaft »%s«: Erwarteter Typ war »%s«, aber »%s« "
"wurde erhalten"
-#: ../gio/gdbusconnection.c:4414 ../gio/gdbusconnection.c:6591
+#: gio/gdbusconnection.c:4405 gio/gdbusconnection.c:4613
+#: gio/gdbusconnection.c:6582
#, c-format
msgid "No such interface “%s”"
msgstr "Keine derartige Schnittstelle »%s«"
-#: ../gio/gdbusconnection.c:4622
-#, c-format
-msgid "No such interface '%s'"
-msgstr "Keine derartige Schnittstelle »%s«"
-
-#: ../gio/gdbusconnection.c:4840 ../gio/gdbusconnection.c:7100
+#: gio/gdbusconnection.c:4831 gio/gdbusconnection.c:7091
#, c-format
msgid "No such interface “%s” on object at path %s"
msgstr "Keine derartige Schnittstelle »%s« des Objekts im Pfad %s"
-#: ../gio/gdbusconnection.c:4938
+#: gio/gdbusconnection.c:4929
#, c-format
msgid "No such method “%s”"
msgstr "Keine derartige Methode »%s«"
-#: ../gio/gdbusconnection.c:4969
+#: gio/gdbusconnection.c:4960
#, c-format
msgid "Type of message, “%s”, does not match expected type “%s”"
msgstr "Der Nachrichtentyp »%s« entspricht nicht dem erwarteten Typ »%s«"
-#: ../gio/gdbusconnection.c:5167
+#: gio/gdbusconnection.c:5158
#, c-format
msgid "An object is already exported for the interface %s at %s"
msgstr "Für die Schnittstelle %s auf %s wurde bereits ein Objekt exportiert"
-#: ../gio/gdbusconnection.c:5393
+#: gio/gdbusconnection.c:5384
#, c-format
msgid "Unable to retrieve property %s.%s"
msgstr "Eigenschaft kann nicht abgefragt werden: %s.%s"
-#: ../gio/gdbusconnection.c:5449
+#: gio/gdbusconnection.c:5440
#, c-format
msgid "Unable to set property %s.%s"
msgstr "Eigenschaft kann nicht gesetzt werden: %s.%s"
-#: ../gio/gdbusconnection.c:5627
+#: gio/gdbusconnection.c:5618
#, c-format
msgid "Method “%s” returned type “%s”, but expected “%s”"
msgstr "Methode »%s« gab Typ »%s« zurück, aber »%s« wurde erwartet"
-#: ../gio/gdbusconnection.c:6702
+#: gio/gdbusconnection.c:6693
#, c-format
msgid "Method “%s” on interface “%s” with signature “%s” does not exist"
msgstr "Methode »%s« in Schnittstelle »%s« mit Signatur »%s« existiert nicht"
-#: ../gio/gdbusconnection.c:6823
+#: gio/gdbusconnection.c:6814
#, c-format
msgid "A subtree is already exported for %s"
msgstr "Ein Unterbaum wurde bereits für %s exportiert"
-#: ../gio/gdbusmessage.c:1248
+#: gio/gdbusmessage.c:1248
msgid "type is INVALID"
msgstr "Typ ist UNGÜLTIG"
-#: ../gio/gdbusmessage.c:1259
+#: gio/gdbusmessage.c:1259
msgid "METHOD_CALL message: PATH or MEMBER header field is missing"
msgstr "METHOD_CALL-Meldung: Kopfzeilenfeld PATH oder MEMBER fehlt"
-#: ../gio/gdbusmessage.c:1270
+#: gio/gdbusmessage.c:1270
msgid "METHOD_RETURN message: REPLY_SERIAL header field is missing"
msgstr "METHOD_RETURN-Meldung: Kopfzeilenfeld REPLY_SERIAL fehlt"
-#: ../gio/gdbusmessage.c:1282
+#: gio/gdbusmessage.c:1282
msgid "ERROR message: REPLY_SERIAL or ERROR_NAME header field is missing"
msgstr "ERROR-Meldung: Kopfzeilenfeld REPLY_SERIAL oder ERROR_NAME fehlt"
-#: ../gio/gdbusmessage.c:1295
+#: gio/gdbusmessage.c:1295
msgid "SIGNAL message: PATH, INTERFACE or MEMBER header field is missing"
msgstr "SIGNAL-Meldung: Kopfzeilenfeld PATH, INTERFACE oder MEMBER fehlt"
-#: ../gio/gdbusmessage.c:1303
+#: gio/gdbusmessage.c:1303
msgid ""
"SIGNAL message: The PATH header field is using the reserved value /org/"
"freedesktop/DBus/Local"
@@ -775,7 +761,7 @@
"SIGNAL-Meldung: Das Kopfzeilenfeld PATH verwendet den reservierten Wert /org/"
"freedesktop/DBus/Local"
-#: ../gio/gdbusmessage.c:1311
+#: gio/gdbusmessage.c:1311
msgid ""
"SIGNAL message: The INTERFACE header field is using the reserved value org."
"freedesktop.DBus.Local"
@@ -783,21 +769,21 @@
"SIGNAL-Meldung: Das Kopfzeilenfeld INTERFACE verwendet den reservierten Wert "
"org.freedesktop.DBus.Local"
-#: ../gio/gdbusmessage.c:1359 ../gio/gdbusmessage.c:1419
+#: gio/gdbusmessage.c:1359 gio/gdbusmessage.c:1419
#, c-format
msgid "Wanted to read %lu byte but only got %lu"
msgid_plural "Wanted to read %lu bytes but only got %lu"
msgstr[0] "%lu Byte sollte gelesen werden, aber nur %lu erhalten"
msgstr[1] "%lu Bytes sollten gelesen werden, aber nur %lu erhalten"
-#: ../gio/gdbusmessage.c:1373
+#: gio/gdbusmessage.c:1373
#, c-format
msgid "Expected NUL byte after the string “%s” but found byte %d"
msgstr ""
"Ein NUL-Byte wurde nach der Zeichenkette »%s« erwartet, aber es wurde Byte "
"%d gefunden"
-#: ../gio/gdbusmessage.c:1392
+#: gio/gdbusmessage.c:1392
#, c-format
msgid ""
"Expected valid UTF-8 string but found invalid bytes at byte offset %d "
@@ -807,17 +793,17 @@
"Position %d gefunden (Länge der Zeichenkette ist %d). Die gültige UTF-8-"
"Zeichenkette bis zu diesem Punkt war »%s«."
-#: ../gio/gdbusmessage.c:1595
+#: gio/gdbusmessage.c:1595
#, c-format
msgid "Parsed value “%s” is not a valid D-Bus object path"
msgstr "Verarbeiteter Wert »%s« ist kein gültiger D-Bus-Objektpfad"
-#: ../gio/gdbusmessage.c:1617
+#: gio/gdbusmessage.c:1617
#, c-format
msgid "Parsed value “%s” is not a valid D-Bus signature"
msgstr "Verarbeiteter Wert »%s« ist keine gültige D-Bus-Signatur"
-#: ../gio/gdbusmessage.c:1664
+#: gio/gdbusmessage.c:1664
#, c-format
msgid ""
"Encountered array of length %u byte. Maximum length is 2<<26 bytes (64 MiB)."
@@ -830,7 +816,7 @@
"Array der Länge %u Bytes wurde erkannt. Maximale Länge ist 2<<26 Bytes (64 "
"MiB)."
-#: ../gio/gdbusmessage.c:1684
+#: gio/gdbusmessage.c:1684
#, c-format
msgid ""
"Encountered array of type “a%c”, expected to have a length a multiple of %u "
@@ -839,12 +825,12 @@
"Es wurde ein Feld des Typs »a%c« gefunden. Erwartet wurde als Länge ein "
"Vielfaches von %u Byte, aber es waren %u Byte Länge"
-#: ../gio/gdbusmessage.c:1851
+#: gio/gdbusmessage.c:1851
#, c-format
msgid "Parsed value “%s” for variant is not a valid D-Bus signature"
msgstr "Verarbeiteter Wert »%s« für Variante ist keine gültige D-Bus-Signatur"
-#: ../gio/gdbusmessage.c:1875
+#: gio/gdbusmessage.c:1875
#, c-format
msgid ""
"Error deserializing GVariant with type string “%s” from the D-Bus wire format"
@@ -852,7 +838,7 @@
"Fehler beim Deserialisieren von GVariant mit der Typenzeichenkette »%s« aus "
"dem D-Bus Wire-Format"
-#: ../gio/gdbusmessage.c:2057
+#: gio/gdbusmessage.c:2057
#, c-format
msgid ""
"Invalid endianness value. Expected 0x6c (“l”) or 0x42 (“B”) but found value "
@@ -861,25 +847,25 @@
"Ungültiger Wert für die Speicherreihenfolge. Es wird entweder 0x6c (»l«) "
"oder 0x42 (»B«) erwartet, aber der Wert 0x%02x gefunden"
-#: ../gio/gdbusmessage.c:2070
+#: gio/gdbusmessage.c:2070
#, c-format
msgid "Invalid major protocol version. Expected 1 but found %d"
msgstr ""
"Ungültige Version des Hauptprotokolls. Erwartet wurde 1, jedoch %d gefunden"
-#: ../gio/gdbusmessage.c:2126
+#: gio/gdbusmessage.c:2126
#, c-format
msgid "Signature header with signature “%s” found but message body is empty"
msgstr ""
"Signatur-Kopfzeilenfeld mit Signatur »%s« gefunden, aber Nachrichtenrumpf "
"ist leer"
-#: ../gio/gdbusmessage.c:2140
+#: gio/gdbusmessage.c:2140
#, c-format
msgid "Parsed value “%s” is not a valid D-Bus signature (for body)"
msgstr "Verarbeiteter Wert »%s« ist keine gültige D-Bus-Signatur (für Rumpf)"
-#: ../gio/gdbusmessage.c:2170
+#: gio/gdbusmessage.c:2170
#, c-format
msgid "No signature header in message but the message body is %u byte"
msgid_plural "No signature header in message but the message body is %u bytes"
@@ -890,11 +876,11 @@
"Kein Signatur-Kopfzeilenfeld in der Nachricht, aber der Nachrichtenrumpf ist "
"%u Bytes groß"
-#: ../gio/gdbusmessage.c:2180
+#: gio/gdbusmessage.c:2180
msgid "Cannot deserialize message: "
msgstr "Meldung kann nicht deserialisiert werden: "
-#: ../gio/gdbusmessage.c:2521
+#: gio/gdbusmessage.c:2521
#, c-format
msgid ""
"Error serializing GVariant with type string “%s” to the D-Bus wire format"
@@ -902,7 +888,7 @@
"Fehler beim Deserialisieren von GVariant mit der Typenzeichenkette »%s« in "
"das D-Bus Wire-Format"
-#: ../gio/gdbusmessage.c:2658
+#: gio/gdbusmessage.c:2658
#, c-format
msgid ""
"Number of file descriptors in message (%d) differs from header field (%d)"
@@ -910,18 +896,18 @@
"Anzahl der Dateideskriptoren in Meldung (%d) und Kopfzeilenfeld (%d) ist "
"unterschiedlich"
-#: ../gio/gdbusmessage.c:2666
+#: gio/gdbusmessage.c:2666
msgid "Cannot serialize message: "
msgstr "Meldung kann nicht serialisiert werden: "
-#: ../gio/gdbusmessage.c:2710
+#: gio/gdbusmessage.c:2710
#, c-format
msgid "Message body has signature “%s” but there is no signature header"
msgstr ""
"Nachrichtenrumpf hat den Signaturtyp »%s«, aber es gibt keine Signatur im "
"Kopfzeilenfeld"
-#: ../gio/gdbusmessage.c:2720
+#: gio/gdbusmessage.c:2720
#, c-format
msgid ""
"Message body has type signature “%s” but signature in the header field is "
@@ -930,42 +916,42 @@
"Nachrichtenrumpf hat den Signaturtyp »%s«, aber die Signatur im "
"Kopfzeilenfeld ist »%s«"
-#: ../gio/gdbusmessage.c:2736
+#: gio/gdbusmessage.c:2736
#, c-format
msgid "Message body is empty but signature in the header field is “(%s)”"
msgstr ""
"Nachrichtenrumpf ist leer, aber die Signatur im Kopfzeilenfeld ist »(%s)«"
-#: ../gio/gdbusmessage.c:3289
+#: gio/gdbusmessage.c:3289
#, c-format
msgid "Error return with body of type “%s”"
msgstr "Fehlerrückmeldung mit Inhalt des Typs »%s«"
-#: ../gio/gdbusmessage.c:3297
+#: gio/gdbusmessage.c:3297
msgid "Error return with empty body"
msgstr "Fehlerrückmeldung mit leerem Inhalt"
-#: ../gio/gdbusprivate.c:2066
+#: gio/gdbusprivate.c:2066
#, c-format
msgid "Unable to get Hardware profile: %s"
msgstr "Hardware-Profil konnte nicht ermittelt werden: %s"
-#: ../gio/gdbusprivate.c:2111
+#: gio/gdbusprivate.c:2111
msgid "Unable to load /var/lib/dbus/machine-id or /etc/machine-id: "
msgstr ""
"/var/lib/dbus/machine-id oder /etc/machine-id konnte nicht geladen werden: "
-#: ../gio/gdbusproxy.c:1612
+#: gio/gdbusproxy.c:1612
#, c-format
msgid "Error calling StartServiceByName for %s: "
msgstr "Fehler beim Aufruf von StartServiceByName für %s: "
-#: ../gio/gdbusproxy.c:1635
+#: gio/gdbusproxy.c:1635
#, c-format
msgid "Unexpected reply %d from StartServiceByName(\"%s\") method"
msgstr "Unerwartete Antwort %d von der Methode StartServiceByName(»%s«)"
-#: ../gio/gdbusproxy.c:2726 ../gio/gdbusproxy.c:2860
+#: gio/gdbusproxy.c:2726 gio/gdbusproxy.c:2860
msgid ""
"Cannot invoke method; proxy is for a well-known name without an owner and "
"proxy was constructed with the G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag"
@@ -974,30 +960,30 @@
"bekannten Namen ohne Besitzer und der Proxy wurde mit dem Flag "
"»G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START« erstellt"
-#: ../gio/gdbusserver.c:708
+#: gio/gdbusserver.c:708
msgid "Abstract name space not supported"
msgstr "Abstrakter Namensraum wird nicht unterstützt"
-#: ../gio/gdbusserver.c:795
+#: gio/gdbusserver.c:795
msgid "Cannot specify nonce file when creating a server"
msgstr "Nonce-Datei kann beim Erstellen eines Servers nicht angegeben werden"
-#: ../gio/gdbusserver.c:876
+#: gio/gdbusserver.c:876
#, c-format
msgid "Error writing nonce file at “%s”: %s"
msgstr "Fehler beim Schreiben der Nonce-Datei auf »%s«: %s"
-#: ../gio/gdbusserver.c:1047
+#: gio/gdbusserver.c:1047
#, c-format
msgid "The string “%s” is not a valid D-Bus GUID"
msgstr "Die Zeichenkette »%s« ist keine gültige GUID für D-Bus"
-#: ../gio/gdbusserver.c:1087
+#: gio/gdbusserver.c:1087
#, c-format
msgid "Cannot listen on unsupported transport “%s”"
msgstr "An nicht unterstützter Übertragung »%s« kann nicht gelauscht werden"
-#: ../gio/gdbus-tool.c:95
+#: gio/gdbus-tool.c:95
#, c-format
msgid ""
"Commands:\n"
@@ -1020,54 +1006,54 @@
"\n"
"Mit »%s BEFEHL --help« erhalten Sie Hilfe zu jedem der Befehle.\n"
-#: ../gio/gdbus-tool.c:185 ../gio/gdbus-tool.c:252 ../gio/gdbus-tool.c:324
-#: ../gio/gdbus-tool.c:348 ../gio/gdbus-tool.c:834 ../gio/gdbus-tool.c:1171
-#: ../gio/gdbus-tool.c:1613
+#: gio/gdbus-tool.c:185 gio/gdbus-tool.c:252 gio/gdbus-tool.c:324
+#: gio/gdbus-tool.c:348 gio/gdbus-tool.c:834 gio/gdbus-tool.c:1171
+#: gio/gdbus-tool.c:1613
#, c-format
msgid "Error: %s\n"
msgstr "Fehler: %s\n"
-#: ../gio/gdbus-tool.c:196 ../gio/gdbus-tool.c:265 ../gio/gdbus-tool.c:1629
+#: gio/gdbus-tool.c:196 gio/gdbus-tool.c:265 gio/gdbus-tool.c:1629
#, c-format
msgid "Error parsing introspection XML: %s\n"
msgstr "Fehler beim Verarbeiten des XML-Codes der Inspektion: %s\n"
-#: ../gio/gdbus-tool.c:234
+#: gio/gdbus-tool.c:234
#, c-format
msgid "Error: %s is not a valid name\n"
msgstr "Fehler: %s ist kein gültiger Name\n"
-#: ../gio/gdbus-tool.c:382
+#: gio/gdbus-tool.c:382
msgid "Connect to the system bus"
msgstr "Zum Systembus verbinden"
-#: ../gio/gdbus-tool.c:383
+#: gio/gdbus-tool.c:383
msgid "Connect to the session bus"
msgstr "Zum Sitzungsbus verbinden"
-#: ../gio/gdbus-tool.c:384
+#: gio/gdbus-tool.c:384
msgid "Connect to given D-Bus address"
msgstr "Zur angegebenen D-Bus-Adresse verbinden"
-#: ../gio/gdbus-tool.c:394
+#: gio/gdbus-tool.c:394
msgid "Connection Endpoint Options:"
msgstr "Optionen für Gegenstelle der Verbindung:"
-#: ../gio/gdbus-tool.c:395
+#: gio/gdbus-tool.c:395
msgid "Options specifying the connection endpoint"
msgstr "Optionen zur Gegenstelle der Verbindung"
-#: ../gio/gdbus-tool.c:417
+#: gio/gdbus-tool.c:417
#, c-format
msgid "No connection endpoint specified"
msgstr "Keine Gegenstelle der Verbindung angegeben"
-#: ../gio/gdbus-tool.c:427
+#: gio/gdbus-tool.c:427
#, c-format
msgid "Multiple connection endpoints specified"
msgstr "Mehrere Gegenstellen der Verbindung angegeben"
-#: ../gio/gdbus-tool.c:497
+#: gio/gdbus-tool.c:497
#, c-format
msgid ""
"Warning: According to introspection data, interface “%s” does not exist\n"
@@ -1075,7 +1061,7 @@
"Warnung: Entsprechend den Inspektionsdaten existiert die Schnittstelle »%s« "
"nicht\n"
-#: ../gio/gdbus-tool.c:506
+#: gio/gdbus-tool.c:506
#, c-format
msgid ""
"Warning: According to introspection data, method “%s” does not exist on "
@@ -1084,169 +1070,164 @@
"Warnung: Entsprechend den Inspektionsdaten existiert die Methode »%s« nicht "
"in der Schnittstelle »%s«\n"
-#: ../gio/gdbus-tool.c:568
+#: gio/gdbus-tool.c:568
msgid "Optional destination for signal (unique name)"
msgstr "Optionales Ziel des Signals (eindeutiger Name)"
-#: ../gio/gdbus-tool.c:569
+#: gio/gdbus-tool.c:569
msgid "Object path to emit signal on"
msgstr "Objektpfad, auf den das Signal ausgegeben werden soll"
-#: ../gio/gdbus-tool.c:570
+#: gio/gdbus-tool.c:570
msgid "Signal and interface name"
msgstr "Signal und Schnittstellenname"
-#: ../gio/gdbus-tool.c:603
+#: gio/gdbus-tool.c:603
msgid "Emit a signal."
msgstr "Ein Signal ausgeben."
-#: ../gio/gdbus-tool.c:658 ../gio/gdbus-tool.c:965 ../gio/gdbus-tool.c:1715
-#: ../gio/gdbus-tool.c:1944 ../gio/gdbus-tool.c:2164
+#: gio/gdbus-tool.c:658 gio/gdbus-tool.c:965 gio/gdbus-tool.c:1715
+#: gio/gdbus-tool.c:1944 gio/gdbus-tool.c:2164
#, c-format
msgid "Error connecting: %s\n"
msgstr "Fehler beim Verbinden: %s\n"
-#: ../gio/gdbus-tool.c:678
+#: gio/gdbus-tool.c:678
#, c-format
msgid "Error: %s is not a valid unique bus name.\n"
msgstr "Fehler: %s ist kein gültiger eindeutiger Bus-Name.\n"
-#: ../gio/gdbus-tool.c:697 ../gio/gdbus-tool.c:1008 ../gio/gdbus-tool.c:1758
-#, c-format
+#: gio/gdbus-tool.c:697 gio/gdbus-tool.c:1008 gio/gdbus-tool.c:1758
msgid "Error: Object path is not specified\n"
msgstr "Fehler: Objektpfad wurde nicht angegeben\n"
-#: ../gio/gdbus-tool.c:720 ../gio/gdbus-tool.c:1028 ../gio/gdbus-tool.c:1778
-#: ../gio/gdbus-tool.c:2015
+#: gio/gdbus-tool.c:720 gio/gdbus-tool.c:1028 gio/gdbus-tool.c:1778
+#: gio/gdbus-tool.c:2015
#, c-format
msgid "Error: %s is not a valid object path\n"
msgstr "Fehler: %s ist kein gültiger Objektpfad\n"
-#: ../gio/gdbus-tool.c:740
-#, c-format
+#: gio/gdbus-tool.c:740
msgid "Error: Signal name is not specified\n"
msgstr "Fehler: Signalname wurde nicht angegeben\n"
-#: ../gio/gdbus-tool.c:754
+#: gio/gdbus-tool.c:754
#, c-format
msgid "Error: Signal name “%s” is invalid\n"
msgstr "Fehler: Signalname »%s« ist ungültig\n"
-#: ../gio/gdbus-tool.c:766
+#: gio/gdbus-tool.c:766
#, c-format
msgid "Error: %s is not a valid interface name\n"
msgstr "Fehler: %s ist kein gültiger Schnittstellenname\n"
-#: ../gio/gdbus-tool.c:772
+#: gio/gdbus-tool.c:772
#, c-format
msgid "Error: %s is not a valid member name\n"
msgstr "Fehler: %s ist kein gültiger Mitgliedsname\n"
#. Use the original non-"parse-me-harder" error
-#: ../gio/gdbus-tool.c:809 ../gio/gdbus-tool.c:1140
+#: gio/gdbus-tool.c:809 gio/gdbus-tool.c:1140
#, c-format
msgid "Error parsing parameter %d: %s\n"
msgstr "Fehler bei der Verarbeitung des Parameters %d: %s\n"
-#: ../gio/gdbus-tool.c:841
+#: gio/gdbus-tool.c:841
#, c-format
msgid "Error flushing connection: %s\n"
msgstr "Fehler beim Löschen der Verbindung: %s\n"
-#: ../gio/gdbus-tool.c:868
+#: gio/gdbus-tool.c:868
msgid "Destination name to invoke method on"
msgstr "Name des Ziels, für das die Methode aufgerufen werden soll"
-#: ../gio/gdbus-tool.c:869
+#: gio/gdbus-tool.c:869
msgid "Object path to invoke method on"
msgstr "Objektpfad, für den die Methode aufgerufen werden soll"
-#: ../gio/gdbus-tool.c:870
+#: gio/gdbus-tool.c:870
msgid "Method and interface name"
msgstr "Methode und Schnittstellenname"
-#: ../gio/gdbus-tool.c:871
+#: gio/gdbus-tool.c:871
msgid "Timeout in seconds"
msgstr "Zeitablauf in Sekunden"
-#: ../gio/gdbus-tool.c:910
+#: gio/gdbus-tool.c:910
msgid "Invoke a method on a remote object."
msgstr "Eine Methode für ein entferntes Objekt aufrufen."
-#: ../gio/gdbus-tool.c:982 ../gio/gdbus-tool.c:1732 ../gio/gdbus-tool.c:1969
-#, c-format
+#: gio/gdbus-tool.c:982 gio/gdbus-tool.c:1732 gio/gdbus-tool.c:1969
msgid "Error: Destination is not specified\n"
msgstr "Fehler: Ziel wurde nicht angegeben\n"
-#: ../gio/gdbus-tool.c:993 ../gio/gdbus-tool.c:1749 ../gio/gdbus-tool.c:1980
+#: gio/gdbus-tool.c:993 gio/gdbus-tool.c:1749 gio/gdbus-tool.c:1980
#, c-format
msgid "Error: %s is not a valid bus name\n"
msgstr "Fehler: %s ist kein gültiger Bus-Name\n"
-#: ../gio/gdbus-tool.c:1043
-#, c-format
+#: gio/gdbus-tool.c:1043
msgid "Error: Method name is not specified\n"
msgstr "Fehler: Name der Methode wurde nicht angegeben\n"
-#: ../gio/gdbus-tool.c:1054
+#: gio/gdbus-tool.c:1054
#, c-format
msgid "Error: Method name “%s” is invalid\n"
msgstr "Fehler: Name der Methode »%s« ist ungültig\n"
-#: ../gio/gdbus-tool.c:1132
+#: gio/gdbus-tool.c:1132
#, c-format
msgid "Error parsing parameter %d of type “%s”: %s\n"
msgstr "Fehler bei der Verarbeitung des Parameters %d vom Typ »%s«: %s\n"
-#: ../gio/gdbus-tool.c:1576
+#: gio/gdbus-tool.c:1576
msgid "Destination name to introspect"
msgstr "Name des Ziels der Inspektion"
-#: ../gio/gdbus-tool.c:1577
+#: gio/gdbus-tool.c:1577
msgid "Object path to introspect"
msgstr "Zu inspizierender Objektpfad"
-#: ../gio/gdbus-tool.c:1578
+#: gio/gdbus-tool.c:1578
msgid "Print XML"
msgstr "XML drucken"
-#: ../gio/gdbus-tool.c:1579
+#: gio/gdbus-tool.c:1579
msgid "Introspect children"
msgstr "Unterelemente inspizieren"
-#: ../gio/gdbus-tool.c:1580
+#: gio/gdbus-tool.c:1580
msgid "Only print properties"
msgstr "Nur Eigenschaften ausgeben"
-#: ../gio/gdbus-tool.c:1667
+#: gio/gdbus-tool.c:1667
msgid "Introspect a remote object."
msgstr "Ein entferntes Objekt inspizieren."
-#: ../gio/gdbus-tool.c:1870
+#: gio/gdbus-tool.c:1870
msgid "Destination name to monitor"
msgstr "Name des zu überwachenden Ziels"
-#: ../gio/gdbus-tool.c:1871
+#: gio/gdbus-tool.c:1871
msgid "Object path to monitor"
msgstr "Zu überwachender Objektpfad"
-#: ../gio/gdbus-tool.c:1896
+#: gio/gdbus-tool.c:1896
msgid "Monitor a remote object."
msgstr "Ein entferntes Objekt überwachen."
-#: ../gio/gdbus-tool.c:1954
-#, c-format
+#: gio/gdbus-tool.c:1954
msgid "Error: can’t monitor a non-message-bus connection\n"
msgstr ""
"Fehler: eine Nicht-Message-Bus-Verbindung kann nicht überwacht werden\n"
-#: ../gio/gdbus-tool.c:2078
+#: gio/gdbus-tool.c:2078
msgid "Service to activate before waiting for the other one (well-known name)"
msgstr ""
"Zu aktivierender Dienst, bevor auf den anderen gewartet wird (allgemein "
"bekannter Name)"
-#: ../gio/gdbus-tool.c:2081
+#: gio/gdbus-tool.c:2081
msgid ""
"Timeout to wait for before exiting with an error (seconds); 0 for no timeout "
"(default)"
@@ -1254,140 +1235,135 @@
"Zeitspanne, die gewartet werden soll, bis mit einer Fehlermeldung "
"abgebrochen wird (Sekunden); 0 für keine Zeitspanne (Voreinstellung)"
-#: ../gio/gdbus-tool.c:2129
+#: gio/gdbus-tool.c:2129
msgid "[OPTION…] BUS-NAME"
msgstr "[OPTION …] BUS-NAME"
-#: ../gio/gdbus-tool.c:2130
+#: gio/gdbus-tool.c:2130
msgid "Wait for a bus name to appear."
msgstr "Name eines Busses, auf dessen Verfügbarkeit gewartet werden soll."
-#: ../gio/gdbus-tool.c:2206
-#, c-format
+#: gio/gdbus-tool.c:2206
msgid "Error: A service to activate for must be specified.\n"
msgstr ""
"Fehler: Es muss ein Dienst angegeben werden, der gestartet werden soll.\n"
-#: ../gio/gdbus-tool.c:2211
-#, c-format
+#: gio/gdbus-tool.c:2211
msgid "Error: A service to wait for must be specified.\n"
msgstr ""
"Fehler: Es muss ein Dienst angegeben werden, auf den gewartet werden soll.\n"
-#: ../gio/gdbus-tool.c:2216
-#, c-format
+#: gio/gdbus-tool.c:2216
msgid "Error: Too many arguments.\n"
msgstr "Fehler: Zu viele Argumente.\n"
-#: ../gio/gdbus-tool.c:2224 ../gio/gdbus-tool.c:2231
+#: gio/gdbus-tool.c:2224 gio/gdbus-tool.c:2231
#, c-format
msgid "Error: %s is not a valid well-known bus name.\n"
msgstr "Fehler: %s ist kein gültiger, bekannter Bus-Name\n"
-#: ../gio/gdesktopappinfo.c:2023 ../gio/gdesktopappinfo.c:4633
+#: gio/gdesktopappinfo.c:2023 gio/gdesktopappinfo.c:4633
msgid "Unnamed"
msgstr "Unbenannt"
-#: ../gio/gdesktopappinfo.c:2433
+#: gio/gdesktopappinfo.c:2433
msgid "Desktop file didn’t specify Exec field"
msgstr "Desktop-Datei hat kein Exec-Feld angegeben"
-#: ../gio/gdesktopappinfo.c:2692
+#: gio/gdesktopappinfo.c:2692
msgid "Unable to find terminal required for application"
msgstr "Für die Anwendung benötigtes Terminal konnte nicht gefunden werden"
-#: ../gio/gdesktopappinfo.c:3202
+#: gio/gdesktopappinfo.c:3202
#, c-format
msgid "Can’t create user application configuration folder %s: %s"
msgstr ""
"Konfigurationsordner %s für Benutzeranwendungen konnte nicht erstellt "
"werden: %s"
-#: ../gio/gdesktopappinfo.c:3206
+#: gio/gdesktopappinfo.c:3206
#, c-format
msgid "Can’t create user MIME configuration folder %s: %s"
msgstr ""
"MIME-Konfigurationsordner %s des Benutzers konnte nicht erstellt werden: %s"
-#: ../gio/gdesktopappinfo.c:3446 ../gio/gdesktopappinfo.c:3470
+#: gio/gdesktopappinfo.c:3446 gio/gdesktopappinfo.c:3470
msgid "Application information lacks an identifier"
msgstr "Den Anwendungsinformationen fehlt ein Bezeichner"
-#: ../gio/gdesktopappinfo.c:3704
+#: gio/gdesktopappinfo.c:3704
#, c-format
msgid "Can’t create user desktop file %s"
msgstr "Benutzer-Desktop-Datei %s kann nicht erstellt werden"
-#: ../gio/gdesktopappinfo.c:3838
+#: gio/gdesktopappinfo.c:3838
#, c-format
msgid "Custom definition for %s"
msgstr "Benutzerdefinition für %s"
-#: ../gio/gdrive.c:417
+#: gio/gdrive.c:417
msgid "drive doesn’t implement eject"
msgstr "Laufwerk unterstützt Auswerfen nicht"
#. Translators: This is an error
#. * message for drive objects that
#. * don't implement any of eject or eject_with_operation.
-#: ../gio/gdrive.c:495
+#: gio/gdrive.c:495
msgid "drive doesn’t implement eject or eject_with_operation"
msgstr "Laufwerk unterstützt weder ein Auswerfen noch »eject_with_operation«"
-#: ../gio/gdrive.c:571
+#: gio/gdrive.c:571
msgid "drive doesn’t implement polling for media"
msgstr "Laufwerk unterstützt Prüfen auf Datenträger nicht"
-#: ../gio/gdrive.c:778
+#: gio/gdrive.c:778
msgid "drive doesn’t implement start"
msgstr "Laufwerk unterstützt keinen Startvorgang"
-#: ../gio/gdrive.c:880
+#: gio/gdrive.c:880
msgid "drive doesn’t implement stop"
msgstr "Laufwerk unterstützt keinen Stoppvorgang"
-#: ../gio/gdummytlsbackend.c:195 ../gio/gdummytlsbackend.c:317
-#: ../gio/gdummytlsbackend.c:509
+#: gio/gdummytlsbackend.c:195 gio/gdummytlsbackend.c:317
+#: gio/gdummytlsbackend.c:509
msgid "TLS support is not available"
msgstr "TLS-Unterstützung ist nicht verfügbar"
-#: ../gio/gdummytlsbackend.c:419
+#: gio/gdummytlsbackend.c:419
msgid "DTLS support is not available"
msgstr "DTLS-Unterstützung ist nicht verfügbar"
-#: ../gio/gemblem.c:323
+#: gio/gemblem.c:323
#, c-format
msgid "Can’t handle version %d of GEmblem encoding"
msgstr "Version %d der GEmblem-Kodierung kann nicht verarbeitet werden"
-#: ../gio/gemblem.c:333
+#: gio/gemblem.c:333
#, c-format
msgid "Malformed number of tokens (%d) in GEmblem encoding"
msgstr "Ungültige Symbolanzahl (%d) in GEmblem-Kodierung"
-#: ../gio/gemblemedicon.c:362
+#: gio/gemblemedicon.c:362
#, c-format
msgid "Can’t handle version %d of GEmblemedIcon encoding"
msgstr "Version %d der GEmblemedIcon-Kodierung kann nicht verarbeitet werden"
-#: ../gio/gemblemedicon.c:372
+#: gio/gemblemedicon.c:372
#, c-format
msgid "Malformed number of tokens (%d) in GEmblemedIcon encoding"
msgstr "Ungültige Symbolanzahl (%d) in GEmblemedIcon-Kodierung"
-#: ../gio/gemblemedicon.c:395
+#: gio/gemblemedicon.c:395
msgid "Expected a GEmblem for GEmblemedIcon"
msgstr "Es wurde ein GEmblem für GEmblemedIcon erwartet"
-#: ../gio/gfile.c:1076 ../gio/gfile.c:1314 ../gio/gfile.c:1452
-#: ../gio/gfile.c:1690 ../gio/gfile.c:1745 ../gio/gfile.c:1803
-#: ../gio/gfile.c:1887 ../gio/gfile.c:1944 ../gio/gfile.c:2008
-#: ../gio/gfile.c:2063 ../gio/gfile.c:3738 ../gio/gfile.c:3793
-#: ../gio/gfile.c:4029 ../gio/gfile.c:4071 ../gio/gfile.c:4539
-#: ../gio/gfile.c:4950 ../gio/gfile.c:5035 ../gio/gfile.c:5125
-#: ../gio/gfile.c:5222 ../gio/gfile.c:5309 ../gio/gfile.c:5410
-#: ../gio/gfile.c:7988 ../gio/gfile.c:8078 ../gio/gfile.c:8162
-#: ../gio/win32/gwinhttpfile.c:437
+#: gio/gfile.c:1076 gio/gfile.c:1314 gio/gfile.c:1452 gio/gfile.c:1690
+#: gio/gfile.c:1745 gio/gfile.c:1803 gio/gfile.c:1887 gio/gfile.c:1944
+#: gio/gfile.c:2008 gio/gfile.c:2063 gio/gfile.c:3738 gio/gfile.c:3793
+#: gio/gfile.c:4029 gio/gfile.c:4071 gio/gfile.c:4539 gio/gfile.c:4950
+#: gio/gfile.c:5035 gio/gfile.c:5125 gio/gfile.c:5222 gio/gfile.c:5309
+#: gio/gfile.c:5410 gio/gfile.c:7988 gio/gfile.c:8078 gio/gfile.c:8162
+#: gio/win32/gwinhttpfile.c:437
msgid "Operation not supported"
msgstr "Vorgang wird nicht unterstützt"
@@ -1395,206 +1371,206 @@
#. * trying to find the enclosing (user visible)
#. * mount of a file, but none exists.
#.
-#: ../gio/gfile.c:1575
+#: gio/gfile.c:1575
msgid "Containing mount does not exist"
msgstr "Enthaltender Einhängepunkt existiert nicht"
-#: ../gio/gfile.c:2622 ../gio/glocalfile.c:2389
+#: gio/gfile.c:2622 gio/glocalfile.c:2391
msgid "Can’t copy over directory"
msgstr "Es kann nicht über den Ordner kopiert werden"
-#: ../gio/gfile.c:2682
+#: gio/gfile.c:2682
msgid "Can’t copy directory over directory"
msgstr "Ordner kann nicht über Ordner kopiert werden"
-#: ../gio/gfile.c:2690
+#: gio/gfile.c:2690
msgid "Target file exists"
msgstr "Zieldatei existiert"
-#: ../gio/gfile.c:2709
+#: gio/gfile.c:2709
msgid "Can’t recursively copy directory"
msgstr "Ordner kann nicht rekursiv kopiert werden"
-#: ../gio/gfile.c:2984
+#: gio/gfile.c:2984
msgid "Splice not supported"
msgstr "Zusammenfügen wird nicht unterstützt"
-#: ../gio/gfile.c:2988 ../gio/gfile.c:3033
+#: gio/gfile.c:2988 gio/gfile.c:3033
#, c-format
msgid "Error splicing file: %s"
msgstr "Fehler beim Zusammenfügen der Datei: %s"
-#: ../gio/gfile.c:3149
+#: gio/gfile.c:3149
msgid "Copy (reflink/clone) between mounts is not supported"
msgstr "Kopieren (reflink/clone) zwischen Einhängepunkten nicht unterstützt"
-#: ../gio/gfile.c:3153
+#: gio/gfile.c:3153
msgid "Copy (reflink/clone) is not supported or invalid"
msgstr "Kopieren (reflink/clone) wird nicht unterstützt oder ist ungültig"
-#: ../gio/gfile.c:3158
+#: gio/gfile.c:3158
msgid "Copy (reflink/clone) is not supported or didn’t work"
msgstr ""
"Kopieren (reflink/clone) wird nicht unterstützt oder funktioniert nicht"
-#: ../gio/gfile.c:3221
+#: gio/gfile.c:3221
msgid "Can’t copy special file"
msgstr "Spezielle Datei kann nicht kopiert werden"
-#: ../gio/gfile.c:4019
+#: gio/gfile.c:4019
msgid "Invalid symlink value given"
msgstr "Ungültiger Wert für symbolische Verknüpfung angegeben"
-#: ../gio/gfile.c:4180
+#: gio/gfile.c:4180
msgid "Trash not supported"
msgstr "Papierkorb nicht unterstützt"
-#: ../gio/gfile.c:4292
+#: gio/gfile.c:4292
#, c-format
msgid "File names cannot contain “%c”"
msgstr "Dateinamen dürfen kein »%c« enthalten"
-#: ../gio/gfile.c:6773 ../gio/gvolume.c:364
+#: gio/gfile.c:6773 gio/gvolume.c:364
msgid "volume doesn’t implement mount"
msgstr "Datenträger unterstützt Einhängen nicht"
-#: ../gio/gfile.c:6882
+#: gio/gfile.c:6882
msgid "No application is registered as handling this file"
msgstr "Es wurde keine Anwendung gefunden, die diese Datei verarbeiten kann"
-#: ../gio/gfileenumerator.c:212
+#: gio/gfileenumerator.c:212
msgid "Enumerator is closed"
msgstr "Datei-Enumerator ist geschlossen"
-#: ../gio/gfileenumerator.c:219 ../gio/gfileenumerator.c:278
-#: ../gio/gfileenumerator.c:377 ../gio/gfileenumerator.c:476
+#: gio/gfileenumerator.c:219 gio/gfileenumerator.c:278
+#: gio/gfileenumerator.c:377 gio/gfileenumerator.c:476
msgid "File enumerator has outstanding operation"
msgstr "Datei-Enumerator hat noch einen ausstehenden Vorgang"
-#: ../gio/gfileenumerator.c:368 ../gio/gfileenumerator.c:467
+#: gio/gfileenumerator.c:368 gio/gfileenumerator.c:467
msgid "File enumerator is already closed"
msgstr "Datei-Enumerator ist bereits geschlossen"
-#: ../gio/gfileicon.c:236
+#: gio/gfileicon.c:236
#, c-format
msgid "Can’t handle version %d of GFileIcon encoding"
msgstr "Version %d der GFileIcon-Kodierung kann nicht verarbeitet werden"
-#: ../gio/gfileicon.c:246
+#: gio/gfileicon.c:246
msgid "Malformed input data for GFileIcon"
msgstr "Ungültige Eingangsdaten für GFileIcon"
-#: ../gio/gfileinputstream.c:149 ../gio/gfileinputstream.c:394
-#: ../gio/gfileiostream.c:167 ../gio/gfileoutputstream.c:164
-#: ../gio/gfileoutputstream.c:497
+#: gio/gfileinputstream.c:149 gio/gfileinputstream.c:394
+#: gio/gfileiostream.c:167 gio/gfileoutputstream.c:164
+#: gio/gfileoutputstream.c:497
msgid "Stream doesn’t support query_info"
msgstr "Datenstrom unterstützt query_info nicht"
-#: ../gio/gfileinputstream.c:325 ../gio/gfileiostream.c:379
-#: ../gio/gfileoutputstream.c:371
+#: gio/gfileinputstream.c:325 gio/gfileiostream.c:379
+#: gio/gfileoutputstream.c:371
msgid "Seek not supported on stream"
msgstr "Suchen im Datenstrom nicht unterstützt"
-#: ../gio/gfileinputstream.c:369
+#: gio/gfileinputstream.c:369
msgid "Truncate not allowed on input stream"
msgstr "Abschneiden des Eingabedatenstroms nicht erlaubt"
-#: ../gio/gfileiostream.c:455 ../gio/gfileoutputstream.c:447
+#: gio/gfileiostream.c:455 gio/gfileoutputstream.c:447
msgid "Truncate not supported on stream"
msgstr "Abschneiden wird vom Datenstrom nicht unterstützt"
-#: ../gio/ghttpproxy.c:91 ../gio/gresolver.c:410 ../gio/gresolver.c:476
-#: ../glib/gconvert.c:1786
+#: gio/ghttpproxy.c:91 gio/gresolver.c:410 gio/gresolver.c:476
+#: glib/gconvert.c:1786
msgid "Invalid hostname"
msgstr "Ungültiger Rechnername"
-#: ../gio/ghttpproxy.c:143
+#: gio/ghttpproxy.c:143
msgid "Bad HTTP proxy reply"
msgstr "Ungültige Antwort vom HTTP-Proxy"
-#: ../gio/ghttpproxy.c:159
+#: gio/ghttpproxy.c:159
msgid "HTTP proxy connection not allowed"
msgstr "Verbindung zum HTTP-Proxy nicht zugelassen"
-#: ../gio/ghttpproxy.c:164
+#: gio/ghttpproxy.c:164
msgid "HTTP proxy authentication failed"
msgstr "Legitimierung am HTTP-Proxy ist fehlgeschlagen"
-#: ../gio/ghttpproxy.c:167
+#: gio/ghttpproxy.c:167
msgid "HTTP proxy authentication required"
msgstr "Legitimierung ist erforderlich am HTTP-Proxy"
-#: ../gio/ghttpproxy.c:171
+#: gio/ghttpproxy.c:171
#, c-format
msgid "HTTP proxy connection failed: %i"
msgstr "Verbindung zum HTTP-Proxy ist fehlgeschlagen: %i"
-#: ../gio/ghttpproxy.c:269
+#: gio/ghttpproxy.c:269
msgid "HTTP proxy server closed connection unexpectedly."
msgstr "HTTP Proxy-Server hat die Verbindung unerwartet geschlossen."
-#: ../gio/gicon.c:290
+#: gio/gicon.c:290
#, c-format
msgid "Wrong number of tokens (%d)"
msgstr "Ungültige Symbolanzahl (%d)"
-#: ../gio/gicon.c:310
+#: gio/gicon.c:310
#, c-format
msgid "No type for class name %s"
msgstr "Kein Typ für Klassenname %s"
-#: ../gio/gicon.c:320
+#: gio/gicon.c:320
#, c-format
msgid "Type %s does not implement the GIcon interface"
msgstr "GIcon-Schnittstelle wird vom Typ %s nicht unterstützt"
-#: ../gio/gicon.c:331
+#: gio/gicon.c:331
#, c-format
msgid "Type %s is not classed"
msgstr "Typ %s ist keine Klasse"
-#: ../gio/gicon.c:345
+#: gio/gicon.c:345
#, c-format
msgid "Malformed version number: %s"
msgstr "Ungültige Versionsnummer: %s"
-#: ../gio/gicon.c:359
+#: gio/gicon.c:359
#, c-format
msgid "Type %s does not implement from_tokens() on the GIcon interface"
msgstr "Typ %s implementiert nicht from_tokens() der GIcon-Schnittstelle"
-#: ../gio/gicon.c:461
+#: gio/gicon.c:461
msgid "Can’t handle the supplied version of the icon encoding"
msgstr "Übergebene Version der Symbol-Kodierung kann nicht verarbeitet werden"
-#: ../gio/ginetaddressmask.c:182
+#: gio/ginetaddressmask.c:182
msgid "No address specified"
msgstr "Keine Adresse angegeben"
-#: ../gio/ginetaddressmask.c:190
+#: gio/ginetaddressmask.c:190
#, c-format
msgid "Length %u is too long for address"
msgstr "Länge %u ist zu groß für eine Adresse"
-#: ../gio/ginetaddressmask.c:223
+#: gio/ginetaddressmask.c:223
msgid "Address has bits set beyond prefix length"
msgstr "Für die Adresse sind Bits außerhalb der Präfix-Länge gesetzt"
-#: ../gio/ginetaddressmask.c:300
+#: gio/ginetaddressmask.c:300
#, c-format
msgid "Could not parse “%s” as IP address mask"
msgstr "»%s« konnte nicht als IP-Adressmaske verarbeitet werden"
-#: ../gio/ginetsocketaddress.c:203 ../gio/ginetsocketaddress.c:220
-#: ../gio/gnativesocketaddress.c:109 ../gio/gunixsocketaddress.c:220
+#: gio/ginetsocketaddress.c:203 gio/ginetsocketaddress.c:220
+#: gio/gnativesocketaddress.c:109 gio/gunixsocketaddress.c:220
msgid "Not enough space for socket address"
msgstr "Nicht genug Platz für eine Socket-Adresse"
-#: ../gio/ginetsocketaddress.c:235
+#: gio/ginetsocketaddress.c:235
msgid "Unsupported socket address"
msgstr "Nicht unterstützte Socket-Adresse"
-#: ../gio/ginputstream.c:188
+#: gio/ginputstream.c:188
msgid "Input stream doesn’t implement read"
msgstr "Eingabedatenstrom unterstützt kein Lesen"
@@ -1604,125 +1580,122 @@
#. Translators: This is an error you get if there is
#. * already an operation running against this stream when
#. * you try to start one
-#: ../gio/ginputstream.c:1218 ../gio/giostream.c:310
-#: ../gio/goutputstream.c:1671
+#: gio/ginputstream.c:1218 gio/giostream.c:310 gio/goutputstream.c:1671
msgid "Stream has outstanding operation"
msgstr "Datenstrom hat noch einen ausstehenden Vorgang"
-#: ../gio/gio-tool.c:160
+#: gio/gio-tool.c:160
msgid "Copy with file"
msgstr "Mit Datei kopieren"
-#: ../gio/gio-tool.c:164
+#: gio/gio-tool.c:164
msgid "Keep with file when moved"
msgstr "Zusammen mit Datei verschieben"
-#: ../gio/gio-tool.c:205
+#: gio/gio-tool.c:205
msgid "“version” takes no arguments"
msgstr "»version« akzeptiert keine Argumente"
-#: ../gio/gio-tool.c:207 ../gio/gio-tool.c:223 ../glib/goption.c:857
+#: gio/gio-tool.c:207 gio/gio-tool.c:223 glib/goption.c:857
msgid "Usage:"
msgstr "Aufruf:"
-#: ../gio/gio-tool.c:210
+#: gio/gio-tool.c:210
msgid "Print version information and exit."
msgstr "Versionsinformationen ausgeben und beenden."
-#: ../gio/gio-tool.c:226
+#: gio/gio-tool.c:226
msgid "Commands:"
msgstr "Befehle:"
-#: ../gio/gio-tool.c:229
+#: gio/gio-tool.c:229
msgid "Concatenate files to standard output"
msgstr "Dateien aneinander hängen und auf der Standardausgabe ausgeben"
-#: ../gio/gio-tool.c:230
+#: gio/gio-tool.c:230
msgid "Copy one or more files"
msgstr "Eine oder mehrere Dateien kopieren"
-#: ../gio/gio-tool.c:231
+#: gio/gio-tool.c:231
msgid "Show information about locations"
msgstr "Informationen zu Orten anzeigen"
-#: ../gio/gio-tool.c:232
+#: gio/gio-tool.c:232
msgid "List the contents of locations"
msgstr "Den Inhalt der Orte auflisten"
-#: ../gio/gio-tool.c:233
+#: gio/gio-tool.c:233
msgid "Get or set the handler for a mimetype"
msgstr "Anwendung für MIME-Typ ermitteln oder festlegen"
-#: ../gio/gio-tool.c:234
+#: gio/gio-tool.c:234
msgid "Create directories"
msgstr "Ordner erstellen"
-#: ../gio/gio-tool.c:235
+#: gio/gio-tool.c:235
msgid "Monitor files and directories for changes"
msgstr "Dateien und Ordner auf Änderungen überwachen"
-#: ../gio/gio-tool.c:236
+#: gio/gio-tool.c:236
msgid "Mount or unmount the locations"
msgstr "Die Orte ein- oder aushängen"
-#: ../gio/gio-tool.c:237
+#: gio/gio-tool.c:237
msgid "Move one or more files"
msgstr "Eine oder mehrere Dateien verschieben"
-#: ../gio/gio-tool.c:238
+#: gio/gio-tool.c:238
msgid "Open files with the default application"
msgstr "Dateien mit der Standard-Anwendung öffnen"
-#: ../gio/gio-tool.c:239
+#: gio/gio-tool.c:239
msgid "Rename a file"
msgstr "Eine Datei umbenennen"
-#: ../gio/gio-tool.c:240
+#: gio/gio-tool.c:240
msgid "Delete one or more files"
msgstr "Eine oder mehrere Dateien löschen"
-#: ../gio/gio-tool.c:241
+#: gio/gio-tool.c:241
msgid "Read from standard input and save"
msgstr "Aus der Standardeingabe lesen und speichern"
-#: ../gio/gio-tool.c:242
+#: gio/gio-tool.c:242
msgid "Set a file attribute"
msgstr "Ein Dateiattribut festlegen"
-#: ../gio/gio-tool.c:243
+#: gio/gio-tool.c:243
msgid "Move files or directories to the trash"
msgstr "Dateien oder Ordner in den Papierkorb verschieben"
-#: ../gio/gio-tool.c:244
+#: gio/gio-tool.c:244
msgid "Lists the contents of locations in a tree"
msgstr "Den Inhalt der Orte in einer Baumstruktur auflisten"
-#: ../gio/gio-tool.c:246
+#: gio/gio-tool.c:246
#, c-format
msgid "Use %s to get detailed help.\n"
msgstr "Verwenden Sie »%s«, um detaillierte Hilfe zu erhalten.\n"
-#: ../gio/gio-tool-cat.c:87
+#: gio/gio-tool-cat.c:87
msgid "Error writing to stdout"
msgstr "Fehler beim Schreiben in die Standardausgabe"
#. Translators: commandline placeholder
-#: ../gio/gio-tool-cat.c:133 ../gio/gio-tool-info.c:282
-#: ../gio/gio-tool-list.c:165 ../gio/gio-tool-mkdir.c:48
-#: ../gio/gio-tool-monitor.c:37 ../gio/gio-tool-monitor.c:39
-#: ../gio/gio-tool-monitor.c:41 ../gio/gio-tool-monitor.c:43
-#: ../gio/gio-tool-monitor.c:203 ../gio/gio-tool-mount.c:1235
-#: ../gio/gio-tool-open.c:113 ../gio/gio-tool-remove.c:48
-#: ../gio/gio-tool-rename.c:45 ../gio/gio-tool-set.c:89
-#: ../gio/gio-tool-trash.c:81 ../gio/gio-tool-tree.c:239
+#: gio/gio-tool-cat.c:133 gio/gio-tool-info.c:282 gio/gio-tool-list.c:165
+#: gio/gio-tool-mkdir.c:48 gio/gio-tool-monitor.c:37 gio/gio-tool-monitor.c:39
+#: gio/gio-tool-monitor.c:41 gio/gio-tool-monitor.c:43
+#: gio/gio-tool-monitor.c:203 gio/gio-tool-mount.c:1212 gio/gio-tool-open.c:113
+#: gio/gio-tool-remove.c:48 gio/gio-tool-rename.c:45 gio/gio-tool-set.c:89
+#: gio/gio-tool-trash.c:81 gio/gio-tool-tree.c:239
msgid "LOCATION"
msgstr "ORT"
-#: ../gio/gio-tool-cat.c:138
+#: gio/gio-tool-cat.c:138
msgid "Concatenate files and print to standard output."
msgstr "Dateien aneinander hängen und auf der Standardausgabe ausgeben."
-#: ../gio/gio-tool-cat.c:140
+#: gio/gio-tool-cat.c:140
msgid ""
"gio cat works just like the traditional cat utility, but using GIO\n"
"locations instead of local files: for example, you can use something\n"
@@ -1732,59 +1705,56 @@
"jedoch werden GIO-Orte statt lokaler Dateien verwendet; z.B. können\n"
"Sie als Ort etwas wie »smb://server/ressource/datei.txt« angeben."
-#: ../gio/gio-tool-cat.c:162 ../gio/gio-tool-info.c:313
-#: ../gio/gio-tool-mkdir.c:76 ../gio/gio-tool-monitor.c:228
-#: ../gio/gio-tool-mount.c:1285 ../gio/gio-tool-open.c:139
-#: ../gio/gio-tool-remove.c:72 ../gio/gio-tool-trash.c:136
+#: gio/gio-tool-cat.c:162 gio/gio-tool-info.c:313 gio/gio-tool-mkdir.c:76
+#: gio/gio-tool-monitor.c:228 gio/gio-tool-mount.c:1263 gio/gio-tool-open.c:139
+#: gio/gio-tool-remove.c:72 gio/gio-tool-trash.c:136
msgid "No locations given"
msgstr "Keine Orte angegeben"
-#: ../gio/gio-tool-copy.c:42 ../gio/gio-tool-move.c:38
+#: gio/gio-tool-copy.c:42 gio/gio-tool-move.c:38
msgid "No target directory"
msgstr "Kein Zielordner"
-#: ../gio/gio-tool-copy.c:43 ../gio/gio-tool-move.c:39
+#: gio/gio-tool-copy.c:43 gio/gio-tool-move.c:39
msgid "Show progress"
msgstr "Fortschritt zeigen"
-#: ../gio/gio-tool-copy.c:44 ../gio/gio-tool-move.c:40
+#: gio/gio-tool-copy.c:44 gio/gio-tool-move.c:40
msgid "Prompt before overwrite"
msgstr "Vor Überschreiben nachfragen"
-#: ../gio/gio-tool-copy.c:45
+#: gio/gio-tool-copy.c:45
msgid "Preserve all attributes"
msgstr "Alle Attribute übernehmen"
-#: ../gio/gio-tool-copy.c:46 ../gio/gio-tool-move.c:41
-#: ../gio/gio-tool-save.c:49
+#: gio/gio-tool-copy.c:46 gio/gio-tool-move.c:41 gio/gio-tool-save.c:49
msgid "Backup existing destination files"
msgstr "Vorhandene Zieldateien sichern"
-#: ../gio/gio-tool-copy.c:47
+#: gio/gio-tool-copy.c:47
msgid "Never follow symbolic links"
msgstr "Niemals symbolischen Verknüpfungen folgen"
-#: ../gio/gio-tool-copy.c:72 ../gio/gio-tool-move.c:67
+#: gio/gio-tool-copy.c:72 gio/gio-tool-move.c:67
#, c-format
msgid "Transferred %s out of %s (%s/s)"
msgstr "%s von %s übertragen (%s/s)"
#. Translators: commandline placeholder
-#: ../gio/gio-tool-copy.c:98 ../gio/gio-tool-move.c:94
+#: gio/gio-tool-copy.c:98 gio/gio-tool-move.c:94
msgid "SOURCE"
msgstr "QUELLE"
#. Translators: commandline placeholder
-#: ../gio/gio-tool-copy.c:98 ../gio/gio-tool-move.c:94
-#: ../gio/gio-tool-save.c:160
+#: gio/gio-tool-copy.c:98 gio/gio-tool-move.c:94 gio/gio-tool-save.c:160
msgid "DESTINATION"
msgstr "ZIEL"
-#: ../gio/gio-tool-copy.c:103
+#: gio/gio-tool-copy.c:103
msgid "Copy one or more files from SOURCE to DESTINATION."
msgstr "Eine oder mehrere Dateien von QUELLE nach ZIEL kopieren."
-#: ../gio/gio-tool-copy.c:105
+#: gio/gio-tool-copy.c:105
msgid ""
"gio copy is similar to the traditional cp utility, but using GIO\n"
"locations instead of local files: for example, you can use something\n"
@@ -1794,93 +1764,88 @@
"jedoch werden GIO-Orte statt lokaler Dateien verwendet; z.B. können\n"
"Sie als Ort etwas wie »smb://server/ressource/datei.txt« angeben."
-#: ../gio/gio-tool-copy.c:147
+#: gio/gio-tool-copy.c:147
#, c-format
msgid "Destination %s is not a directory"
msgstr "Das Ziel »%s« ist kein Ordner"
-#: ../gio/gio-tool-copy.c:192 ../gio/gio-tool-move.c:185
+#: gio/gio-tool-copy.c:192 gio/gio-tool-move.c:186
#, c-format
msgid "%s: overwrite “%s”? "
msgstr "%s: Soll »%s« überschrieben werden? "
-#: ../gio/gio-tool-info.c:34
+#: gio/gio-tool-info.c:34
msgid "List writable attributes"
msgstr "Schreibbare Attribute auflisten"
-#: ../gio/gio-tool-info.c:35
+#: gio/gio-tool-info.c:35
msgid "Get file system info"
msgstr "Informationen zum Dateisystem erhalten"
-#: ../gio/gio-tool-info.c:36 ../gio/gio-tool-list.c:35
+#: gio/gio-tool-info.c:36 gio/gio-tool-list.c:35
msgid "The attributes to get"
msgstr "Das einzulesende Attribut"
-#: ../gio/gio-tool-info.c:36 ../gio/gio-tool-list.c:35
+#: gio/gio-tool-info.c:36 gio/gio-tool-list.c:35
msgid "ATTRIBUTES"
msgstr "ATTRIBUTE"
-#: ../gio/gio-tool-info.c:37 ../gio/gio-tool-list.c:38 ../gio/gio-tool-set.c:34
+#: gio/gio-tool-info.c:37 gio/gio-tool-list.c:38 gio/gio-tool-set.c:34
msgid "Don’t follow symbolic links"
msgstr "Symbolischen Verknüpfungen nicht folgen"
-#: ../gio/gio-tool-info.c:75
-#, c-format
+#: gio/gio-tool-info.c:75
msgid "attributes:\n"
msgstr "Attribute:\n"
#. Translators: This is a noun and represents and attribute of a file
-#: ../gio/gio-tool-info.c:127
+#: gio/gio-tool-info.c:127
#, c-format
msgid "display name: %s\n"
msgstr "Anzeigename: %s\n"
#. Translators: This is a noun and represents and attribute of a file
-#: ../gio/gio-tool-info.c:132
+#: gio/gio-tool-info.c:132
#, c-format
msgid "edit name: %s\n"
msgstr "Name bearbeiten: %s\n"
-#: ../gio/gio-tool-info.c:138
+#: gio/gio-tool-info.c:138
#, c-format
msgid "name: %s\n"
msgstr "Name: %s\n"
-#: ../gio/gio-tool-info.c:145
+#: gio/gio-tool-info.c:145
#, c-format
msgid "type: %s\n"
msgstr "Typ: %s\n"
-#: ../gio/gio-tool-info.c:151
-#, c-format
+#: gio/gio-tool-info.c:151
msgid "size: "
msgstr "Größe: "
-#: ../gio/gio-tool-info.c:156
-#, c-format
+#: gio/gio-tool-info.c:156
msgid "hidden\n"
msgstr "verborgen\n"
-#: ../gio/gio-tool-info.c:159
+#: gio/gio-tool-info.c:159
#, c-format
msgid "uri: %s\n"
msgstr "Adresse: %s\n"
-#: ../gio/gio-tool-info.c:228
-#, c-format
+#: gio/gio-tool-info.c:228
msgid "Settable attributes:\n"
msgstr "Setzbare Attribute:\n"
-#: ../gio/gio-tool-info.c:252
-#, c-format
+#: gio/gio-tool-info.c:252
msgid "Writable attribute namespaces:\n"
msgstr "Namensraum der schreibbaren Attribute:\n"
-#: ../gio/gio-tool-info.c:287
+#: gio/gio-tool-info.c:287
msgid "Show information about locations."
msgstr "Informationen zu Orten zeigen."
-#: ../gio/gio-tool-info.c:289
+#: gio/gio-tool-info.c:289
msgid ""
"gio info is similar to the traditional ls utility, but using GIO\n"
"locations instead of local files: for example, you can use something\n"
@@ -1895,23 +1860,23 @@
"anhand des Namensraums, z.B. »unix«, oder durch »*« angegeben werden,\n"
"was auf alle Attribute passt."
-#: ../gio/gio-tool-list.c:36 ../gio/gio-tool-tree.c:32
+#: gio/gio-tool-list.c:36 gio/gio-tool-tree.c:32
msgid "Show hidden files"
msgstr "Verborgene Dateien zeigen"
-#: ../gio/gio-tool-list.c:37
+#: gio/gio-tool-list.c:37
msgid "Use a long listing format"
msgstr "Langes Listenformat verwenden"
-#: ../gio/gio-tool-list.c:39
+#: gio/gio-tool-list.c:39
msgid "Print full URIs"
msgstr "Volle Adressen ausgeben"
-#: ../gio/gio-tool-list.c:170
+#: gio/gio-tool-list.c:170
msgid "List the contents of the locations."
msgstr "Den Inhalt der Orte auflisten."
-#: ../gio/gio-tool-list.c:172
+#: gio/gio-tool-list.c:172
msgid ""
"gio list is similar to the traditional ls utility, but using GIO\n"
"locations instead of local files: for example, you can use something\n"
@@ -1924,19 +1889,19 @@
"Dateiattribute werden mit dem GIO-Namen angegeben, z.B. standard::icon"
#. Translators: commandline placeholder
-#: ../gio/gio-tool-mime.c:71
+#: gio/gio-tool-mime.c:71
msgid "MIMETYPE"
msgstr "MIME-TYP"
-#: ../gio/gio-tool-mime.c:71
+#: gio/gio-tool-mime.c:71
msgid "HANDLER"
msgstr "BEHANDLUNGSROUTINE"
-#: ../gio/gio-tool-mime.c:76
+#: gio/gio-tool-mime.c:76
msgid "Get or set the handler for a mimetype."
msgstr "Anwendung für MIME-Typ ermitteln oder festlegen."
-#: ../gio/gio-tool-mime.c:78
+#: gio/gio-tool-mime.c:78
msgid ""
"If no handler is given, lists registered and recommended applications\n"
"for the mimetype. If a handler is given, it is set as the default\n"
@@ -1947,61 +1912,57 @@
"routine angegeben ist, wird diese als Voreinstellung für den MIME-Typ "
"gesetzt."
-#: ../gio/gio-tool-mime.c:100
+#: gio/gio-tool-mime.c:100
msgid "Must specify a single mimetype, and maybe a handler"
msgstr ""
"Ein einzelner MIME-Typ und eventuell eine Behandlungsroutine müssen "
"angegeben werden"
-#: ../gio/gio-tool-mime.c:116
+#: gio/gio-tool-mime.c:116
#, c-format
msgid "No default applications for “%s”\n"
msgstr "Keine Vorgabeanwendungen für »%s«\n"
-#: ../gio/gio-tool-mime.c:122
+#: gio/gio-tool-mime.c:122
#, c-format
msgid "Default application for “%s”: %s\n"
msgstr "Standardanwendung für »%s«: %s\n"
-#: ../gio/gio-tool-mime.c:127
-#, c-format
+#: gio/gio-tool-mime.c:127
msgid "Registered applications:\n"
msgstr "Registrierte Anwendungen:\n"
-#: ../gio/gio-tool-mime.c:129
-#, c-format
+#: gio/gio-tool-mime.c:129
msgid "No registered applications\n"
msgstr "Keine registrierten Anwendungen\n"
-#: ../gio/gio-tool-mime.c:140
-#, c-format
+#: gio/gio-tool-mime.c:140
msgid "Recommended applications:\n"
msgstr "Empfohlene Anwendungen:\n"
-#: ../gio/gio-tool-mime.c:142
-#, c-format
+#: gio/gio-tool-mime.c:142
msgid "No recommended applications\n"
msgstr "Keine empfohlenen Anwendungen\n"
-#: ../gio/gio-tool-mime.c:162
+#: gio/gio-tool-mime.c:162
#, c-format
msgid "Failed to load info for handler “%s”"
msgstr "Information zur Anwendung »%s« kann nicht geladen werden"
-#: ../gio/gio-tool-mime.c:168
+#: gio/gio-tool-mime.c:168
#, c-format
msgid "Failed to set “%s” as the default handler for “%s”: %s\n"
msgstr "»%s« kann nicht als Vorgabeanwendung für »%s« gesetzt werden: %s\n"
-#: ../gio/gio-tool-mkdir.c:31
+#: gio/gio-tool-mkdir.c:31
msgid "Create parent directories"
msgstr "Elternordner erstellen"
-#: ../gio/gio-tool-mkdir.c:52
+#: gio/gio-tool-mkdir.c:52
msgid "Create directories."
msgstr "Ordner erstellen."
-#: ../gio/gio-tool-mkdir.c:54
+#: gio/gio-tool-mkdir.c:54
msgid ""
"gio mkdir is similar to the traditional mkdir utility, but using GIO\n"
"locations instead of local files: for example, you can use something\n"
@@ -2011,141 +1972,139 @@
"jedoch werden GIO-Orte statt lokaler Dateien verwendet; z.B. können\n"
"Sie als Ort etwas wie »smb://server/ressource/Ordner« angeben."
-#: ../gio/gio-tool-monitor.c:37
+#: gio/gio-tool-monitor.c:37
msgid "Monitor a directory (default: depends on type)"
msgstr "Einen Ordner überwachen (Vorgabe: abhängig vom Typ)"
-#: ../gio/gio-tool-monitor.c:39
+#: gio/gio-tool-monitor.c:39
msgid "Monitor a file (default: depends on type)"
msgstr "Eine Datei überwachen (Vorgabe: abhängig vom Typ)"
-#: ../gio/gio-tool-monitor.c:41
+#: gio/gio-tool-monitor.c:41
msgid "Monitor a file directly (notices changes made via hardlinks)"
msgstr ""
"Eine Datei direkt überwachen (erkennt über harte Verknüpfungen gemachte "
"Änderungen)"
-#: ../gio/gio-tool-monitor.c:43
+#: gio/gio-tool-monitor.c:43
msgid "Monitors a file directly, but doesn’t report changes"
msgstr "Überwacht eine Datei direkt, aber berichtet nicht über Änderungen"
-#: ../gio/gio-tool-monitor.c:45
+#: gio/gio-tool-monitor.c:45
msgid "Report moves and renames as simple deleted/created events"
msgstr ""
"Verschiebungen und Umbenennungen als einfache Lösch- oder Erzeugungsvorgänge "
"melden"
-#: ../gio/gio-tool-monitor.c:47
+#: gio/gio-tool-monitor.c:47
msgid "Watch for mount events"
msgstr "Auf Einhängevorgänge überwachen"
-#: ../gio/gio-tool-monitor.c:208
+#: gio/gio-tool-monitor.c:208
msgid "Monitor files or directories for changes."
msgstr "Dateien und Ordner auf Änderungen überwachen."
-#: ../gio/gio-tool-mount.c:62
+#: gio/gio-tool-mount.c:63
msgid "Mount as mountable"
msgstr "Als einhängbar einbinden"
-#: ../gio/gio-tool-mount.c:63
+#: gio/gio-tool-mount.c:64
msgid "Mount volume with device file"
msgstr "Datenträger über Gerätedatei einhängen"
-#: ../gio/gio-tool-mount.c:63 ../gio/gio-tool-mount.c:66
+#: gio/gio-tool-mount.c:64 gio/gio-tool-mount.c:67
msgid "DEVICE"
msgstr "GERÄT"
-#: ../gio/gio-tool-mount.c:64
+#: gio/gio-tool-mount.c:65
msgid "Unmount"
msgstr "Aushängen"
-#: ../gio/gio-tool-mount.c:65
+#: gio/gio-tool-mount.c:66
msgid "Eject"
msgstr "Auswerfen"
-#: ../gio/gio-tool-mount.c:66
+#: gio/gio-tool-mount.c:67
msgid "Stop drive with device file"
msgstr "Datenträger über Gerätedatei stoppen"
-#: ../gio/gio-tool-mount.c:67
+#: gio/gio-tool-mount.c:68
msgid "Unmount all mounts with the given scheme"
msgstr "Alle Einhängepunkte passend zum Namensschema aushängen"
-#: ../gio/gio-tool-mount.c:67
+#: gio/gio-tool-mount.c:68
msgid "SCHEME"
msgstr "SCHEMA"
-#: ../gio/gio-tool-mount.c:68
+#: gio/gio-tool-mount.c:69
msgid "Ignore outstanding file operations when unmounting or ejecting"
msgstr ""
"Ausstehende Dateioperationen ignorieren, wenn ausgehängt oder ausgeworfen "
"wird"
-#: ../gio/gio-tool-mount.c:69
+#: gio/gio-tool-mount.c:70
msgid "Use an anonymous user when authenticating"
msgstr "Nutzen Sie einen anonymen Nutzer bei der Legitimierung"
#. Translator: List here is a verb as in 'List all mounts'
-#: ../gio/gio-tool-mount.c:71
+#: gio/gio-tool-mount.c:72
msgid "List"
msgstr "Auflisten"
-#: ../gio/gio-tool-mount.c:72
+#: gio/gio-tool-mount.c:73
msgid "Monitor events"
msgstr "Ereignisse überwachen"
-#: ../gio/gio-tool-mount.c:73
+#: gio/gio-tool-mount.c:74
msgid "Show extra information"
msgstr "Zusätzliche Informationen anzeigen"
-#: ../gio/gio-tool-mount.c:74
+#: gio/gio-tool-mount.c:75
msgid "The numeric PIM when unlocking a VeraCrypt volume"
msgstr "Die numerische PIM beim Entsperren eines VeraCrypt-Datenträgers"
-#: ../gio/gio-tool-mount.c:74
-#| msgctxt "GDateTime"
-#| msgid "PM"
+#: gio/gio-tool-mount.c:75
msgid "PIM"
msgstr "PIM"
-#: ../gio/gio-tool-mount.c:75
+#: gio/gio-tool-mount.c:76
msgid "Mount a TCRYPT hidden volume"
msgstr "Einen verborgenen TCRYPT-Datenträger einhängen"
-#: ../gio/gio-tool-mount.c:76
+#: gio/gio-tool-mount.c:77
msgid "Mount a TCRYPT system volume"
msgstr "Einen TCRYPT-Systemdatenträger einhängen"
-#: ../gio/gio-tool-mount.c:264 ../gio/gio-tool-mount.c:296
+#: gio/gio-tool-mount.c:265 gio/gio-tool-mount.c:297
msgid "Anonymous access denied"
msgstr "Der anonyme Zugriff wurde verwehrt"
-#: ../gio/gio-tool-mount.c:524
+#: gio/gio-tool-mount.c:522
msgid "No drive for device file"
msgstr "Kein Laufwerk für Gerätedatei"
-#: ../gio/gio-tool-mount.c:989
+#: gio/gio-tool-mount.c:975
#, c-format
msgid "Mounted %s at %s\n"
msgstr "»%s« wurde unter »%s« eingehängt\n"
-#: ../gio/gio-tool-mount.c:1044
+#: gio/gio-tool-mount.c:1027
msgid "No volume for device file"
msgstr "Kein Datenträger für Gerätedatei"
-#: ../gio/gio-tool-mount.c:1239
+#: gio/gio-tool-mount.c:1216
msgid "Mount or unmount the locations."
msgstr "Die Orte ein- oder aushängen."
-#: ../gio/gio-tool-move.c:42
+#: gio/gio-tool-move.c:42
msgid "Don’t use copy and delete fallback"
msgstr "Ersatz für Kopieren und Löschen nicht verwenden"
-#: ../gio/gio-tool-move.c:99
+#: gio/gio-tool-move.c:99
msgid "Move one or more files from SOURCE to DEST."
msgstr "Eine oder mehrere Dateien von QUELLE nach ZIEL verschieben."
-#: ../gio/gio-tool-move.c:101
+#: gio/gio-tool-move.c:101
msgid ""
"gio move is similar to the traditional mv utility, but using GIO\n"
"locations instead of local files: for example, you can use something\n"
@@ -2155,12 +2114,12 @@
"jedoch werden GIO-Orte statt lokaler Dateien verwendet; z.B. können\n"
"Sie als Ort etwas wie »smb://server/ressource/Datei.txt« angeben."
-#: ../gio/gio-tool-move.c:142
+#: gio/gio-tool-move.c:143
#, c-format
msgid "Target %s is not a directory"
msgstr "Das Ziel »%s« ist kein Ordner"
-#: ../gio/gio-tool-open.c:118
+#: gio/gio-tool-open.c:118
msgid ""
"Open files with the default application that\n"
"is registered to handle files of this type."
@@ -2168,164 +2127,162 @@
"Dateien mit der Standard-Anwendung öffnen,\n"
"die als Programm für diesen Dateityp eingestellt ist."
-#: ../gio/gio-tool-remove.c:31 ../gio/gio-tool-trash.c:31
+#: gio/gio-tool-remove.c:31 gio/gio-tool-trash.c:31
msgid "Ignore nonexistent files, never prompt"
msgstr "Nicht vorhandene Dateien ignorieren und niemals nachfragen"
-#: ../gio/gio-tool-remove.c:52
+#: gio/gio-tool-remove.c:52
msgid "Delete the given files."
msgstr "Die gegebenen Dateien löschen."
-#: ../gio/gio-tool-rename.c:45
+#: gio/gio-tool-rename.c:45
msgid "NAME"
msgstr "NAME"
-#: ../gio/gio-tool-rename.c:50
+#: gio/gio-tool-rename.c:50
msgid "Rename a file."
msgstr "Eine Datei umbenennen."
-#: ../gio/gio-tool-rename.c:70
+#: gio/gio-tool-rename.c:70
msgid "Missing argument"
msgstr "Fehlendes Argument"
-#: ../gio/gio-tool-rename.c:76 ../gio/gio-tool-save.c:190
-#: ../gio/gio-tool-set.c:137
+#: gio/gio-tool-rename.c:76 gio/gio-tool-save.c:190 gio/gio-tool-set.c:137
msgid "Too many arguments"
msgstr "Zu viele Argumente"
-#: ../gio/gio-tool-rename.c:95
+#: gio/gio-tool-rename.c:95
#, c-format
msgid "Rename successful. New uri: %s\n"
msgstr "Umbenennung erfolgreich. Neue Adresse: %s\n"
-#: ../gio/gio-tool-save.c:50
+#: gio/gio-tool-save.c:50
msgid "Only create if not existing"
msgstr "Nur erstellen, wenn nicht bereits vorhanden"
-#: ../gio/gio-tool-save.c:51
+#: gio/gio-tool-save.c:51
msgid "Append to end of file"
msgstr "An Dateiende anhängen"
-#: ../gio/gio-tool-save.c:52
+#: gio/gio-tool-save.c:52
msgid "When creating, restrict access to the current user"
msgstr "Beim Erstellen Zugriff auf den aktuellen Benutzer beschränken"
-#: ../gio/gio-tool-save.c:53
+#: gio/gio-tool-save.c:53
msgid "When replacing, replace as if the destination did not exist"
msgstr "Beim Ersetzen davon ausgehen, dass das Ziel nicht existiert"
#. Translators: The "etag" is a token allowing to verify whether a file has been modified
-#: ../gio/gio-tool-save.c:55
+#: gio/gio-tool-save.c:55
msgid "Print new etag at end"
msgstr "Neuen Etag am Ende drucken"
#. Translators: The "etag" is a token allowing to verify whether a file has been modified
-#: ../gio/gio-tool-save.c:57
+#: gio/gio-tool-save.c:57
msgid "The etag of the file being overwritten"
msgstr "Der Etag der Datei, die überschrieben wird"
-#: ../gio/gio-tool-save.c:57
+#: gio/gio-tool-save.c:57
msgid "ETAG"
msgstr "ETAG"
-#: ../gio/gio-tool-save.c:113
+#: gio/gio-tool-save.c:113
msgid "Error reading from standard input"
msgstr "Fehler beim Lesen von der Standardeingabe"
#. Translators: The "etag" is a token allowing to verify whether a file has been modified
-#: ../gio/gio-tool-save.c:139
-#, c-format
+#: gio/gio-tool-save.c:139
msgid "Etag not available\n"
msgstr "Etag ist nicht verfügbar\n"
-#: ../gio/gio-tool-save.c:163
+#: gio/gio-tool-save.c:163
msgid "Read from standard input and save to DEST."
msgstr "Aus der Standardeingabe lesen und in ZIEL speichern."
-#: ../gio/gio-tool-save.c:183
+#: gio/gio-tool-save.c:183
msgid "No destination given"
msgstr "Kein Ziel vorgegeben"
-#: ../gio/gio-tool-set.c:33
+#: gio/gio-tool-set.c:33
msgid "Type of the attribute"
msgstr "Typ des Attributs"
-#: ../gio/gio-tool-set.c:33
+#: gio/gio-tool-set.c:33
msgid "TYPE"
msgstr "TYP"
-#: ../gio/gio-tool-set.c:89
+#: gio/gio-tool-set.c:89
msgid "ATTRIBUTE"
msgstr "ATTRIBUT"
-#: ../gio/gio-tool-set.c:89
+#: gio/gio-tool-set.c:89
msgid "VALUE"
msgstr "WERT"
-#: ../gio/gio-tool-set.c:93
+#: gio/gio-tool-set.c:93
msgid "Set a file attribute of LOCATION."
msgstr "Ein Dateiattribut von ORT festlegen."
-#: ../gio/gio-tool-set.c:113
+#: gio/gio-tool-set.c:113
msgid "Location not specified"
msgstr "Kein Ort angegeben"
-#: ../gio/gio-tool-set.c:120
+#: gio/gio-tool-set.c:120
msgid "Attribute not specified"
msgstr "Kein Attribut angegeben"
-#: ../gio/gio-tool-set.c:130
+#: gio/gio-tool-set.c:130
msgid "Value not specified"
msgstr "Kein Wert angegeben"
-#: ../gio/gio-tool-set.c:180
+#: gio/gio-tool-set.c:180
#, c-format
msgid "Invalid attribute type “%s”"
msgstr "Ungültiger Attributtyp »%s«"
-#: ../gio/gio-tool-trash.c:32
+#: gio/gio-tool-trash.c:32
msgid "Empty the trash"
msgstr "Den Papierkorb leeren"
-#: ../gio/gio-tool-trash.c:86
+#: gio/gio-tool-trash.c:86
msgid "Move files or directories to the trash."
msgstr "Dateien oder Ordner in den Papierkorb verschieben."
-#: ../gio/gio-tool-tree.c:33
+#: gio/gio-tool-tree.c:33
msgid "Follow symbolic links, mounts and shortcuts"
msgstr ""
"Symbolischen Verknüpfungen, Einhängepunkten und Schnellzugriffen folgen"
-#: ../gio/gio-tool-tree.c:244
+#: gio/gio-tool-tree.c:244
msgid "List contents of directories in a tree-like format."
msgstr "Den Inhalt von Ordnern in einer Baumstruktur auflisten."
-#: ../gio/glib-compile-resources.c:143 ../gio/glib-compile-schemas.c:1505
+#: gio/glib-compile-resources.c:143 gio/glib-compile-schemas.c:1515
#, c-format
msgid "Element <%s> not allowed inside <%s>"
msgstr "Element <%s> ist innerhalb <%s> nicht erlaubt"
-#: ../gio/glib-compile-resources.c:147
+#: gio/glib-compile-resources.c:147
#, c-format
msgid "Element <%s> not allowed at toplevel"
msgstr "Element <%s> ist in der obersten Ebene nicht erlaubt"
-#: ../gio/glib-compile-resources.c:237
+#: gio/glib-compile-resources.c:237
#, c-format
msgid "File %s appears multiple times in the resource"
msgstr "Datei %s tritt in der Ressource mehrfach auf"
-#: ../gio/glib-compile-resources.c:248
+#: gio/glib-compile-resources.c:248
#, c-format
msgid "Failed to locate “%s” in any source directory"
msgstr "»%s« konnte in keinem Quellordner gefunden werden"
-#: ../gio/glib-compile-resources.c:259
+#: gio/glib-compile-resources.c:259
#, c-format
msgid "Failed to locate “%s” in current directory"
msgstr "»%s« konnte im aktuellen Ordner nicht gefunden werden"
-#: ../gio/glib-compile-resources.c:293
+#: gio/glib-compile-resources.c:293
#, c-format
msgid "Unknown processing option “%s”"
msgstr "Unbekannte Verarbeitungsoption »%s«"
@@ -2334,38 +2291,38 @@
#. * the second %s is an environment variable, and the third
#. * %s is a command line tool
#.
-#: ../gio/glib-compile-resources.c:313 ../gio/glib-compile-resources.c:370
-#: ../gio/glib-compile-resources.c:427
+#: gio/glib-compile-resources.c:313 gio/glib-compile-resources.c:370
+#: gio/glib-compile-resources.c:427
#, c-format
msgid "%s preprocessing requested, but %s is not set, and %s is not in PATH"
msgstr ""
"%s-Vorverarbeitung wurde angefordert, aber %s ist nicht gesetzt und %s ist "
"nicht in PATH enthalten"
-#: ../gio/glib-compile-resources.c:460
+#: gio/glib-compile-resources.c:460
#, c-format
msgid "Error reading file %s: %s"
msgstr "Fehler beim Lesen der Datei »%s«: %s"
-#: ../gio/glib-compile-resources.c:480
+#: gio/glib-compile-resources.c:480
#, c-format
msgid "Error compressing file %s"
msgstr "Fehler beim Komprimieren der Datei %s"
-#: ../gio/glib-compile-resources.c:541
+#: gio/glib-compile-resources.c:541
#, c-format
msgid "text may not appear inside <%s>"
msgstr "Text könnte nicht innerhalb von <%s> erscheinen"
-#: ../gio/glib-compile-resources.c:736 ../gio/glib-compile-schemas.c:2071
+#: gio/glib-compile-resources.c:736 gio/glib-compile-schemas.c:2138
msgid "Show program version and exit"
msgstr "Programm-Version anzeigen und beenden"
-#: ../gio/glib-compile-resources.c:737
+#: gio/glib-compile-resources.c:737
msgid "Name of the output file"
msgstr "Name der Ausgabedatei"
-#: ../gio/glib-compile-resources.c:738
+#: gio/glib-compile-resources.c:738
msgid ""
"The directories to load files referenced in FILE from (default: current "
"directory)"
@@ -2373,51 +2330,51 @@
"Die Ordner, aus denen in FILE referenzierte Dateien gelesen werden sollen "
"(Vorgabe ist der aktuelle Ordner)"
-#: ../gio/glib-compile-resources.c:738 ../gio/glib-compile-schemas.c:2072
-#: ../gio/glib-compile-schemas.c:2100
+#: gio/glib-compile-resources.c:738 gio/glib-compile-schemas.c:2139
+#: gio/glib-compile-schemas.c:2168
msgid "DIRECTORY"
msgstr "ORDNER"
-#: ../gio/glib-compile-resources.c:739
+#: gio/glib-compile-resources.c:739
msgid ""
"Generate output in the format selected for by the target filename extension"
msgstr ""
"Ausgabe in dem Format generieren, welches durch die Dateiendung der "
"Zieldatei vorgegeben wird"
-#: ../gio/glib-compile-resources.c:740
+#: gio/glib-compile-resources.c:740
msgid "Generate source header"
msgstr "Quellcode-Header generieren"
-#: ../gio/glib-compile-resources.c:741
+#: gio/glib-compile-resources.c:741
msgid "Generate source code used to link in the resource file into your code"
msgstr "Quellcode zum Verlinken der Ressourcendatei in Ihren Code verwenden"
-#: ../gio/glib-compile-resources.c:742
+#: gio/glib-compile-resources.c:742
msgid "Generate dependency list"
msgstr "Abhängigkeitsliste generieren"
-#: ../gio/glib-compile-resources.c:743
+#: gio/glib-compile-resources.c:743
msgid "Name of the dependency file to generate"
msgstr "Name der zu erzeugenden Abhängigkeitsdatei"
-#: ../gio/glib-compile-resources.c:744
+#: gio/glib-compile-resources.c:744
msgid "Include phony targets in the generated dependency file"
msgstr "Phony-Ziele in der erzeugten Abhängigkeitsdatei einschließen"
-#: ../gio/glib-compile-resources.c:745
+#: gio/glib-compile-resources.c:745
msgid "Don’t automatically create and register resource"
msgstr "Die Ressource nicht automatisch anlegen und registrieren"
-#: ../gio/glib-compile-resources.c:746
+#: gio/glib-compile-resources.c:746
msgid "Don’t export functions; declare them G_GNUC_INTERNAL"
msgstr "Keine Funktionen exportieren; als G_GNUC_INTERNAL deklarieren"
-#: ../gio/glib-compile-resources.c:747
+#: gio/glib-compile-resources.c:747
msgid "C identifier name used for the generated source code"
msgstr "C-Bezeichnername für den generierten Quellcode"
-#: ../gio/glib-compile-resources.c:773
+#: gio/glib-compile-resources.c:773
msgid ""
"Compile a resource specification into a resource file.\n"
"Resource specification files have the extension .gresource.xml,\n"
@@ -2428,127 +2385,126 @@
"haben,\n"
"die Ressourcendateien die Erweiterung .gresource."
-#: ../gio/glib-compile-resources.c:795
-#, c-format
+#: gio/glib-compile-resources.c:795
msgid "You should give exactly one file name\n"
msgstr "Sie sollten genau einen Dateinamen angeben\n"
-#: ../gio/glib-compile-schemas.c:95
+#: gio/glib-compile-schemas.c:95
#, c-format
msgid "nick must be a minimum of 2 characters"
msgstr "Nick muss aus mindestens zwei Zeichen bestehen"
-#: ../gio/glib-compile-schemas.c:106
+#: gio/glib-compile-schemas.c:106
#, c-format
msgid "Invalid numeric value"
msgstr "Ungültiger numerischer Wert"
-#: ../gio/glib-compile-schemas.c:114
+#: gio/glib-compile-schemas.c:114
#, c-format
msgid "<value nick='%s'/> already specified"
msgstr "<value nick='%s'/> bereits angegeben"
# Hier scheinen im Original die spitzen Klammern zu fehlen
-#: ../gio/glib-compile-schemas.c:122
+#: gio/glib-compile-schemas.c:122
#, c-format
msgid "value='%s' already specified"
msgstr "<value='%s'> wurde bereits angegeben"
-#: ../gio/glib-compile-schemas.c:136
+#: gio/glib-compile-schemas.c:136
#, c-format
msgid "flags values must have at most 1 bit set"
msgstr "Für Flag-Werte darf höchstens 1 Bit gesetzt sein"
-#: ../gio/glib-compile-schemas.c:161
+#: gio/glib-compile-schemas.c:161
#, c-format
msgid "<%s> must contain at least one <value>"
msgstr "<%s> muss mindestens ein <value> enthalten"
-#: ../gio/glib-compile-schemas.c:315
+#: gio/glib-compile-schemas.c:317
#, c-format
msgid "<%s> is not contained in the specified range"
msgstr "<%s> ist im angegebenen Bereich nicht enthalten"
-#: ../gio/glib-compile-schemas.c:327
+#: gio/glib-compile-schemas.c:329
#, c-format
msgid "<%s> is not a valid member of the specified enumerated type"
msgstr "<%s> ist kein gültiges Element des angegebenen Aufzählungstyps"
-#: ../gio/glib-compile-schemas.c:333
+#: gio/glib-compile-schemas.c:335
#, c-format
msgid "<%s> contains string not in the specified flags type"
msgstr "<%s> enthält eine Zeichenkette, die nicht den angegebenen Flag-Typ hat"
-#: ../gio/glib-compile-schemas.c:339
+#: gio/glib-compile-schemas.c:341
#, c-format
msgid "<%s> contains a string not in <choices>"
msgstr "<%s> enthält eine Zeichenkette, die nicht in <choices> enthalten ist"
-#: ../gio/glib-compile-schemas.c:373
+#: gio/glib-compile-schemas.c:375
msgid "<range/> already specified for this key"
msgstr "<range/> wurde für diesen Schlüssel bereits angegeben"
-#: ../gio/glib-compile-schemas.c:391
+#: gio/glib-compile-schemas.c:393
#, c-format
msgid "<range> not allowed for keys of type “%s”"
msgstr "<range> ist für Schlüssel des Typs »%s« nicht erlaubt"
-#: ../gio/glib-compile-schemas.c:408
+#: gio/glib-compile-schemas.c:410
#, c-format
msgid "<range> specified minimum is greater than maximum"
msgstr "<range> angebenenes Minimum ist größer als das Maximum"
-#: ../gio/glib-compile-schemas.c:433
+#: gio/glib-compile-schemas.c:435
#, c-format
msgid "unsupported l10n category: %s"
msgstr "Nicht unterstützte l10n-Kategorie: %s"
-#: ../gio/glib-compile-schemas.c:441
+#: gio/glib-compile-schemas.c:443
msgid "l10n requested, but no gettext domain given"
msgstr "l10n wurde angefordert, aber keine Gettext-Domain angegeben"
-#: ../gio/glib-compile-schemas.c:453
+#: gio/glib-compile-schemas.c:455
msgid "translation context given for value without l10n enabled"
msgstr ""
"Übersetzungskontext wurde für den Wert angegeben, ohne dass l10n aktiviert "
"ist"
-#: ../gio/glib-compile-schemas.c:475
+#: gio/glib-compile-schemas.c:477
#, c-format
msgid "Failed to parse <default> value of type “%s”: "
msgstr "Der <default>-Wert des Typs »%s« konnte nicht ausgewertet werden: "
-#: ../gio/glib-compile-schemas.c:492
+#: gio/glib-compile-schemas.c:494
msgid ""
"<choices> cannot be specified for keys tagged as having an enumerated type"
msgstr ""
"<choices> kann nicht für Schlüssel angegeben werden, die als Aufzählungstyp "
"markiert sind"
-#: ../gio/glib-compile-schemas.c:501
+#: gio/glib-compile-schemas.c:503
msgid "<choices> already specified for this key"
msgstr "<choices> wurde für diesen Schlüssel bereits angegeben"
-#: ../gio/glib-compile-schemas.c:513
+#: gio/glib-compile-schemas.c:515
#, c-format
msgid "<choices> not allowed for keys of type “%s”"
msgstr "<choices> ist für Schlüssel des Typs »%s« nicht erlaubt"
-#: ../gio/glib-compile-schemas.c:529
+#: gio/glib-compile-schemas.c:531
#, c-format
msgid "<choice value='%s'/> already given"
msgstr "<choice value='%s'> wurde bereits angegeben"
-#: ../gio/glib-compile-schemas.c:544
+#: gio/glib-compile-schemas.c:546
#, c-format
msgid "<choices> must contain at least one <choice>"
msgstr "<choices> muss mindestens ein <choice> enthalten"
-#: ../gio/glib-compile-schemas.c:558
+#: gio/glib-compile-schemas.c:560
msgid "<aliases> already specified for this key"
msgstr "<aliases> wurde für diesen Schlüssel bereits angegeben"
-#: ../gio/glib-compile-schemas.c:562
+#: gio/glib-compile-schemas.c:564
msgid ""
"<aliases> can only be specified for keys with enumerated or flags types or "
"after <choices>"
@@ -2556,7 +2512,7 @@
"<aliases> kann nur für Schlüssel mit Aufzählungs- oder Flag-Typ oder nach "
"<choices> angebenden werden"
-#: ../gio/glib-compile-schemas.c:581
+#: gio/glib-compile-schemas.c:583
#, c-format
msgid ""
"<alias value='%s'/> given when “%s” is already a member of the enumerated "
@@ -2565,43 +2521,43 @@
"<alias value='%s'/> wurde angegeben, wobei »%s« bereits ein Element des "
"Aufzählungstyps ist"
-#: ../gio/glib-compile-schemas.c:587
+#: gio/glib-compile-schemas.c:589
#, c-format
msgid "<alias value='%s'/> given when <choice value='%s'/> was already given"
msgstr ""
"<alias value='%s'/> wurde angegeben, während <choice value='%s'/> bereits "
"angegeben war"
-#: ../gio/glib-compile-schemas.c:595
+#: gio/glib-compile-schemas.c:597
#, c-format
msgid "<alias value='%s'/> already specified"
msgstr "<alias value='%s'> bereits angegeben"
-#: ../gio/glib-compile-schemas.c:605
+#: gio/glib-compile-schemas.c:607
#, c-format
msgid "alias target “%s” is not in enumerated type"
msgstr "Alias-Ziel »%s« ist kein Aufzählungstyp"
-#: ../gio/glib-compile-schemas.c:606
+#: gio/glib-compile-schemas.c:608
#, c-format
msgid "alias target “%s” is not in <choices>"
msgstr "Alias-Ziel »%s« ist nicht in <choices>"
-#: ../gio/glib-compile-schemas.c:621
+#: gio/glib-compile-schemas.c:623
#, c-format
msgid "<aliases> must contain at least one <alias>"
msgstr "<aliases> muss mindestens einen <alias> enthalten"
-#: ../gio/glib-compile-schemas.c:788
+#: gio/glib-compile-schemas.c:798
msgid "Empty names are not permitted"
msgstr "Leere Namen sind nicht zulässig"
-#: ../gio/glib-compile-schemas.c:798
+#: gio/glib-compile-schemas.c:808
#, c-format
msgid "Invalid name “%s”: names must begin with a lowercase letter"
msgstr "Ungültiger Name »%s«: Namen müssen mit einem Kleinbuchstaben beginnen"
-#: ../gio/glib-compile-schemas.c:810
+#: gio/glib-compile-schemas.c:820
#, c-format
msgid ""
"Invalid name “%s”: invalid character “%c”; only lowercase letters, numbers "
@@ -2610,39 +2566,39 @@
"Ungültiger Name »%s«: ungültiges Zeichen »%c«; nur Kleinbuchstaben, Ziffern "
"und Bindestriche »-« sind zulässig"
-#: ../gio/glib-compile-schemas.c:819
+#: gio/glib-compile-schemas.c:829
#, c-format
msgid "Invalid name “%s”: two successive hyphens (“--”) are not permitted"
msgstr ""
"Ungültiger Name »%s«: Zwei aufeinander folgende Bindestriche »--« sind nicht "
"zulässig."
-#: ../gio/glib-compile-schemas.c:828
+#: gio/glib-compile-schemas.c:838
#, c-format
msgid "Invalid name “%s”: the last character may not be a hyphen (“-”)"
msgstr ""
"Ungültiger Name »%s«: das letzte Zeichen darf kein Bindestrich »-« sein."
-#: ../gio/glib-compile-schemas.c:836
+#: gio/glib-compile-schemas.c:846
#, c-format
msgid "Invalid name “%s”: maximum length is 1024"
msgstr "Ungültiger Name »%s«: maximale Länge ist 1024"
-#: ../gio/glib-compile-schemas.c:908
+#: gio/glib-compile-schemas.c:918
#, c-format
msgid "<child name='%s'> already specified"
msgstr "<child name='%s'> wurde bereits angegeben"
-#: ../gio/glib-compile-schemas.c:934
+#: gio/glib-compile-schemas.c:944
msgid "Cannot add keys to a “list-of” schema"
msgstr "Schlüssel können nicht zum Schema »list-of« hinzugefügt werden"
-#: ../gio/glib-compile-schemas.c:945
+#: gio/glib-compile-schemas.c:955
#, c-format
msgid "<key name='%s'> already specified"
msgstr "<key name='%s'> wurde bereits angegeben"
-#: ../gio/glib-compile-schemas.c:963
+#: gio/glib-compile-schemas.c:973
#, c-format
msgid ""
"<key name='%s'> shadows <key name='%s'> in <schema id='%s'>; use <override> "
@@ -2651,7 +2607,7 @@
"<key name='%s'> verdeckt <key name='%s'> in <schema id='%s'>; verwenden Sie "
"<override>, um den Wert anzupassen"
-#: ../gio/glib-compile-schemas.c:974
+#: gio/glib-compile-schemas.c:984
#, c-format
msgid ""
"Exactly one of “type”, “enum” or “flags” must be specified as an attribute "
@@ -2660,57 +2616,57 @@
"Genau eines von »type«, »enum« oder »flags« muss als Attribut für <key> "
"angegeben werden"
-#: ../gio/glib-compile-schemas.c:993
+#: gio/glib-compile-schemas.c:1003
#, c-format
msgid "<%s id='%s'> not (yet) defined."
msgstr "<%s id='%s'> (noch) nicht definiert."
-#: ../gio/glib-compile-schemas.c:1008
+#: gio/glib-compile-schemas.c:1018
#, c-format
msgid "Invalid GVariant type string “%s”"
msgstr "Ungültige GVariant-Typzeichenkette »%s«"
-#: ../gio/glib-compile-schemas.c:1038
+#: gio/glib-compile-schemas.c:1048
msgid "<override> given but schema isn’t extending anything"
msgstr "<override> angegeben, aber das Schema erweitert nichts"
-#: ../gio/glib-compile-schemas.c:1051
+#: gio/glib-compile-schemas.c:1061
#, c-format
msgid "No <key name='%s'> to override"
msgstr "Kein <key name='%s'> zum Überschreiben"
-#: ../gio/glib-compile-schemas.c:1059
+#: gio/glib-compile-schemas.c:1069
#, c-format
msgid "<override name='%s'> already specified"
msgstr "<override name='%s'> wurde bereits angegeben"
-#: ../gio/glib-compile-schemas.c:1132
+#: gio/glib-compile-schemas.c:1142
#, c-format
msgid "<schema id='%s'> already specified"
msgstr "<schema id='%s'> wurde bereits angegeben"
-#: ../gio/glib-compile-schemas.c:1144
+#: gio/glib-compile-schemas.c:1154
#, c-format
msgid "<schema id='%s'> extends not yet existing schema “%s”"
msgstr "<schema id='%s'> erweitert noch nicht vorhandenes Schema »%s«"
-#: ../gio/glib-compile-schemas.c:1160
+#: gio/glib-compile-schemas.c:1170
#, c-format
msgid "<schema id='%s'> is list of not yet existing schema “%s”"
msgstr ""
"<schema id='%s'> ist eine Liste des noch nicht vorhandenen Schemas »%s«"
-#: ../gio/glib-compile-schemas.c:1168
+#: gio/glib-compile-schemas.c:1178
#, c-format
msgid "Cannot be a list of a schema with a path"
msgstr "Darf keine Liste von Schemata mit einem Pfad sein"
-#: ../gio/glib-compile-schemas.c:1178
+#: gio/glib-compile-schemas.c:1188
#, c-format
msgid "Cannot extend a schema with a path"
msgstr "Ein Schema darf nicht um einen Pfad erweitert werden"
-#: ../gio/glib-compile-schemas.c:1188
+#: gio/glib-compile-schemas.c:1198
#, c-format
msgid ""
"<schema id='%s'> is a list, extending <schema id='%s'> which is not a list"
@@ -2718,7 +2674,7 @@
"<schema id='%s'> ist eine Liste, welche <schema id='%s'> erweitert, das "
"keine Liste ist"
-#: ../gio/glib-compile-schemas.c:1198
+#: gio/glib-compile-schemas.c:1208
#, c-format
msgid ""
"<schema id='%s' list-of='%s'> extends <schema id='%s' list-of='%s'> but “%s” "
@@ -2727,18 +2683,18 @@
"<schema id='%s' list-of='%s'> erweitert <schema id='%s' list-of='%s'>, aber "
"»%s« erweitert »%s« nicht"
-#: ../gio/glib-compile-schemas.c:1215
+#: gio/glib-compile-schemas.c:1225
#, c-format
msgid "A path, if given, must begin and end with a slash"
msgstr ""
"Ein Pfad, falls angegeben, muss mit einem Schrägstrich beginnen und enden"
-#: ../gio/glib-compile-schemas.c:1222
+#: gio/glib-compile-schemas.c:1232
#, c-format
msgid "The path of a list must end with “:/”"
msgstr "Der Pfad einer Liste muss mit »:/« enden"
-#: ../gio/glib-compile-schemas.c:1231
+#: gio/glib-compile-schemas.c:1241
#, c-format
msgid ""
"Warning: Schema “%s” has path “%s”. Paths starting with “/apps/”, “/"
@@ -2747,72 +2703,85 @@
"Warnung: Schema »%s« hat den Pfad »%s«. Mit »/apps/«, »/desktop/« oder »/"
"system/« beginnende Pfade gelten jecoh als veraltet."
-#: ../gio/glib-compile-schemas.c:1261
+#: gio/glib-compile-schemas.c:1271
#, c-format
msgid "<%s id='%s'> already specified"
msgstr "<%s id='%s'> bereits angegeben"
-#: ../gio/glib-compile-schemas.c:1411 ../gio/glib-compile-schemas.c:1427
+#: gio/glib-compile-schemas.c:1421 gio/glib-compile-schemas.c:1437
#, c-format
msgid "Only one <%s> element allowed inside <%s>"
msgstr "Nur ein <%s>-Element ist innerhalb von <%s> erlaubt"
-#: ../gio/glib-compile-schemas.c:1509
+#: gio/glib-compile-schemas.c:1519
#, c-format
msgid "Element <%s> not allowed at the top level"
msgstr "Element <%s> ist in der obersten Ebene nicht erlaubt"
-#: ../gio/glib-compile-schemas.c:1527
+#: gio/glib-compile-schemas.c:1537
msgid "Element <default> is required in <key>"
msgstr "Element <default> wird in <key> benötigt"
-#: ../gio/glib-compile-schemas.c:1617
+#: gio/glib-compile-schemas.c:1627
#, c-format
msgid "Text may not appear inside <%s>"
msgstr "Text darf nicht innerhalb von <%s> erscheinen"
-#: ../gio/glib-compile-schemas.c:1685
+#: gio/glib-compile-schemas.c:1695
#, c-format
msgid "Warning: undefined reference to <schema id='%s'/>"
msgstr "Warnung: nicht definierte Referenz zu <schema id='%s'/>"
#. Translators: Do not translate "--strict".
-#: ../gio/glib-compile-schemas.c:1824 ../gio/glib-compile-schemas.c:1898
-#: ../gio/glib-compile-schemas.c:1974
+#: gio/glib-compile-schemas.c:1834 gio/glib-compile-schemas.c:1910
+#: gio/glib-compile-schemas.c:2025
#, c-format
msgid "--strict was specified; exiting.\n"
msgstr "--strict wurde angegeben; Abbruch.\n"
-#: ../gio/glib-compile-schemas.c:1834
+#: gio/glib-compile-schemas.c:1844
#, c-format
msgid "This entire file has been ignored.\n"
msgstr "Die gesamte Datei wurde ignoriert.\n"
-#: ../gio/glib-compile-schemas.c:1894
+#: gio/glib-compile-schemas.c:1906
#, c-format
msgid "Ignoring this file.\n"
msgstr "Diese Datei wird ignoriert.\n"
-#: ../gio/glib-compile-schemas.c:1934
+#: gio/glib-compile-schemas.c:1959
#, c-format
msgid "No such key “%s” in schema “%s” as specified in override file “%s”"
msgstr ""
"Kein Schlüssel »%s« in Schema »%s« wie angegeben in überschreibender Datei "
"»%s«"
-#: ../gio/glib-compile-schemas.c:1940 ../gio/glib-compile-schemas.c:1998
-#: ../gio/glib-compile-schemas.c:2026
+#: gio/glib-compile-schemas.c:1965 gio/glib-compile-schemas.c:1990
+#: gio/glib-compile-schemas.c:2050 gio/glib-compile-schemas.c:2079
#, c-format
msgid "; ignoring override for this key.\n"
msgstr "; Überschreiben dieses Schlüssels wird ignoriert.\n"
-#: ../gio/glib-compile-schemas.c:1944 ../gio/glib-compile-schemas.c:2002
-#: ../gio/glib-compile-schemas.c:2030
+#: gio/glib-compile-schemas.c:1969 gio/glib-compile-schemas.c:1994
+#: gio/glib-compile-schemas.c:2054 gio/glib-compile-schemas.c:2083
#, c-format
msgid " and --strict was specified; exiting.\n"
msgstr " und --strict wurde angegeben; Abbruch.\n"
-#: ../gio/glib-compile-schemas.c:1960
+# Das habe ich nicht wirklich verstanden, bitte sorgfältig gegenlesen.
+#: gio/glib-compile-schemas.c:1984
+#, c-format
+#| msgid ""
+#| "error parsing key “%s” in schema “%s” as specified in override file “%s”: "
+#| "%s."
+msgid ""
+"cannot provide per-desktop overrides for localised key “%s” in schema "
+"“%s” (override file “%s”)"
+msgstr ""
+"Desktop-bezogenes Überschreiben kann für lokalisierten Schlüssel »%s« im "
+"Schema »%s« (überschreibende Datei »%s«) nicht bereitgestellt werden"
+
+#: gio/glib-compile-schemas.c:2011
#, c-format
msgid ""
"error parsing key “%s” in schema “%s” as specified in override file “%s”: %s."
@@ -2820,12 +2789,12 @@
"Fehler beim Verarbeiten des Schlüssels »%s« in Schema »%s« wie angegeben in "
"überschreibender Datei »%s«: %s."
-#: ../gio/glib-compile-schemas.c:1970
+#: gio/glib-compile-schemas.c:2021
#, c-format
msgid "Ignoring override for this key.\n"
msgstr "Überschreiben dieses Schlüssels wird ignoriert.\n"
-#: ../gio/glib-compile-schemas.c:1988
+#: gio/glib-compile-schemas.c:2040
#, c-format
msgid ""
"override for key “%s” in schema “%s” in override file “%s” is outside the "
@@ -2834,7 +2803,7 @@
"Überschreiben für Schlüssel »%s« in Schema »%s« in überschreibender Datei "
"»%s« liegt außerhalb des im Schema angegebenen Bereichs"
-#: ../gio/glib-compile-schemas.c:2016
+#: gio/glib-compile-schemas.c:2069
#, c-format
msgid ""
"override for key “%s” in schema “%s” in override file “%s” is not in the "
@@ -2843,23 +2812,23 @@
"Überschreiben für Schlüssel »%s« in Schema »%s« in überschreibender Datei "
"»%s« befindet sich nicht in der Liste gültiger Auswahlmöglichkeiten"
-#: ../gio/glib-compile-schemas.c:2072
+#: gio/glib-compile-schemas.c:2139
msgid "where to store the gschemas.compiled file"
msgstr "Speicherort der Datei »gschemas.compiled«"
-#: ../gio/glib-compile-schemas.c:2073
+#: gio/glib-compile-schemas.c:2140
msgid "Abort on any errors in schemas"
msgstr "Abbruch wegen einiger Fehler in Schemata"
-#: ../gio/glib-compile-schemas.c:2074
+#: gio/glib-compile-schemas.c:2141
msgid "Do not write the gschema.compiled file"
msgstr "Die Datei »gschema.compiled« nicht schreiben"
-#: ../gio/glib-compile-schemas.c:2075
+#: gio/glib-compile-schemas.c:2142
msgid "Do not enforce key name restrictions"
msgstr "Keine Einschränkungen für Schlüsselnamen erzwingen"
-#: ../gio/glib-compile-schemas.c:2103
+#: gio/glib-compile-schemas.c:2171
msgid ""
"Compile all GSettings schema files into a schema cache.\n"
"Schema files are required to have the extension .gschema.xml,\n"
@@ -2869,32 +2838,32 @@
"Schemadateien müssen die Erweiterung .gschema.xml haben,\n"
"die Zwischenspeicherdatei die Erweiterung gschemas.compiled."
-#: ../gio/glib-compile-schemas.c:2124
+#: gio/glib-compile-schemas.c:2192
#, c-format
msgid "You should give exactly one directory name\n"
msgstr "Sie sollten genau einen Ordnernamen angeben\n"
-#: ../gio/glib-compile-schemas.c:2166
+#: gio/glib-compile-schemas.c:2234
#, c-format
msgid "No schema files found: "
msgstr "Keine Schema-Dateien gefunden: "
-#: ../gio/glib-compile-schemas.c:2169
+#: gio/glib-compile-schemas.c:2237
#, c-format
msgid "doing nothing.\n"
msgstr "Nichts wird getan.\n"
-#: ../gio/glib-compile-schemas.c:2172
+#: gio/glib-compile-schemas.c:2240
#, c-format
msgid "removed existing output file.\n"
msgstr "Vorhandene Ausgabedatei wurde entfernt.\n"
-#: ../gio/glocalfile.c:544 ../gio/win32/gwinhttpfile.c:420
+#: gio/glocalfile.c:544 gio/win32/gwinhttpfile.c:420
#, c-format
msgid "Invalid filename %s"
msgstr "Ungültiger Dateiname %s"
-#: ../gio/glocalfile.c:1006
+#: gio/glocalfile.c:1006
#, c-format
msgid "Error getting filesystem info for %s: %s"
msgstr "Fehler beim Einlesen der Dateisystem-Information für %s: %s"
@@ -2903,328 +2872,328 @@
#. * the enclosing (user visible) mount of a file, but none
#. * exists.
#.
-#: ../gio/glocalfile.c:1145
+#: gio/glocalfile.c:1145
#, c-format
msgid "Containing mount for file %s not found"
msgstr "Enthaltender Einhängepunkt für Datei %s wurde nicht gefunden"
-#: ../gio/glocalfile.c:1168
+#: gio/glocalfile.c:1168
msgid "Can’t rename root directory"
msgstr "Wurzelordner kann nicht umbenannt werden"
-#: ../gio/glocalfile.c:1186 ../gio/glocalfile.c:1209
+#: gio/glocalfile.c:1186 gio/glocalfile.c:1209
#, c-format
msgid "Error renaming file %s: %s"
msgstr "Fehler beim Umbenennen der Datei %s: %s"
-#: ../gio/glocalfile.c:1193
+#: gio/glocalfile.c:1193
msgid "Can’t rename file, filename already exists"
msgstr "Datei kann nicht umbenannt werden, da der Dateiname bereits existiert"
-#: ../gio/glocalfile.c:1206 ../gio/glocalfile.c:2265 ../gio/glocalfile.c:2293
-#: ../gio/glocalfile.c:2450 ../gio/glocalfileoutputstream.c:551
+#: gio/glocalfile.c:1206 gio/glocalfile.c:2267 gio/glocalfile.c:2295
+#: gio/glocalfile.c:2452 gio/glocalfileoutputstream.c:551
msgid "Invalid filename"
msgstr "Ungültiger Dateiname"
-#: ../gio/glocalfile.c:1374 ../gio/glocalfile.c:1389
+#: gio/glocalfile.c:1374 gio/glocalfile.c:1389
#, c-format
msgid "Error opening file %s: %s"
msgstr "Fehler beim Öffnen der Datei »%s«: %s"
-#: ../gio/glocalfile.c:1514
+#: gio/glocalfile.c:1514
#, c-format
msgid "Error removing file %s: %s"
msgstr "Fehler beim Entfernen der Datei »%s«: %s"
-#: ../gio/glocalfile.c:1924
+#: gio/glocalfile.c:1925
#, c-format
msgid "Error trashing file %s: %s"
msgstr "Fehler beim Verschieben der Datei %s in den Papierkorb: %s"
-#: ../gio/glocalfile.c:1947
+#: gio/glocalfile.c:1948
#, c-format
msgid "Unable to create trash dir %s: %s"
msgstr "Papierkorb-Ordner %s konnte nicht angelegt werden: %s"
-#: ../gio/glocalfile.c:1969
+#: gio/glocalfile.c:1970
#, c-format
msgid "Unable to find toplevel directory to trash %s"
msgstr ""
"Oberster Ordner konnte zum Verschieben von %s in den Papierkorb nicht "
"gefunden werden"
-#: ../gio/glocalfile.c:1978
+#: gio/glocalfile.c:1979
#, c-format
msgid "Trashing on system internal mounts is not supported"
msgstr ""
"Papierkorbaktionen zwischen systeminternen Einhängepunkten werden nicht "
"unterstützt"
-#: ../gio/glocalfile.c:2062 ../gio/glocalfile.c:2082
+#: gio/glocalfile.c:2063 gio/glocalfile.c:2083
#, c-format
msgid "Unable to find or create trash directory for %s"
msgstr "Papierkorb-Ordner konnte für %s nicht gefunden oder angelegt werden"
-#: ../gio/glocalfile.c:2117
+#: gio/glocalfile.c:2118
#, c-format
msgid "Unable to create trashing info file for %s: %s"
msgstr "Löschprotokoll-Datei für %s konnte nicht angelegt werden: %s"
-#: ../gio/glocalfile.c:2176
+#: gio/glocalfile.c:2178
#, c-format
msgid "Unable to trash file %s across filesystem boundaries"
msgstr ""
"Datei %s kann nicht über Dateisystemgrenzen hinweg in den Papierkorb "
"verschoben werden"
-#: ../gio/glocalfile.c:2180 ../gio/glocalfile.c:2236
+#: gio/glocalfile.c:2182 gio/glocalfile.c:2238
#, c-format
msgid "Unable to trash file %s: %s"
msgstr "Datei %s kann nicht in den Papierkorb verschoben werden: %s"
-#: ../gio/glocalfile.c:2242
+#: gio/glocalfile.c:2244
#, c-format
msgid "Unable to trash file %s"
msgstr "Datei %s kann nicht in den Papierkorb verschoben werden"
-#: ../gio/glocalfile.c:2268
+#: gio/glocalfile.c:2270
#, c-format
msgid "Error creating directory %s: %s"
msgstr "Fehler beim Erstellen des Ordners »%s«: %s"
-#: ../gio/glocalfile.c:2297
+#: gio/glocalfile.c:2299
#, c-format
msgid "Filesystem does not support symbolic links"
msgstr "Das Dateisystem unterstützt keine symbolische Verknüpfungen"
-#: ../gio/glocalfile.c:2300
+#: gio/glocalfile.c:2302
#, c-format
msgid "Error making symbolic link %s: %s"
msgstr "Fehler beim Erstellen der symbolischen Verknüpfung %s: %s"
-#: ../gio/glocalfile.c:2306 ../glib/gfileutils.c:2138
+#: gio/glocalfile.c:2308 glib/gfileutils.c:2138
msgid "Symbolic links not supported"
msgstr "Symbolische Verknüpfungen nicht unterstützt"
-#: ../gio/glocalfile.c:2361 ../gio/glocalfile.c:2396 ../gio/glocalfile.c:2453
+#: gio/glocalfile.c:2363 gio/glocalfile.c:2398 gio/glocalfile.c:2455
#, c-format
msgid "Error moving file %s: %s"
msgstr "Fehler beim Verschieben der Datei %s: %s"
-#: ../gio/glocalfile.c:2384
+#: gio/glocalfile.c:2386
msgid "Can’t move directory over directory"
msgstr "Ordner kann nicht über Ordner verschoben werden"
-#: ../gio/glocalfile.c:2410 ../gio/glocalfileoutputstream.c:935
-#: ../gio/glocalfileoutputstream.c:949 ../gio/glocalfileoutputstream.c:964
-#: ../gio/glocalfileoutputstream.c:981 ../gio/glocalfileoutputstream.c:995
+#: gio/glocalfile.c:2412 gio/glocalfileoutputstream.c:935
+#: gio/glocalfileoutputstream.c:949 gio/glocalfileoutputstream.c:964
+#: gio/glocalfileoutputstream.c:981 gio/glocalfileoutputstream.c:995
msgid "Backup file creation failed"
msgstr "Erstellen der Sicherungsdatei gescheitert"
-#: ../gio/glocalfile.c:2429
+#: gio/glocalfile.c:2431
#, c-format
msgid "Error removing target file: %s"
msgstr "Fehler beim Entfernen der Zieldatei: %s"
-#: ../gio/glocalfile.c:2443
+#: gio/glocalfile.c:2445
msgid "Move between mounts not supported"
msgstr "Verschieben zwischen Einhängepunkten nicht unterstützt"
-#: ../gio/glocalfile.c:2634
+#: gio/glocalfile.c:2636
#, c-format
msgid "Could not determine the disk usage of %s: %s"
msgstr "Konnte die Festplattenbelegung von %s nicht bestimmen: %s"
-#: ../gio/glocalfileinfo.c:745
+#: gio/glocalfileinfo.c:745
msgid "Attribute value must be non-NULL"
msgstr "Attributwert darf nicht NULL sein"
-#: ../gio/glocalfileinfo.c:752
+#: gio/glocalfileinfo.c:752
msgid "Invalid attribute type (string expected)"
msgstr "Ungültiger Attributtyp (»string« erwartet)"
-#: ../gio/glocalfileinfo.c:759
+#: gio/glocalfileinfo.c:759
msgid "Invalid extended attribute name"
msgstr "Ungültiger erweiterter Attributname"
-#: ../gio/glocalfileinfo.c:799
+#: gio/glocalfileinfo.c:799
#, c-format
msgid "Error setting extended attribute “%s”: %s"
msgstr "Fehler beim Setzen des erweiterten Attributs »%s«: %s"
-#: ../gio/glocalfileinfo.c:1619
+#: gio/glocalfileinfo.c:1629
msgid " (invalid encoding)"
msgstr " (ungültige Kodierung)"
-#: ../gio/glocalfileinfo.c:1783 ../gio/glocalfileoutputstream.c:813
+#: gio/glocalfileinfo.c:1793 gio/glocalfileoutputstream.c:813
#, c-format
msgid "Error when getting information for file “%s”: %s"
msgstr "Fehler beim Holen der Informationen für Datei »%s«: %s"
-#: ../gio/glocalfileinfo.c:2045
+#: gio/glocalfileinfo.c:2057
#, c-format
msgid "Error when getting information for file descriptor: %s"
msgstr "Fehler beim Holen der Informationen für Dateideskriptor: %s"
-#: ../gio/glocalfileinfo.c:2090
+#: gio/glocalfileinfo.c:2102
msgid "Invalid attribute type (uint32 expected)"
msgstr "Ungültiger Attributtyp (»uint32« erwartet)"
-#: ../gio/glocalfileinfo.c:2108
+#: gio/glocalfileinfo.c:2120
msgid "Invalid attribute type (uint64 expected)"
msgstr "Ungültiger Attributtyp (»uint64« erwartet)"
-#: ../gio/glocalfileinfo.c:2127 ../gio/glocalfileinfo.c:2146
+#: gio/glocalfileinfo.c:2139 gio/glocalfileinfo.c:2158
msgid "Invalid attribute type (byte string expected)"
msgstr "Ungültiger Attributtyp (»byte string« erwartet)"
-#: ../gio/glocalfileinfo.c:2191
+#: gio/glocalfileinfo.c:2205
msgid "Cannot set permissions on symlinks"
msgstr ""
"Zugriffsrechte für symbolische Verknüpfungen können nicht gesetzt werden"
-#: ../gio/glocalfileinfo.c:2207
+#: gio/glocalfileinfo.c:2221
#, c-format
msgid "Error setting permissions: %s"
msgstr "Fehler beim Setzen der Zugriffsrechte: %s"
-#: ../gio/glocalfileinfo.c:2258
+#: gio/glocalfileinfo.c:2272
#, c-format
msgid "Error setting owner: %s"
msgstr "Fehler beim Setzen des Besitzers: %s"
-#: ../gio/glocalfileinfo.c:2281
+#: gio/glocalfileinfo.c:2295
msgid "symlink must be non-NULL"
msgstr "Symbolische Verknüpfung darf nicht NULL sein"
-#: ../gio/glocalfileinfo.c:2291 ../gio/glocalfileinfo.c:2310
-#: ../gio/glocalfileinfo.c:2321
+#: gio/glocalfileinfo.c:2305 gio/glocalfileinfo.c:2324
+#: gio/glocalfileinfo.c:2335
#, c-format
msgid "Error setting symlink: %s"
msgstr "Fehler beim Setzen der symbolischen Verknüpfung: %s"
-#: ../gio/glocalfileinfo.c:2300
+#: gio/glocalfileinfo.c:2314
msgid "Error setting symlink: file is not a symlink"
msgstr ""
"Fehler beim Setzen der symbolischen Verknüpfung: Datei ist keine symbolische "
"Verknüpfung"
-#: ../gio/glocalfileinfo.c:2426
+#: gio/glocalfileinfo.c:2440
#, c-format
msgid "Error setting modification or access time: %s"
msgstr "Fehler beim Setzen der Zugriffsrechte oder der Zugriffszeit: %s"
-#: ../gio/glocalfileinfo.c:2449
+#: gio/glocalfileinfo.c:2463
msgid "SELinux context must be non-NULL"
msgstr "SELinux-Kontext darf nicht NULL sein"
-#: ../gio/glocalfileinfo.c:2464
+#: gio/glocalfileinfo.c:2478
#, c-format
msgid "Error setting SELinux context: %s"
msgstr "Fehler beim Setzen des SELinux-Kontexts: %s"
-#: ../gio/glocalfileinfo.c:2471
+#: gio/glocalfileinfo.c:2485
msgid "SELinux is not enabled on this system"
msgstr "SELinux ist auf diesem System nicht aktiviert"
-#: ../gio/glocalfileinfo.c:2563
+#: gio/glocalfileinfo.c:2577
#, c-format
msgid "Setting attribute %s not supported"
msgstr "Setzen des Attributs %s nicht unterstützt"
-#: ../gio/glocalfileinputstream.c:168 ../gio/glocalfileoutputstream.c:696
+#: gio/glocalfileinputstream.c:168 gio/glocalfileoutputstream.c:696
#, c-format
msgid "Error reading from file: %s"
msgstr "Fehler beim Lesen aus Datei: %s"
-#: ../gio/glocalfileinputstream.c:199 ../gio/glocalfileinputstream.c:211
-#: ../gio/glocalfileinputstream.c:225 ../gio/glocalfileinputstream.c:333
-#: ../gio/glocalfileoutputstream.c:458 ../gio/glocalfileoutputstream.c:1013
+#: gio/glocalfileinputstream.c:199 gio/glocalfileinputstream.c:211
+#: gio/glocalfileinputstream.c:225 gio/glocalfileinputstream.c:333
+#: gio/glocalfileoutputstream.c:458 gio/glocalfileoutputstream.c:1013
#, c-format
msgid "Error seeking in file: %s"
msgstr "Fehler beim Suchen in Datei: %s"
-#: ../gio/glocalfileinputstream.c:255 ../gio/glocalfileoutputstream.c:248
-#: ../gio/glocalfileoutputstream.c:342
+#: gio/glocalfileinputstream.c:255 gio/glocalfileoutputstream.c:248
+#: gio/glocalfileoutputstream.c:342
#, c-format
msgid "Error closing file: %s"
msgstr "Fehler beim Schließen der Datei: %s"
-#: ../gio/glocalfilemonitor.c:852
+#: gio/glocalfilemonitor.c:854
msgid "Unable to find default local file monitor type"
msgstr ""
"Vorgegebener Überwachungstyp für lokale Dateien konnte nicht gefunden werden"
-#: ../gio/glocalfileoutputstream.c:196 ../gio/glocalfileoutputstream.c:228
-#: ../gio/glocalfileoutputstream.c:717
+#: gio/glocalfileoutputstream.c:196 gio/glocalfileoutputstream.c:228
+#: gio/glocalfileoutputstream.c:717
#, c-format
msgid "Error writing to file: %s"
msgstr "Fehler beim Schreiben in Datei: %s"
-#: ../gio/glocalfileoutputstream.c:275
+#: gio/glocalfileoutputstream.c:275
#, c-format
msgid "Error removing old backup link: %s"
msgstr "Fehler beim Entfernen der alten Sicherungsverknüpfung: %s"
-#: ../gio/glocalfileoutputstream.c:289 ../gio/glocalfileoutputstream.c:302
+#: gio/glocalfileoutputstream.c:289 gio/glocalfileoutputstream.c:302
#, c-format
msgid "Error creating backup copy: %s"
msgstr "Fehler beim Erzeugen der Sicherungskopie: %s"
-#: ../gio/glocalfileoutputstream.c:320
+#: gio/glocalfileoutputstream.c:320
#, c-format
msgid "Error renaming temporary file: %s"
msgstr "Fehler beim Umbenennen der temporären Datei: %s"
-#: ../gio/glocalfileoutputstream.c:504 ../gio/glocalfileoutputstream.c:1064
+#: gio/glocalfileoutputstream.c:504 gio/glocalfileoutputstream.c:1064
#, c-format
msgid "Error truncating file: %s"
msgstr "Fehler beim Abschneiden der Datei: %s"
-#: ../gio/glocalfileoutputstream.c:557 ../gio/glocalfileoutputstream.c:795
-#: ../gio/glocalfileoutputstream.c:1045 ../gio/gsubprocess.c:380
+#: gio/glocalfileoutputstream.c:557 gio/glocalfileoutputstream.c:795
+#: gio/glocalfileoutputstream.c:1045 gio/gsubprocess.c:380
#, c-format
msgid "Error opening file “%s”: %s"
msgstr "Fehler beim Öffnen der Datei »%s«: %s"
-#: ../gio/glocalfileoutputstream.c:826
+#: gio/glocalfileoutputstream.c:826
msgid "Target file is a directory"
msgstr "Zieldatei ist ein Ordner"
-#: ../gio/glocalfileoutputstream.c:831
+#: gio/glocalfileoutputstream.c:831
msgid "Target file is not a regular file"
msgstr "Zieldatei ist keine reguläre Datei"
-#: ../gio/glocalfileoutputstream.c:843
+#: gio/glocalfileoutputstream.c:843
msgid "The file was externally modified"
msgstr "Die Datei wurde extern verändert"
-#: ../gio/glocalfileoutputstream.c:1029
+#: gio/glocalfileoutputstream.c:1029
#, c-format
msgid "Error removing old file: %s"
msgstr "Fehler beim Entfernen der alten Datei: %s"
-#: ../gio/gmemoryinputstream.c:474 ../gio/gmemoryoutputstream.c:772
+#: gio/gmemoryinputstream.c:474 gio/gmemoryoutputstream.c:772
msgid "Invalid GSeekType supplied"
msgstr "Ungültiger GSeekType übergeben"
-#: ../gio/gmemoryinputstream.c:484
+#: gio/gmemoryinputstream.c:484
msgid "Invalid seek request"
msgstr "Ungültige Suchanfrage"
-#: ../gio/gmemoryinputstream.c:508
+#: gio/gmemoryinputstream.c:508
msgid "Cannot truncate GMemoryInputStream"
msgstr "GMemoryInputStream konnte nicht abgeschnitten werden"
-#: ../gio/gmemoryoutputstream.c:567
+#: gio/gmemoryoutputstream.c:567
msgid "Memory output stream not resizable"
msgstr "Größe des Speicherausgabestroms ist nicht änderbar"
-#: ../gio/gmemoryoutputstream.c:583
+#: gio/gmemoryoutputstream.c:583
msgid "Failed to resize memory output stream"
msgstr "Größe des Speicherausgabestroms konnte nicht geändert werden"
-#: ../gio/gmemoryoutputstream.c:673
+#: gio/gmemoryoutputstream.c:673
msgid ""
"Amount of memory required to process the write is larger than available "
"address space"
@@ -3232,32 +3201,32 @@
"Für den Schreibvorgang erforderliche Speichermenge ist größer als der "
"verfügbare Adressbereich"
-#: ../gio/gmemoryoutputstream.c:782
+#: gio/gmemoryoutputstream.c:782
msgid "Requested seek before the beginning of the stream"
msgstr "Angeforderte Suche vor dem Beginn des Datenstroms"
-#: ../gio/gmemoryoutputstream.c:797
+#: gio/gmemoryoutputstream.c:797
msgid "Requested seek beyond the end of the stream"
msgstr "Angeforderte Suche nach dem Ende des Datenstroms"
#. Translators: This is an error
#. * message for mount objects that
#. * don't implement unmount.
-#: ../gio/gmount.c:399
+#: gio/gmount.c:399
msgid "mount doesn’t implement “unmount”"
msgstr "Einhängepunkt unterstützt Aushängen nicht"
#. Translators: This is an error
#. * message for mount objects that
#. * don't implement eject.
-#: ../gio/gmount.c:475
+#: gio/gmount.c:475
msgid "mount doesn’t implement “eject”"
msgstr "Einhängepunkt unterstützt Auswerfen nicht"
#. Translators: This is an error
#. * message for mount objects that
#. * don't implement any of unmount or unmount_with_operation.
-#: ../gio/gmount.c:553
+#: gio/gmount.c:553
msgid "mount doesn’t implement “unmount” or “unmount_with_operation”"
msgstr ""
"Einhängepunkt unterstützt nicht das Aushängen oder »unmount_with_operation«"
@@ -3265,108 +3234,107 @@
#. Translators: This is an error
#. * message for mount objects that
#. * don't implement any of eject or eject_with_operation.
-#: ../gio/gmount.c:638
+#: gio/gmount.c:638
msgid "mount doesn’t implement “eject” or “eject_with_operation”"
msgstr "Einhängepunkt unterstützt Auswerfen oder »eject_with_operation« nicht"
#. Translators: This is an error
#. * message for mount objects that
#. * don't implement remount.
-#: ../gio/gmount.c:726
+#: gio/gmount.c:726
msgid "mount doesn’t implement “remount”"
msgstr "Einhängepunkt unterstützt erneutes Einhängen nicht"
#. Translators: This is an error
#. * message for mount objects that
#. * don't implement content type guessing.
-#: ../gio/gmount.c:808
+#: gio/gmount.c:808
msgid "mount doesn’t implement content type guessing"
msgstr "Einhängepunkt unterstützt Erraten des Inhaltstyps nicht"
#. Translators: This is an error
#. * message for mount objects that
#. * don't implement content type guessing.
-#: ../gio/gmount.c:895
+#: gio/gmount.c:895
msgid "mount doesn’t implement synchronous content type guessing"
msgstr "Einhängepunkt unterstützt synchrones Erraten des Inhaltstyps nicht"
-#: ../gio/gnetworkaddress.c:378
+#: gio/gnetworkaddress.c:378
#, c-format
msgid "Hostname “%s” contains “[” but not “]”"
msgstr "Rechnername »%s« enthält »[«, aber nicht »]«"
-#: ../gio/gnetworkmonitorbase.c:211 ../gio/gnetworkmonitorbase.c:315
+#: gio/gnetworkmonitorbase.c:211 gio/gnetworkmonitorbase.c:315
msgid "Network unreachable"
msgstr "Das Netzwerk ist nicht erreichbar"
-#: ../gio/gnetworkmonitorbase.c:249 ../gio/gnetworkmonitorbase.c:279
+#: gio/gnetworkmonitorbase.c:249 gio/gnetworkmonitorbase.c:279
msgid "Host unreachable"
msgstr "Rechner ist nicht erreichbar"
-#: ../gio/gnetworkmonitornetlink.c:97 ../gio/gnetworkmonitornetlink.c:109
-#: ../gio/gnetworkmonitornetlink.c:128
+#: gio/gnetworkmonitornetlink.c:97 gio/gnetworkmonitornetlink.c:109
+#: gio/gnetworkmonitornetlink.c:128
#, c-format
msgid "Could not create network monitor: %s"
msgstr "Netzwerkmonitor konnte nicht erstellt werden: %s"
-#: ../gio/gnetworkmonitornetlink.c:118
+#: gio/gnetworkmonitornetlink.c:118
msgid "Could not create network monitor: "
msgstr "Netzwerkmonitor konnte nicht erstellt werden: "
-#: ../gio/gnetworkmonitornetlink.c:176
+#: gio/gnetworkmonitornetlink.c:176
msgid "Could not get network status: "
msgstr "Netzwerkstatus konnte nicht ermittelt werden: "
-#: ../gio/gnetworkmonitornm.c:322
+#: gio/gnetworkmonitornm.c:322
#, c-format
msgid "NetworkManager version too old"
msgstr "Die Version von NetworkManager ist zu alt"
-#: ../gio/goutputstream.c:212 ../gio/goutputstream.c:560
+#: gio/goutputstream.c:212 gio/goutputstream.c:560
msgid "Output stream doesn’t implement write"
msgstr "Ausgabedatenstrom unterstützt kein Schreiben"
-#: ../gio/goutputstream.c:521 ../gio/goutputstream.c:1224
+#: gio/goutputstream.c:521 gio/goutputstream.c:1224
msgid "Source stream is already closed"
msgstr "Quelldatenstrom ist bereits geschlossen"
-#: ../gio/gresolver.c:342 ../gio/gthreadedresolver.c:116
-#: ../gio/gthreadedresolver.c:126
+#: gio/gresolver.c:342 gio/gthreadedresolver.c:116 gio/gthreadedresolver.c:126
#, c-format
msgid "Error resolving “%s”: %s"
msgstr "Fehler beim Auflösen von »%s«: %s"
-#: ../gio/gresolver.c:729 ../gio/gresolver.c:781
+#: gio/gresolver.c:729 gio/gresolver.c:781
msgid "Invalid domain"
msgstr "Ungültige Domain"
-#: ../gio/gresource.c:621 ../gio/gresource.c:880 ../gio/gresource.c:919
-#: ../gio/gresource.c:1043 ../gio/gresource.c:1115 ../gio/gresource.c:1188
-#: ../gio/gresource.c:1258 ../gio/gresourcefile.c:476
-#: ../gio/gresourcefile.c:599 ../gio/gresourcefile.c:736
+#: gio/gresource.c:622 gio/gresource.c:881 gio/gresource.c:920
+#: gio/gresource.c:1044 gio/gresource.c:1116 gio/gresource.c:1189
+#: gio/gresource.c:1259 gio/gresourcefile.c:476 gio/gresourcefile.c:599
+#: gio/gresourcefile.c:736
#, c-format
msgid "The resource at “%s” does not exist"
msgstr "Die Ressource auf »%s« existiert nicht"
-#: ../gio/gresource.c:786
+#: gio/gresource.c:787
#, c-format
msgid "The resource at “%s” failed to decompress"
msgstr "Die Ressource auf »%s« konnte nicht entpackt werden"
-#: ../gio/gresourcefile.c:732
+#: gio/gresourcefile.c:732
#, c-format
msgid "The resource at “%s” is not a directory"
msgstr "Die Ressource auf »%s« ist ein Ordner"
-#: ../gio/gresourcefile.c:940
+#: gio/gresourcefile.c:940
msgid "Input stream doesn’t implement seek"
msgstr "Eingabedatenstrom unterstützt kein Suchen"
-#: ../gio/gresource-tool.c:494
+#: gio/gresource-tool.c:501
msgid "List sections containing resources in an elf FILE"
msgstr "Sektionen einer ELF-Datei auflisten, welche Ressourcen enthält"
-#: ../gio/gresource-tool.c:500
+#: gio/gresource-tool.c:507
msgid ""
"List resources\n"
"If SECTION is given, only list resources in this section\n"
@@ -3376,16 +3344,15 @@
"Falls SEKTION angegeben ist, nur die Ressourcen dieser Sektion auflisten\n"
"Falls PFAD angegeben ist, nur die betreffenden Ressourcen auflisten"
-#: ../gio/gresource-tool.c:503 ../gio/gresource-tool.c:513
+#: gio/gresource-tool.c:510 gio/gresource-tool.c:520
msgid "FILE [PATH]"
msgstr "DATEI [PFAD]"
-#: ../gio/gresource-tool.c:504 ../gio/gresource-tool.c:514
-#: ../gio/gresource-tool.c:521
+#: gio/gresource-tool.c:511 gio/gresource-tool.c:521 gio/gresource-tool.c:528
msgid "SECTION"
msgstr "SEKTION"
-#: ../gio/gresource-tool.c:509
+#: gio/gresource-tool.c:516
msgid ""
"List resources with details\n"
"If SECTION is given, only list resources in this section\n"
@@ -3397,15 +3364,15 @@
"Falls PFAD angegeben ist, nur die betreffenden Ressourcen auflisten\n"
"Details enthalten Sektion, Größe und Kompression"
-#: ../gio/gresource-tool.c:519
+#: gio/gresource-tool.c:526
msgid "Extract a resource file to stdout"
msgstr "Eine Ressourcendatei in stdout auspacken"
-#: ../gio/gresource-tool.c:520
+#: gio/gresource-tool.c:527
msgid "FILE PATH"
msgstr "DATEIPFAD"
-#: ../gio/gresource-tool.c:534
+#: gio/gresource-tool.c:541
msgid ""
"Usage:\n"
" gresource [--section SECTION] COMMAND [ARGS…]\n"
@@ -3433,7 +3400,7 @@
"Rufen Sie »gresource help BEFEHL« auf, um detaillierte Hilfe zu erhalten.\n"
"\n"
-#: ../gio/gresource-tool.c:548
+#: gio/gresource-tool.c:555
#, c-format
msgid ""
"Usage:\n"
@@ -3448,20 +3415,20 @@
"%s\n"
"\n"
-#: ../gio/gresource-tool.c:555
+#: gio/gresource-tool.c:562
msgid " SECTION An (optional) elf section name\n"
msgstr " SEKTION Ein (optionaler) Name einer ELF-Sektion\n"
-#: ../gio/gresource-tool.c:559 ../gio/gsettings-tool.c:703
+#: gio/gresource-tool.c:566 gio/gsettings-tool.c:703
msgid " COMMAND The (optional) command to explain\n"
msgstr " BEFEHL Der (optionale) zu erklärende Befehl\n"
-#: ../gio/gresource-tool.c:565
+#: gio/gresource-tool.c:572
msgid " FILE An elf file (a binary or a shared library)\n"
msgstr ""
" DATEI Eine ELF-Datei (ein Binary oder eine gemeinsame Bibliothek)\n"
-#: ../gio/gresource-tool.c:568
+#: gio/gresource-tool.c:575
msgid ""
" FILE An elf file (a binary or a shared library)\n"
" or a compiled resource file\n"
@@ -3469,93 +3436,85 @@
" DATEI Eine ELF-Datei (ein Binary oder eine gemeinsame Bibliothek)\n"
" oder eine kompilierte Ressourcendatei\n"
-#: ../gio/gresource-tool.c:572
+#: gio/gresource-tool.c:579
msgid "[PATH]"
msgstr "[PFAD]"
-#: ../gio/gresource-tool.c:574
+#: gio/gresource-tool.c:581
msgid " PATH An (optional) resource path (may be partial)\n"
msgstr ""
" PFAD Ein (optionaler) Ressourcenpfad (kann unvollständig sein)\n"
-#: ../gio/gresource-tool.c:575
+#: gio/gresource-tool.c:582
msgid "PATH"
msgstr "PFAD"
-#: ../gio/gresource-tool.c:577
+#: gio/gresource-tool.c:584
msgid " PATH A resource path\n"
msgstr " PFAD Ein Ressourcenpfad\n"
-#: ../gio/gsettings-tool.c:51 ../gio/gsettings-tool.c:72
-#: ../gio/gsettings-tool.c:908
+#: gio/gsettings-tool.c:51 gio/gsettings-tool.c:72 gio/gsettings-tool.c:908
#, c-format
msgid "No such schema “%s”\n"
msgstr "Kein derartiges Schema »%s«\n"
-#: ../gio/gsettings-tool.c:57
+#: gio/gsettings-tool.c:57
#, c-format
msgid "Schema “%s” is not relocatable (path must not be specified)\n"
msgstr ""
"Schema »%s« ist nicht verschiebbar (Pfad darf nicht angegeben werden)\n"
-#: ../gio/gsettings-tool.c:78
+#: gio/gsettings-tool.c:78
#, c-format
msgid "Schema “%s” is relocatable (path must be specified)\n"
msgstr "Schema »%s« ist verschiebbar (Pfad muss angegeben werden)\n"
-#: ../gio/gsettings-tool.c:92
-#, c-format
+#: gio/gsettings-tool.c:92
msgid "Empty path given.\n"
msgstr "Leerer Pfad angegeben.\n"
-#: ../gio/gsettings-tool.c:98
-#, c-format
+#: gio/gsettings-tool.c:98
msgid "Path must begin with a slash (/)\n"
msgstr "Pfad muss mit einem Schrägstrich beginnen (/)\n"
-#: ../gio/gsettings-tool.c:104
-#, c-format
+#: gio/gsettings-tool.c:104
msgid "Path must end with a slash (/)\n"
msgstr "Pfad muss mit einem Schrägstrich enden (/)\n"
-#: ../gio/gsettings-tool.c:110
-#, c-format
+#: gio/gsettings-tool.c:110
msgid "Path must not contain two adjacent slashes (//)\n"
msgstr ""
"Pfad darf nicht zwei aufeinander folgende Schrägstriche enthalten (//)\n"
-#: ../gio/gsettings-tool.c:538
-#, c-format
+#: gio/gsettings-tool.c:538
msgid "The provided value is outside of the valid range\n"
msgstr "Der angegebene Wert liegt außerhalb des gültigen Bereichs\n"
-#: ../gio/gsettings-tool.c:545
-#, c-format
+#: gio/gsettings-tool.c:545
msgid "The key is not writable\n"
msgstr "Der Schlüssel ist nicht schreibbar\n"
-#: ../gio/gsettings-tool.c:581
+#: gio/gsettings-tool.c:581
msgid "List the installed (non-relocatable) schemas"
msgstr "Installierte (nicht verschiebbare) Schemata auflisten"
-#: ../gio/gsettings-tool.c:587
+#: gio/gsettings-tool.c:587
msgid "List the installed relocatable schemas"
msgstr "Installierte (verschiebbare) Schemata auflisten"
-#: ../gio/gsettings-tool.c:593
+#: gio/gsettings-tool.c:593
msgid "List the keys in SCHEMA"
msgstr "Schlüssel in SCHEMA auflisten"
-#: ../gio/gsettings-tool.c:594 ../gio/gsettings-tool.c:600
-#: ../gio/gsettings-tool.c:643
+#: gio/gsettings-tool.c:594 gio/gsettings-tool.c:600 gio/gsettings-tool.c:643
msgid "SCHEMA[:PATH]"
msgstr "SCHEMA[:PFAD]"
-#: ../gio/gsettings-tool.c:599
+#: gio/gsettings-tool.c:599
msgid "List the children of SCHEMA"
msgstr "Unterelemente von SCHEMA auflisten"
-#: ../gio/gsettings-tool.c:605
+#: gio/gsettings-tool.c:605
msgid ""
"List keys and values, recursively\n"
"If no SCHEMA is given, list all keys\n"
@@ -3563,49 +3522,48 @@
"Schlüssel und Werte rekursiv auflisten\n"
"Falls kein Schema angegeben, alle Schlüssel auflisten\n"
-#: ../gio/gsettings-tool.c:607
+#: gio/gsettings-tool.c:607
msgid "[SCHEMA[:PATH]]"
msgstr "[SCHEMA[:PFAD]]"
-#: ../gio/gsettings-tool.c:612
+#: gio/gsettings-tool.c:612
msgid "Get the value of KEY"
msgstr "Den Wert von SCHLÜSSEL ermitteln"
-#: ../gio/gsettings-tool.c:613 ../gio/gsettings-tool.c:619
-#: ../gio/gsettings-tool.c:625 ../gio/gsettings-tool.c:637
-#: ../gio/gsettings-tool.c:649
+#: gio/gsettings-tool.c:613 gio/gsettings-tool.c:619 gio/gsettings-tool.c:625
+#: gio/gsettings-tool.c:637 gio/gsettings-tool.c:649
msgid "SCHEMA[:PATH] KEY"
msgstr "SCHEMA[:PFAD] SCHLÜSSEL"
-#: ../gio/gsettings-tool.c:618
+#: gio/gsettings-tool.c:618
msgid "Query the range of valid values for KEY"
msgstr "Den Bereich gültiger Werte für SCHLÜSSEL abfragen"
-#: ../gio/gsettings-tool.c:624
+#: gio/gsettings-tool.c:624
msgid "Query the description for KEY"
msgstr "Die Beschreibung für SCHLÜSSEL abfragen"
-#: ../gio/gsettings-tool.c:630
+#: gio/gsettings-tool.c:630
msgid "Set the value of KEY to VALUE"
msgstr "Den Wert von SCHLÜSSEL auf WERT setzen"
-#: ../gio/gsettings-tool.c:631
+#: gio/gsettings-tool.c:631
msgid "SCHEMA[:PATH] KEY VALUE"
msgstr "SCHEMA[:PFAD] SCHLÜSSEL WERT"
-#: ../gio/gsettings-tool.c:636
+#: gio/gsettings-tool.c:636
msgid "Reset KEY to its default value"
msgstr "SCHLÜSSEL auf Vorgabewert setzen"
-#: ../gio/gsettings-tool.c:642
+#: gio/gsettings-tool.c:642
msgid "Reset all keys in SCHEMA to their defaults"
msgstr "Alle Schlüssel in SCHEMA auf deren Vorgaben zurücksetzen"
-#: ../gio/gsettings-tool.c:648
+#: gio/gsettings-tool.c:648
msgid "Check if KEY is writable"
msgstr "Prüfen, ob SCHLÜSSEL schreibgeschützt ist"
-#: ../gio/gsettings-tool.c:654
+#: gio/gsettings-tool.c:654
msgid ""
"Monitor KEY for changes.\n"
"If no KEY is specified, monitor all keys in SCHEMA.\n"
@@ -3616,11 +3574,11 @@
"in SCHEMA überwacht.\n"
"Drücken Sie ^C, um die Überwachung zu beenden.\n"
-#: ../gio/gsettings-tool.c:657
+#: gio/gsettings-tool.c:657
msgid "SCHEMA[:PATH] [KEY]"
msgstr "SCHEMA[:PFAD] [SCHLÜSSEL]"
-#: ../gio/gsettings-tool.c:669
+#: gio/gsettings-tool.c:669
msgid ""
"Usage:\n"
" gsettings --version\n"
@@ -3670,7 +3628,7 @@
"erhalten.\n"
"\n"
-#: ../gio/gsettings-tool.c:693
+#: gio/gsettings-tool.c:693
#, c-format
msgid ""
"Usage:\n"
@@ -3685,11 +3643,11 @@
"%s\n"
"\n"
-#: ../gio/gsettings-tool.c:699
+#: gio/gsettings-tool.c:699
msgid " SCHEMADIR A directory to search for additional schemas\n"
msgstr " SCHEMADIR Ein Ordner zum Suchen nach zusätzlichen Schemas\n"
-#: ../gio/gsettings-tool.c:707
+#: gio/gsettings-tool.c:707
msgid ""
" SCHEMA The name of the schema\n"
" PATH The path, for relocatable schemas\n"
@@ -3697,281 +3655,275 @@
" SCHEMA Die Kennung des Schemas\n"
" SCHLÜSSEL Der Name des Schlüssels\n"
-#: ../gio/gsettings-tool.c:712
+#: gio/gsettings-tool.c:712
msgid " KEY The (optional) key within the schema\n"
msgstr " SCHLÜSSEL Der (optionale) Schlüssel innerhalb des Schemas\n"
-#: ../gio/gsettings-tool.c:716
+#: gio/gsettings-tool.c:716
msgid " KEY The key within the schema\n"
msgstr " SCHLÜSSEL Der Schlüssel innerhalb des Schemas\n"
-#: ../gio/gsettings-tool.c:720
+#: gio/gsettings-tool.c:720
msgid " VALUE The value to set\n"
msgstr " WERT Der zu setzende Wert\n"
-#: ../gio/gsettings-tool.c:775
+#: gio/gsettings-tool.c:775
#, c-format
msgid "Could not load schemas from %s: %s\n"
msgstr "Schemata von »%s« konnten nicht geladen werden: %s\n"
-#: ../gio/gsettings-tool.c:787
-#, c-format
+#: gio/gsettings-tool.c:787
msgid "No schemas installed\n"
msgstr "Keine Schemata installiert\n"
-#: ../gio/gsettings-tool.c:866
-#, c-format
+#: gio/gsettings-tool.c:866
msgid "Empty schema name given\n"
msgstr "Leerer Schema-Name wurde angegeben\n"
-#: ../gio/gsettings-tool.c:921
+#: gio/gsettings-tool.c:921
#, c-format
msgid "No such key “%s”\n"
msgstr "Kein derartiger Schlüssel »%s«\n"
-#: ../gio/gsocket.c:384
+#: gio/gsocket.c:384
msgid "Invalid socket, not initialized"
msgstr "Ungültiger Socket, wurde nicht initialisiert"
-#: ../gio/gsocket.c:391
+#: gio/gsocket.c:391
#, c-format
msgid "Invalid socket, initialization failed due to: %s"
msgstr "Ungültiger Socket, Initialisierung schlug fehl wegen: %s"
-#: ../gio/gsocket.c:399
+#: gio/gsocket.c:399
msgid "Socket is already closed"
msgstr "Der Socket ist bereits geschlossen"
-#: ../gio/gsocket.c:414 ../gio/gsocket.c:3034 ../gio/gsocket.c:4244
-#: ../gio/gsocket.c:4302
+#: gio/gsocket.c:414 gio/gsocket.c:3034 gio/gsocket.c:4244 gio/gsocket.c:4302
msgid "Socket I/O timed out"
msgstr "Zeitüberschreitung bei Ein-/Ausgabeoperation des Sockets"
-#: ../gio/gsocket.c:549
+#: gio/gsocket.c:549
#, c-format
msgid "creating GSocket from fd: %s"
msgstr "GSocket wird erstellt von Dateideskriptor: %s"
-#: ../gio/gsocket.c:578 ../gio/gsocket.c:632 ../gio/gsocket.c:639
+#: gio/gsocket.c:578 gio/gsocket.c:632 gio/gsocket.c:639
#, c-format
msgid "Unable to create socket: %s"
msgstr "Socket kann nicht angelegt werden: %s"
-#: ../gio/gsocket.c:632
+#: gio/gsocket.c:632
msgid "Unknown family was specified"
msgstr "Eine unbekannte Familie wurde angegeben"
-#: ../gio/gsocket.c:639
+#: gio/gsocket.c:639
msgid "Unknown protocol was specified"
msgstr "Ein unbekanntes Protokoll wurde angegeben"
-#: ../gio/gsocket.c:1130
+#: gio/gsocket.c:1130
#, c-format
msgid "Cannot use datagram operations on a non-datagram socket."
msgstr ""
"Datagramm-Operationen können nicht auf einem Nicht-Datagramm-Socket "
"ausgeführt werden."
-#: ../gio/gsocket.c:1147
+#: gio/gsocket.c:1147
#, c-format
msgid "Cannot use datagram operations on a socket with a timeout set."
msgstr ""
"Datagramm-Operationen können nicht auf einem Socket mit gesetzter "
"Zeitüberschreitung ausgeführt werden."
-#: ../gio/gsocket.c:1954
+#: gio/gsocket.c:1954
#, c-format
msgid "could not get local address: %s"
msgstr "Lokale Adresse konnte nicht gelesen werden: %s"
-#: ../gio/gsocket.c:2000
+#: gio/gsocket.c:2000
#, c-format
msgid "could not get remote address: %s"
msgstr "Entfernte Adresse konnte nicht gelesen werden: %s"
-#: ../gio/gsocket.c:2066
+#: gio/gsocket.c:2066
#, c-format
msgid "could not listen: %s"
msgstr "Es konnte nicht gelauscht werden: %s"
-#: ../gio/gsocket.c:2168
+#: gio/gsocket.c:2168
#, c-format
msgid "Error binding to address: %s"
msgstr "Fehler beim Binden an Adresse: %s"
-#: ../gio/gsocket.c:2226 ../gio/gsocket.c:2263 ../gio/gsocket.c:2373
-#: ../gio/gsocket.c:2398 ../gio/gsocket.c:2471 ../gio/gsocket.c:2529
-#: ../gio/gsocket.c:2547
+#: gio/gsocket.c:2226 gio/gsocket.c:2263 gio/gsocket.c:2373 gio/gsocket.c:2398
+#: gio/gsocket.c:2471 gio/gsocket.c:2529 gio/gsocket.c:2547
#, c-format
msgid "Error joining multicast group: %s"
msgstr "Fehler beim Beitreten zur Multicast-Gruppe: %s"
-#: ../gio/gsocket.c:2227 ../gio/gsocket.c:2264 ../gio/gsocket.c:2374
-#: ../gio/gsocket.c:2399 ../gio/gsocket.c:2472 ../gio/gsocket.c:2530
-#: ../gio/gsocket.c:2548
+#: gio/gsocket.c:2227 gio/gsocket.c:2264 gio/gsocket.c:2374 gio/gsocket.c:2399
+#: gio/gsocket.c:2472 gio/gsocket.c:2530 gio/gsocket.c:2548
#, c-format
msgid "Error leaving multicast group: %s"
msgstr "Fehler beim Verlassen der Multicast-Gruppe: %s"
-#: ../gio/gsocket.c:2228
+#: gio/gsocket.c:2228
msgid "No support for source-specific multicast"
msgstr "Quellen-spezifisches Multicast wird nicht unterstützt"
-#: ../gio/gsocket.c:2375
+#: gio/gsocket.c:2375
msgid "Unsupported socket family"
msgstr "Nicht unterstützte Socket-Familie"
-#: ../gio/gsocket.c:2400
+#: gio/gsocket.c:2400
msgid "source-specific not an IPv4 address"
msgstr "Quellen-spezifisch ist keine IPv4-Adresse"
-#: ../gio/gsocket.c:2418 ../gio/gsocket.c:2447 ../gio/gsocket.c:2497
+#: gio/gsocket.c:2418 gio/gsocket.c:2447 gio/gsocket.c:2497
#, c-format
msgid "Interface not found: %s"
msgstr "Schnittstelle nicht gefunden: %s"
-#: ../gio/gsocket.c:2434
+#: gio/gsocket.c:2434
#, c-format
msgid "Interface name too long"
msgstr "Schnittstellenname ist zu lang"
-#: ../gio/gsocket.c:2473
+#: gio/gsocket.c:2473
msgid "No support for IPv4 source-specific multicast"
msgstr "Quellen-spezifisches IPv4-Multicast wird nicht unterstützt"
-#: ../gio/gsocket.c:2531
+#: gio/gsocket.c:2531
msgid "No support for IPv6 source-specific multicast"
msgstr "Quellen-spezifisches IPv6-Multicast wird nicht unterstützt"
-#: ../gio/gsocket.c:2740
+#: gio/gsocket.c:2740
#, c-format
msgid "Error accepting connection: %s"
msgstr "Fehler bei Annahme der Verbindung: %s"
-#: ../gio/gsocket.c:2864
+#: gio/gsocket.c:2864
msgid "Connection in progress"
msgstr "Verbindungsvorgang läuft"
-#: ../gio/gsocket.c:2913
+#: gio/gsocket.c:2913
msgid "Unable to get pending error: "
msgstr "Ausstehender Fehler konnte nicht erhalten werden: "
-#: ../gio/gsocket.c:3097
+#: gio/gsocket.c:3097
#, c-format
msgid "Error receiving data: %s"
msgstr "Fehler beim Erhalt von Daten: %s"
-#: ../gio/gsocket.c:3292
+#: gio/gsocket.c:3292
#, c-format
msgid "Error sending data: %s"
msgstr "Fehler beim Senden von Daten: %s"
-#: ../gio/gsocket.c:3479
+#: gio/gsocket.c:3479
#, c-format
msgid "Unable to shutdown socket: %s"
msgstr "Socket kann nicht heruntergefahren werden: %s"
-#: ../gio/gsocket.c:3560
+#: gio/gsocket.c:3560
#, c-format
msgid "Error closing socket: %s"
msgstr "Fehler beim Schließen des Sockets: %s"
-#: ../gio/gsocket.c:4237
+#: gio/gsocket.c:4237
#, c-format
msgid "Waiting for socket condition: %s"
msgstr "Es wird auf eine Socket-Bedingung gewartet: %s"
-#: ../gio/gsocket.c:4711 ../gio/gsocket.c:4791 ../gio/gsocket.c:4969
+#: gio/gsocket.c:4711 gio/gsocket.c:4791 gio/gsocket.c:4969
#, c-format
msgid "Error sending message: %s"
msgstr "Fehler beim Senden der Nachricht: %s"
-#: ../gio/gsocket.c:4735
+#: gio/gsocket.c:4735
msgid "GSocketControlMessage not supported on Windows"
msgstr "GSocketControlMessage wird unter Windows nicht unterstützt"
-#: ../gio/gsocket.c:5188 ../gio/gsocket.c:5261 ../gio/gsocket.c:5487
+#: gio/gsocket.c:5188 gio/gsocket.c:5261 gio/gsocket.c:5487
#, c-format
msgid "Error receiving message: %s"
msgstr "Fehler beim Empfang der Nachricht: %s"
-#: ../gio/gsocket.c:5759
+#: gio/gsocket.c:5759
#, c-format
msgid "Unable to read socket credentials: %s"
msgstr "Socket-Berechtigungen konnten nicht gelesen werden: %s"
-#: ../gio/gsocket.c:5768
+#: gio/gsocket.c:5768
msgid "g_socket_get_credentials not implemented for this OS"
msgstr ""
"g_socket_get_credentials ist für dieses Betriebssystem nicht implementiert"
-#: ../gio/gsocketclient.c:176
+#: gio/gsocketclient.c:176
#, c-format
msgid "Could not connect to proxy server %s: "
msgstr "Verbindung zum Proxy-Server %s konnte nicht aufgebaut werden: "
-#: ../gio/gsocketclient.c:190
+#: gio/gsocketclient.c:190
#, c-format
msgid "Could not connect to %s: "
msgstr "Verbindung mit %s ist gescheitert: "
-#: ../gio/gsocketclient.c:192
+#: gio/gsocketclient.c:192
msgid "Could not connect: "
msgstr "Verbindung ist gescheitert: "
-#: ../gio/gsocketclient.c:1027 ../gio/gsocketclient.c:1599
+#: gio/gsocketclient.c:1027 gio/gsocketclient.c:1599
msgid "Unknown error on connect"
msgstr "Unbekannter Fehler bei Verbindungsversuch"
-#: ../gio/gsocketclient.c:1081 ../gio/gsocketclient.c:1535
+#: gio/gsocketclient.c:1081 gio/gsocketclient.c:1535
msgid "Proxying over a non-TCP connection is not supported."
msgstr "Nicht-TCP-Verbindung über Proxy wird nicht unterstützt."
-#: ../gio/gsocketclient.c:1110 ../gio/gsocketclient.c:1561
+#: gio/gsocketclient.c:1110 gio/gsocketclient.c:1561
#, c-format
msgid "Proxy protocol “%s” is not supported."
msgstr "Proxy-Protokoll »%s« wird nicht unterstützt."
-#: ../gio/gsocketlistener.c:225
+#: gio/gsocketlistener.c:225
msgid "Listener is already closed"
msgstr "Lauscher ist bereits geschlossen"
-#: ../gio/gsocketlistener.c:271
+#: gio/gsocketlistener.c:271
msgid "Added socket is closed"
msgstr "Der hinzugefügte Socket ist geschlossen"
-#: ../gio/gsocks4aproxy.c:118
+#: gio/gsocks4aproxy.c:118
#, c-format
msgid "SOCKSv4 does not support IPv6 address “%s”"
msgstr "SOCKSv4 unterstützt die IPv6-Adresse »%s« nicht"
-#: ../gio/gsocks4aproxy.c:136
+#: gio/gsocks4aproxy.c:136
msgid "Username is too long for SOCKSv4 protocol"
msgstr "Benutzername ist zu lang für das SOCKSv4-Protokoll"
-#: ../gio/gsocks4aproxy.c:153
+#: gio/gsocks4aproxy.c:153
#, c-format
msgid "Hostname “%s” is too long for SOCKSv4 protocol"
msgstr "Rechnername »%s« ist zu lang für das SOCKSv4-Protokoll"
-#: ../gio/gsocks4aproxy.c:179
+#: gio/gsocks4aproxy.c:179
msgid "The server is not a SOCKSv4 proxy server."
msgstr "Der Server ist kein SOCKSv4-Proxy-Server."
-#: ../gio/gsocks4aproxy.c:186
+#: gio/gsocks4aproxy.c:186
msgid "Connection through SOCKSv4 server was rejected"
msgstr "Verbindung durch SOCKSv4-Server wurde abgewiesen"
-#: ../gio/gsocks5proxy.c:153 ../gio/gsocks5proxy.c:324
-#: ../gio/gsocks5proxy.c:334
+#: gio/gsocks5proxy.c:153 gio/gsocks5proxy.c:324 gio/gsocks5proxy.c:334
msgid "The server is not a SOCKSv5 proxy server."
msgstr "Der Server ist kein SOCKSv5-Proxy-Server."
-#: ../gio/gsocks5proxy.c:167
+#: gio/gsocks5proxy.c:167
msgid "The SOCKSv5 proxy requires authentication."
msgstr "Der SOCKSv5-Proxy erfordert Legitimierung."
-#: ../gio/gsocks5proxy.c:177
+#: gio/gsocks5proxy.c:177
msgid ""
"The SOCKSv5 proxy requires an authentication method that is not supported by "
"GLib."
@@ -3979,109 +3931,109 @@
"Der SOCKSv5 erfordert eine Legitimierungsmethode, die durch GLib nicht "
"unterstützt wird."
-#: ../gio/gsocks5proxy.c:206
+#: gio/gsocks5proxy.c:206
msgid "Username or password is too long for SOCKSv5 protocol."
msgstr "Benutzername oder Passwort ist zu lang für das SOCKSv5-Protokoll."
-#: ../gio/gsocks5proxy.c:236
+#: gio/gsocks5proxy.c:236
msgid "SOCKSv5 authentication failed due to wrong username or password."
msgstr ""
"SOCKSv5-Legitimierung scheiterte wegen falschen Benutzernamens oder "
"Passworts."
-#: ../gio/gsocks5proxy.c:286
+#: gio/gsocks5proxy.c:286
#, c-format
msgid "Hostname “%s” is too long for SOCKSv5 protocol"
msgstr "Rechnername »%s« ist zu lang für das SOCKSv5-Protokoll"
-#: ../gio/gsocks5proxy.c:348
+#: gio/gsocks5proxy.c:348
msgid "The SOCKSv5 proxy server uses unknown address type."
msgstr "Der SOCKSv5-Proxy-Server verwendet einen unbekannten Adresstyp."
-#: ../gio/gsocks5proxy.c:355
+#: gio/gsocks5proxy.c:355
msgid "Internal SOCKSv5 proxy server error."
msgstr "Interner Fehler des SOCKSv5-Proxy-Servers."
-#: ../gio/gsocks5proxy.c:361
+#: gio/gsocks5proxy.c:361
msgid "SOCKSv5 connection not allowed by ruleset."
msgstr "SOCKSv5-Verbindung ist aufgrund des Regelwerks nicht erlaubt."
-#: ../gio/gsocks5proxy.c:368
+#: gio/gsocks5proxy.c:368
msgid "Host unreachable through SOCKSv5 server."
msgstr "Rechner ist über den SOCKSv5-Server nicht erreichbar."
-#: ../gio/gsocks5proxy.c:374
+#: gio/gsocks5proxy.c:374
msgid "Network unreachable through SOCKSv5 proxy."
msgstr "Das Netzwerk ist durch den SOCKSv5-Proxy nicht erreichbar."
-#: ../gio/gsocks5proxy.c:380
+#: gio/gsocks5proxy.c:380
msgid "Connection refused through SOCKSv5 proxy."
msgstr "Verbindung wurde durch SOCKSv5-Proxy abgewiesen."
-#: ../gio/gsocks5proxy.c:386
+#: gio/gsocks5proxy.c:386
msgid "SOCKSv5 proxy does not support “connect” command."
msgstr "SOCKSv5-Proxy unterstützt den Befehl »connect« nicht."
-#: ../gio/gsocks5proxy.c:392
+#: gio/gsocks5proxy.c:392
msgid "SOCKSv5 proxy does not support provided address type."
msgstr "SOCKSv5-Proxy unterstützt den angegebenen Adresstyp nicht."
-#: ../gio/gsocks5proxy.c:398
+#: gio/gsocks5proxy.c:398
msgid "Unknown SOCKSv5 proxy error."
msgstr "Unbekannter Fehler im SOCKSv5-Proxy."
-#: ../gio/gthemedicon.c:518
+#: gio/gthemedicon.c:518
#, c-format
msgid "Can’t handle version %d of GThemedIcon encoding"
msgstr "Version %d der GThemedIcon-Kodierung kann nicht verarbeitet werden"
-#: ../gio/gthreadedresolver.c:118
+#: gio/gthreadedresolver.c:118
msgid "No valid addresses were found"
msgstr "Es wurden keine gültigen Adressen gefunden"
-#: ../gio/gthreadedresolver.c:213
+#: gio/gthreadedresolver.c:213
#, c-format
msgid "Error reverse-resolving “%s”: %s"
msgstr "Fehler beim Rückwärtsauflösen von »%s«: %s"
-#: ../gio/gthreadedresolver.c:549 ../gio/gthreadedresolver.c:628
-#: ../gio/gthreadedresolver.c:726 ../gio/gthreadedresolver.c:776
+#: gio/gthreadedresolver.c:549 gio/gthreadedresolver.c:628
+#: gio/gthreadedresolver.c:726 gio/gthreadedresolver.c:776
#, c-format
msgid "No DNS record of the requested type for “%s”"
msgstr "Kein DNS-Datensatz des angeforderten Typs für »%s«"
-#: ../gio/gthreadedresolver.c:554 ../gio/gthreadedresolver.c:731
+#: gio/gthreadedresolver.c:554 gio/gthreadedresolver.c:731
#, c-format
msgid "Temporarily unable to resolve “%s”"
msgstr "»%s« kann vorübergehend nicht aufgelöst werden"
-#: ../gio/gthreadedresolver.c:559 ../gio/gthreadedresolver.c:736
-#: ../gio/gthreadedresolver.c:844
+#: gio/gthreadedresolver.c:559 gio/gthreadedresolver.c:736
+#: gio/gthreadedresolver.c:844
#, c-format
msgid "Error resolving “%s”"
msgstr "Fehler beim Auflösen von »%s«"
-#: ../gio/gtlscertificate.c:250
+#: gio/gtlscertificate.c:250
msgid "Cannot decrypt PEM-encoded private key"
msgstr "PEM-enkodierter geheimer Schlüssel konnte nicht entschlüsselt werden"
-#: ../gio/gtlscertificate.c:255
+#: gio/gtlscertificate.c:255
msgid "No PEM-encoded private key found"
msgstr "Kein PEM-enkodierter geheimer Schlüssel gefunden"
-#: ../gio/gtlscertificate.c:265
+#: gio/gtlscertificate.c:265
msgid "Could not parse PEM-encoded private key"
msgstr "PEM-enkodierter geheimer Schlüssel konnte nicht verarbeitet werden"
-#: ../gio/gtlscertificate.c:290
+#: gio/gtlscertificate.c:290
msgid "No PEM-encoded certificate found"
msgstr "Kein PEM-enkodiertes Zertifikat gefunden"
-#: ../gio/gtlscertificate.c:299
+#: gio/gtlscertificate.c:299
msgid "Could not parse PEM-encoded certificate"
msgstr "PEM-enkodiertes Zertifikat konnte nicht verarbeitet werden"
-#: ../gio/gtlspassword.c:111
+#: gio/gtlspassword.c:111
msgid ""
"This is the last chance to enter the password correctly before your access "
"is locked out."
@@ -4091,7 +4043,7 @@
#. Translators: This is not the 'This is the last chance' string. It is
#. * displayed when more than one attempt is allowed.
-#: ../gio/gtlspassword.c:115
+#: gio/gtlspassword.c:115
msgid ""
"Several passwords entered have been incorrect, and your access will be "
"locked out after further failures."
@@ -4099,308 +4051,307 @@
"Passwörter wurden mehrfach inkorrekt eingegeben, daher wird Ihr Zugriff nach "
"weiteren Fehleingaben gesperrt."
-#: ../gio/gtlspassword.c:117
+#: gio/gtlspassword.c:117
msgid "The password entered is incorrect."
msgstr "Das eingegebene Passwort ist ungültig."
-#: ../gio/gunixconnection.c:166 ../gio/gunixconnection.c:563
+#: gio/gunixconnection.c:166 gio/gunixconnection.c:563
#, c-format
msgid "Expecting 1 control message, got %d"
msgid_plural "Expecting 1 control message, got %d"
msgstr[0] "1 Kontrollnachricht wird erwartet, %d wurde erhalten"
msgstr[1] "1 Kontrollnachricht wird erwartet, %d wurden erhalten"
-#: ../gio/gunixconnection.c:182 ../gio/gunixconnection.c:575
+#: gio/gunixconnection.c:182 gio/gunixconnection.c:575
msgid "Unexpected type of ancillary data"
msgstr "Unerwartete Art von Zusatzdaten"
-#: ../gio/gunixconnection.c:200
+#: gio/gunixconnection.c:200
#, c-format
msgid "Expecting one fd, but got %d\n"
msgid_plural "Expecting one fd, but got %d\n"
msgstr[0] "Ein Dateideskriptor wird erwartet, aber %d wurde erhalten\n"
msgstr[1] "Ein Dateideskriptor wird erwartet, aber %d wurden erhalten\n"
-#: ../gio/gunixconnection.c:219
+#: gio/gunixconnection.c:219
msgid "Received invalid fd"
msgstr "Ungültiger Dateideskriptor wurde erhalten"
-#: ../gio/gunixconnection.c:355
+#: gio/gunixconnection.c:355
msgid "Error sending credentials: "
msgstr "Fehler beim Senden der Anmeldedaten: "
-#: ../gio/gunixconnection.c:504
+#: gio/gunixconnection.c:504
#, c-format
msgid "Error checking if SO_PASSCRED is enabled for socket: %s"
msgstr ""
"Fehler bei der Überprüfung, ob SO_PASSCRED für Socket aktiviert ist: %s"
-#: ../gio/gunixconnection.c:520
+#: gio/gunixconnection.c:520
#, c-format
msgid "Error enabling SO_PASSCRED: %s"
msgstr "Fehler beim Aktivieren von SO_PASSCRED: %s"
-#: ../gio/gunixconnection.c:549
+#: gio/gunixconnection.c:549
msgid ""
"Expecting to read a single byte for receiving credentials but read zero bytes"
msgstr ""
"Erwartet wurde der Empfang eines einzelnen Bytes als Anmeldedaten, jedoch "
"null Bytes gelesen"
-#: ../gio/gunixconnection.c:589
+#: gio/gunixconnection.c:589
#, c-format
msgid "Not expecting control message, but got %d"
msgstr "Kontrollnachricht wurde nicht erwartet, %d wurde erhalten"
-#: ../gio/gunixconnection.c:614
+#: gio/gunixconnection.c:614
#, c-format
msgid "Error while disabling SO_PASSCRED: %s"
msgstr "Fehler beim Deaktivieren von SO_PASSCRED: %s"
-#: ../gio/gunixinputstream.c:372 ../gio/gunixinputstream.c:393
+#: gio/gunixinputstream.c:372 gio/gunixinputstream.c:393
#, c-format
msgid "Error reading from file descriptor: %s"
msgstr "Fehler beim Lesen aus dem Dateideskriptor: %s"
-#: ../gio/gunixinputstream.c:426 ../gio/gunixoutputstream.c:411
-#: ../gio/gwin32inputstream.c:217 ../gio/gwin32outputstream.c:204
+#: gio/gunixinputstream.c:426 gio/gunixoutputstream.c:411
+#: gio/gwin32inputstream.c:217 gio/gwin32outputstream.c:204
#, c-format
msgid "Error closing file descriptor: %s"
msgstr "Fehler beim Schließen des Dateideskriptors: %s"
-#: ../gio/gunixmounts.c:2593 ../gio/gunixmounts.c:2646
+#: gio/gunixmounts.c:2589 gio/gunixmounts.c:2642
msgid "Filesystem root"
msgstr "Wurzelordner des Dateisystems"
-#: ../gio/gunixoutputstream.c:358 ../gio/gunixoutputstream.c:378
+#: gio/gunixoutputstream.c:358 gio/gunixoutputstream.c:378
#, c-format
msgid "Error writing to file descriptor: %s"
msgstr "Fehler beim Schreiben in den Dateideskriptor: %s"
-#: ../gio/gunixsocketaddress.c:243
+#: gio/gunixsocketaddress.c:243
msgid "Abstract UNIX domain socket addresses not supported on this system"
msgstr ""
"Abstrakte Unix Domänen-Socket-Adresse wird auf diesem System nicht "
"unterstützt"
-#: ../gio/gvolume.c:438
+#: gio/gvolume.c:438
msgid "volume doesn’t implement eject"
msgstr "Datenträger unterstützt Auswerfen nicht"
#. Translators: This is an error
#. * message for volume objects that
#. * don't implement any of eject or eject_with_operation.
-#: ../gio/gvolume.c:515
+#: gio/gvolume.c:515
msgid "volume doesn’t implement eject or eject_with_operation"
msgstr "Datenträger unterstützt weder Auswerfen noch »eject_with_operation«"
-#: ../gio/gwin32inputstream.c:185
+#: gio/gwin32inputstream.c:185
#, c-format
msgid "Error reading from handle: %s"
msgstr "Fehler beim Lesen aus dem Handler: %s"
-#: ../gio/gwin32inputstream.c:232 ../gio/gwin32outputstream.c:219
+#: gio/gwin32inputstream.c:232 gio/gwin32outputstream.c:219
#, c-format
msgid "Error closing handle: %s"
msgstr "Fehler beim Schließen des Handlers: %s"
-#: ../gio/gwin32outputstream.c:172
+#: gio/gwin32outputstream.c:172
#, c-format
msgid "Error writing to handle: %s"
msgstr "Fehler beim Schreiben in das Handle: %s"
-#: ../gio/gzlibcompressor.c:394 ../gio/gzlibdecompressor.c:347
+#: gio/gzlibcompressor.c:394 gio/gzlibdecompressor.c:347
msgid "Not enough memory"
msgstr "Nicht genügend freier Speicher"
-#: ../gio/gzlibcompressor.c:401 ../gio/gzlibdecompressor.c:354
+#: gio/gzlibcompressor.c:401 gio/gzlibdecompressor.c:354
#, c-format
msgid "Internal error: %s"
msgstr "Interner Fehler: %s"
-#: ../gio/gzlibcompressor.c:414 ../gio/gzlibdecompressor.c:368
+#: gio/gzlibcompressor.c:414 gio/gzlibdecompressor.c:368
msgid "Need more input"
msgstr "Weitere Eingaben erforderlich"
-#: ../gio/gzlibdecompressor.c:340
+#: gio/gzlibdecompressor.c:340
msgid "Invalid compressed data"
msgstr "Ungültige komprimierte Daten"
-#: ../gio/tests/gdbus-daemon.c:18
+#: gio/tests/gdbus-daemon.c:18
msgid "Address to listen on"
msgstr "Adresse, an der gelauscht werden soll"
-#: ../gio/tests/gdbus-daemon.c:19
+#: gio/tests/gdbus-daemon.c:19
msgid "Ignored, for compat with GTestDbus"
msgstr "Ignoriert (für Kompatibilität mit GTestDbus)"
-#: ../gio/tests/gdbus-daemon.c:20
+#: gio/tests/gdbus-daemon.c:20
msgid "Print address"
msgstr "Adresse ausgeben"
-#: ../gio/tests/gdbus-daemon.c:21
+#: gio/tests/gdbus-daemon.c:21
msgid "Print address in shell mode"
msgstr "Adresse im Shell-Modus ausgeben"
-#: ../gio/tests/gdbus-daemon.c:28
+#: gio/tests/gdbus-daemon.c:28
msgid "Run a dbus service"
msgstr "Einen D-Bus-Dienst ausführen"
-#: ../gio/tests/gdbus-daemon.c:42
-#, c-format
+#: gio/tests/gdbus-daemon.c:42
msgid "Wrong args\n"
msgstr "Falsche Argumente\n"
-#: ../glib/gbookmarkfile.c:754
+#: glib/gbookmarkfile.c:754
#, c-format
msgid "Unexpected attribute “%s” for element “%s”"
msgstr "Unerwartetes Attribut »%s« des Elements »%s«"
-#: ../glib/gbookmarkfile.c:765 ../glib/gbookmarkfile.c:836
-#: ../glib/gbookmarkfile.c:846 ../glib/gbookmarkfile.c:953
+#: glib/gbookmarkfile.c:765 glib/gbookmarkfile.c:836 glib/gbookmarkfile.c:846
+#: glib/gbookmarkfile.c:955
#, c-format
msgid "Attribute “%s” of element “%s” not found"
msgstr "Attribut »%s« des Elements »%s« konnte nicht gefunden werden"
-#: ../glib/gbookmarkfile.c:1123 ../glib/gbookmarkfile.c:1188
-#: ../glib/gbookmarkfile.c:1252 ../glib/gbookmarkfile.c:1262
+#: glib/gbookmarkfile.c:1164 glib/gbookmarkfile.c:1229
+#: glib/gbookmarkfile.c:1293 glib/gbookmarkfile.c:1303
#, c-format
msgid "Unexpected tag “%s”, tag “%s” expected"
msgstr "Unerwarteter Tag »%s«; Tag »%s« wird erwartet"
-#: ../glib/gbookmarkfile.c:1148 ../glib/gbookmarkfile.c:1162
-#: ../glib/gbookmarkfile.c:1230
+#: glib/gbookmarkfile.c:1189 glib/gbookmarkfile.c:1203
+#: glib/gbookmarkfile.c:1271 glib/gbookmarkfile.c:1317
#, c-format
msgid "Unexpected tag “%s” inside “%s”"
msgstr "Unerwarteter Tag »%s« innerhalb von »%s«"
-#: ../glib/gbookmarkfile.c:1757
+#: glib/gbookmarkfile.c:1813
msgid "No valid bookmark file found in data dirs"
msgstr "Es wurde keine gültige Lesezeichendatei in den Datenordnern gefunden"
-#: ../glib/gbookmarkfile.c:1958
+#: glib/gbookmarkfile.c:2014
#, c-format
msgid "A bookmark for URI “%s” already exists"
msgstr "Es existiert bereits ein Lesezeichen für die Adresse »%s«"
-#: ../glib/gbookmarkfile.c:2004 ../glib/gbookmarkfile.c:2162
-#: ../glib/gbookmarkfile.c:2247 ../glib/gbookmarkfile.c:2327
-#: ../glib/gbookmarkfile.c:2412 ../glib/gbookmarkfile.c:2495
-#: ../glib/gbookmarkfile.c:2573 ../glib/gbookmarkfile.c:2652
-#: ../glib/gbookmarkfile.c:2694 ../glib/gbookmarkfile.c:2791
-#: ../glib/gbookmarkfile.c:2912 ../glib/gbookmarkfile.c:3102
-#: ../glib/gbookmarkfile.c:3178 ../glib/gbookmarkfile.c:3346
-#: ../glib/gbookmarkfile.c:3435 ../glib/gbookmarkfile.c:3524
-#: ../glib/gbookmarkfile.c:3640
+#: glib/gbookmarkfile.c:2060 glib/gbookmarkfile.c:2218
+#: glib/gbookmarkfile.c:2303 glib/gbookmarkfile.c:2383
+#: glib/gbookmarkfile.c:2468 glib/gbookmarkfile.c:2551
+#: glib/gbookmarkfile.c:2629 glib/gbookmarkfile.c:2708
+#: glib/gbookmarkfile.c:2750 glib/gbookmarkfile.c:2847
+#: glib/gbookmarkfile.c:2968 glib/gbookmarkfile.c:3158
+#: glib/gbookmarkfile.c:3234 glib/gbookmarkfile.c:3402
+#: glib/gbookmarkfile.c:3491 glib/gbookmarkfile.c:3580
+#: glib/gbookmarkfile.c:3696
#, c-format
msgid "No bookmark found for URI “%s”"
msgstr "Es konnte kein Lesezeichen für die Adresse »%s« gefunden werden."
-#: ../glib/gbookmarkfile.c:2336
+#: glib/gbookmarkfile.c:2392
#, c-format
msgid "No MIME type defined in the bookmark for URI “%s”"
msgstr "Es ist kein MIME-Typ im Lesezeichen für die Adresse »%s« definiert."
-#: ../glib/gbookmarkfile.c:2421
+#: glib/gbookmarkfile.c:2477
#, c-format
msgid "No private flag has been defined in bookmark for URI “%s”"
msgstr ""
"Es konnte keine »privat«-Markierung für das Lesezeichen für die Adresse »%s« "
"gefunden werden."
-#: ../glib/gbookmarkfile.c:2800
+#: glib/gbookmarkfile.c:2856
#, c-format
msgid "No groups set in bookmark for URI “%s”"
msgstr ""
"Es wurden keine Gruppen für das Lesezeichen für die Adresse »%s« festgelegt."
-#: ../glib/gbookmarkfile.c:3199 ../glib/gbookmarkfile.c:3356
+#: glib/gbookmarkfile.c:3255 glib/gbookmarkfile.c:3412
#, c-format
msgid "No application with name “%s” registered a bookmark for “%s”"
msgstr ""
"Es wurde keine Anwendung namens »%s« gefunden, die ein Lesezeichen für »%s« "
"registriert hat."
-#: ../glib/gbookmarkfile.c:3379
+#: glib/gbookmarkfile.c:3435
#, c-format
msgid "Failed to expand exec line “%s” with URI “%s”"
msgstr ""
"Die Befehlszeile »%s« konnte nicht mit der Adresse »%s« verknüpft werden."
-#: ../glib/gconvert.c:473
+#: glib/gconvert.c:473
msgid "Unrepresentable character in conversion input"
msgstr "Nicht darstellbares Zeichen in Umwandlungsausgabe"
-#: ../glib/gconvert.c:500 ../glib/gutf8.c:865 ../glib/gutf8.c:1077
-#: ../glib/gutf8.c:1214 ../glib/gutf8.c:1318
+#: glib/gconvert.c:500 glib/gutf8.c:865 glib/gutf8.c:1077 glib/gutf8.c:1214
+#: glib/gutf8.c:1318
msgid "Partial character sequence at end of input"
msgstr "Bruchstückhafte Zeichenfolge am Eingabeende"
-#: ../glib/gconvert.c:769
+#: glib/gconvert.c:769
#, c-format
msgid "Cannot convert fallback “%s” to codeset “%s”"
msgstr "Notnagel »%s« kann nicht in Kodierung »%s« umgewandelt werden"
-#: ../glib/gconvert.c:940
+#: glib/gconvert.c:940
msgid "Embedded NUL byte in conversion input"
msgstr "Eingebettetes NUL-Byte in Umwandlungseingabe"
-#: ../glib/gconvert.c:961
+#: glib/gconvert.c:961
msgid "Embedded NUL byte in conversion output"
msgstr "Eingebettetes NUL-Byte in Umwandlungsausgabe"
-#: ../glib/gconvert.c:1649
+#: glib/gconvert.c:1649
#, c-format
msgid "The URI “%s” is not an absolute URI using the “file” scheme"
msgstr ""
"Die Adresse »%s« ist keine absolute Adresse, die das »file«-Schema verwendet"
-#: ../glib/gconvert.c:1659
+#: glib/gconvert.c:1659
#, c-format
msgid "The local file URI “%s” may not include a “#”"
msgstr "Die lokale Adresse »%s« darf kein »#« enthalten"
-#: ../glib/gconvert.c:1676
+#: glib/gconvert.c:1676
#, c-format
msgid "The URI “%s” is invalid"
msgstr "Die Adresse »%s« ist ungültig"
-#: ../glib/gconvert.c:1688
+#: glib/gconvert.c:1688
#, c-format
msgid "The hostname of the URI “%s” is invalid"
msgstr "Der Rechnername der Adresse »%s« ist ungültig"
# CHECK
-#: ../glib/gconvert.c:1704
+#: glib/gconvert.c:1704
#, c-format
msgid "The URI “%s” contains invalidly escaped characters"
msgstr "Die Adresse »%s« enthält ungültige Escape-Zeichen"
-#: ../glib/gconvert.c:1776
+#: glib/gconvert.c:1776
#, c-format
msgid "The pathname “%s” is not an absolute path"
msgstr "Der Pfadname »%s« ist kein absoluter Pfad"
#. Translators: this is the preferred format for expressing the date and the time
-#: ../glib/gdatetime.c:213
+#: glib/gdatetime.c:213
msgctxt "GDateTime"
msgid "%a %b %e %H:%M:%S %Y"
msgstr "%a %e. %b %Y %T %Z"
#. Translators: this is the preferred format for expressing the date
-#: ../glib/gdatetime.c:216
+#: glib/gdatetime.c:216
msgctxt "GDateTime"
msgid "%m/%d/%y"
msgstr "%d.%m.%y"
#. Translators: this is the preferred format for expressing the time
-#: ../glib/gdatetime.c:219
+#: glib/gdatetime.c:219
msgctxt "GDateTime"
msgid "%H:%M:%S"
msgstr "%H:%M:%S"
#. Translators: this is the preferred format for expressing 12 hour time
-#: ../glib/gdatetime.c:222
+#: glib/gdatetime.c:222
msgctxt "GDateTime"
msgid "%I:%M:%S %p"
msgstr "%I:%M:%S"
@@ -4421,62 +4372,62 @@
#. * non-European) there is no difference between the standalone and
#. * complete date form.
#.
-#: ../glib/gdatetime.c:261
+#: glib/gdatetime.c:261
msgctxt "full month name"
msgid "January"
msgstr "Januar"
-#: ../glib/gdatetime.c:263
+#: glib/gdatetime.c:263
msgctxt "full month name"
msgid "February"
msgstr "Februar"
-#: ../glib/gdatetime.c:265
+#: glib/gdatetime.c:265
msgctxt "full month name"
msgid "March"
msgstr "März"
-#: ../glib/gdatetime.c:267
+#: glib/gdatetime.c:267
msgctxt "full month name"
msgid "April"
msgstr "April"
-#: ../glib/gdatetime.c:269
+#: glib/gdatetime.c:269
msgctxt "full month name"
msgid "May"
msgstr "Mai"
-#: ../glib/gdatetime.c:271
+#: glib/gdatetime.c:271
msgctxt "full month name"
msgid "June"
msgstr "Juni"
-#: ../glib/gdatetime.c:273
+#: glib/gdatetime.c:273
msgctxt "full month name"
msgid "July"
msgstr "Juli"
-#: ../glib/gdatetime.c:275
+#: glib/gdatetime.c:275
msgctxt "full month name"
msgid "August"
msgstr "August"
-#: ../glib/gdatetime.c:277
+#: glib/gdatetime.c:277
msgctxt "full month name"
msgid "September"
msgstr "September"
-#: ../glib/gdatetime.c:279
+#: glib/gdatetime.c:279
msgctxt "full month name"
msgid "October"
msgstr "Oktober"
-#: ../glib/gdatetime.c:281
+#: glib/gdatetime.c:281
msgctxt "full month name"
msgid "November"
msgstr "November"
-#: ../glib/gdatetime.c:283
+#: glib/gdatetime.c:283
msgctxt "full month name"
msgid "December"
msgstr "Dezember"
@@ -4498,132 +4449,132 @@
#. * other platform. Here are abbreviated month names in a form
#. * appropriate when they are used standalone.
#.
-#: ../glib/gdatetime.c:315
+#: glib/gdatetime.c:315
msgctxt "abbreviated month name"
msgid "Jan"
msgstr "Jan"
-#: ../glib/gdatetime.c:317
+#: glib/gdatetime.c:317
msgctxt "abbreviated month name"
msgid "Feb"
msgstr "Feb"
-#: ../glib/gdatetime.c:319
+#: glib/gdatetime.c:319
msgctxt "abbreviated month name"
msgid "Mar"
msgstr "Mär"
-#: ../glib/gdatetime.c:321
+#: glib/gdatetime.c:321
msgctxt "abbreviated month name"
msgid "Apr"
msgstr "Apr"
-#: ../glib/gdatetime.c:323
+#: glib/gdatetime.c:323
msgctxt "abbreviated month name"
msgid "May"
msgstr "Mai"
-#: ../glib/gdatetime.c:325
+#: glib/gdatetime.c:325
msgctxt "abbreviated month name"
msgid "Jun"
msgstr "Jun"
-#: ../glib/gdatetime.c:327
+#: glib/gdatetime.c:327
msgctxt "abbreviated month name"
msgid "Jul"
msgstr "Jul"
-#: ../glib/gdatetime.c:329
+#: glib/gdatetime.c:329
msgctxt "abbreviated month name"
msgid "Aug"
msgstr "Aug"
-#: ../glib/gdatetime.c:331
+#: glib/gdatetime.c:331
msgctxt "abbreviated month name"
msgid "Sep"
msgstr "Sep"
-#: ../glib/gdatetime.c:333
+#: glib/gdatetime.c:333
msgctxt "abbreviated month name"
msgid "Oct"
msgstr "Okt"
-#: ../glib/gdatetime.c:335
+#: glib/gdatetime.c:335
msgctxt "abbreviated month name"
msgid "Nov"
msgstr "Nov"
-#: ../glib/gdatetime.c:337
+#: glib/gdatetime.c:337
msgctxt "abbreviated month name"
msgid "Dec"
msgstr "Dez"
-#: ../glib/gdatetime.c:352
+#: glib/gdatetime.c:352
msgctxt "full weekday name"
msgid "Monday"
msgstr "Montag"
-#: ../glib/gdatetime.c:354
+#: glib/gdatetime.c:354
msgctxt "full weekday name"
msgid "Tuesday"
msgstr "Dienstag"
-#: ../glib/gdatetime.c:356
+#: glib/gdatetime.c:356
msgctxt "full weekday name"
msgid "Wednesday"
msgstr "Mittwoch"
-#: ../glib/gdatetime.c:358
+#: glib/gdatetime.c:358
msgctxt "full weekday name"
msgid "Thursday"
msgstr "Donnerstag"
-#: ../glib/gdatetime.c:360
+#: glib/gdatetime.c:360
msgctxt "full weekday name"
msgid "Friday"
msgstr "Freitag"
-#: ../glib/gdatetime.c:362
+#: glib/gdatetime.c:362
msgctxt "full weekday name"
msgid "Saturday"
msgstr "Samstag"
-#: ../glib/gdatetime.c:364
+#: glib/gdatetime.c:364
msgctxt "full weekday name"
msgid "Sunday"
msgstr "Sonntag"
-#: ../glib/gdatetime.c:379
+#: glib/gdatetime.c:379
msgctxt "abbreviated weekday name"
msgid "Mon"
msgstr "Mo"
-#: ../glib/gdatetime.c:381
+#: glib/gdatetime.c:381
msgctxt "abbreviated weekday name"
msgid "Tue"
msgstr "Di"
-#: ../glib/gdatetime.c:383
+#: glib/gdatetime.c:383
msgctxt "abbreviated weekday name"
msgid "Wed"
msgstr "Mi"
-#: ../glib/gdatetime.c:385
+#: glib/gdatetime.c:385
msgctxt "abbreviated weekday name"
msgid "Thu"
msgstr "Do"
-#: ../glib/gdatetime.c:387
+#: glib/gdatetime.c:387
msgctxt "abbreviated weekday name"
msgid "Fri"
msgstr "Fr"
-#: ../glib/gdatetime.c:389
+#: glib/gdatetime.c:389
msgctxt "abbreviated weekday name"
msgid "Sat"
msgstr "Sa"
-#: ../glib/gdatetime.c:391
+#: glib/gdatetime.c:391
msgctxt "abbreviated weekday name"
msgid "Sun"
msgstr "So"
@@ -4645,62 +4596,62 @@
#. * (western European, non-European) there is no difference between the
#. * standalone and complete date form.
#.
-#: ../glib/gdatetime.c:455
+#: glib/gdatetime.c:455
msgctxt "full month name with day"
msgid "January"
msgstr "Januar"
-#: ../glib/gdatetime.c:457
+#: glib/gdatetime.c:457
msgctxt "full month name with day"
msgid "February"
msgstr "Februar"
-#: ../glib/gdatetime.c:459
+#: glib/gdatetime.c:459
msgctxt "full month name with day"
msgid "March"
msgstr "März"
-#: ../glib/gdatetime.c:461
+#: glib/gdatetime.c:461
msgctxt "full month name with day"
msgid "April"
msgstr "April"
-#: ../glib/gdatetime.c:463
+#: glib/gdatetime.c:463
msgctxt "full month name with day"
msgid "May"
msgstr "Mai"
-#: ../glib/gdatetime.c:465
+#: glib/gdatetime.c:465
msgctxt "full month name with day"
msgid "June"
msgstr "Juni"
-#: ../glib/gdatetime.c:467
+#: glib/gdatetime.c:467
msgctxt "full month name with day"
msgid "July"
msgstr "Juli"
-#: ../glib/gdatetime.c:469
+#: glib/gdatetime.c:469
msgctxt "full month name with day"
msgid "August"
msgstr "August"
-#: ../glib/gdatetime.c:471
+#: glib/gdatetime.c:471
msgctxt "full month name with day"
msgid "September"
msgstr "September"
-#: ../glib/gdatetime.c:473
+#: glib/gdatetime.c:473
msgctxt "full month name with day"
msgid "October"
msgstr "Oktober"
-#: ../glib/gdatetime.c:475
+#: glib/gdatetime.c:475
msgctxt "full month name with day"
msgid "November"
msgstr "November"
-#: ../glib/gdatetime.c:477
+#: glib/gdatetime.c:477
msgctxt "full month name with day"
msgid "December"
msgstr "Dezember"
@@ -4722,198 +4673,197 @@
#. * month names almost ready to copy and paste here. In other systems
#. * due to a bug the result is incorrect in some languages.
#.
-#: ../glib/gdatetime.c:542
+#: glib/gdatetime.c:542
msgctxt "abbreviated month name with day"
msgid "Jan"
msgstr "Jan"
-#: ../glib/gdatetime.c:544
+#: glib/gdatetime.c:544
msgctxt "abbreviated month name with day"
msgid "Feb"
msgstr "Feb"
-#: ../glib/gdatetime.c:546
+#: glib/gdatetime.c:546
msgctxt "abbreviated month name with day"
msgid "Mar"
msgstr "Mär"
-#: ../glib/gdatetime.c:548
+#: glib/gdatetime.c:548
msgctxt "abbreviated month name with day"
msgid "Apr"
msgstr "Apr"
-#: ../glib/gdatetime.c:550
+#: glib/gdatetime.c:550
msgctxt "abbreviated month name with day"
msgid "May"
msgstr "Mai"
-#: ../glib/gdatetime.c:552
+#: glib/gdatetime.c:552
msgctxt "abbreviated month name with day"
msgid "Jun"
msgstr "Jun"
-#: ../glib/gdatetime.c:554
+#: glib/gdatetime.c:554
msgctxt "abbreviated month name with day"
msgid "Jul"
msgstr "Jul"
-#: ../glib/gdatetime.c:556
+#: glib/gdatetime.c:556
msgctxt "abbreviated month name with day"
msgid "Aug"
msgstr "Aug"
-#: ../glib/gdatetime.c:558
+#: glib/gdatetime.c:558
msgctxt "abbreviated month name with day"
msgid "Sep"
msgstr "Sep"
-#: ../glib/gdatetime.c:560
+#: glib/gdatetime.c:560
msgctxt "abbreviated month name with day"
msgid "Oct"
msgstr "Okt"
-#: ../glib/gdatetime.c:562
+#: glib/gdatetime.c:562
msgctxt "abbreviated month name with day"
msgid "Nov"
msgstr "Nov"
-#: ../glib/gdatetime.c:564
+#: glib/gdatetime.c:564
msgctxt "abbreviated month name with day"
msgid "Dec"
msgstr "Dez"
#. Translators: 'before midday' indicator
-#: ../glib/gdatetime.c:581
+#: glib/gdatetime.c:581
msgctxt "GDateTime"
msgid "AM"
msgstr "a. m."
#. Translators: 'after midday' indicator
-#: ../glib/gdatetime.c:584
+#: glib/gdatetime.c:584
msgctxt "GDateTime"
msgid "PM"
msgstr "p. m."
-#: ../glib/gdir.c:155
+#: glib/gdir.c:155
#, c-format
msgid "Error opening directory “%s”: %s"
msgstr "Fehler beim Öffnen des Ordners »%s«: %s"
-#: ../glib/gfileutils.c:716 ../glib/gfileutils.c:808
+#: glib/gfileutils.c:716 glib/gfileutils.c:808
#, c-format
msgid "Could not allocate %lu byte to read file “%s”"
msgid_plural "Could not allocate %lu bytes to read file “%s”"
msgstr[0] "%lu Byte konnte nicht zugeordnet werden, um Datei »%s« zu lesen"
msgstr[1] "%lu Bytes konnten nicht zugeordnet werden, um Datei »%s« zu lesen"
-#: ../glib/gfileutils.c:733
+#: glib/gfileutils.c:733
#, c-format
msgid "Error reading file “%s”: %s"
msgstr "Fehler beim Lesen der Datei »%s«: %s"
-#: ../glib/gfileutils.c:769
+#: glib/gfileutils.c:769
#, c-format
msgid "File “%s” is too large"
msgstr "Datei »%s« ist zu groß"
-#: ../glib/gfileutils.c:833
+#: glib/gfileutils.c:833
#, c-format
msgid "Failed to read from file “%s”: %s"
msgstr "Aus der Datei »%s« konnte nicht gelesen werden: %s"
-#: ../glib/gfileutils.c:881 ../glib/gfileutils.c:953
+#: glib/gfileutils.c:881 glib/gfileutils.c:953
#, c-format
msgid "Failed to open file “%s”: %s"
msgstr "Datei »%s« konnte nicht geöffnet werden: %s"
-#: ../glib/gfileutils.c:893
+#: glib/gfileutils.c:893
#, c-format
msgid "Failed to get attributes of file “%s”: fstat() failed: %s"
msgstr ""
"Attribute der Datei »%s« konnten nicht ermittelt werden: fstat() "
"gescheitert: %s"
-#: ../glib/gfileutils.c:923
+#: glib/gfileutils.c:923
#, c-format
msgid "Failed to open file “%s”: fdopen() failed: %s"
msgstr "Datei »%s« konnte nicht geöffnet werden: fdopen() gescheitert: %s"
-#: ../glib/gfileutils.c:1022
+#: glib/gfileutils.c:1022
#, c-format
msgid "Failed to rename file “%s” to “%s”: g_rename() failed: %s"
msgstr ""
"Datei »%s« konnte nicht in »%s« umbenannt werden: g_rename() ist "
"gescheitert: %s"
-#: ../glib/gfileutils.c:1057 ../glib/gfileutils.c:1575
+#: glib/gfileutils.c:1057 glib/gfileutils.c:1575
#, c-format
msgid "Failed to create file “%s”: %s"
msgstr "Datei »%s« konnte nicht angelegt werden: %s"
-#: ../glib/gfileutils.c:1084
+#: glib/gfileutils.c:1084
#, c-format
msgid "Failed to write file “%s”: write() failed: %s"
msgstr "Schreiben der Datei »%s« schlug fehl: write() ist gescheitert: %s"
-#: ../glib/gfileutils.c:1127
+#: glib/gfileutils.c:1127
#, c-format
msgid "Failed to write file “%s”: fsync() failed: %s"
msgstr ""
"Datei »%s« konnte nicht geschrieben werden: fsync() ist gescheitert: %s"
-#: ../glib/gfileutils.c:1262
+#: glib/gfileutils.c:1262
#, c-format
msgid "Existing file “%s” could not be removed: g_unlink() failed: %s"
msgstr ""
"Die vorhandene Datei »%s« konnte nicht entfernt werden: g_unlink() ist "
"gescheitert: %s"
-#: ../glib/gfileutils.c:1541
+#: glib/gfileutils.c:1541
#, c-format
msgid "Template “%s” invalid, should not contain a “%s”"
msgstr "Vorlage »%s« ungültig, sollte kein »%s« enthalten"
-#: ../glib/gfileutils.c:1554
+#: glib/gfileutils.c:1554
#, c-format
msgid "Template “%s” doesn’t contain XXXXXX"
msgstr "Vorlage »%s« enthält nicht XXXXXX"
-#: ../glib/gfileutils.c:2116
+#: glib/gfileutils.c:2116
#, c-format
msgid "Failed to read the symbolic link “%s”: %s"
msgstr "Die symbolische Verknüpfung »%s« konnte nicht gelesen werden: %s"
-#: ../glib/giochannel.c:1389
+#: glib/giochannel.c:1389
#, c-format
msgid "Could not open converter from “%s” to “%s”: %s"
msgstr "Konverter von »%s« in »%s« konnte nicht geöffnet werden: %s"
-#: ../glib/giochannel.c:1734
+#: glib/giochannel.c:1734
msgid "Can’t do a raw read in g_io_channel_read_line_string"
msgstr "Raw-read in g_io_channel_read_line_string nicht möglich"
-#: ../glib/giochannel.c:1781 ../glib/giochannel.c:2039
-#: ../glib/giochannel.c:2126
+#: glib/giochannel.c:1781 glib/giochannel.c:2039 glib/giochannel.c:2126
msgid "Leftover unconverted data in read buffer"
msgstr "Nicht konvertierte Daten befinden sich noch im Lesepuffer"
-#: ../glib/giochannel.c:1862 ../glib/giochannel.c:1939
+#: glib/giochannel.c:1862 glib/giochannel.c:1939
msgid "Channel terminates in a partial character"
msgstr "Kanal endet mit einem Teilzeichen"
-#: ../glib/giochannel.c:1925
+#: glib/giochannel.c:1925
msgid "Can’t do a raw read in g_io_channel_read_to_end"
msgstr "Raw-read in g_io_channel_read_to_end nicht möglich"
-#: ../glib/gkeyfile.c:788
+#: glib/gkeyfile.c:788
msgid "Valid key file could not be found in search dirs"
msgstr "Es wurde keine gültige Schlüsselwertedatei in den Suchordnern gefunden"
-#: ../glib/gkeyfile.c:825
+#: glib/gkeyfile.c:825
msgid "Not a regular file"
msgstr "Keine reguläre Datei"
-#: ../glib/gkeyfile.c:1270
+#: glib/gkeyfile.c:1270
#, c-format
msgid ""
"Key file contains line “%s” which is not a key-value pair, group, or comment"
@@ -4921,45 +4871,45 @@
"Die Schlüsselwertedatei enthält die Zeile »%s«, welche kein zulässiges "
"Schlüssel-Wert-Paar, keine Gruppe und kein Kommentar ist."
-#: ../glib/gkeyfile.c:1327
+#: glib/gkeyfile.c:1327
#, c-format
msgid "Invalid group name: %s"
msgstr "Ungültiger Gruppenname: %s"
-#: ../glib/gkeyfile.c:1349
+#: glib/gkeyfile.c:1349
msgid "Key file does not start with a group"
msgstr "Die Schlüsselwertedatei beginnt nicht mit einer Gruppe"
-#: ../glib/gkeyfile.c:1375
+#: glib/gkeyfile.c:1375
#, c-format
msgid "Invalid key name: %s"
msgstr "Ungültiger Schlüsselname: %s"
-#: ../glib/gkeyfile.c:1402
+#: glib/gkeyfile.c:1402
#, c-format
msgid "Key file contains unsupported encoding “%s”"
msgstr "Die Schlüsselwertedatei enthält die nicht unterstützte Kodierung »%s«"
-#: ../glib/gkeyfile.c:1645 ../glib/gkeyfile.c:1818 ../glib/gkeyfile.c:3271
-#: ../glib/gkeyfile.c:3334 ../glib/gkeyfile.c:3464 ../glib/gkeyfile.c:3594
-#: ../glib/gkeyfile.c:3738 ../glib/gkeyfile.c:3967 ../glib/gkeyfile.c:4034
+#: glib/gkeyfile.c:1645 glib/gkeyfile.c:1818 glib/gkeyfile.c:3271
+#: glib/gkeyfile.c:3334 glib/gkeyfile.c:3464 glib/gkeyfile.c:3594
+#: glib/gkeyfile.c:3738 glib/gkeyfile.c:3967 glib/gkeyfile.c:4034
#, c-format
msgid "Key file does not have group “%s”"
msgstr "Die Schlüsselwertedatei enthält nicht die Gruppe »%s«"
-#: ../glib/gkeyfile.c:1773
+#: glib/gkeyfile.c:1773
#, c-format
msgid "Key file does not have key “%s” in group “%s”"
msgstr "Die Schlüsselwertedatei hat keinen Schlüssel »%s« in der Gruppe »%s«"
-#: ../glib/gkeyfile.c:1935 ../glib/gkeyfile.c:2051
+#: glib/gkeyfile.c:1935 glib/gkeyfile.c:2051
#, c-format
msgid "Key file contains key “%s” with value “%s” which is not UTF-8"
msgstr ""
"Die Schlüsselwertedatei enthält den Schlüssel »%s« mit dem Wert »%s«, der "
"nicht in UTF-8 kodiert ist"
-#: ../glib/gkeyfile.c:1955 ../glib/gkeyfile.c:2071 ../glib/gkeyfile.c:2513
+#: glib/gkeyfile.c:1955 glib/gkeyfile.c:2071 glib/gkeyfile.c:2513
#, c-format
msgid ""
"Key file contains key “%s” which has a value that cannot be interpreted."
@@ -4967,7 +4917,7 @@
"Die Schlüsselwertedatei enthält den Schlüssel »%s« mit einem Wert, der nicht "
"interpretiert werden konnte."
-#: ../glib/gkeyfile.c:2731 ../glib/gkeyfile.c:3100
+#: glib/gkeyfile.c:2731 glib/gkeyfile.c:3100
#, c-format
msgid ""
"Key file contains key “%s” in group “%s” which has a value that cannot be "
@@ -4976,87 +4926,87 @@
"Die Schlüsselwertedatei enthält den Schlüssel »%s« in der Gruppe »%s« mit "
"einem Wert, der nicht interpretiert werden konnte."
-#: ../glib/gkeyfile.c:2809 ../glib/gkeyfile.c:2886
+#: glib/gkeyfile.c:2809 glib/gkeyfile.c:2886
#, c-format
msgid "Key “%s” in group “%s” has value “%s” where %s was expected"
msgstr ""
"Der Schlüssel »%s« in der Gruppe »%s« enthält den Wert »%s«, obwohl %s "
"erwartet wurde"
-#: ../glib/gkeyfile.c:4274
+#: glib/gkeyfile.c:4274
msgid "Key file contains escape character at end of line"
msgstr "Die Schlüsselwertedatei enthält ein Escape-Zeichen am Zeilenende"
# CHECK
-#: ../glib/gkeyfile.c:4296
+#: glib/gkeyfile.c:4296
#, c-format
msgid "Key file contains invalid escape sequence “%s”"
msgstr "Die Schlüsselwertedatei enthält das ungültige Escape-Zeichen »%s«"
-#: ../glib/gkeyfile.c:4440
+#: glib/gkeyfile.c:4440
#, c-format
msgid "Value “%s” cannot be interpreted as a number."
msgstr "Der Wert »%s« konnte nicht als Zahl interpretiert werden."
-#: ../glib/gkeyfile.c:4454
+#: glib/gkeyfile.c:4454
#, c-format
msgid "Integer value “%s” out of range"
msgstr "Ganzzahliger Wert »%s« ist außerhalb des Wertebereiches"
-#: ../glib/gkeyfile.c:4487
+#: glib/gkeyfile.c:4487
#, c-format
msgid "Value “%s” cannot be interpreted as a float number."
msgstr "Der Wert »%s« konnte nicht als Gleitkommazahl interpretiert werden."
-#: ../glib/gkeyfile.c:4526
+#: glib/gkeyfile.c:4526
#, c-format
msgid "Value “%s” cannot be interpreted as a boolean."
msgstr ""
"Der Wert »%s« konnte nicht als boolescher Ausdruck interpretiert werden."
-#: ../glib/gmappedfile.c:129
+#: glib/gmappedfile.c:129
#, c-format
msgid "Failed to get attributes of file “%s%s%s%s”: fstat() failed: %s"
msgstr ""
"Attribute der Datei »%s%s%s%s« konnten nicht ermittelt werden: fstat() "
"gescheitert: %s"
-#: ../glib/gmappedfile.c:195
+#: glib/gmappedfile.c:195
#, c-format
msgid "Failed to map %s%s%s%s: mmap() failed: %s"
msgstr "»%s%s%s%s« konnte nicht abgebildet werden: mmap() ist gescheitert: %s"
-#: ../glib/gmappedfile.c:262
+#: glib/gmappedfile.c:262
#, c-format
msgid "Failed to open file “%s”: open() failed: %s"
msgstr "Datei »%s« konnte nicht geöffnet werden: open() ist gescheitert: %s"
-#: ../glib/gmarkup.c:397 ../glib/gmarkup.c:439
+#: glib/gmarkup.c:397 glib/gmarkup.c:439
#, c-format
msgid "Error on line %d char %d: "
msgstr "Fehler in Zeile %d, Zeichen %d: "
-#: ../glib/gmarkup.c:461 ../glib/gmarkup.c:544
+#: glib/gmarkup.c:461 glib/gmarkup.c:544
#, c-format
msgid "Invalid UTF-8 encoded text in name — not valid “%s”"
msgstr "Ungültiger UTF-8-kodierter Text im Namen – »%s« ist nicht gültig"
-#: ../glib/gmarkup.c:472
+#: glib/gmarkup.c:472
#, c-format
msgid "“%s” is not a valid name"
msgstr "»%s« ist kein gültiger Name"
-#: ../glib/gmarkup.c:488
+#: glib/gmarkup.c:488
#, c-format
msgid "“%s” is not a valid name: “%c”"
msgstr "»%s« ist kein gültiger Name: »%c«"
-#: ../glib/gmarkup.c:598
+#: glib/gmarkup.c:610
#, c-format
msgid "Error on line %d: %s"
msgstr "Fehler in Zeile %d: %s"
-#: ../glib/gmarkup.c:675
+#: glib/gmarkup.c:687
#, c-format
msgid ""
"Failed to parse “%-.*s”, which should have been a digit inside a character "
@@ -5065,7 +5015,7 @@
"»%-.*s«, was eine Zahl in einer Zeichenreferenz (wie ê) sein sollte, "
"konnte nicht analysiert werden – vielleicht ist die Zahl zu groß"
-#: ../glib/gmarkup.c:687
+#: glib/gmarkup.c:699
msgid ""
"Character reference did not end with a semicolon; most likely you used an "
"ampersand character without intending to start an entity — escape ampersand "
@@ -5075,24 +5025,24 @@
"&-Zeichen benutzt, ohne eine Entität beginnen zu wollen – umschreiben Sie "
"das »&« als &"
-#: ../glib/gmarkup.c:713
+#: glib/gmarkup.c:725
#, c-format
msgid "Character reference “%-.*s” does not encode a permitted character"
msgstr "Zeichenreferenz »%-.*s« kodiert kein zulässiges Zeichen"
-#: ../glib/gmarkup.c:751
+#: glib/gmarkup.c:763
msgid ""
"Empty entity “&;” seen; valid entities are: & " < > '"
msgstr ""
"Leere Entität »&;« gefunden; gültige Entitäten sind & " < > "
"'"
-#: ../glib/gmarkup.c:759
+#: glib/gmarkup.c:771
#, c-format
msgid "Entity name “%-.*s” is not known"
msgstr "Entitätenname »%-.*s« ist unbekannt"
-#: ../glib/gmarkup.c:764
+#: glib/gmarkup.c:776
msgid ""
"Entity did not end with a semicolon; most likely you used an ampersand "
"character without intending to start an entity — escape ampersand as &"
@@ -5101,11 +5051,11 @@
"Zeichen benutzt, ohne eine Entität beginnen zu wollen – umschreiben Sie das "
"»&« als &"
-#: ../glib/gmarkup.c:1170
+#: glib/gmarkup.c:1182
msgid "Document must begin with an element (e.g. <book>)"
msgstr "Dokument muss mit einem Element beginnen (e.g. <book>)"
-#: ../glib/gmarkup.c:1210
+#: glib/gmarkup.c:1222
#, c-format
msgid ""
"“%s” is not a valid character following a “<” character; it may not begin an "
@@ -5114,7 +5064,7 @@
"»%s« ist kein gültiges Zeichen nach einem »<«-Zeichen; es darf keinen "
"Elementnamen beginnen"
-#: ../glib/gmarkup.c:1252
+#: glib/gmarkup.c:1264
#, c-format
msgid ""
"Odd character “%s”, expected a “>” character to end the empty-element tag "
@@ -5123,7 +5073,7 @@
"Seltsames Zeichen »%s«, »>« erwartet um Start-Tag des leeren Elements »%s« "
"abzuschließen"
-#: ../glib/gmarkup.c:1333
+#: glib/gmarkup.c:1345
#, c-format
msgid ""
"Odd character “%s”, expected a “=” after attribute name “%s” of element “%s”"
@@ -5131,7 +5081,7 @@
"Seltsames Zeichen »%s«, »=« wird nach dem Attributnamen »%s« des Elements "
"»%s« erwartet"
-#: ../glib/gmarkup.c:1374
+#: glib/gmarkup.c:1386
#, c-format
msgid ""
"Odd character “%s”, expected a “>” or “/” character to end the start tag of "
@@ -5142,7 +5092,7 @@
"»/« erwartet, um das Start-Tag des Elements »%s« abzuschließen; vielleicht "
"haben Sie ein ungültiges Zeichen in einem Attributnamen benutzt"
-#: ../glib/gmarkup.c:1418
+#: glib/gmarkup.c:1430
#, c-format
msgid ""
"Odd character “%s”, expected an open quote mark after the equals sign when "
@@ -5152,7 +5102,7 @@
"Elements »%s« wurde ein Anführungszeichen nach dem Gleichheitszeichen "
"erwartet"
-#: ../glib/gmarkup.c:1551
+#: glib/gmarkup.c:1563
#, c-format
msgid ""
"“%s” is not a valid character following the characters “</”; “%s” may not "
@@ -5161,7 +5111,7 @@
"»%s« ist kein gültiges Zeichen, wenn es auf die Zeichen »</« folgt; »%s« "
"darf keinen Elementnamen beginnen"
-#: ../glib/gmarkup.c:1587
+#: glib/gmarkup.c:1599
#, c-format
msgid ""
"“%s” is not a valid character following the close element name “%s”; the "
@@ -5170,26 +5120,26 @@
"»%s« ist kein gültiges Zeichen, wenn es auf den schließenden Elementnamen "
"»%s« folgt; das erlaubte Zeichen ist »>«"
-#: ../glib/gmarkup.c:1598
+#: glib/gmarkup.c:1610
#, c-format
msgid "Element “%s” was closed, no element is currently open"
msgstr "Element »%s« wurde geschlossen, kein Element ist derzeit offen"
-#: ../glib/gmarkup.c:1607
+#: glib/gmarkup.c:1619
#, c-format
msgid "Element “%s” was closed, but the currently open element is “%s”"
msgstr ""
"Element »%s« wurde geschlossen, aber das derzeit offene Element ist »%s«"
-#: ../glib/gmarkup.c:1760
+#: glib/gmarkup.c:1772
msgid "Document was empty or contained only whitespace"
msgstr "Dokument ist leer oder enthält nur Leerraum"
-#: ../glib/gmarkup.c:1774
+#: glib/gmarkup.c:1786
msgid "Document ended unexpectedly just after an open angle bracket “<”"
msgstr "Dokument endete unerwartet nach einer offenen spitzen Klammer »<«"
-#: ../glib/gmarkup.c:1782 ../glib/gmarkup.c:1827
+#: glib/gmarkup.c:1794 glib/gmarkup.c:1839
#, c-format
msgid ""
"Document ended unexpectedly with elements still open — “%s” was the last "
@@ -5198,7 +5148,7 @@
"Dokument endete unerwartet mit noch offenen Elementen – »%s« war das letzte "
"offene Element"
-#: ../glib/gmarkup.c:1790
+#: glib/gmarkup.c:1802
#, c-format
msgid ""
"Document ended unexpectedly, expected to see a close angle bracket ending "
@@ -5207,19 +5157,19 @@
"Dokument endete unerwartet, es wurde eine spitze Klammer »>«, die das Tag <"
"%s/> schließt, erwartet"
-#: ../glib/gmarkup.c:1796
+#: glib/gmarkup.c:1808
msgid "Document ended unexpectedly inside an element name"
msgstr "Dokument endete unerwartet innerhalb eines Elementnamens"
-#: ../glib/gmarkup.c:1802
+#: glib/gmarkup.c:1814
msgid "Document ended unexpectedly inside an attribute name"
msgstr "Dokument endete unerwartet innerhalb eines Attributnamens"
-#: ../glib/gmarkup.c:1807
+#: glib/gmarkup.c:1819
msgid "Document ended unexpectedly inside an element-opening tag."
msgstr "Dokument endete unerwartet innerhalb eines Element-öffnenden Tags."
-#: ../glib/gmarkup.c:1813
+#: glib/gmarkup.c:1825
msgid ""
"Document ended unexpectedly after the equals sign following an attribute "
"name; no attribute value"
@@ -5227,322 +5177,329 @@
"Dokument endete unerwartet nach dem Gleichheitszeichen, das einem "
"Attributnamen folgt; kein Attributwert"
-#: ../glib/gmarkup.c:1820
+#: glib/gmarkup.c:1832
msgid "Document ended unexpectedly while inside an attribute value"
msgstr "Dokument endete unerwartet innerhalb eines Attributwertes"
-#: ../glib/gmarkup.c:1836
+#: glib/gmarkup.c:1849
#, c-format
msgid "Document ended unexpectedly inside the close tag for element “%s”"
msgstr ""
"Dokument endete unerwartet innerhalb eines schließenden Tags für das Element "
"»%s«"
-#: ../glib/gmarkup.c:1842
+#: glib/gmarkup.c:1853
+msgid ""
+"Document ended unexpectedly inside the close tag for an unopened element"
+msgstr ""
+"Dokument endete unerwartet innerhalb eines schließenden Tags für ein "
+"ungeöffnetes Element"
+
+#: glib/gmarkup.c:1859
msgid "Document ended unexpectedly inside a comment or processing instruction"
msgstr ""
"Dokument endete unerwartet innerhalb eines Kommentars oder "
"Verarbeitungsanweisung"
-#: ../glib/goption.c:861
+#: glib/goption.c:861
msgid "[OPTION…]"
msgstr "[OPTION …]"
-#: ../glib/goption.c:977
+#: glib/goption.c:977
msgid "Help Options:"
msgstr "Hilfeoptionen:"
-#: ../glib/goption.c:978
+#: glib/goption.c:978
msgid "Show help options"
msgstr "Hilfeoptionen anzeigen"
-#: ../glib/goption.c:984
+#: glib/goption.c:984
msgid "Show all help options"
msgstr "Alle Hilfeoptionen anzeigen"
-#: ../glib/goption.c:1047
+#: glib/goption.c:1047
msgid "Application Options:"
msgstr "Anwendungsoptionen:"
-#: ../glib/goption.c:1049
+#: glib/goption.c:1049
msgid "Options:"
msgstr "Optionen:"
-#: ../glib/goption.c:1113 ../glib/goption.c:1183
+#: glib/goption.c:1113 glib/goption.c:1183
#, c-format
msgid "Cannot parse integer value “%s” for %s"
msgstr "»%s« konnte nicht als ganzzahliger Wert für %s interpretiert werden"
-#: ../glib/goption.c:1123 ../glib/goption.c:1191
+#: glib/goption.c:1123 glib/goption.c:1191
#, c-format
msgid "Integer value “%s” for %s out of range"
msgstr "Ganzzahliger Wert »%s« für %s ist außerhalb des Bereiches"
-#: ../glib/goption.c:1148
+#: glib/goption.c:1148
#, c-format
msgid "Cannot parse double value “%s” for %s"
msgstr "»%s« konnte nicht als »double«-Wert für %s interpretiert werden"
-#: ../glib/goption.c:1156
+#: glib/goption.c:1156
#, c-format
msgid "Double value “%s” for %s out of range"
msgstr "»double«-Wert »%s« für %s ist außerhalb des Bereiches"
-#: ../glib/goption.c:1448 ../glib/goption.c:1527
+#: glib/goption.c:1448 glib/goption.c:1527
#, c-format
msgid "Error parsing option %s"
msgstr "Fehler beim Verarbeiten der Option: %s"
-#: ../glib/goption.c:1558 ../glib/goption.c:1671
+#: glib/goption.c:1558 glib/goption.c:1671
#, c-format
msgid "Missing argument for %s"
msgstr "Für %s wird ein Argument benötigt"
-#: ../glib/goption.c:2132
+#: glib/goption.c:2132
#, c-format
msgid "Unknown option %s"
msgstr "Unbekannte Option %s"
-#: ../glib/gregex.c:257
+#: glib/gregex.c:257
msgid "corrupted object"
msgstr "Beschädigtes Objekt"
-#: ../glib/gregex.c:259
+#: glib/gregex.c:259
msgid "internal error or corrupted object"
msgstr "Interner Fehler oder beschädigtes Objekt"
-#: ../glib/gregex.c:261
+#: glib/gregex.c:261
msgid "out of memory"
msgstr "Nicht genügend freier Speicher"
-#: ../glib/gregex.c:266
+#: glib/gregex.c:266
msgid "backtracking limit reached"
msgstr "Rückverfolgungsgrenze wurde erreicht"
-#: ../glib/gregex.c:278 ../glib/gregex.c:286
+#: glib/gregex.c:278 glib/gregex.c:286
msgid "the pattern contains items not supported for partial matching"
msgstr ""
"Der Ausdruck enthält Elemente, die teilweise Übereinstimmung nicht "
"unterstützen"
-#: ../glib/gregex.c:280
+#: glib/gregex.c:280
msgid "internal error"
msgstr "Interner Fehler"
-#: ../glib/gregex.c:288
+#: glib/gregex.c:288
msgid "back references as conditions are not supported for partial matching"
msgstr ""
"Rückreferenzen als Bedingungen werden für teilweise Übereinstimmung nicht "
"unterstützt"
-#: ../glib/gregex.c:297
+#: glib/gregex.c:297
msgid "recursion limit reached"
msgstr "Rekursionslimit wurde erreicht"
-#: ../glib/gregex.c:299
+#: glib/gregex.c:299
msgid "invalid combination of newline flags"
msgstr "Ungültige Kombination von newline-Markierungen"
-#: ../glib/gregex.c:301
+#: glib/gregex.c:301
msgid "bad offset"
msgstr "fehlerhafter Versatz"
-#: ../glib/gregex.c:303
+#: glib/gregex.c:303
msgid "short utf8"
msgstr "Kurzes UTF-8"
-#: ../glib/gregex.c:305
+#: glib/gregex.c:305
msgid "recursion loop"
msgstr "Rekursionsschleife"
-#: ../glib/gregex.c:309
+#: glib/gregex.c:309
msgid "unknown error"
msgstr "Unbekannter Fehler"
-#: ../glib/gregex.c:329
+#: glib/gregex.c:329
msgid "\\ at end of pattern"
msgstr "\\ am Ende des Ausdrucks"
-#: ../glib/gregex.c:332
+#: glib/gregex.c:332
msgid "\\c at end of pattern"
msgstr "\\c am Ende des Ausdrucks"
-#: ../glib/gregex.c:335
+#: glib/gregex.c:335
msgid "unrecognized character following \\"
msgstr "Unbekanntes Zeichen nach \\"
# CHECK
-#: ../glib/gregex.c:338
+#: glib/gregex.c:338
msgid "numbers out of order in {} quantifier"
msgstr "Ziffern wirkungslos in {}-Quantifizierer"
-#: ../glib/gregex.c:341
+#: glib/gregex.c:341
msgid "number too big in {} quantifier"
msgstr "Ziffer zu groß in {}-Quantifizierer"
-#: ../glib/gregex.c:344
+#: glib/gregex.c:344
msgid "missing terminating ] for character class"
msgstr "Terminierendes ] für Zeichenklasse fehlt"
-#: ../glib/gregex.c:347
+#: glib/gregex.c:347
msgid "invalid escape sequence in character class"
msgstr "Ungültige Escape-Sequenz in Zeichenklasse"
# CHECK
-#: ../glib/gregex.c:350
+#: glib/gregex.c:350
msgid "range out of order in character class"
msgstr "Bereich wirkungslos in Zeichenklasse"
-#: ../glib/gregex.c:353
+#: glib/gregex.c:353
msgid "nothing to repeat"
msgstr "Nichts zum Wiederholen"
-#: ../glib/gregex.c:357
+#: glib/gregex.c:357
msgid "unexpected repeat"
msgstr "Unerwartete Wiederholung"
-#: ../glib/gregex.c:360
+#: glib/gregex.c:360
msgid "unrecognized character after (? or (?-"
msgstr "Unbekanntes Zeichen nach (? oder (?-"
-#: ../glib/gregex.c:363
+#: glib/gregex.c:363
msgid "POSIX named classes are supported only within a class"
msgstr "POSIX-benannte Klassen werden nur innerhalb einer Klasse unterstützt"
-#: ../glib/gregex.c:366
+#: glib/gregex.c:366
msgid "missing terminating )"
msgstr "Abschließende ) fehlt"
-#: ../glib/gregex.c:369
+#: glib/gregex.c:369
msgid "reference to non-existent subpattern"
msgstr "Referenz auf nicht existierenden Unterausdruck"
-#: ../glib/gregex.c:372
+#: glib/gregex.c:372
msgid "missing ) after comment"
msgstr "fehlende ) nach Kommentar"
-#: ../glib/gregex.c:375
+#: glib/gregex.c:375
msgid "regular expression is too large"
msgstr "Regulärer Ausdruck zu groß"
-#: ../glib/gregex.c:378
+#: glib/gregex.c:378
msgid "failed to get memory"
msgstr "Fehler beim Holen von Speicher"
-#: ../glib/gregex.c:382
+#: glib/gregex.c:382
msgid ") without opening ("
msgstr ") ohne öffnende ("
-#: ../glib/gregex.c:386
+#: glib/gregex.c:386
msgid "code overflow"
msgstr "Code-Überlauf"
-#: ../glib/gregex.c:390
+#: glib/gregex.c:390
msgid "unrecognized character after (?<"
msgstr "Unbekanntes Zeichen nach (?<"
-#: ../glib/gregex.c:393
+#: glib/gregex.c:393
msgid "lookbehind assertion is not fixed length"
msgstr "Rückblickende Annahme hat keine feste Länge"
-#: ../glib/gregex.c:396
+#: glib/gregex.c:396
msgid "malformed number or name after (?("
msgstr "Falsch formatierte Zahl oder Name nach (?("
-#: ../glib/gregex.c:399
+#: glib/gregex.c:399
msgid "conditional group contains more than two branches"
msgstr "Bedingte Gruppe enthält mehr als zwei Verzweigungen"
-#: ../glib/gregex.c:402
+#: glib/gregex.c:402
msgid "assertion expected after (?("
msgstr "Annahme erwartet nach (?("
#. translators: '(?R' and '(?[+-]digits' are both meant as (groups of)
#. * sequences here, '(?-54' would be an example for the second group.
#.
-#: ../glib/gregex.c:409
+#: glib/gregex.c:409
msgid "(?R or (?[+-]digits must be followed by )"
msgstr "auf (?R oder (?[+-]Ziffern muss ) folgen"
-#: ../glib/gregex.c:412
+#: glib/gregex.c:412
msgid "unknown POSIX class name"
msgstr "Unbekannter POSIX-Klassenname"
-#: ../glib/gregex.c:415
+#: glib/gregex.c:415
msgid "POSIX collating elements are not supported"
msgstr "POSIX-Elementverknüpfungen nicht unterstützt"
-#: ../glib/gregex.c:418
+#: glib/gregex.c:418
msgid "character value in \\x{...} sequence is too large"
msgstr "Wert in \\x{…}-Sequenz ist zu groß"
-#: ../glib/gregex.c:421
+#: glib/gregex.c:421
msgid "invalid condition (?(0)"
msgstr "Ungültige Bedingung (?(0)"
-#: ../glib/gregex.c:424
+#: glib/gregex.c:424
msgid "\\C not allowed in lookbehind assertion"
msgstr "\\C nicht erlaubt in rückblickender Annahme"
-#: ../glib/gregex.c:431
+#: glib/gregex.c:431
msgid "escapes \\L, \\l, \\N{name}, \\U, and \\u are not supported"
msgstr ""
"Escape-Sequenzen \\L, \\l, \\N{name}, \\U, und \\u werden nicht unterstützt"
-#: ../glib/gregex.c:434
+#: glib/gregex.c:434
msgid "recursive call could loop indefinitely"
msgstr "Rekursive Aufrufe könnten unendlich oft aufgerufen werden"
-#: ../glib/gregex.c:438
+#: glib/gregex.c:438
msgid "unrecognized character after (?P"
msgstr "Unbekanntes Zeichen nach (?P"
-#: ../glib/gregex.c:441
+#: glib/gregex.c:441
msgid "missing terminator in subpattern name"
msgstr "Terminierung im Namen des Unterausdrucks fehlt"
-#: ../glib/gregex.c:444
+#: glib/gregex.c:444
msgid "two named subpatterns have the same name"
msgstr "Zwei benannte Unterausdrücke haben den gleichen Namen"
-#: ../glib/gregex.c:447
+#: glib/gregex.c:447
msgid "malformed \\P or \\p sequence"
msgstr "Fehlerhafte \\P- oder \\p-Sequenz"
-#: ../glib/gregex.c:450
+#: glib/gregex.c:450
msgid "unknown property name after \\P or \\p"
msgstr "Unbekannte Eigenschaftsname nach \\P oder \\p"
-#: ../glib/gregex.c:453
+#: glib/gregex.c:453
msgid "subpattern name is too long (maximum 32 characters)"
msgstr "Name des Unterausdrucks ist zu lang (maximal 32 Zeichen)"
-#: ../glib/gregex.c:456
+#: glib/gregex.c:456
msgid "too many named subpatterns (maximum 10,000)"
msgstr "Zu viele benannte Unterausdrücke (maximal 10.000)"
-#: ../glib/gregex.c:459
+#: glib/gregex.c:459
msgid "octal value is greater than \\377"
msgstr "Oktaler Wert ist größer als \\377"
-#: ../glib/gregex.c:463
+#: glib/gregex.c:463
msgid "overran compiling workspace"
msgstr "Überlauf beim Kompilieren des Arbeitsbereichs"
-#: ../glib/gregex.c:467
+#: glib/gregex.c:467
msgid "previously-checked referenced subpattern not found"
msgstr ""
"Bereits geprüfter, referenzierter Unterausdruck konnte nicht gefunden werden"
-#: ../glib/gregex.c:470
+#: glib/gregex.c:470
msgid "DEFINE group contains more than one branch"
msgstr "DEFINE-Gruppe enthält mehr als eine Verzweigung"
-#: ../glib/gregex.c:473
+#: glib/gregex.c:473
msgid "inconsistent NEWLINE options"
msgstr "Inkonsistente NEWLINE-Optionen"
-#: ../glib/gregex.c:476
+#: glib/gregex.c:476
msgid ""
"\\g is not followed by a braced, angle-bracketed, or quoted name or number, "
"or by a plain number"
@@ -5550,292 +5507,291 @@
"Auf \\g folgt kein eingeklammerter, in eckigen Klammern eingeklammerter oder "
"zitierter Name oder eine Zahl oder eine einfache Zahl"
-#: ../glib/gregex.c:480
+#: glib/gregex.c:480
msgid "a numbered reference must not be zero"
msgstr "Eine nummerierte Referenz darf nicht Null sein"
-#: ../glib/gregex.c:483
+#: glib/gregex.c:483
msgid "an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT)"
msgstr "Ein Argument ist für (*ACCEPT), (*FAIL), oder (*COMMIT) nicht erlaubt"
-#: ../glib/gregex.c:486
+#: glib/gregex.c:486
msgid "(*VERB) not recognized"
msgstr "(*VERB) nicht erkannt"
-#: ../glib/gregex.c:489
+#: glib/gregex.c:489
msgid "number is too big"
msgstr "Zahl ist zu groß"
-#: ../glib/gregex.c:492
+#: glib/gregex.c:492
msgid "missing subpattern name after (?&"
msgstr "Name des Unterausdrucks nach (?& fehlt"
-#: ../glib/gregex.c:495
+#: glib/gregex.c:495
msgid "digit expected after (?+"
msgstr "Ziffer erwartet nach (?+"
-#: ../glib/gregex.c:498
+#: glib/gregex.c:498
msgid "] is an invalid data character in JavaScript compatibility mode"
msgstr "] ist ein ungültiges Datenzeichen im JavaScript-Kompatibilitätsmodus"
-#: ../glib/gregex.c:501
+#: glib/gregex.c:501
msgid "different names for subpatterns of the same number are not allowed"
msgstr ""
"Verschiedene Namen für Unterausdrücke der gleichen Nummer sind nicht erlaubt"
-#: ../glib/gregex.c:504
+#: glib/gregex.c:504
msgid "(*MARK) must have an argument"
msgstr "(*MARK) benötigt ein Argument"
-#: ../glib/gregex.c:507
+#: glib/gregex.c:507
msgid "\\c must be followed by an ASCII character"
msgstr "Auf \\c muss ein ASCII-Zeichen folgen"
-#: ../glib/gregex.c:510
+#: glib/gregex.c:510
msgid "\\k is not followed by a braced, angle-bracketed, or quoted name"
msgstr ""
"Auf \\k folgt kein eingeklammerter, in eckigen Klammern eingeklammerter oder "
"zitierter Name"
-#: ../glib/gregex.c:513
+#: glib/gregex.c:513
msgid "\\N is not supported in a class"
msgstr "\\N wird in einer Klasse nicht unterstützt"
-#: ../glib/gregex.c:516
+#: glib/gregex.c:516
msgid "too many forward references"
msgstr "Zu viele Vorwärtsreferenzen"
-#: ../glib/gregex.c:519
+#: glib/gregex.c:519
msgid "name is too long in (*MARK), (*PRUNE), (*SKIP), or (*THEN)"
msgstr "Name ist zu lang in (*MARK), (*PRUNE), (*SKIP), oder (*THEN)"
-#: ../glib/gregex.c:522
+#: glib/gregex.c:522
msgid "character value in \\u.... sequence is too large"
msgstr "Zeichenwert in \\u....-Sequenz ist zu groß"
-#: ../glib/gregex.c:745 ../glib/gregex.c:1983
+#: glib/gregex.c:745 glib/gregex.c:1983
#, c-format
msgid "Error while matching regular expression %s: %s"
msgstr "Fehler beim Anwenden des regulären Ausdrucks %s: %s"
-#: ../glib/gregex.c:1316
+#: glib/gregex.c:1316
msgid "PCRE library is compiled without UTF8 support"
msgstr "PCRE-Bibliothek wurde ohne UTF8-Unterstützung kompiliert"
-#: ../glib/gregex.c:1320
+#: glib/gregex.c:1320
msgid "PCRE library is compiled without UTF8 properties support"
msgstr ""
"PCRE-Bibliothek wurde ohne Unterstützung für UTF8-Eigenschaften kompiliert"
-#: ../glib/gregex.c:1328
+#: glib/gregex.c:1328
msgid "PCRE library is compiled with incompatible options"
msgstr ""
"PCRE-Bibliothek wurde mit Unterstützung für nicht-kompatible Optionen "
"kompiliert"
-#: ../glib/gregex.c:1357
+#: glib/gregex.c:1357
#, c-format
msgid "Error while optimizing regular expression %s: %s"
msgstr "Fehler beim Optimieren des regulären Ausdrucks %s: %s"
-#: ../glib/gregex.c:1437
+#: glib/gregex.c:1437
#, c-format
msgid "Error while compiling regular expression %s at char %d: %s"
msgstr "Fehler beim Kompilieren des regulären Ausdrucks %s an Zeichen %d: %s"
-#: ../glib/gregex.c:2419
+#: glib/gregex.c:2419
msgid "hexadecimal digit or “}” expected"
msgstr "Hexadezimalzahl oder »}« erwartet"
-#: ../glib/gregex.c:2435
+#: glib/gregex.c:2435
msgid "hexadecimal digit expected"
msgstr "Hexadezimalzahl erwartet"
-#: ../glib/gregex.c:2475
+#: glib/gregex.c:2475
msgid "missing “<” in symbolic reference"
msgstr "Fehlendes »<» in symbolischer Referenz"
-#: ../glib/gregex.c:2484
+#: glib/gregex.c:2484
msgid "unfinished symbolic reference"
msgstr "Unvollendete symbolische Referenz"
-#: ../glib/gregex.c:2491
+#: glib/gregex.c:2491
msgid "zero-length symbolic reference"
msgstr "Symbolische Referenz der Länge 0"
-#: ../glib/gregex.c:2502
+#: glib/gregex.c:2502
msgid "digit expected"
msgstr "Ziffer erwartet"
-#: ../glib/gregex.c:2520
+#: glib/gregex.c:2520
msgid "illegal symbolic reference"
msgstr "Illegale symbolische Referenz"
-#: ../glib/gregex.c:2582
+#: glib/gregex.c:2582
msgid "stray final “\\”"
msgstr "Verirrtes abschließendes »\\«"
-#: ../glib/gregex.c:2586
+#: glib/gregex.c:2586
msgid "unknown escape sequence"
msgstr "Unbekannte Escape-Sequenz"
-#: ../glib/gregex.c:2596
+#: glib/gregex.c:2596
#, c-format
msgid "Error while parsing replacement text “%s” at char %lu: %s"
msgstr "Fehler beim Verarbeiten des Ersetzungstextes »%s« an Zeichen %lu: %s"
-#: ../glib/gshell.c:94
+#: glib/gshell.c:94
msgid "Quoted text doesn’t begin with a quotation mark"
msgstr "Zitierter Text beginnt nicht mit einem Anführungszeichen"
-#: ../glib/gshell.c:184
+#: glib/gshell.c:184
msgid "Unmatched quotation mark in command line or other shell-quoted text"
msgstr ""
"Unbalanciertes Anführungszeichen in Befehlszeile oder anderem Text in "
"Shellquotes"
-#: ../glib/gshell.c:580
+#: glib/gshell.c:580
#, c-format
msgid "Text ended just after a “\\” character. (The text was “%s”)"
msgstr "Text endete nach einem »\\«-Zeichen. (Der Text war »%s«)"
-#: ../glib/gshell.c:587
+#: glib/gshell.c:587
#, c-format
msgid "Text ended before matching quote was found for %c. (The text was “%s”)"
msgstr ""
"Text endete, bevor ein passendes Anführungszeichen für %c gefunden wurde. "
"(Der Text war »%s«)"
-#: ../glib/gshell.c:599
+#: glib/gshell.c:599
msgid "Text was empty (or contained only whitespace)"
msgstr "Text war leer (oder enthielt nur Leerraum)"
-#: ../glib/gspawn.c:292
+#: glib/gspawn.c:302
#, c-format
msgid "Failed to read data from child process (%s)"
msgstr "Daten vom Kindprozess konnten nicht gelesen werden (%s)"
-#: ../glib/gspawn.c:440
+#: glib/gspawn.c:450
#, c-format
msgid "Unexpected error in select() reading data from a child process (%s)"
msgstr ""
"Unerwarteter Fehler in select() beim Lesen von Daten eines Kindprozesses (%s)"
-#: ../glib/gspawn.c:525
+#: glib/gspawn.c:535
#, c-format
msgid "Unexpected error in waitpid() (%s)"
msgstr "Unerwarteter Fehler in waitpid() (%s)"
-#: ../glib/gspawn.c:1033 ../glib/gspawn-win32.c:1318
+#: glib/gspawn.c:1043 glib/gspawn-win32.c:1318
#, c-format
msgid "Child process exited with code %ld"
msgstr "Der Kindprozess wurde mit Status %ld beendet"
-#: ../glib/gspawn.c:1041
+#: glib/gspawn.c:1051
#, c-format
msgid "Child process killed by signal %ld"
msgstr "Der Kindprozess wurde mit Signal %ld beendet"
-#: ../glib/gspawn.c:1048
+#: glib/gspawn.c:1058
#, c-format
msgid "Child process stopped by signal %ld"
msgstr "Der Kindprozess wurde mit Signal %ld beendet"
-#: ../glib/gspawn.c:1055
+#: glib/gspawn.c:1065
#, c-format
msgid "Child process exited abnormally"
msgstr "Der Kindprozess wurde gewaltsam beendet"
-#: ../glib/gspawn.c:1350 ../glib/gspawn-win32.c:339 ../glib/gspawn-win32.c:347
+#: glib/gspawn.c:1360 glib/gspawn-win32.c:339 glib/gspawn-win32.c:347
#, c-format
msgid "Failed to read from child pipe (%s)"
msgstr "Lesen aus Weiterleitung zum Kind (%s) gescheitert"
-#: ../glib/gspawn.c:1586
+#: glib/gspawn.c:1596
#, c-format
-msgid "Failed to spawn child process \"%s\" (%s)"
+msgid "Failed to spawn child process “%s” (%s)"
msgstr "Abspalten des Kindprozesses »%s« gescheitert (%s)"
-#: ../glib/gspawn.c:1625
+#: glib/gspawn.c:1635
#, c-format
msgid "Failed to fork (%s)"
msgstr "Abspalten gescheitert (%s)"
-#: ../glib/gspawn.c:1774 ../glib/gspawn-win32.c:370
+#: glib/gspawn.c:1784 glib/gspawn-win32.c:370
#, c-format
msgid "Failed to change to directory “%s” (%s)"
msgstr "In Ordner »%s« (%s) konnte nicht gewechselt werden"
-#: ../glib/gspawn.c:1784
+#: glib/gspawn.c:1794
#, c-format
msgid "Failed to execute child process “%s” (%s)"
msgstr "Kindprozess »%s« konnte nicht ausgeführt werden (%s)"
-#: ../glib/gspawn.c:1794
+#: glib/gspawn.c:1804
#, c-format
msgid "Failed to redirect output or input of child process (%s)"
msgstr "Umleiten der Ausgabe oder Eingabe des Kindprozesses (%s) gescheitert"
-#: ../glib/gspawn.c:1803
+#: glib/gspawn.c:1813
#, c-format
msgid "Failed to fork child process (%s)"
msgstr "Abspalten des Kindprozesses gescheitert (%s)"
-#: ../glib/gspawn.c:1811
+#: glib/gspawn.c:1821
#, c-format
msgid "Unknown error executing child process “%s”"
msgstr "Unbekannter Fehler beim Ausführen des Kindprozesses »%s«"
-#: ../glib/gspawn.c:1835
+#: glib/gspawn.c:1845
#, c-format
msgid "Failed to read enough data from child pid pipe (%s)"
msgstr ""
"Es konnten nicht genug Daten von Kind-Programmkennungsweiterleitung (%s) "
"gelesen werden"
-#: ../glib/gspawn-win32.c:283
+#: glib/gspawn-win32.c:283
msgid "Failed to read data from child process"
msgstr "Daten konnten nicht vom Kindprozess gelesen werden"
-#: ../glib/gspawn-win32.c:300
+#: glib/gspawn-win32.c:300
#, c-format
msgid "Failed to create pipe for communicating with child process (%s)"
msgstr ""
"Weiterleitung für Kommunikation mit Kindprozess (%s) konnte nicht erzeugt "
"werden"
-#: ../glib/gspawn-win32.c:376 ../glib/gspawn-win32.c:381
-#: ../glib/gspawn-win32.c:500
+#: glib/gspawn-win32.c:376 glib/gspawn-win32.c:381 glib/gspawn-win32.c:500
#, c-format
msgid "Failed to execute child process (%s)"
msgstr "Kindprozess konnte nicht ausgeführt werden (%s)"
-#: ../glib/gspawn-win32.c:450
+#: glib/gspawn-win32.c:450
#, c-format
msgid "Invalid program name: %s"
msgstr "Ungültiger Programmname: %s"
-#: ../glib/gspawn-win32.c:460 ../glib/gspawn-win32.c:714
+#: glib/gspawn-win32.c:460 glib/gspawn-win32.c:714
#, c-format
msgid "Invalid string in argument vector at %d: %s"
msgstr "Ungültige Zeichenkette im Argumentsvektor bei %d: %s"
-#: ../glib/gspawn-win32.c:471 ../glib/gspawn-win32.c:729
+#: glib/gspawn-win32.c:471 glib/gspawn-win32.c:729
#, c-format
msgid "Invalid string in environment: %s"
msgstr "Ungültige Zeichenkette in der Umgebung: %s"
-#: ../glib/gspawn-win32.c:710
+#: glib/gspawn-win32.c:710
#, c-format
msgid "Invalid working directory: %s"
msgstr "Ungültiger Arbeitsordner: %s"
-#: ../glib/gspawn-win32.c:772
+#: glib/gspawn-win32.c:772
#, c-format
msgid "Failed to execute helper program (%s)"
msgstr "Hilfsprogramm (%s) konnte nicht ausgeführt werden"
-#: ../glib/gspawn-win32.c:1045
+#: glib/gspawn-win32.c:1045
msgid ""
"Unexpected error in g_io_channel_win32_poll() reading data from a child "
"process"
@@ -5843,170 +5799,170 @@
"Unerwarteter Fehler in g_io_channel_win32_poll() beim Lesen aus dem "
"Kindprozess"
-#: ../glib/gstrfuncs.c:3247 ../glib/gstrfuncs.c:3348
+#: glib/gstrfuncs.c:3247 glib/gstrfuncs.c:3348
msgid "Empty string is not a number"
msgstr "Leere Zeichenkette ist keine Zahl"
-#: ../glib/gstrfuncs.c:3271
+#: glib/gstrfuncs.c:3271
#, c-format
msgid "“%s” is not a signed number"
msgstr "»%s« ist keine vorzeichenbehaftete Zahl"
-#: ../glib/gstrfuncs.c:3281 ../glib/gstrfuncs.c:3384
+#: glib/gstrfuncs.c:3281 glib/gstrfuncs.c:3384
#, c-format
msgid "Number “%s” is out of bounds [%s, %s]"
msgstr "Zahl »%s« ist außerhalb des zulässigen Bereichs [%s, %s]"
-#: ../glib/gstrfuncs.c:3374
+#: glib/gstrfuncs.c:3374
#, c-format
msgid "“%s” is not an unsigned number"
msgstr "»%s« ist keine vorzeichenlose Zahl"
-#: ../glib/gutf8.c:811
+#: glib/gutf8.c:811
msgid "Failed to allocate memory"
msgstr "Fehler beim Anfordern von Speicher"
-#: ../glib/gutf8.c:944
+#: glib/gutf8.c:944
msgid "Character out of range for UTF-8"
msgstr "Zeichen außerhalb des Bereiches für UTF-8"
-#: ../glib/gutf8.c:1045 ../glib/gutf8.c:1054 ../glib/gutf8.c:1184
-#: ../glib/gutf8.c:1193 ../glib/gutf8.c:1332 ../glib/gutf8.c:1429
+#: glib/gutf8.c:1045 glib/gutf8.c:1054 glib/gutf8.c:1184 glib/gutf8.c:1193
+#: glib/gutf8.c:1332 glib/gutf8.c:1429
msgid "Invalid sequence in conversion input"
msgstr "Ungültige Folge in Umwandlungseingabe"
-#: ../glib/gutf8.c:1343 ../glib/gutf8.c:1440
+#: glib/gutf8.c:1343 glib/gutf8.c:1440
msgid "Character out of range for UTF-16"
msgstr "Zeichen außerhalb des Bereiches für UTF-16"
-#: ../glib/gutils.c:2244
+#: glib/gutils.c:2244
#, c-format
msgid "%.1f kB"
msgstr "%.1f kB"
-#: ../glib/gutils.c:2245 ../glib/gutils.c:2451
+#: glib/gutils.c:2245 glib/gutils.c:2451
#, c-format
msgid "%.1f MB"
msgstr "%.1f MB"
-#: ../glib/gutils.c:2246 ../glib/gutils.c:2456
+#: glib/gutils.c:2246 glib/gutils.c:2456
#, c-format
msgid "%.1f GB"
msgstr "%.1f GB"
-#: ../glib/gutils.c:2247 ../glib/gutils.c:2461
+#: glib/gutils.c:2247 glib/gutils.c:2461
#, c-format
msgid "%.1f TB"
msgstr "%.1f TB"
-#: ../glib/gutils.c:2248 ../glib/gutils.c:2466
+#: glib/gutils.c:2248 glib/gutils.c:2466
#, c-format
msgid "%.1f PB"
msgstr "%.1f PB"
-#: ../glib/gutils.c:2249 ../glib/gutils.c:2471
+#: glib/gutils.c:2249 glib/gutils.c:2471
#, c-format
msgid "%.1f EB"
msgstr "%.1f EB"
-#: ../glib/gutils.c:2252
+#: glib/gutils.c:2252
#, c-format
msgid "%.1f KiB"
msgstr "%.1f kiB"
-#: ../glib/gutils.c:2253
+#: glib/gutils.c:2253
#, c-format
msgid "%.1f MiB"
msgstr "%.1f MiB"
-#: ../glib/gutils.c:2254
+#: glib/gutils.c:2254
#, c-format
msgid "%.1f GiB"
msgstr "%.1f GiB"
-#: ../glib/gutils.c:2255
+#: glib/gutils.c:2255
#, c-format
msgid "%.1f TiB"
msgstr "%.1f TiB"
-#: ../glib/gutils.c:2256
+#: glib/gutils.c:2256
#, c-format
msgid "%.1f PiB"
msgstr "%.1f PiB"
-#: ../glib/gutils.c:2257
+#: glib/gutils.c:2257
#, c-format
msgid "%.1f EiB"
msgstr "%.1f EiB"
-#: ../glib/gutils.c:2260
+#: glib/gutils.c:2260
#, c-format
msgid "%.1f kb"
msgstr "%.1f kbit"
-#: ../glib/gutils.c:2261
+#: glib/gutils.c:2261
#, c-format
msgid "%.1f Mb"
msgstr "%.1f Mbit"
-#: ../glib/gutils.c:2262
+#: glib/gutils.c:2262
#, c-format
msgid "%.1f Gb"
msgstr "%.1f Gbit"
-#: ../glib/gutils.c:2263
+#: glib/gutils.c:2263
#, c-format
msgid "%.1f Tb"
msgstr "%.1f Tbit"
-#: ../glib/gutils.c:2264
+#: glib/gutils.c:2264
#, c-format
msgid "%.1f Pb"
msgstr "%.1f Pbit"
-#: ../glib/gutils.c:2265
+#: glib/gutils.c:2265
#, c-format
msgid "%.1f Eb"
msgstr "%.1f Ebit"
-#: ../glib/gutils.c:2268
+#: glib/gutils.c:2268
#, c-format
msgid "%.1f Kib"
msgstr "%.1f Kibit"
-#: ../glib/gutils.c:2269
+#: glib/gutils.c:2269
#, c-format
msgid "%.1f Mib"
msgstr "%.1f Mibit"
-#: ../glib/gutils.c:2270
+#: glib/gutils.c:2270
#, c-format
msgid "%.1f Gib"
msgstr "%.1f Gibit"
-#: ../glib/gutils.c:2271
+#: glib/gutils.c:2271
#, c-format
msgid "%.1f Tib"
msgstr "%.1f Tibit"
-#: ../glib/gutils.c:2272
+#: glib/gutils.c:2272
#, c-format
msgid "%.1f Pib"
msgstr "%.1f Pibit"
-#: ../glib/gutils.c:2273
+#: glib/gutils.c:2273
#, c-format
msgid "%.1f Eib"
msgstr "%.1f Eibit"
-#: ../glib/gutils.c:2307 ../glib/gutils.c:2433
+#: glib/gutils.c:2307 glib/gutils.c:2433
#, c-format
msgid "%u byte"
msgid_plural "%u bytes"
msgstr[0] "%u Byte"
msgstr[1] "%u Bytes"
-#: ../glib/gutils.c:2311
+#: glib/gutils.c:2311
#, c-format
msgid "%u bit"
msgid_plural "%u bits"
@@ -6014,7 +5970,7 @@
msgstr[1] "%u bits"
#. Translators: the %s in "%s bytes" will always be replaced by a number.
-#: ../glib/gutils.c:2378
+#: glib/gutils.c:2378
#, c-format
msgid "%s byte"
msgid_plural "%s bytes"
@@ -6022,7 +5978,7 @@
msgstr[1] "%s Bytes"
#. Translators: the %s in "%s bits" will always be replaced by a number.
-#: ../glib/gutils.c:2383
+#: glib/gutils.c:2383
#, c-format
msgid "%s bit"
msgid_plural "%s bits"
@@ -6034,7 +5990,7 @@
#. * compatibility. Users will not see this string unless a program is using this deprecated function.
#. * Please translate as literally as possible.
#.
-#: ../glib/gutils.c:2446
+#: glib/gutils.c:2446
#, c-format
msgid "%.1f KB"
msgstr "%.1f KB"
diff --git a/po/fr.po b/po/fr.po
index edde19f..f5df7a1 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -16,10 +16,9 @@
msgid ""
msgstr ""
"Project-Id-Version: glib master\n"
-"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
-"product=glib&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2018-02-16 14:39+0000\n"
-"PO-Revision-Date: 2018-02-22 09:10+0100\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/glib/issues\n"
+"POT-Creation-Date: 2018-08-09 00:27+0000\n"
+"PO-Revision-Date: 2018-08-12 13:47+0200\n"
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
"Language: fr\n"
@@ -28,132 +27,129 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
-#: ../gio/gapplication.c:495
+#: gio/gapplication.c:496
msgid "GApplication options"
msgstr "Options GApplication"
-#: ../gio/gapplication.c:495
+#: gio/gapplication.c:496
msgid "Show GApplication options"
msgstr "Afficher les options GApplication"
-#: ../gio/gapplication.c:540
+#: gio/gapplication.c:541
msgid "Enter GApplication service mode (use from D-Bus service files)"
msgstr ""
"Entrer dans le mode de service GApplication (utiliser à partir des fichiers "
"de service D-Bus)"
-#: ../gio/gapplication.c:552
+#: gio/gapplication.c:553
msgid "Override the application’s ID"
msgstr "Remplacer l’identifiant d’application"
-#: ../gio/gapplication-tool.c:45 ../gio/gapplication-tool.c:46
-#: ../gio/gio-tool.c:227 ../gio/gresource-tool.c:488
-#: ../gio/gsettings-tool.c:569
+#: gio/gapplication-tool.c:45 gio/gapplication-tool.c:46 gio/gio-tool.c:227
+#: gio/gresource-tool.c:495 gio/gsettings-tool.c:569
msgid "Print help"
msgstr "Afficher l’aide"
-#: ../gio/gapplication-tool.c:47 ../gio/gresource-tool.c:489
-#: ../gio/gresource-tool.c:557
+#: gio/gapplication-tool.c:47 gio/gresource-tool.c:496 gio/gresource-tool.c:564
msgid "[COMMAND]"
msgstr "[COMMANDE]"
-#: ../gio/gapplication-tool.c:49 ../gio/gio-tool.c:228
+#: gio/gapplication-tool.c:49 gio/gio-tool.c:228
msgid "Print version"
msgstr "Afficher la version"
-#: ../gio/gapplication-tool.c:50 ../gio/gsettings-tool.c:575
+#: gio/gapplication-tool.c:50 gio/gsettings-tool.c:575
msgid "Print version information and exit"
msgstr "Afficher les informations de version et quitter"
-#: ../gio/gapplication-tool.c:52
+#: gio/gapplication-tool.c:52
msgid "List applications"
msgstr "Lister les applications"
-#: ../gio/gapplication-tool.c:53
+#: gio/gapplication-tool.c:53
msgid "List the installed D-Bus activatable applications (by .desktop files)"
msgstr ""
"Afficher la liste des applications installées activables par D-Bus (par "
"fichiers .desktop)"
-#: ../gio/gapplication-tool.c:55
+#: gio/gapplication-tool.c:55
msgid "Launch an application"
msgstr "Lancer une application"
-#: ../gio/gapplication-tool.c:56
+#: gio/gapplication-tool.c:56
msgid "Launch the application (with optional files to open)"
msgstr "Lancer l’application (avec d’éventuels fichiers à ouvrir)"
-#: ../gio/gapplication-tool.c:57
+#: gio/gapplication-tool.c:57
msgid "APPID [FILE…]"
msgstr "ID_APP [FICHIER…]"
-#: ../gio/gapplication-tool.c:59
+#: gio/gapplication-tool.c:59
msgid "Activate an action"
msgstr "Activer une action"
-#: ../gio/gapplication-tool.c:60
+#: gio/gapplication-tool.c:60
msgid "Invoke an action on the application"
msgstr "Invoquer une action sur l’application"
-#: ../gio/gapplication-tool.c:61
+#: gio/gapplication-tool.c:61
msgid "APPID ACTION [PARAMETER]"
msgstr "ID_APP ACTION [PARAMÈTRE]"
-#: ../gio/gapplication-tool.c:63
+#: gio/gapplication-tool.c:63
msgid "List available actions"
msgstr "Afficher les actions disponibles"
-#: ../gio/gapplication-tool.c:64
+#: gio/gapplication-tool.c:64
msgid "List static actions for an application (from .desktop file)"
msgstr ""
"Afficher la liste des actions statiques d’une application (à partir du "
"fichier .desktop)"
-#: ../gio/gapplication-tool.c:65 ../gio/gapplication-tool.c:71
+#: gio/gapplication-tool.c:65 gio/gapplication-tool.c:71
msgid "APPID"
msgstr "ID_APP"
-#: ../gio/gapplication-tool.c:70 ../gio/gapplication-tool.c:133
-#: ../gio/gdbus-tool.c:90 ../gio/gio-tool.c:224
+#: gio/gapplication-tool.c:70 gio/gapplication-tool.c:133 gio/gdbus-tool.c:90
+#: gio/gio-tool.c:224
msgid "COMMAND"
msgstr "COMMANDE"
-#: ../gio/gapplication-tool.c:70
+#: gio/gapplication-tool.c:70
msgid "The command to print detailed help for"
msgstr "La commande pour laquelle l’aide détaillée doit être affichée"
-#: ../gio/gapplication-tool.c:71
+#: gio/gapplication-tool.c:71
msgid "Application identifier in D-Bus format (eg: org.example.viewer)"
msgstr "Identifiant d’application au format D-Bus (ex. : org.example.viewer)"
-#: ../gio/gapplication-tool.c:72 ../gio/glib-compile-resources.c:665
-#: ../gio/glib-compile-resources.c:671 ../gio/glib-compile-resources.c:698
-#: ../gio/gresource-tool.c:495 ../gio/gresource-tool.c:561
+#: gio/gapplication-tool.c:72 gio/glib-compile-resources.c:737
+#: gio/glib-compile-resources.c:743 gio/glib-compile-resources.c:770
+#: gio/gresource-tool.c:502 gio/gresource-tool.c:568
msgid "FILE"
msgstr "FICHIER"
-#: ../gio/gapplication-tool.c:72
+#: gio/gapplication-tool.c:72
msgid "Optional relative or absolute filenames, or URIs to open"
msgstr "Noms de fichiers relatifs ou absolus ou URI à ouvrir"
-#: ../gio/gapplication-tool.c:73
+#: gio/gapplication-tool.c:73
msgid "ACTION"
msgstr "ACTION"
-#: ../gio/gapplication-tool.c:73
+#: gio/gapplication-tool.c:73
msgid "The action name to invoke"
msgstr "Nom de l’action à invoquer"
-#: ../gio/gapplication-tool.c:74
+#: gio/gapplication-tool.c:74
msgid "PARAMETER"
msgstr "PARAMÈTRE"
-#: ../gio/gapplication-tool.c:74
+#: gio/gapplication-tool.c:74
msgid "Optional parameter to the action invocation, in GVariant format"
msgstr "Paramètre facultatif pour l’invocation de l’action, au format GVariant"
-#: ../gio/gapplication-tool.c:96 ../gio/gresource-tool.c:526
-#: ../gio/gsettings-tool.c:661
+#: gio/gapplication-tool.c:96 gio/gresource-tool.c:533 gio/gsettings-tool.c:661
#, c-format
msgid ""
"Unknown command %s\n"
@@ -162,26 +158,26 @@
"Commande inconnue %s\n"
"\n"
-#: ../gio/gapplication-tool.c:101
+#: gio/gapplication-tool.c:101
msgid "Usage:\n"
msgstr "Utilisation :\n"
-#: ../gio/gapplication-tool.c:114 ../gio/gresource-tool.c:551
-#: ../gio/gsettings-tool.c:696
+#: gio/gapplication-tool.c:114 gio/gresource-tool.c:558
+#: gio/gsettings-tool.c:696
msgid "Arguments:\n"
msgstr "Paramètres :\n"
-#: ../gio/gapplication-tool.c:133
+#: gio/gapplication-tool.c:133 gio/gio-tool.c:224
msgid "[ARGS…]"
msgstr "[PARAMS…]"
-#: ../gio/gapplication-tool.c:134
+#: gio/gapplication-tool.c:134
#, c-format
msgid "Commands:\n"
msgstr "Commandes :\n"
#. Translators: do not translate 'help', but please translate 'COMMAND'.
-#: ../gio/gapplication-tool.c:146
+#: gio/gapplication-tool.c:146
#, c-format
msgid ""
"Use “%s help COMMAND” to get detailed help.\n"
@@ -190,7 +186,7 @@
"Utilisez « %s help COMMANDE » pour obtenir de l’aide détaillée.\n"
"\n"
-#: ../gio/gapplication-tool.c:165
+#: gio/gapplication-tool.c:165
#, c-format
msgid ""
"%s command requires an application id to directly follow\n"
@@ -199,13 +195,13 @@
"La commande %s exige un identifiant d’application à suivre directement\n"
"\n"
-#: ../gio/gapplication-tool.c:171
+#: gio/gapplication-tool.c:171
#, c-format
msgid "invalid application id: “%s”\n"
msgstr "identifiant d’application non valide : « %s »\n"
#. Translators: %s is replaced with a command name like 'list-actions'
-#: ../gio/gapplication-tool.c:182
+#: gio/gapplication-tool.c:182
#, c-format
msgid ""
"“%s” takes no arguments\n"
@@ -214,22 +210,21 @@
"« %s » n’accepte aucun paramètre\n"
"\n"
-#: ../gio/gapplication-tool.c:266
+#: gio/gapplication-tool.c:266
#, c-format
msgid "unable to connect to D-Bus: %s\n"
msgstr "impossible de se connecter à D-Bus : %s\n"
-#: ../gio/gapplication-tool.c:286
+#: gio/gapplication-tool.c:286
#, c-format
msgid "error sending %s message to application: %s\n"
msgstr "erreur d’envoi du message %s à l’application : %s\n"
-#: ../gio/gapplication-tool.c:317
-#, c-format
+#: gio/gapplication-tool.c:317
msgid "action name must be given after application id\n"
msgstr "un nom d’action doit être indiqué après l’identifiant d’application\n"
-#: ../gio/gapplication-tool.c:325
+#: gio/gapplication-tool.c:325
#, c-format
msgid ""
"invalid action name: “%s”\n"
@@ -239,27 +234,25 @@
"les noms d’actions ne peuvent contenir que des caractères alphanumériques, "
"« - » et « . »\n"
-#: ../gio/gapplication-tool.c:344
+#: gio/gapplication-tool.c:344
#, c-format
msgid "error parsing action parameter: %s\n"
msgstr "erreur d’analyse du paramètre d’action : %s\n"
-#: ../gio/gapplication-tool.c:356
-#, c-format
+#: gio/gapplication-tool.c:356
msgid "actions accept a maximum of one parameter\n"
msgstr "les actions n’acceptent pas plus d’un paramètre\n"
-#: ../gio/gapplication-tool.c:411
-#, c-format
+#: gio/gapplication-tool.c:411
msgid "list-actions command takes only the application id"
msgstr "la commande list-actions n’accepte que l’identifiant de l’application"
-#: ../gio/gapplication-tool.c:421
+#: gio/gapplication-tool.c:421
#, c-format
msgid "unable to find desktop file for application %s\n"
msgstr "impossible de trouver le fichier desktop pour l’application %s\n"
-#: ../gio/gapplication-tool.c:466
+#: gio/gapplication-tool.c:466
#, c-format
msgid ""
"unrecognised command: %s\n"
@@ -268,126 +261,122 @@
"commande non reconnue : %s\n"
"\n"
-#: ../gio/gbufferedinputstream.c:420 ../gio/gbufferedinputstream.c:498
-#: ../gio/ginputstream.c:179 ../gio/ginputstream.c:379
-#: ../gio/ginputstream.c:617 ../gio/ginputstream.c:1019
-#: ../gio/goutputstream.c:203 ../gio/goutputstream.c:834
-#: ../gio/gpollableinputstream.c:205 ../gio/gpollableoutputstream.c:209
+#: gio/gbufferedinputstream.c:420 gio/gbufferedinputstream.c:498
+#: gio/ginputstream.c:179 gio/ginputstream.c:379 gio/ginputstream.c:617
+#: gio/ginputstream.c:1019 gio/goutputstream.c:203 gio/goutputstream.c:834
+#: gio/gpollableinputstream.c:205 gio/gpollableoutputstream.c:209
#, c-format
msgid "Too large count value passed to %s"
msgstr "La valeur de comptage fournie à %s est trop grande"
-#: ../gio/gbufferedinputstream.c:891 ../gio/gbufferedoutputstream.c:575
-#: ../gio/gdataoutputstream.c:562
+#: gio/gbufferedinputstream.c:891 gio/gbufferedoutputstream.c:575
+#: gio/gdataoutputstream.c:562
msgid "Seek not supported on base stream"
msgstr "Le positionnement n’est pas pris en charge sur le flux de base"
-#: ../gio/gbufferedinputstream.c:937
+#: gio/gbufferedinputstream.c:937
msgid "Cannot truncate GBufferedInputStream"
msgstr "Impossible de tronquer GBufferedInputStream"
-#: ../gio/gbufferedinputstream.c:982 ../gio/ginputstream.c:1208
-#: ../gio/giostream.c:300 ../gio/goutputstream.c:1661
+#: gio/gbufferedinputstream.c:982 gio/ginputstream.c:1208 gio/giostream.c:300
+#: gio/goutputstream.c:1661
msgid "Stream is already closed"
msgstr "Le flux est déjà fermé"
-#: ../gio/gbufferedoutputstream.c:612 ../gio/gdataoutputstream.c:592
+#: gio/gbufferedoutputstream.c:612 gio/gdataoutputstream.c:592
msgid "Truncate not supported on base stream"
msgstr "La troncature n’est pas prise en charge sur le flux de base"
-#: ../gio/gcancellable.c:317 ../gio/gdbusconnection.c:1849
-#: ../gio/gdbusprivate.c:1402 ../gio/gsimpleasyncresult.c:871
-#: ../gio/gsimpleasyncresult.c:897
+#: gio/gcancellable.c:317 gio/gdbusconnection.c:1840 gio/gdbusprivate.c:1402
+#: gio/gsimpleasyncresult.c:871 gio/gsimpleasyncresult.c:897
#, c-format
msgid "Operation was cancelled"
msgstr "L’opération a été annulée"
-#: ../gio/gcharsetconverter.c:260
+#: gio/gcharsetconverter.c:260
msgid "Invalid object, not initialized"
msgstr "Objet non valide, non initialisé"
-#: ../gio/gcharsetconverter.c:281 ../gio/gcharsetconverter.c:309
+#: gio/gcharsetconverter.c:281 gio/gcharsetconverter.c:309
msgid "Incomplete multibyte sequence in input"
msgstr "Séquence multi-octet incomplète en entrée"
-#: ../gio/gcharsetconverter.c:315 ../gio/gcharsetconverter.c:324
+#: gio/gcharsetconverter.c:315 gio/gcharsetconverter.c:324
msgid "Not enough space in destination"
msgstr "Espace insuffisant dans la destination"
-#: ../gio/gcharsetconverter.c:342 ../gio/gdatainputstream.c:848
-#: ../gio/gdatainputstream.c:1261 ../glib/gconvert.c:454 ../glib/gconvert.c:883
-#: ../glib/giochannel.c:1557 ../glib/giochannel.c:1599
-#: ../glib/giochannel.c:2443 ../glib/gutf8.c:869 ../glib/gutf8.c:1322
+#: gio/gcharsetconverter.c:342 gio/gdatainputstream.c:848
+#: gio/gdatainputstream.c:1261 glib/gconvert.c:454 glib/gconvert.c:883
+#: glib/giochannel.c:1557 glib/giochannel.c:1599 glib/giochannel.c:2443
+#: glib/gutf8.c:869 glib/gutf8.c:1322
msgid "Invalid byte sequence in conversion input"
msgstr "Séquence d’octets incorrecte en entrée du convertisseur"
-#: ../gio/gcharsetconverter.c:347 ../glib/gconvert.c:462 ../glib/gconvert.c:797
-#: ../glib/giochannel.c:1564 ../glib/giochannel.c:2455
+#: gio/gcharsetconverter.c:347 glib/gconvert.c:462 glib/gconvert.c:797
+#: glib/giochannel.c:1564 glib/giochannel.c:2455
#, c-format
msgid "Error during conversion: %s"
msgstr "Erreur lors de la conversion : %s"
-#: ../gio/gcharsetconverter.c:445 ../gio/gsocket.c:1104
+#: gio/gcharsetconverter.c:445 gio/gsocket.c:1104
msgid "Cancellable initialization not supported"
msgstr "Initialisation annulable non prise en charge"
-#: ../gio/gcharsetconverter.c:456 ../glib/gconvert.c:327
-#: ../glib/giochannel.c:1385
+#: gio/gcharsetconverter.c:456 glib/gconvert.c:327 glib/giochannel.c:1385
#, c-format
msgid "Conversion from character set “%s” to “%s” is not supported"
msgstr ""
"La conversion du jeu de caractères « %s » vers « %s » n’est pas prise en "
"charge"
-#: ../gio/gcharsetconverter.c:460 ../glib/gconvert.c:331
+#: gio/gcharsetconverter.c:460 glib/gconvert.c:331
#, c-format
msgid "Could not open converter from “%s” to “%s”"
msgstr "Impossible d’ouvrir le convertisseur de « %s » vers « %s »"
-#: ../gio/gcontenttype.c:358
+#: gio/gcontenttype.c:358
#, c-format
msgid "%s type"
msgstr "Type %s"
-#: ../gio/gcontenttype-win32.c:177
+#: gio/gcontenttype-win32.c:177
msgid "Unknown type"
msgstr "Type inconnu"
-#: ../gio/gcontenttype-win32.c:179
+#: gio/gcontenttype-win32.c:179
#, c-format
msgid "%s filetype"
msgstr "Type de fichier %s"
-#: ../gio/gcredentials.c:312 ../gio/gcredentials.c:571
+#: gio/gcredentials.c:315 gio/gcredentials.c:574
msgid "GCredentials is not implemented on this OS"
msgstr "GCredentials n’est pas implémenté sur ce système d’exploitation"
-#: ../gio/gcredentials.c:467
+#: gio/gcredentials.c:470
msgid "There is no GCredentials support for your platform"
msgstr "Il n’y a pas de prise en charge de GCredentials pour votre plate-forme"
-#: ../gio/gcredentials.c:513
+#: gio/gcredentials.c:516
msgid "GCredentials does not contain a process ID on this OS"
msgstr ""
"GCredentials ne contient pas d’identifiant de processus sur ce système "
"d’exploitation"
-#: ../gio/gcredentials.c:565
+#: gio/gcredentials.c:568
msgid "Credentials spoofing is not possible on this OS"
msgstr ""
"L’usurpation d’identité n’est pas possible sur ce système d’exploitation"
-#: ../gio/gdatainputstream.c:304
+#: gio/gdatainputstream.c:304
msgid "Unexpected early end-of-stream"
msgstr "Fin précoce de flux inattendue"
-#: ../gio/gdbusaddress.c:158 ../gio/gdbusaddress.c:246
-#: ../gio/gdbusaddress.c:327
+#: gio/gdbusaddress.c:158 gio/gdbusaddress.c:246 gio/gdbusaddress.c:327
#, c-format
msgid "Unsupported key “%s” in address entry “%s”"
msgstr "Clé « %s » non prise en charge dans l’élément d’adresse « %s »"
-#: ../gio/gdbusaddress.c:185
+#: gio/gdbusaddress.c:185
#, c-format
msgid ""
"Address “%s” is invalid (need exactly one of path, tmpdir or abstract keys)"
@@ -395,29 +384,34 @@
"L’adresse « %s » n’est pas valide (nécessite exactement une des clés de "
"« path », « tmpdir » ou « abstract »)"
-#: ../gio/gdbusaddress.c:198
+#: gio/gdbusaddress.c:198
#, c-format
msgid "Meaningless key/value pair combination in address entry “%s”"
msgstr ""
"Combinaison clé/valeur sans signification dans l’élément d’adresse « %s »"
-#: ../gio/gdbusaddress.c:261 ../gio/gdbusaddress.c:342
+#: gio/gdbusaddress.c:261 gio/gdbusaddress.c:342
#, c-format
msgid "Error in address “%s” — the port attribute is malformed"
msgstr "Erreur dans l’adresse « %s » — l’attribut du port est mal formé"
-#: ../gio/gdbusaddress.c:272 ../gio/gdbusaddress.c:353
+#: gio/gdbusaddress.c:272 gio/gdbusaddress.c:353
#, c-format
msgid "Error in address “%s” — the family attribute is malformed"
msgstr "Erreur dans l’adresse « %s » — l’attribut de la famille est mal formé"
-#: ../gio/gdbusaddress.c:463
+#: gio/gdbusaddress.c:423 gio/gdbusaddress.c:673
+#, c-format
+msgid "Unknown or unsupported transport “%s” for address “%s”"
+msgstr "Transport « %s » inconnu ou non pris en charge pour l’adresse « %s »"
+
+#: gio/gdbusaddress.c:467
#, c-format
msgid "Address element “%s” does not contain a colon (:)"
msgstr ""
"L’élément d’adresse « %s » ne comporte pas de caractère deux-points (:)"
-#: ../gio/gdbusaddress.c:484
+#: gio/gdbusaddress.c:488
#, c-format
msgid ""
"Key/Value pair %d, “%s”, in address element “%s” does not contain an equal "
@@ -426,7 +420,7 @@
"Le couple clé/valeur %d, « %s », dans l’élément d’adresse « %s » ne comporte "
"pas de signe égal"
-#: ../gio/gdbusaddress.c:498
+#: gio/gdbusaddress.c:502
#, c-format
msgid ""
"Error unescaping key or value in Key/Value pair %d, “%s”, in address element "
@@ -435,7 +429,7 @@
"Erreur lors du décodage de la clé ou de la valeur dans le couple clé/valeur "
"%d, « %s », dans l’élément d’adresse « %s »"
-#: ../gio/gdbusaddress.c:576
+#: gio/gdbusaddress.c:580
#, c-format
msgid ""
"Error in address “%s” — the unix transport requires exactly one of the keys "
@@ -444,106 +438,101 @@
"Erreur dans l’adresse « %s » — le transport Unix requiert que soit "
"exactement définie une des clés « path » ou « abstract »"
-#: ../gio/gdbusaddress.c:612
+#: gio/gdbusaddress.c:616
#, c-format
msgid "Error in address “%s” — the host attribute is missing or malformed"
msgstr ""
"Erreur dans l’adresse « %s » — l’attribut de l’hôte est manquant ou mal formé"
-#: ../gio/gdbusaddress.c:626
+#: gio/gdbusaddress.c:630
#, c-format
msgid "Error in address “%s” — the port attribute is missing or malformed"
msgstr ""
"Erreur dans l’adresse « %s » — l’attribut du port est manquant ou mal formé"
-#: ../gio/gdbusaddress.c:640
+#: gio/gdbusaddress.c:644
#, c-format
msgid "Error in address “%s” — the noncefile attribute is missing or malformed"
msgstr ""
"Erreur dans l’adresse « %s » — l’attribut du fichier à dénomination unique "
"est manquant ou mal formé"
-#: ../gio/gdbusaddress.c:661
+#: gio/gdbusaddress.c:665
msgid "Error auto-launching: "
msgstr "Erreur de lancement automatique :"
-#: ../gio/gdbusaddress.c:669
-#, c-format
-msgid "Unknown or unsupported transport “%s” for address “%s”"
-msgstr "Transport « %s » inconnu ou non pris en charge pour l’adresse « %s »"
-
-#: ../gio/gdbusaddress.c:714
+#: gio/gdbusaddress.c:718
#, c-format
msgid "Error opening nonce file “%s”: %s"
msgstr ""
"Erreur lors de l’ouverture du fichier à dénomination unique « %s » : %s"
-#: ../gio/gdbusaddress.c:733
+#: gio/gdbusaddress.c:737
#, c-format
msgid "Error reading from nonce file “%s”: %s"
msgstr "Erreur de lecture du fichier à dénomination unique « %s » : %s"
-#: ../gio/gdbusaddress.c:742
+#: gio/gdbusaddress.c:746
#, c-format
msgid "Error reading from nonce file “%s”, expected 16 bytes, got %d"
msgstr ""
"Erreur de lecture du fichier à dénomination unique « %s », 16 octets "
"attendus, %d reçus"
-#: ../gio/gdbusaddress.c:760
+#: gio/gdbusaddress.c:764
#, c-format
msgid "Error writing contents of nonce file “%s” to stream:"
msgstr ""
"Erreur d’écriture du contenu du fichier à numérotation unique « %s » sur le "
"flux :"
-#: ../gio/gdbusaddress.c:969
+#: gio/gdbusaddress.c:973
msgid "The given address is empty"
msgstr "L’adresse indiquée est vide"
-#: ../gio/gdbusaddress.c:1082
+#: gio/gdbusaddress.c:1086
#, c-format
msgid "Cannot spawn a message bus when setuid"
msgstr ""
"Impossible de générer dynamiquement un bus messages quand le drapeau setuid "
"est mis"
-#: ../gio/gdbusaddress.c:1089
+#: gio/gdbusaddress.c:1093
msgid "Cannot spawn a message bus without a machine-id: "
msgstr ""
"Impossible de générer dynamiquement un bus messages sans identifiant "
"machine : "
-#: ../gio/gdbusaddress.c:1096
+#: gio/gdbusaddress.c:1100
#, c-format
msgid "Cannot autolaunch D-Bus without X11 $DISPLAY"
msgstr "Impossible de lancer automatiquement D-Bus sans $DISPLAY X11"
-#: ../gio/gdbusaddress.c:1138
+#: gio/gdbusaddress.c:1142
#, c-format
msgid "Error spawning command line “%s”: "
msgstr "Erreur lors de la génération de la ligne de commande « %s » : "
-#: ../gio/gdbusaddress.c:1355
+#: gio/gdbusaddress.c:1359
#, c-format
msgid "(Type any character to close this window)\n"
msgstr "(saisissez n’importe quel caractère pour fermer cette fenêtre)\n"
-#: ../gio/gdbusaddress.c:1509
+#: gio/gdbusaddress.c:1513
#, c-format
msgid "Session dbus not running, and autolaunch failed"
msgstr ""
"La session dbus n’est pas lancée et autolaunch (le lancement automatique) a "
"échoué"
-#: ../gio/gdbusaddress.c:1520
+#: gio/gdbusaddress.c:1524
#, c-format
msgid "Cannot determine session bus address (not implemented for this OS)"
msgstr ""
"Impossible de déterminer l’adresse du bus de session (non pris en charge "
"pour ce système d’exploitation)"
-#: ../gio/gdbusaddress.c:1658
+#: gio/gdbusaddress.c:1662 gio/gdbusconnection.c:7142
#, c-format
msgid ""
"Cannot determine bus address from DBUS_STARTER_BUS_TYPE environment variable "
@@ -552,7 +541,7 @@
"Impossible de déterminer l’adresse du bus à partir de la variable "
"d’environnement DBUS_STARTER_BUS_TYPE — valeur inconnue « %s »"
-#: ../gio/gdbusaddress.c:1667 ../gio/gdbusconnection.c:7160
+#: gio/gdbusaddress.c:1671 gio/gdbusconnection.c:7151
msgid ""
"Cannot determine bus address because the DBUS_STARTER_BUS_TYPE environment "
"variable is not set"
@@ -560,22 +549,22 @@
"Impossible de déterminer l’adresse du bus étant donné que la variable "
"d’environnement DBUS_STARTER_BUS_TYPE n’est pas définie"
-#: ../gio/gdbusaddress.c:1677
+#: gio/gdbusaddress.c:1681
#, c-format
msgid "Unknown bus type %d"
msgstr "Type de bus %d inconnu"
-#: ../gio/gdbusauth.c:293
+#: gio/gdbusauth.c:293
msgid "Unexpected lack of content trying to read a line"
msgstr "Manque de contenu imprévu lors de la tentative de lecture d’une ligne"
-#: ../gio/gdbusauth.c:337
+#: gio/gdbusauth.c:337
msgid "Unexpected lack of content trying to (safely) read a line"
msgstr ""
"Manque de contenu imprévu lors de la tentative de lecture (sécurisée) d’une "
"ligne"
-#: ../gio/gdbusauth.c:508
+#: gio/gdbusauth.c:481
#, c-format
msgid ""
"Exhausted all available authentication mechanisms (tried: %s) (available: %s)"
@@ -583,17 +572,17 @@
"Tous les mécanismes d’authentification disponibles ont été épuisés (tentés : "
"%s) (disponibles : %s)"
-#: ../gio/gdbusauth.c:1171
+#: gio/gdbusauth.c:1144
msgid "Cancelled via GDBusAuthObserver::authorize-authenticated-peer"
msgstr "Annulé via GDBusAuthObserver::authorize-authenticated-peer"
-#: ../gio/gdbusauthmechanismsha1.c:262
+#: gio/gdbusauthmechanismsha1.c:262
#, c-format
msgid "Error when getting information for directory “%s”: %s"
msgstr ""
"Erreur lors de la récupération d’information sur le répertoire « %s » : %s"
-#: ../gio/gdbusauthmechanismsha1.c:274
+#: gio/gdbusauthmechanismsha1.c:274
#, c-format
msgid ""
"Permissions on directory “%s” are malformed. Expected mode 0700, got 0%o"
@@ -601,24 +590,24 @@
"Les droits d’accès au répertoire « %s » sont mal formés. Mode 0700 attendu, "
"0%o obtenu"
-#: ../gio/gdbusauthmechanismsha1.c:296
+#: gio/gdbusauthmechanismsha1.c:299
#, c-format
msgid "Error creating directory “%s”: %s"
msgstr "Erreur lors de la création du répertoire « %s » : %s"
-#: ../gio/gdbusauthmechanismsha1.c:379
+#: gio/gdbusauthmechanismsha1.c:346
#, c-format
msgid "Error opening keyring “%s” for reading: "
msgstr "Erreur lors de l’ouverture du trousseau de clés « %s » en lecture : "
-#: ../gio/gdbusauthmechanismsha1.c:402 ../gio/gdbusauthmechanismsha1.c:720
+#: gio/gdbusauthmechanismsha1.c:369 gio/gdbusauthmechanismsha1.c:687
#, c-format
msgid "Line %d of the keyring at “%s” with content “%s” is malformed"
msgstr ""
"La ligne %d du trousseau de clés de « %s » avec le contenu « %s » est mal "
"formée"
-#: ../gio/gdbusauthmechanismsha1.c:416 ../gio/gdbusauthmechanismsha1.c:734
+#: gio/gdbusauthmechanismsha1.c:383 gio/gdbusauthmechanismsha1.c:701
#, c-format
msgid ""
"First token of line %d of the keyring at “%s” with content “%s” is malformed"
@@ -626,7 +615,7 @@
"Le premier jeton de la ligne %d du trousseau de clés de « %s » avec le "
"contenu « %s » est mal formé"
-#: ../gio/gdbusauthmechanismsha1.c:430 ../gio/gdbusauthmechanismsha1.c:748
+#: gio/gdbusauthmechanismsha1.c:397 gio/gdbusauthmechanismsha1.c:715
#, c-format
msgid ""
"Second token of line %d of the keyring at “%s” with content “%s” is malformed"
@@ -634,172 +623,163 @@
"Le deuxième jeton de la ligne %d du trousseau de clés de « %s » avec le "
"contenu « %s » est mal formé"
-#: ../gio/gdbusauthmechanismsha1.c:454
+#: gio/gdbusauthmechanismsha1.c:421
#, c-format
msgid "Didn’t find cookie with id %d in the keyring at “%s”"
msgstr ""
"Impossible de trouver un cookie avec l’identifiant %d dans le trousseau de "
"clés de « %s »"
-#: ../gio/gdbusauthmechanismsha1.c:536
+#: gio/gdbusauthmechanismsha1.c:503
#, c-format
msgid "Error deleting stale lock file “%s”: %s"
msgstr "Erreur lors de la destruction de l’ancien fichier verrou « %s » : %s"
-#: ../gio/gdbusauthmechanismsha1.c:568
+#: gio/gdbusauthmechanismsha1.c:535
#, c-format
msgid "Error creating lock file “%s”: %s"
msgstr "Erreur lors de la création du fichier verrou « %s » : %s"
-#: ../gio/gdbusauthmechanismsha1.c:599
+#: gio/gdbusauthmechanismsha1.c:566
#, c-format
msgid "Error closing (unlinked) lock file “%s”: %s"
msgstr "Erreur lors de la fermeture du fichier verrou (non lié) « %s » : %s"
-#: ../gio/gdbusauthmechanismsha1.c:610
+#: gio/gdbusauthmechanismsha1.c:577
#, c-format
msgid "Error unlinking lock file “%s”: %s"
msgstr ""
"Erreur lors de la suppression du lien avec le fichier verrou « %s » : %s"
-#: ../gio/gdbusauthmechanismsha1.c:687
+#: gio/gdbusauthmechanismsha1.c:654
#, c-format
msgid "Error opening keyring “%s” for writing: "
msgstr "Erreur lors de l’ouverture du trousseau de clés « %s » en écriture : "
-#: ../gio/gdbusauthmechanismsha1.c:883
+#: gio/gdbusauthmechanismsha1.c:850
#, c-format
msgid "(Additionally, releasing the lock for “%s” also failed: %s) "
msgstr "(en outre, le relèvement du verrou pour « %s » a aussi échoué : %s) "
-#: ../gio/gdbusconnection.c:612 ../gio/gdbusconnection.c:2378
+#: gio/gdbusconnection.c:603 gio/gdbusconnection.c:2369
msgid "The connection is closed"
msgstr "La connexion est fermée"
-#: ../gio/gdbusconnection.c:1879
+#: gio/gdbusconnection.c:1870
msgid "Timeout was reached"
msgstr "Le délai d’attente est dépassé"
-#: ../gio/gdbusconnection.c:2500
+#: gio/gdbusconnection.c:2491
msgid ""
"Unsupported flags encountered when constructing a client-side connection"
msgstr ""
"Marqueurs non pris en charge rencontrés lors de la construction d’une "
"connexion côté client"
-#: ../gio/gdbusconnection.c:4124 ../gio/gdbusconnection.c:4471
+#: gio/gdbusconnection.c:4115 gio/gdbusconnection.c:4462
#, c-format
msgid ""
-"No such interface 'org.freedesktop.DBus.Properties' on object at path %s"
+"No such interface “org.freedesktop.DBus.Properties” on object at path %s"
msgstr ""
"Pas d’interface « org.freedesktop.DBus.Properties » pour l’objet à "
"l’emplacement %s"
-#: ../gio/gdbusconnection.c:4266
+#: gio/gdbusconnection.c:4257
#, c-format
-msgid "No such property '%s'"
+msgid "No such property “%s”"
msgstr "La propriété « %s » n’existe pas"
-#: ../gio/gdbusconnection.c:4278
+#: gio/gdbusconnection.c:4269
#, c-format
-msgid "Property '%s' is not readable"
+msgid "Property “%s” is not readable"
msgstr "La propriété « %s » ne peut pas être lue"
-#: ../gio/gdbusconnection.c:4289
+#: gio/gdbusconnection.c:4280
#, c-format
-msgid "Property '%s' is not writable"
+msgid "Property “%s” is not writable"
msgstr "La propriété « %s » ne peut pas être écrite"
-#: ../gio/gdbusconnection.c:4309
+#: gio/gdbusconnection.c:4300
#, c-format
-msgid "Error setting property '%s': Expected type '%s' but got '%s'"
+msgid "Error setting property “%s”: Expected type “%s” but got “%s”"
msgstr ""
"Erreur lors de la définition de la propriété « %s » : type attendu « %s », "
"« %s » obtenu"
-#: ../gio/gdbusconnection.c:4414 ../gio/gdbusconnection.c:4622
-#: ../gio/gdbusconnection.c:6591
+#: gio/gdbusconnection.c:4405 gio/gdbusconnection.c:4613
+#: gio/gdbusconnection.c:6582
#, c-format
-msgid "No such interface '%s'"
-msgstr "Interface « %s » non reconnue"
+msgid "No such interface “%s”"
+msgstr "L’interface « %s » n’existe pas"
-#: ../gio/gdbusconnection.c:4840 ../gio/gdbusconnection.c:7100
+#: gio/gdbusconnection.c:4831 gio/gdbusconnection.c:7091
#, c-format
-msgid "No such interface '%s' on object at path %s"
+msgid "No such interface “%s” on object at path %s"
msgstr "L’interface « %s » n’existe pas pour l’objet à l’emplacement %s"
-#: ../gio/gdbusconnection.c:4938
+#: gio/gdbusconnection.c:4929
#, c-format
-msgid "No such method '%s'"
+msgid "No such method “%s”"
msgstr "La méthode « %s » n’existe pas"
-#: ../gio/gdbusconnection.c:4969
+#: gio/gdbusconnection.c:4960
#, c-format
-msgid "Type of message, '%s', does not match expected type '%s'"
+msgid "Type of message, “%s”, does not match expected type “%s”"
msgstr "Le type du message, « %s », ne correspond pas au type attendu « %s »"
-#: ../gio/gdbusconnection.c:5167
+#: gio/gdbusconnection.c:5158
#, c-format
msgid "An object is already exported for the interface %s at %s"
msgstr "Un objet est déjà exporté pour l’interface « %s » en « %s »"
-#: ../gio/gdbusconnection.c:5393
+#: gio/gdbusconnection.c:5384
#, c-format
msgid "Unable to retrieve property %s.%s"
msgstr "Impossible d’obtenir le propriété %s.%s"
-#: ../gio/gdbusconnection.c:5449
+#: gio/gdbusconnection.c:5440
#, c-format
msgid "Unable to set property %s.%s"
msgstr "Impossible de définir la propriété %s.%s"
-#: ../gio/gdbusconnection.c:5627
+#: gio/gdbusconnection.c:5618
#, c-format
-msgid "Method '%s' returned type '%s', but expected '%s'"
+msgid "Method “%s” returned type “%s”, but expected “%s”"
msgstr "La méthode « %s » a renvoyé le type « %s », mais « %s » était attendu"
-#: ../gio/gdbusconnection.c:6702
+#: gio/gdbusconnection.c:6693
#, c-format
-msgid "Method '%s' on interface '%s' with signature '%s' does not exist"
+msgid "Method “%s” on interface “%s” with signature “%s” does not exist"
msgstr ""
"La méthode « %s » sur l’interface « %s » avec la signature « %s » n’existe "
"pas"
-#: ../gio/gdbusconnection.c:6823
+#: gio/gdbusconnection.c:6814
#, c-format
msgid "A subtree is already exported for %s"
msgstr "Une sous-arborescence est déjà exportée pour « %s »"
-#: ../gio/gdbusconnection.c:7151
-#, c-format
-msgid ""
-"Cannot determine bus address from DBUS_STARTER_BUS_TYPE environment variable "
-"- unknown value '%s'"
-msgstr ""
-"Impossible de déterminer l’adresse du bus à partir de la variable "
-"d’environnement DBUS_STARTER_BUS_TYPE — valeur « %s » inconnue"
-
-#: ../gio/gdbusmessage.c:1246
+#: gio/gdbusmessage.c:1248
msgid "type is INVALID"
msgstr "le type est « INVALID »"
-#: ../gio/gdbusmessage.c:1257
+#: gio/gdbusmessage.c:1259
msgid "METHOD_CALL message: PATH or MEMBER header field is missing"
msgstr "Message de METHOD_CALL : champ d’en-tête PATH ou MEMBER manquant"
-#: ../gio/gdbusmessage.c:1268
+#: gio/gdbusmessage.c:1270
msgid "METHOD_RETURN message: REPLY_SERIAL header field is missing"
msgstr "Message de METHOD_RETURN : champ d’en-tête REPLY_SERIAL manquant"
-#: ../gio/gdbusmessage.c:1280
+#: gio/gdbusmessage.c:1282
msgid "ERROR message: REPLY_SERIAL or ERROR_NAME header field is missing"
msgstr "Message d’ERREUR : champ d’en-tête REPLY_SERIAL ou ERROR_NAME manquant"
-#: ../gio/gdbusmessage.c:1293
+#: gio/gdbusmessage.c:1295
msgid "SIGNAL message: PATH, INTERFACE or MEMBER header field is missing"
msgstr "Message de SIGNAL : champ d’en-tête PATH, INTERFACE ou MEMBER manquant"
-#: ../gio/gdbusmessage.c:1301
+#: gio/gdbusmessage.c:1303
msgid ""
"SIGNAL message: The PATH header field is using the reserved value /org/"
"freedesktop/DBus/Local"
@@ -807,7 +787,7 @@
"Message de SIGNAL : le champ d’en-tête PATH utilise la valeur réservée /org/"
"freedesktop/DBus/Local"
-#: ../gio/gdbusmessage.c:1309
+#: gio/gdbusmessage.c:1311
msgid ""
"SIGNAL message: The INTERFACE header field is using the reserved value org."
"freedesktop.DBus.Local"
@@ -815,21 +795,21 @@
"Message de SIGNAL : le champ d’en-tête INTERFACE utilise la valeur réservée "
"org.freedesktop.DBus.Local"
-#: ../gio/gdbusmessage.c:1357 ../gio/gdbusmessage.c:1417
+#: gio/gdbusmessage.c:1359 gio/gdbusmessage.c:1419
#, c-format
msgid "Wanted to read %lu byte but only got %lu"
msgid_plural "Wanted to read %lu bytes but only got %lu"
msgstr[0] "Lecture de %lu octet demandée, mais seulement %lu reçu(s)"
msgstr[1] "Lecture de %lu octets demandée, mais seulement %lu reçu(s)"
-#: ../gio/gdbusmessage.c:1371
+#: gio/gdbusmessage.c:1373
#, c-format
msgid "Expected NUL byte after the string “%s” but found byte %d"
msgstr ""
"Octet 00 (NUL) attendu à la fin de la chaîne « %s » mais un octet %d a été "
"trouvé"
-#: ../gio/gdbusmessage.c:1390
+#: gio/gdbusmessage.c:1392
#, c-format
msgid ""
"Expected valid UTF-8 string but found invalid bytes at byte offset %d "
@@ -839,19 +819,19 @@
"rencontrés à la position %d (longueur de la chaîne : %d octets). La chaîne "
"UTF-8 valide jusqu’à cet endroit est « %s »"
-#: ../gio/gdbusmessage.c:1593
+#: gio/gdbusmessage.c:1595
#, c-format
msgid "Parsed value “%s” is not a valid D-Bus object path"
msgstr ""
"La valeur analysée « %s » n’est pas un chemin vers un objet D-Bus valide"
-#: ../gio/gdbusmessage.c:1615
+#: gio/gdbusmessage.c:1617
#, c-format
msgid "Parsed value “%s” is not a valid D-Bus signature"
msgstr "La valeur analysée « %s » n’est pas une signature D-Bus valide"
# 2<<26 donne 128 Mo, 2^26 donne 64 Mo, 1<<26 donne 64 Mo
-#: ../gio/gdbusmessage.c:1662
+#: gio/gdbusmessage.c:1664
#, c-format
msgid ""
"Encountered array of length %u byte. Maximum length is 2<<26 bytes (64 MiB)."
@@ -864,7 +844,7 @@
"Un tableau de %u octets de long a été trouvé. La longueur maximale est de "
"2<<26 octets (64 Mo)."
-#: ../gio/gdbusmessage.c:1682
+#: gio/gdbusmessage.c:1684
#, c-format
msgid ""
"Encountered array of type “a%c”, expected to have a length a multiple of %u "
@@ -873,14 +853,14 @@
"Un tableau de type « a%c » a été trouvé, avec une longueur attendue multiple "
"de %u octets, mais la longueur réelle est de %u octets"
-#: ../gio/gdbusmessage.c:1849
+#: gio/gdbusmessage.c:1851
#, c-format
msgid "Parsed value “%s” for variant is not a valid D-Bus signature"
msgstr ""
"La valeur « %s » analysée en tant que variant n’est pas une signature valide "
"de D-Bus"
-#: ../gio/gdbusmessage.c:1873
+#: gio/gdbusmessage.c:1875
#, c-format
msgid ""
"Error deserializing GVariant with type string “%s” from the D-Bus wire format"
@@ -888,7 +868,7 @@
"Erreur en désérialisant le GVariant en chaîne de type « %s » à partir du "
"format de transmission D-Bus"
-#: ../gio/gdbusmessage.c:2055
+#: gio/gdbusmessage.c:2057
#, c-format
msgid ""
"Invalid endianness value. Expected 0x6c (“l”) or 0x42 (“B”) but found value "
@@ -897,26 +877,26 @@
"Valeur de boutisme non valide. 0x6c (« l ») ou 0x42 (« B ») attendus, mais 0x"
"%02x trouvé"
-#: ../gio/gdbusmessage.c:2068
+#: gio/gdbusmessage.c:2070
#, c-format
msgid "Invalid major protocol version. Expected 1 but found %d"
msgstr "Version majeure du protocole non valide. 1 attendu, %d trouvé"
-#: ../gio/gdbusmessage.c:2124
+#: gio/gdbusmessage.c:2126
#, c-format
msgid "Signature header with signature “%s” found but message body is empty"
msgstr ""
"En-tête de signature trouvé avec la signature « %s », mais le corps du "
"message est vide"
-#: ../gio/gdbusmessage.c:2138
+#: gio/gdbusmessage.c:2140
#, c-format
msgid "Parsed value “%s” is not a valid D-Bus signature (for body)"
msgstr ""
"La valeur analysée « %s » n’est pas une signature valide de D-Bus (pour le "
"corps)"
-#: ../gio/gdbusmessage.c:2168
+#: gio/gdbusmessage.c:2170
#, c-format
msgid "No signature header in message but the message body is %u byte"
msgid_plural "No signature header in message but the message body is %u bytes"
@@ -927,11 +907,11 @@
"Pas de signature d’en-tête dans le message, mais le corps du message est de "
"%u octets"
-#: ../gio/gdbusmessage.c:2178
+#: gio/gdbusmessage.c:2180
msgid "Cannot deserialize message: "
msgstr "Impossible de désérialiser le message : "
-#: ../gio/gdbusmessage.c:2519
+#: gio/gdbusmessage.c:2521
#, c-format
msgid ""
"Error serializing GVariant with type string “%s” to the D-Bus wire format"
@@ -939,7 +919,7 @@
"Erreur en sérialisant le GVariant en chaîne de type « %s » dans le format de "
"transmission D-Bus"
-#: ../gio/gdbusmessage.c:2656
+#: gio/gdbusmessage.c:2658
#, c-format
msgid ""
"Number of file descriptors in message (%d) differs from header field (%d)"
@@ -947,18 +927,18 @@
"Le nombre de descripteurs de fichiers dans le message (%d) diffère de celui "
"du champ d’en-tête (%d)"
-#: ../gio/gdbusmessage.c:2664
+#: gio/gdbusmessage.c:2666
msgid "Cannot serialize message: "
msgstr "Impossible de sérialiser le message : "
-#: ../gio/gdbusmessage.c:2708
+#: gio/gdbusmessage.c:2710
#, c-format
msgid "Message body has signature “%s” but there is no signature header"
msgstr ""
"Le corps du message a la signature « %s », mais il n’y a pas d’en-tête de "
"signature"
-#: ../gio/gdbusmessage.c:2718
+#: gio/gdbusmessage.c:2720
#, c-format
msgid ""
"Message body has type signature “%s” but signature in the header field is "
@@ -967,44 +947,44 @@
"Le corps du message a une signature de type « %s », mais celle dans le champ "
"d’en-tête est « %s »"
-#: ../gio/gdbusmessage.c:2734
+#: gio/gdbusmessage.c:2736
#, c-format
msgid "Message body is empty but signature in the header field is “(%s)”"
msgstr ""
"Le corps du message est vide mais sa signature dans le champ d’en-tête est "
"« (%s) »"
-#: ../gio/gdbusmessage.c:3287
+#: gio/gdbusmessage.c:3289
#, c-format
msgid "Error return with body of type “%s”"
msgstr "Retour d’erreur avec un corps de type « %s »"
-#: ../gio/gdbusmessage.c:3295
+#: gio/gdbusmessage.c:3297
msgid "Error return with empty body"
msgstr "Retour d’erreur avec un corps vide"
-#: ../gio/gdbusprivate.c:2066
+#: gio/gdbusprivate.c:2066
#, c-format
msgid "Unable to get Hardware profile: %s"
msgstr "Impossible d’obtenir le profil matériel : %s"
-#: ../gio/gdbusprivate.c:2111
+#: gio/gdbusprivate.c:2111
msgid "Unable to load /var/lib/dbus/machine-id or /etc/machine-id: "
msgstr ""
"Chargement de /var/lib/dbus/machine-id ou /etc/machine-id impossible : "
-#: ../gio/gdbusproxy.c:1612
+#: gio/gdbusproxy.c:1612
#, c-format
msgid "Error calling StartServiceByName for %s: "
msgstr "Erreur lors de l’appel de StartServiceByName pour %s : "
# Guillemets anglais laissés volontairement
-#: ../gio/gdbusproxy.c:1635
+#: gio/gdbusproxy.c:1635
#, c-format
msgid "Unexpected reply %d from StartServiceByName(\"%s\") method"
msgstr "Réponse %d inattendue de la méthode StartServiceByName(\"%s\")"
-#: ../gio/gdbusproxy.c:2726 ../gio/gdbusproxy.c:2860
+#: gio/gdbusproxy.c:2726 gio/gdbusproxy.c:2860
msgid ""
"Cannot invoke method; proxy is for a well-known name without an owner and "
"proxy was constructed with the G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag"
@@ -1013,33 +993,33 @@
"sans propriétaire alors que le proxy a été construit avec le marqueur "
"G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START"
-#: ../gio/gdbusserver.c:708
+#: gio/gdbusserver.c:708
msgid "Abstract name space not supported"
msgstr "L’espace de noms abstrait n’est pas pris en charge"
-#: ../gio/gdbusserver.c:795
+#: gio/gdbusserver.c:795
msgid "Cannot specify nonce file when creating a server"
msgstr ""
"Impossible de définir un fichier à dénomination unique lors de la création "
"d’un serveur"
-#: ../gio/gdbusserver.c:876
+#: gio/gdbusserver.c:876
#, c-format
msgid "Error writing nonce file at “%s”: %s"
msgstr ""
"Erreur lors de l’écriture du fichier à dénomination unique à « %s » : %s"
-#: ../gio/gdbusserver.c:1047
+#: gio/gdbusserver.c:1047
#, c-format
msgid "The string “%s” is not a valid D-Bus GUID"
msgstr "La chaîne « %s » n’est pas un GUID valide de D-Bus"
-#: ../gio/gdbusserver.c:1087
+#: gio/gdbusserver.c:1087
#, c-format
msgid "Cannot listen on unsupported transport “%s”"
msgstr "Impossible d’écouter sur le transport « %s » non pris en charge"
-#: ../gio/gdbus-tool.c:95
+#: gio/gdbus-tool.c:95
#, c-format
msgid ""
"Commands:\n"
@@ -1062,54 +1042,54 @@
"\n"
"Utiliser « %s COMMANDE --help » pour obtenir une aide sur chaque commande.\n"
-#: ../gio/gdbus-tool.c:167 ../gio/gdbus-tool.c:234 ../gio/gdbus-tool.c:306
-#: ../gio/gdbus-tool.c:330 ../gio/gdbus-tool.c:811 ../gio/gdbus-tool.c:1150
-#: ../gio/gdbus-tool.c:1592
+#: gio/gdbus-tool.c:185 gio/gdbus-tool.c:252 gio/gdbus-tool.c:324
+#: gio/gdbus-tool.c:348 gio/gdbus-tool.c:834 gio/gdbus-tool.c:1171
+#: gio/gdbus-tool.c:1613
#, c-format
msgid "Error: %s\n"
msgstr "Erreur : %s\n"
-#: ../gio/gdbus-tool.c:178 ../gio/gdbus-tool.c:247 ../gio/gdbus-tool.c:1608
+#: gio/gdbus-tool.c:196 gio/gdbus-tool.c:265 gio/gdbus-tool.c:1629
#, c-format
msgid "Error parsing introspection XML: %s\n"
msgstr "Erreur lors de l’analyse du XML d’introspection : %s\n"
-#: ../gio/gdbus-tool.c:216
+#: gio/gdbus-tool.c:234
#, c-format
msgid "Error: %s is not a valid name\n"
msgstr "Erreur : %s n’est pas un nom valide\n"
-#: ../gio/gdbus-tool.c:364
+#: gio/gdbus-tool.c:382
msgid "Connect to the system bus"
msgstr "Connexion au bus système"
-#: ../gio/gdbus-tool.c:365
+#: gio/gdbus-tool.c:383
msgid "Connect to the session bus"
msgstr "Connexion au bus de session"
-#: ../gio/gdbus-tool.c:366
+#: gio/gdbus-tool.c:384
msgid "Connect to given D-Bus address"
msgstr "Connexion à l’adresse D-Bus donnée"
-#: ../gio/gdbus-tool.c:376
+#: gio/gdbus-tool.c:394
msgid "Connection Endpoint Options:"
msgstr "Options de connexion au point terminal :"
-#: ../gio/gdbus-tool.c:377
+#: gio/gdbus-tool.c:395
msgid "Options specifying the connection endpoint"
msgstr "Options définissant la connexion au point terminal"
-#: ../gio/gdbus-tool.c:399
+#: gio/gdbus-tool.c:417
#, c-format
msgid "No connection endpoint specified"
msgstr "Aucun point terminal de connexion défini"
-#: ../gio/gdbus-tool.c:409
+#: gio/gdbus-tool.c:427
#, c-format
msgid "Multiple connection endpoints specified"
msgstr "Plusieurs points terminaux de connexion définis"
-#: ../gio/gdbus-tool.c:479
+#: gio/gdbus-tool.c:497
#, c-format
msgid ""
"Warning: According to introspection data, interface “%s” does not exist\n"
@@ -1117,7 +1097,7 @@
"Avertissement : selon les données de l’examen interne, l’interface « %s » "
"n’existe pas\n"
-#: ../gio/gdbus-tool.c:488
+#: gio/gdbus-tool.c:506
#, c-format
msgid ""
"Warning: According to introspection data, method “%s” does not exist on "
@@ -1126,169 +1106,164 @@
"Avertissement : selon les données de l’examen interne, la méthode « %s » "
"n’existe pas sur l’interface « %s »\n"
-#: ../gio/gdbus-tool.c:550
+#: gio/gdbus-tool.c:568
msgid "Optional destination for signal (unique name)"
msgstr "Destination facultative pour le signal (nom unique)"
-#: ../gio/gdbus-tool.c:551
+#: gio/gdbus-tool.c:569
msgid "Object path to emit signal on"
msgstr "Chemin de l’objet sur lequel émettre le signal"
-#: ../gio/gdbus-tool.c:552
+#: gio/gdbus-tool.c:570
msgid "Signal and interface name"
msgstr "Noms de signal et d’interface"
-#: ../gio/gdbus-tool.c:587
+#: gio/gdbus-tool.c:603
msgid "Emit a signal."
msgstr "Émet un signal."
-#: ../gio/gdbus-tool.c:642 ../gio/gdbus-tool.c:944 ../gio/gdbus-tool.c:1698
-#: ../gio/gdbus-tool.c:1931 ../gio/gdbus-tool.c:2152
+#: gio/gdbus-tool.c:658 gio/gdbus-tool.c:965 gio/gdbus-tool.c:1715
+#: gio/gdbus-tool.c:1944 gio/gdbus-tool.c:2164
#, c-format
msgid "Error connecting: %s\n"
msgstr "Erreur de connexion : %s\n"
-#: ../gio/gdbus-tool.c:659 ../gio/gdbus-tool.c:961 ../gio/gdbus-tool.c:1715
-#: ../gio/gdbus-tool.c:1956
-#, c-format
-msgid "Error: Destination is not specified\n"
-msgstr "Erreur : la destination n’est pas précisée\n"
-
-#: ../gio/gdbus-tool.c:670
+#: gio/gdbus-tool.c:678
#, c-format
msgid "Error: %s is not a valid unique bus name.\n"
msgstr "Erreur : %s n’est pas un nom unique de bus valide.\n"
-#: ../gio/gdbus-tool.c:685 ../gio/gdbus-tool.c:987 ../gio/gdbus-tool.c:1741
-#, c-format
+#: gio/gdbus-tool.c:697 gio/gdbus-tool.c:1008 gio/gdbus-tool.c:1758
msgid "Error: Object path is not specified\n"
msgstr "Erreur : le chemin pour l’objet n’est pas précisé\n"
-#: ../gio/gdbus-tool.c:705 ../gio/gdbus-tool.c:1007 ../gio/gdbus-tool.c:1761
-#: ../gio/gdbus-tool.c:2002
+#: gio/gdbus-tool.c:720 gio/gdbus-tool.c:1028 gio/gdbus-tool.c:1778
+#: gio/gdbus-tool.c:2015
#, c-format
msgid "Error: %s is not a valid object path\n"
msgstr "Erreur : « %s » n’est pas un chemin d’objet valide\n"
-#: ../gio/gdbus-tool.c:720
-#, c-format
+#: gio/gdbus-tool.c:740
msgid "Error: Signal name is not specified\n"
msgstr "Erreur : le nom du signal n’est pas défini\n"
-#: ../gio/gdbus-tool.c:731
# c-format
+#: gio/gdbus-tool.c:754
+#, c-format
msgid "Error: Signal name “%s” is invalid\n"
msgstr "Erreur : le nom de signal « %s » n’est pas valide\n"
-#: ../gio/gdbus-tool.c:743
+#: gio/gdbus-tool.c:766
#, c-format
msgid "Error: %s is not a valid interface name\n"
msgstr "Erreur : %s n’est pas un nom d’interface valide\n"
-#: ../gio/gdbus-tool.c:749
+#: gio/gdbus-tool.c:772
#, c-format
msgid "Error: %s is not a valid member name\n"
msgstr "Erreur : %s n’est pas un nom de membre valide\n"
#. Use the original non-"parse-me-harder" error
-#: ../gio/gdbus-tool.c:786 ../gio/gdbus-tool.c:1119
+#: gio/gdbus-tool.c:809 gio/gdbus-tool.c:1140
#, c-format
msgid "Error parsing parameter %d: %s\n"
msgstr "Erreur lors de l’analyse du paramètre %d : %s\n"
-#: ../gio/gdbus-tool.c:818
+#: gio/gdbus-tool.c:841
#, c-format
msgid "Error flushing connection: %s\n"
msgstr "Erreur de purge de la connexion : %s\n"
-#: ../gio/gdbus-tool.c:845
+#: gio/gdbus-tool.c:868
msgid "Destination name to invoke method on"
msgstr "Nom de la destination sur laquelle appeler une méthode"
-#: ../gio/gdbus-tool.c:846
+#: gio/gdbus-tool.c:869
msgid "Object path to invoke method on"
msgstr "Chemin de l’objet sur lequel appeler une méthode"
-#: ../gio/gdbus-tool.c:847
+#: gio/gdbus-tool.c:870
msgid "Method and interface name"
msgstr "Noms de méthode et d’interface"
-#: ../gio/gdbus-tool.c:848
+#: gio/gdbus-tool.c:871
msgid "Timeout in seconds"
msgstr "Délai d’attente en secondes"
-#: ../gio/gdbus-tool.c:889
+#: gio/gdbus-tool.c:910
msgid "Invoke a method on a remote object."
msgstr "Appeler une méthode sur un objet distant."
-#: ../gio/gdbus-tool.c:972 ../gio/gdbus-tool.c:1732 ../gio/gdbus-tool.c:1967
+#: gio/gdbus-tool.c:982 gio/gdbus-tool.c:1732 gio/gdbus-tool.c:1969
+msgid "Error: Destination is not specified\n"
+msgstr "Erreur : la destination n’est pas précisée\n"
+
+#: gio/gdbus-tool.c:993 gio/gdbus-tool.c:1749 gio/gdbus-tool.c:1980
#, c-format
msgid "Error: %s is not a valid bus name\n"
msgstr "Erreur : %s n’est pas un nom de bus valide\n"
-#: ../gio/gdbus-tool.c:1022
-#, c-format
+#: gio/gdbus-tool.c:1043
msgid "Error: Method name is not specified\n"
msgstr "Erreur : le nom de la méthode n’est pas défini\n"
-#: ../gio/gdbus-tool.c:1033
+#: gio/gdbus-tool.c:1054
#, c-format
msgid "Error: Method name “%s” is invalid\n"
msgstr "Erreur : le nom de méthode « %s » n’est pas valide\n"
-#: ../gio/gdbus-tool.c:1111
+#: gio/gdbus-tool.c:1132
#, c-format
msgid "Error parsing parameter %d of type “%s”: %s\n"
msgstr "Erreur d’analyse du paramètre %d de type « %s » : %s\n"
-#: ../gio/gdbus-tool.c:1555
+#: gio/gdbus-tool.c:1576
msgid "Destination name to introspect"
msgstr "Nom de la destination à examiner en interne"
-#: ../gio/gdbus-tool.c:1556
+#: gio/gdbus-tool.c:1577
msgid "Object path to introspect"
msgstr "Chemin de l’objet à examiner en interne"
-#: ../gio/gdbus-tool.c:1557
+#: gio/gdbus-tool.c:1578
msgid "Print XML"
msgstr "Imprimer le XML"
-#: ../gio/gdbus-tool.c:1558
+#: gio/gdbus-tool.c:1579
msgid "Introspect children"
msgstr "Examiner en interne les enfants"
-#: ../gio/gdbus-tool.c:1559
+#: gio/gdbus-tool.c:1580
msgid "Only print properties"
msgstr "N’afficher que les propriétés"
-#: ../gio/gdbus-tool.c:1650
+#: gio/gdbus-tool.c:1667
msgid "Introspect a remote object."
msgstr "Examiner en interne un objet distant."
-#: ../gio/gdbus-tool.c:1853
+#: gio/gdbus-tool.c:1870
msgid "Destination name to monitor"
msgstr "Nom de la destination à surveiller"
-#: ../gio/gdbus-tool.c:1854
+#: gio/gdbus-tool.c:1871
msgid "Object path to monitor"
msgstr "Chemin de l’objet à surveiller"
-#: ../gio/gdbus-tool.c:1883
+#: gio/gdbus-tool.c:1896
msgid "Monitor a remote object."
msgstr "Surveiller un objet distant."
-#: ../gio/gdbus-tool.c:1941
-#, c-format
+#: gio/gdbus-tool.c:1954
msgid "Error: can’t monitor a non-message-bus connection\n"
msgstr ""
"Erreur : impossible de surveiller une connexion qui n’est pas un bus de "
"messages\n"
-#: ../gio/gdbus-tool.c:2065
+#: gio/gdbus-tool.c:2078
msgid "Service to activate before waiting for the other one (well-known name)"
msgstr "Service à activer avant d’attendre l’autre (nom bien connu)"
-#: ../gio/gdbus-tool.c:2068
+#: gio/gdbus-tool.c:2081
msgid ""
"Timeout to wait for before exiting with an error (seconds); 0 for no timeout "
"(default)"
@@ -1296,141 +1271,136 @@
"Délai d’attente avant de quitter avec une erreur (secondes) ; 0 pour aucun "
"délai (par défaut)"
-#: ../gio/gdbus-tool.c:2116
+#: gio/gdbus-tool.c:2129
msgid "[OPTION…] BUS-NAME"
msgstr "[OPTION…] NOM-DE-BUS"
-#: ../gio/gdbus-tool.c:2118
+#: gio/gdbus-tool.c:2130
msgid "Wait for a bus name to appear."
msgstr "Attend l’apparition d’un nom de bus."
-#: ../gio/gdbus-tool.c:2194
-#, c-format
+#: gio/gdbus-tool.c:2206
msgid "Error: A service to activate for must be specified.\n"
msgstr "Erreur : un service à activer doit être indiqué.\n"
-#: ../gio/gdbus-tool.c:2199
-#, c-format
+#: gio/gdbus-tool.c:2211
msgid "Error: A service to wait for must be specified.\n"
msgstr "Erreur : un service à attendre doit être indiqué.\n"
-#: ../gio/gdbus-tool.c:2204
-#, c-format
+#: gio/gdbus-tool.c:2216
msgid "Error: Too many arguments.\n"
msgstr "Erreur : trop de paramètres.\n"
-#: ../gio/gdbus-tool.c:2212 ../gio/gdbus-tool.c:2219
+#: gio/gdbus-tool.c:2224 gio/gdbus-tool.c:2231
#, c-format
msgid "Error: %s is not a valid well-known bus name.\n"
msgstr "Erreur : %s n’est pas un nom de bus bien connu valide\n"
-#: ../gio/gdesktopappinfo.c:2001 ../gio/gdesktopappinfo.c:4566
+#: gio/gdesktopappinfo.c:2023 gio/gdesktopappinfo.c:4633
msgid "Unnamed"
msgstr "Sans nom"
# Un fichier Desktop n’est pas forcément sur le bureau...
-#: ../gio/gdesktopappinfo.c:2411
+#: gio/gdesktopappinfo.c:2433
msgid "Desktop file didn’t specify Exec field"
msgstr "Le fichier .desktop n’a pas précisé son champ Exec"
-#: ../gio/gdesktopappinfo.c:2701
+#: gio/gdesktopappinfo.c:2692
msgid "Unable to find terminal required for application"
msgstr "Impossible de trouver le terminal requis par l’application"
-#: ../gio/gdesktopappinfo.c:3135
+#: gio/gdesktopappinfo.c:3202
#, c-format
msgid "Can’t create user application configuration folder %s: %s"
msgstr ""
"Impossible de créer le dossier de configuration utilisateur d’application "
"%s : %s"
-#: ../gio/gdesktopappinfo.c:3139
+#: gio/gdesktopappinfo.c:3206
#, c-format
msgid "Can’t create user MIME configuration folder %s: %s"
msgstr ""
"Impossible de créer le dossier de configuration utilisateur MIME %s : %s"
-#: ../gio/gdesktopappinfo.c:3379 ../gio/gdesktopappinfo.c:3403
+#: gio/gdesktopappinfo.c:3446 gio/gdesktopappinfo.c:3470
msgid "Application information lacks an identifier"
msgstr "Les informations de l’application ne comportent pas d’identifiant"
-#: ../gio/gdesktopappinfo.c:3637
+#: gio/gdesktopappinfo.c:3704
#, c-format
msgid "Can’t create user desktop file %s"
msgstr "Impossible de créer le fichier .desktop utilisateur %s"
-#: ../gio/gdesktopappinfo.c:3771
+#: gio/gdesktopappinfo.c:3838
#, c-format
msgid "Custom definition for %s"
msgstr "Définition personnalisée pour %s"
-#: ../gio/gdrive.c:417
+#: gio/gdrive.c:417
msgid "drive doesn’t implement eject"
msgstr "le lecteur n’implémente pas l’éjection (« eject »)"
#. Translators: This is an error
#. * message for drive objects that
#. * don't implement any of eject or eject_with_operation.
-#: ../gio/gdrive.c:495
+#: gio/gdrive.c:495
msgid "drive doesn’t implement eject or eject_with_operation"
msgstr ""
"le lecteur n’implémente pas l’éjection combinée ou non (« eject » ou "
"« eject_with_operation »)"
-#: ../gio/gdrive.c:571
+#: gio/gdrive.c:571
msgid "drive doesn’t implement polling for media"
msgstr "le lecteur n’implémente pas la scrutation du média (« polling »)"
-#: ../gio/gdrive.c:776
+#: gio/gdrive.c:778
msgid "drive doesn’t implement start"
msgstr "le lecteur n’implémente pas le démarrage (« start »)"
-#: ../gio/gdrive.c:878
+#: gio/gdrive.c:880
msgid "drive doesn’t implement stop"
msgstr "le lecteur n’implémente pas l’arrêt (« stop »)"
-#: ../gio/gdummytlsbackend.c:195 ../gio/gdummytlsbackend.c:317
-#: ../gio/gdummytlsbackend.c:509
+#: gio/gdummytlsbackend.c:195 gio/gdummytlsbackend.c:317
+#: gio/gdummytlsbackend.c:509
msgid "TLS support is not available"
msgstr "La prise en charge TLS n’est pas disponible"
-#: ../gio/gdummytlsbackend.c:419
+#: gio/gdummytlsbackend.c:419
msgid "DTLS support is not available"
msgstr "La prise en charge DTLS n’est pas disponible"
-#: ../gio/gemblem.c:323
+#: gio/gemblem.c:323
#, c-format
msgid "Can’t handle version %d of GEmblem encoding"
msgstr "Impossible de gérer la version %d du codage GEmblem"
-#: ../gio/gemblem.c:333
+#: gio/gemblem.c:333
#, c-format
msgid "Malformed number of tokens (%d) in GEmblem encoding"
msgstr "Nombre de jetons incorrect (%d) dans le codage GEmblem"
-#: ../gio/gemblemedicon.c:362
+#: gio/gemblemedicon.c:362
#, c-format
msgid "Can’t handle version %d of GEmblemedIcon encoding"
msgstr "Impossible de gérer la version %d du codage GEmblemedIcon"
-#: ../gio/gemblemedicon.c:372
+#: gio/gemblemedicon.c:372
#, c-format
msgid "Malformed number of tokens (%d) in GEmblemedIcon encoding"
msgstr "Nombre de jetons incorrect (%d) dans le codage GEmblemedIcon"
-#: ../gio/gemblemedicon.c:395
+#: gio/gemblemedicon.c:395
msgid "Expected a GEmblem for GEmblemedIcon"
msgstr "Un GEmblem est attendu pour le GEmblemedIcon"
-#: ../gio/gfile.c:1071 ../gio/gfile.c:1309 ../gio/gfile.c:1447
-#: ../gio/gfile.c:1685 ../gio/gfile.c:1740 ../gio/gfile.c:1798
-#: ../gio/gfile.c:1882 ../gio/gfile.c:1939 ../gio/gfile.c:2003
-#: ../gio/gfile.c:2058 ../gio/gfile.c:3725 ../gio/gfile.c:3780
-#: ../gio/gfile.c:4016 ../gio/gfile.c:4058 ../gio/gfile.c:4526
-#: ../gio/gfile.c:4937 ../gio/gfile.c:5022 ../gio/gfile.c:5112
-#: ../gio/gfile.c:5209 ../gio/gfile.c:5296 ../gio/gfile.c:5397
-#: ../gio/gfile.c:7975 ../gio/gfile.c:8065 ../gio/gfile.c:8149
-#: ../gio/win32/gwinhttpfile.c:437
+#: gio/gfile.c:1076 gio/gfile.c:1314 gio/gfile.c:1452 gio/gfile.c:1690
+#: gio/gfile.c:1745 gio/gfile.c:1803 gio/gfile.c:1887 gio/gfile.c:1944
+#: gio/gfile.c:2008 gio/gfile.c:2063 gio/gfile.c:3738 gio/gfile.c:3793
+#: gio/gfile.c:4029 gio/gfile.c:4071 gio/gfile.c:4539 gio/gfile.c:4950
+#: gio/gfile.c:5035 gio/gfile.c:5125 gio/gfile.c:5222 gio/gfile.c:5309
+#: gio/gfile.c:5410 gio/gfile.c:7988 gio/gfile.c:8078 gio/gfile.c:8162
+#: gio/win32/gwinhttpfile.c:437
msgid "Operation not supported"
msgstr "Opération non prise en charge"
@@ -1438,210 +1408,210 @@
#. * trying to find the enclosing (user visible)
#. * mount of a file, but none exists.
#.
-#: ../gio/gfile.c:1570
+#: gio/gfile.c:1575
msgid "Containing mount does not exist"
msgstr "Le point de montage conteneur n’existe pas"
-#: ../gio/gfile.c:2617 ../gio/glocalfile.c:2446
+#: gio/gfile.c:2622 gio/glocalfile.c:2391
msgid "Can’t copy over directory"
msgstr "Impossible d’écraser un répertoire"
-#: ../gio/gfile.c:2677
+#: gio/gfile.c:2682
msgid "Can’t copy directory over directory"
msgstr "Impossible d’écraser un répertoire par un autre répertoire"
-#: ../gio/gfile.c:2685
+#: gio/gfile.c:2690
msgid "Target file exists"
msgstr "Le fichier cible existe"
-#: ../gio/gfile.c:2704
+#: gio/gfile.c:2709
msgid "Can’t recursively copy directory"
msgstr "Impossible de copier récursivement un répertoire"
# http://en.wikipedia.org/wiki/Splice_(system_call)
-#: ../gio/gfile.c:2979
+#: gio/gfile.c:2984
msgid "Splice not supported"
msgstr "L’opération « splice » n’est pas prise en charge"
-#: ../gio/gfile.c:2983 ../gio/gfile.c:3027
+#: gio/gfile.c:2988 gio/gfile.c:3033
#, c-format
msgid "Error splicing file: %s"
msgstr "Erreur lors de l’opération de « splicing » sur le fichier : %s"
-#: ../gio/gfile.c:3136
+#: gio/gfile.c:3149
msgid "Copy (reflink/clone) between mounts is not supported"
msgstr ""
"La copie (reflink/clone) entre points de montage n’est pas prise en charge"
-#: ../gio/gfile.c:3140
+#: gio/gfile.c:3153
msgid "Copy (reflink/clone) is not supported or invalid"
msgstr "La copie (reflink/clone) n’est pas prise en charge ou n’est pas valide"
-#: ../gio/gfile.c:3145
+#: gio/gfile.c:3158
msgid "Copy (reflink/clone) is not supported or didn’t work"
msgstr ""
"La copie (reflink/clone) n’est pas prise en charge ou n’a pas fonctionné"
-#: ../gio/gfile.c:3208
+#: gio/gfile.c:3221
msgid "Can’t copy special file"
msgstr "Impossible de copier le fichier spécial"
-#: ../gio/gfile.c:4006
+#: gio/gfile.c:4019
msgid "Invalid symlink value given"
msgstr "Valeur de lien symbolique donnée non valide"
-#: ../gio/gfile.c:4167
+#: gio/gfile.c:4180
msgid "Trash not supported"
msgstr "La corbeille n’est pas prise en charge"
-#: ../gio/gfile.c:4279
+#: gio/gfile.c:4292
#, c-format
msgid "File names cannot contain “%c”"
msgstr "Les noms de fichiers ne peuvent comporter de « %c »"
-#: ../gio/gfile.c:6760 ../gio/gvolume.c:363
+#: gio/gfile.c:6773 gio/gvolume.c:364
msgid "volume doesn’t implement mount"
msgstr "le volume n’implémente pas le montage"
-#: ../gio/gfile.c:6869
+#: gio/gfile.c:6882
msgid "No application is registered as handling this file"
msgstr "Aucune application n’est enregistrée pour gérer ce fichier"
-#: ../gio/gfileenumerator.c:212
+#: gio/gfileenumerator.c:212
msgid "Enumerator is closed"
msgstr "L’énumérateur est fermé"
-#: ../gio/gfileenumerator.c:219 ../gio/gfileenumerator.c:278
-#: ../gio/gfileenumerator.c:377 ../gio/gfileenumerator.c:476
+#: gio/gfileenumerator.c:219 gio/gfileenumerator.c:278
+#: gio/gfileenumerator.c:377 gio/gfileenumerator.c:476
msgid "File enumerator has outstanding operation"
msgstr "L’énumérateur de fichiers est en cours d’opération"
-#: ../gio/gfileenumerator.c:368 ../gio/gfileenumerator.c:467
+#: gio/gfileenumerator.c:368 gio/gfileenumerator.c:467
msgid "File enumerator is already closed"
msgstr "L’énumérateur de fichiers est déjà fermé"
-#: ../gio/gfileicon.c:236
+#: gio/gfileicon.c:236
#, c-format
msgid "Can’t handle version %d of GFileIcon encoding"
msgstr "Impossible de gérer la version %d du codage de GFileIcon"
-#: ../gio/gfileicon.c:246
+#: gio/gfileicon.c:246
msgid "Malformed input data for GFileIcon"
msgstr "Données d’entrée incorrectes pour GFileIcon"
-#: ../gio/gfileinputstream.c:149 ../gio/gfileinputstream.c:394
-#: ../gio/gfileiostream.c:167 ../gio/gfileoutputstream.c:164
-#: ../gio/gfileoutputstream.c:497
+#: gio/gfileinputstream.c:149 gio/gfileinputstream.c:394
+#: gio/gfileiostream.c:167 gio/gfileoutputstream.c:164
+#: gio/gfileoutputstream.c:497
msgid "Stream doesn’t support query_info"
msgstr "Le flux ne prend pas en charge query_info"
-#: ../gio/gfileinputstream.c:325 ../gio/gfileiostream.c:379
-#: ../gio/gfileoutputstream.c:371
+#: gio/gfileinputstream.c:325 gio/gfileiostream.c:379
+#: gio/gfileoutputstream.c:371
msgid "Seek not supported on stream"
msgstr "Le positionnement n’est pas pris en charge sur le flux"
-#: ../gio/gfileinputstream.c:369
+#: gio/gfileinputstream.c:369
msgid "Truncate not allowed on input stream"
msgstr "La troncature n’est pas autorisée sur un flux d’entrée"
-#: ../gio/gfileiostream.c:455 ../gio/gfileoutputstream.c:447
+#: gio/gfileiostream.c:455 gio/gfileoutputstream.c:447
msgid "Truncate not supported on stream"
msgstr "La troncature n’est pas prise en charge sur le flux"
-#: ../gio/ghttpproxy.c:91 ../gio/gresolver.c:410 ../gio/gresolver.c:476
-#: ../glib/gconvert.c:1786
+#: gio/ghttpproxy.c:91 gio/gresolver.c:410 gio/gresolver.c:476
+#: glib/gconvert.c:1786
msgid "Invalid hostname"
msgstr "Nom d’hôte non valide"
-#: ../gio/ghttpproxy.c:143
+#: gio/ghttpproxy.c:143
msgid "Bad HTTP proxy reply"
msgstr "Mauvaise réponse du mandataire HTTP"
-#: ../gio/ghttpproxy.c:159
+#: gio/ghttpproxy.c:159
msgid "HTTP proxy connection not allowed"
msgstr "Connexion mandataire HTTP non autorisée"
-#: ../gio/ghttpproxy.c:164
+#: gio/ghttpproxy.c:164
msgid "HTTP proxy authentication failed"
msgstr "L’authentification auprès du mandataire HTTP a échoué"
-#: ../gio/ghttpproxy.c:167
+#: gio/ghttpproxy.c:167
msgid "HTTP proxy authentication required"
msgstr "Authentification obligatoire pour le mandataire HTTP"
-#: ../gio/ghttpproxy.c:171
+#: gio/ghttpproxy.c:171
#, c-format
msgid "HTTP proxy connection failed: %i"
msgstr "La connexion au mandataire HTTP a échoué : %i"
-#: ../gio/ghttpproxy.c:269
+#: gio/ghttpproxy.c:269
msgid "HTTP proxy server closed connection unexpectedly."
msgstr ""
"Le serveur mandataire HTTP a terminé la connexion de manière inattendue."
-#: ../gio/gicon.c:290
+#: gio/gicon.c:290
#, c-format
msgid "Wrong number of tokens (%d)"
msgstr "Nombre de jetons incorrect (%d)"
-#: ../gio/gicon.c:310
+#: gio/gicon.c:310
#, c-format
msgid "No type for class name %s"
msgstr "Aucun type pour le nom de classe %s"
-#: ../gio/gicon.c:320
+#: gio/gicon.c:320
#, c-format
msgid "Type %s does not implement the GIcon interface"
msgstr "Le type %s n’implémente pas l’interface GIcon"
-#: ../gio/gicon.c:331
+#: gio/gicon.c:331
#, c-format
msgid "Type %s is not classed"
msgstr "Le type %s n’est pas classé"
-#: ../gio/gicon.c:345
+#: gio/gicon.c:345
#, c-format
msgid "Malformed version number: %s"
msgstr "Numéro de version incorrect : %s"
-#: ../gio/gicon.c:359
+#: gio/gicon.c:359
#, c-format
msgid "Type %s does not implement from_tokens() on the GIcon interface"
msgstr ""
"Le type %s n’implémente pas la fonction from_tokens() de l’interface GIcon"
-#: ../gio/gicon.c:461
+#: gio/gicon.c:461
msgid "Can’t handle the supplied version of the icon encoding"
msgstr "Impossible de gérer la version fournie du codage de l’icône"
-#: ../gio/ginetaddressmask.c:182
+#: gio/ginetaddressmask.c:182
msgid "No address specified"
msgstr "Aucune adresse indiquée"
-#: ../gio/ginetaddressmask.c:190
+#: gio/ginetaddressmask.c:190
#, c-format
msgid "Length %u is too long for address"
msgstr "La longueur %u est trop importante pour l’adresse"
-#: ../gio/ginetaddressmask.c:223
+#: gio/ginetaddressmask.c:223
msgid "Address has bits set beyond prefix length"
msgstr "L’adresse possède des bits définis au-delà de la longueur du préfixe"
-#: ../gio/ginetaddressmask.c:300
+#: gio/ginetaddressmask.c:300
#, c-format
msgid "Could not parse “%s” as IP address mask"
msgstr "Impossible d’analyser « %s » comme masque d’adresse IP"
-#: ../gio/ginetsocketaddress.c:203 ../gio/ginetsocketaddress.c:220
-#: ../gio/gnativesocketaddress.c:109 ../gio/gunixsocketaddress.c:218
+#: gio/ginetsocketaddress.c:203 gio/ginetsocketaddress.c:220
+#: gio/gnativesocketaddress.c:109 gio/gunixsocketaddress.c:220
msgid "Not enough space for socket address"
msgstr "Espace insuffisant pour une adresse de connecteur réseau"
-#: ../gio/ginetsocketaddress.c:235
+#: gio/ginetsocketaddress.c:235
msgid "Unsupported socket address"
msgstr "Adresse de connecteur réseau non prise en charge"
-#: ../gio/ginputstream.c:188
+#: gio/ginputstream.c:188
msgid "Input stream doesn’t implement read"
msgstr "Le flux en entrée n’implémente pas « read »"
@@ -1651,129 +1621,122 @@
#. Translators: This is an error you get if there is
#. * already an operation running against this stream when
#. * you try to start one
-#: ../gio/ginputstream.c:1218 ../gio/giostream.c:310
-#: ../gio/goutputstream.c:1671
+#: gio/ginputstream.c:1218 gio/giostream.c:310 gio/goutputstream.c:1671
msgid "Stream has outstanding operation"
msgstr "Le flux a une opération en cours"
-#: ../gio/gio-tool.c:160
+#: gio/gio-tool.c:160
msgid "Copy with file"
msgstr "Copier avec le fichier"
-#: ../gio/gio-tool.c:164
+#: gio/gio-tool.c:164
msgid "Keep with file when moved"
msgstr "Conserver avec le fichier lors du déplacement"
-#: ../gio/gio-tool.c:205
+#: gio/gio-tool.c:205
msgid "“version” takes no arguments"
msgstr "« version » n’accepte aucun paramètre"
-#: ../gio/gio-tool.c:207 ../gio/gio-tool.c:223 ../glib/goption.c:857
+#: gio/gio-tool.c:207 gio/gio-tool.c:223 glib/goption.c:857
msgid "Usage:"
msgstr "Utilisation :"
-#: ../gio/gio-tool.c:210
+#: gio/gio-tool.c:210
msgid "Print version information and exit."
msgstr "Afficher les informations de version et quitter."
-#: ../gio/gio-tool.c:224
-msgid "[ARGS...]"
-msgstr "[PARAMS...]"
-
-#: ../gio/gio-tool.c:226
+#: gio/gio-tool.c:226
msgid "Commands:"
msgstr "Commandes :"
-#: ../gio/gio-tool.c:229
+#: gio/gio-tool.c:229
msgid "Concatenate files to standard output"
msgstr "Concaténer les fichiers vers la sortie standard"
-#: ../gio/gio-tool.c:230
+#: gio/gio-tool.c:230
msgid "Copy one or more files"
msgstr "Copier un ou plusieurs fichiers"
-#: ../gio/gio-tool.c:231
+#: gio/gio-tool.c:231
msgid "Show information about locations"
msgstr "Afficher des informations à propos des emplacements"
-#: ../gio/gio-tool.c:232
+#: gio/gio-tool.c:232
msgid "List the contents of locations"
msgstr "Énumérer le contenu des emplacements"
-#: ../gio/gio-tool.c:233
+#: gio/gio-tool.c:233
msgid "Get or set the handler for a mimetype"
msgstr "Obtenir ou définir le gestionaire d’un type MIME"
-#: ../gio/gio-tool.c:234
+#: gio/gio-tool.c:234
msgid "Create directories"
msgstr "Créer des répertoires"
-#: ../gio/gio-tool.c:235
+#: gio/gio-tool.c:235
msgid "Monitor files and directories for changes"
msgstr "Surveiller les modifications de fichiers et de répertoires"
-#: ../gio/gio-tool.c:236
+#: gio/gio-tool.c:236
msgid "Mount or unmount the locations"
msgstr "Monter ou démonter les emplacements"
-#: ../gio/gio-tool.c:237
+#: gio/gio-tool.c:237
msgid "Move one or more files"
msgstr "Déplacer un ou plusieurs fichiers"
-#: ../gio/gio-tool.c:238
+#: gio/gio-tool.c:238
msgid "Open files with the default application"
msgstr "Ouvrir des fichiers avec l’application par défaut"
-#: ../gio/gio-tool.c:239
+#: gio/gio-tool.c:239
msgid "Rename a file"
msgstr "Renommer un fichier"
-#: ../gio/gio-tool.c:240
+#: gio/gio-tool.c:240
msgid "Delete one or more files"
msgstr "Supprimer un ou plusieurs fichiers"
-#: ../gio/gio-tool.c:241
+#: gio/gio-tool.c:241
msgid "Read from standard input and save"
msgstr "Lire à partir de l’entrée standard et enregistrer"
-#: ../gio/gio-tool.c:242
+#: gio/gio-tool.c:242
msgid "Set a file attribute"
msgstr "Définir un attribut de fichier"
-#: ../gio/gio-tool.c:243
+#: gio/gio-tool.c:243
msgid "Move files or directories to the trash"
msgstr "Déplacer des fichiers ou répertoires dans la corbeille"
-#: ../gio/gio-tool.c:244
+#: gio/gio-tool.c:244
msgid "Lists the contents of locations in a tree"
msgstr "Énumérer le contenu des emplacements dans une arborescence"
-#: ../gio/gio-tool.c:246
+#: gio/gio-tool.c:246
#, c-format
msgid "Use %s to get detailed help.\n"
msgstr "Utilisez %s pour obtenir de l’aide détaillée.\n"
-#: ../gio/gio-tool-cat.c:87
+#: gio/gio-tool-cat.c:87
msgid "Error writing to stdout"
msgstr "Erreur lors de l’écriture vers stdout"
#. Translators: commandline placeholder
-#: ../gio/gio-tool-cat.c:133 ../gio/gio-tool-info.c:282
-#: ../gio/gio-tool-list.c:165 ../gio/gio-tool-mkdir.c:48
-#: ../gio/gio-tool-monitor.c:37 ../gio/gio-tool-monitor.c:39
-#: ../gio/gio-tool-monitor.c:41 ../gio/gio-tool-monitor.c:43
-#: ../gio/gio-tool-monitor.c:203 ../gio/gio-tool-mount.c:1141
-#: ../gio/gio-tool-open.c:113 ../gio/gio-tool-remove.c:48
-#: ../gio/gio-tool-rename.c:45 ../gio/gio-tool-set.c:89
-#: ../gio/gio-tool-trash.c:81 ../gio/gio-tool-tree.c:239
+#: gio/gio-tool-cat.c:133 gio/gio-tool-info.c:282 gio/gio-tool-list.c:165
+#: gio/gio-tool-mkdir.c:48 gio/gio-tool-monitor.c:37 gio/gio-tool-monitor.c:39
+#: gio/gio-tool-monitor.c:41 gio/gio-tool-monitor.c:43
+#: gio/gio-tool-monitor.c:203 gio/gio-tool-mount.c:1212 gio/gio-tool-open.c:113
+#: gio/gio-tool-remove.c:48 gio/gio-tool-rename.c:45 gio/gio-tool-set.c:89
+#: gio/gio-tool-trash.c:81 gio/gio-tool-tree.c:239
msgid "LOCATION"
msgstr "EMPLACEMENT"
-#: ../gio/gio-tool-cat.c:138
+#: gio/gio-tool-cat.c:138
msgid "Concatenate files and print to standard output."
msgstr "Concaténer des fichiers et afficher vers la sortie standard."
-#: ../gio/gio-tool-cat.c:140
+#: gio/gio-tool-cat.c:140
msgid ""
"gio cat works just like the traditional cat utility, but using GIO\n"
"locations instead of local files: for example, you can use something\n"
@@ -1783,58 +1746,56 @@
"utilisant des emplacements GIO au lieu de fichiers locaux : par exemple,\n"
"on peut indiquer un emplacement comme smb://serveur/ressource/fichier.txt."
-#: ../gio/gio-tool-cat.c:162 ../gio/gio-tool-info.c:313
-#: ../gio/gio-tool-mkdir.c:76 ../gio/gio-tool-monitor.c:228
-#: ../gio/gio-tool-open.c:139 ../gio/gio-tool-remove.c:72
+#: gio/gio-tool-cat.c:162 gio/gio-tool-info.c:313 gio/gio-tool-mkdir.c:76
+#: gio/gio-tool-monitor.c:228 gio/gio-tool-mount.c:1263 gio/gio-tool-open.c:139
+#: gio/gio-tool-remove.c:72 gio/gio-tool-trash.c:136
msgid "No locations given"
msgstr "Aucun emplacement indiqué"
-#: ../gio/gio-tool-copy.c:42 ../gio/gio-tool-move.c:38
+#: gio/gio-tool-copy.c:42 gio/gio-tool-move.c:38
msgid "No target directory"
msgstr "Aucun répertoire cible"
-#: ../gio/gio-tool-copy.c:43 ../gio/gio-tool-move.c:39
+#: gio/gio-tool-copy.c:43 gio/gio-tool-move.c:39
msgid "Show progress"
msgstr "Afficher la progression"
-#: ../gio/gio-tool-copy.c:44 ../gio/gio-tool-move.c:40
+#: gio/gio-tool-copy.c:44 gio/gio-tool-move.c:40
msgid "Prompt before overwrite"
msgstr "Demander avant d’écraser"
-#: ../gio/gio-tool-copy.c:45
+#: gio/gio-tool-copy.c:45
msgid "Preserve all attributes"
msgstr "Préserver tous les attributs"
-#: ../gio/gio-tool-copy.c:46 ../gio/gio-tool-move.c:41
-#: ../gio/gio-tool-save.c:49
+#: gio/gio-tool-copy.c:46 gio/gio-tool-move.c:41 gio/gio-tool-save.c:49
msgid "Backup existing destination files"
msgstr "Créer une sauvegarde des fichiers de destination existants"
-#: ../gio/gio-tool-copy.c:47
+#: gio/gio-tool-copy.c:47
msgid "Never follow symbolic links"
msgstr "Ne jamais suivre les liens symboliques"
-#: ../gio/gio-tool-copy.c:72 ../gio/gio-tool-move.c:67
+#: gio/gio-tool-copy.c:72 gio/gio-tool-move.c:67
#, c-format
msgid "Transferred %s out of %s (%s/s)"
msgstr "%s sur %s transférés (%s/s)"
#. Translators: commandline placeholder
-#: ../gio/gio-tool-copy.c:98 ../gio/gio-tool-move.c:94
+#: gio/gio-tool-copy.c:98 gio/gio-tool-move.c:94
msgid "SOURCE"
msgstr "SOURCE"
#. Translators: commandline placeholder
-#: ../gio/gio-tool-copy.c:98 ../gio/gio-tool-move.c:94
-#: ../gio/gio-tool-save.c:160
+#: gio/gio-tool-copy.c:98 gio/gio-tool-move.c:94 gio/gio-tool-save.c:160
msgid "DESTINATION"
msgstr "DESTINATION"
-#: ../gio/gio-tool-copy.c:103
+#: gio/gio-tool-copy.c:103
msgid "Copy one or more files from SOURCE to DESTINATION."
msgstr "Copier un ou plusieurs fichiers de SOURCE vers DESTINATION."
-#: ../gio/gio-tool-copy.c:105
+#: gio/gio-tool-copy.c:105
msgid ""
"gio copy is similar to the traditional cp utility, but using GIO\n"
"locations instead of local files: for example, you can use something\n"
@@ -1844,93 +1805,88 @@
"utilisant des emplacements GIO au lieu de fichiers locaux : par exemple,\n"
"on peut indiquer un emplacement comme smb://serveur/ressource/fichier.txt."
-#: ../gio/gio-tool-copy.c:147
+#: gio/gio-tool-copy.c:147
#, c-format
msgid "Destination %s is not a directory"
msgstr "La destination « %s » n’est pas un répertoire"
-#: ../gio/gio-tool-copy.c:192 ../gio/gio-tool-move.c:185
+#: gio/gio-tool-copy.c:192 gio/gio-tool-move.c:186
#, c-format
msgid "%s: overwrite “%s”? "
msgstr "%s : écraser « %s » ? "
-#: ../gio/gio-tool-info.c:34
+#: gio/gio-tool-info.c:34
msgid "List writable attributes"
msgstr "Afficher les attributs en écriture"
-#: ../gio/gio-tool-info.c:35
+#: gio/gio-tool-info.c:35
msgid "Get file system info"
msgstr "Obtenir les informations du système de fichiers"
-#: ../gio/gio-tool-info.c:36 ../gio/gio-tool-list.c:35
+#: gio/gio-tool-info.c:36 gio/gio-tool-list.c:35
msgid "The attributes to get"
msgstr "Les attributs à obtenir"
-#: ../gio/gio-tool-info.c:36 ../gio/gio-tool-list.c:35
+#: gio/gio-tool-info.c:36 gio/gio-tool-list.c:35
msgid "ATTRIBUTES"
msgstr "ATTRIBUTS"
-#: ../gio/gio-tool-info.c:37 ../gio/gio-tool-list.c:38 ../gio/gio-tool-set.c:34
+#: gio/gio-tool-info.c:37 gio/gio-tool-list.c:38 gio/gio-tool-set.c:34
msgid "Don’t follow symbolic links"
msgstr "Ne pas suivre les liens symboliques"
-#: ../gio/gio-tool-info.c:75
-#, c-format
+#: gio/gio-tool-info.c:75
msgid "attributes:\n"
msgstr "attributs :\n"
#. Translators: This is a noun and represents and attribute of a file
-#: ../gio/gio-tool-info.c:127
+#: gio/gio-tool-info.c:127
#, c-format
msgid "display name: %s\n"
msgstr "nom d’affichage : %s\n"
#. Translators: This is a noun and represents and attribute of a file
-#: ../gio/gio-tool-info.c:132
+#: gio/gio-tool-info.c:132
#, c-format
msgid "edit name: %s\n"
msgstr "nom d’édition : %s\n"
-#: ../gio/gio-tool-info.c:138
+#: gio/gio-tool-info.c:138
#, c-format
msgid "name: %s\n"
msgstr "nom : %s\n"
-#: ../gio/gio-tool-info.c:145
+#: gio/gio-tool-info.c:145
#, c-format
msgid "type: %s\n"
msgstr "type : %s\n"
-#: ../gio/gio-tool-info.c:151
-#, c-format
+#: gio/gio-tool-info.c:151
msgid "size: "
msgstr "taille : "
-#: ../gio/gio-tool-info.c:156
-#, c-format
+#: gio/gio-tool-info.c:156
msgid "hidden\n"
msgstr "caché\n"
-#: ../gio/gio-tool-info.c:159
+#: gio/gio-tool-info.c:159
#, c-format
msgid "uri: %s\n"
msgstr "uri : %s\n"
-#: ../gio/gio-tool-info.c:228
-#, c-format
+#: gio/gio-tool-info.c:228
msgid "Settable attributes:\n"
msgstr "Attributs pouvant être définis :\n"
-#: ../gio/gio-tool-info.c:252
-#, c-format
+#: gio/gio-tool-info.c:252
msgid "Writable attribute namespaces:\n"
msgstr "Espaces de noms des attributs en écriture :\n"
-#: ../gio/gio-tool-info.c:287
+#: gio/gio-tool-info.c:287
msgid "Show information about locations."
msgstr "Afficher des informations à propos des emplacements."
-#: ../gio/gio-tool-info.c:289
+#: gio/gio-tool-info.c:289
msgid ""
"gio info is similar to the traditional ls utility, but using GIO\n"
"locations instead of local files: for example, you can use something\n"
@@ -1945,23 +1901,23 @@
"standard::icon), par leur espace de nom (exemple : unix) ou par « * » qui\n"
"correspond à tous les attributs"
-#: ../gio/gio-tool-list.c:36 ../gio/gio-tool-tree.c:32
+#: gio/gio-tool-list.c:36 gio/gio-tool-tree.c:32
msgid "Show hidden files"
msgstr "Afficher les fichiers cachés"
-#: ../gio/gio-tool-list.c:37
+#: gio/gio-tool-list.c:37
msgid "Use a long listing format"
msgstr "Utiliser une mise en forme de liste étendue"
-#: ../gio/gio-tool-list.c:39
+#: gio/gio-tool-list.c:39
msgid "Print full URIs"
msgstr "Afficher les URI complets"
-#: ../gio/gio-tool-list.c:170
+#: gio/gio-tool-list.c:170
msgid "List the contents of the locations."
msgstr "Énumérer le contenu des emplacements."
-#: ../gio/gio-tool-list.c:172
+#: gio/gio-tool-list.c:172
msgid ""
"gio list is similar to the traditional ls utility, but using GIO\n"
"locations instead of local files: for example, you can use something\n"
@@ -1975,19 +1931,19 @@
"standard::icon)"
#. Translators: commandline placeholder
-#: ../gio/gio-tool-mime.c:71
+#: gio/gio-tool-mime.c:71
msgid "MIMETYPE"
msgstr "TYPE_MIME"
-#: ../gio/gio-tool-mime.c:71
+#: gio/gio-tool-mime.c:71
msgid "HANDLER"
msgstr "GESTIONNAIRE"
-#: ../gio/gio-tool-mime.c:76
+#: gio/gio-tool-mime.c:76
msgid "Get or set the handler for a mimetype."
msgstr "Obtient ou définit le gestionnaire d’un type MIME."
-#: ../gio/gio-tool-mime.c:78
+#: gio/gio-tool-mime.c:78
msgid ""
"If no handler is given, lists registered and recommended applications\n"
"for the mimetype. If a handler is given, it is set as the default\n"
@@ -1997,62 +1953,58 @@
"et recommandées pour le type MIME. Si un gestionnaire est indiqué, il est\n"
"défini comme gestionnaire par défaut pour le type MIME."
-#: ../gio/gio-tool-mime.c:100
+#: gio/gio-tool-mime.c:100
msgid "Must specify a single mimetype, and maybe a handler"
msgstr ""
"Un seul type MIME doit être indiqué, et potentiellement un gestionnaire"
-#: ../gio/gio-tool-mime.c:116
+#: gio/gio-tool-mime.c:116
#, c-format
msgid "No default applications for “%s”\n"
msgstr "Aucune application par défaut pour « %s »\n"
-#: ../gio/gio-tool-mime.c:122
+#: gio/gio-tool-mime.c:122
#, c-format
msgid "Default application for “%s”: %s\n"
msgstr "Application par défaut pour « %s » : %s\n"
-#: ../gio/gio-tool-mime.c:127
-#, c-format
+#: gio/gio-tool-mime.c:127
msgid "Registered applications:\n"
msgstr "Applications inscrites :\n"
-#: ../gio/gio-tool-mime.c:129
-#, c-format
+#: gio/gio-tool-mime.c:129
msgid "No registered applications\n"
msgstr "Aucune application inscrite\n"
-#: ../gio/gio-tool-mime.c:140
-#, c-format
+#: gio/gio-tool-mime.c:140
msgid "Recommended applications:\n"
msgstr "Applications recommandées :\n"
-#: ../gio/gio-tool-mime.c:142
-#, c-format
+#: gio/gio-tool-mime.c:142
msgid "No recommended applications\n"
msgstr "Aucune application recommandée\n"
-#: ../gio/gio-tool-mime.c:162
+#: gio/gio-tool-mime.c:162
#, c-format
msgid "Failed to load info for handler “%s”"
msgstr "Le chargement des informations du gestionnaire « %s » a échoué"
-#: ../gio/gio-tool-mime.c:168
+#: gio/gio-tool-mime.c:168
#, c-format
msgid "Failed to set “%s” as the default handler for “%s”: %s\n"
msgstr ""
"La définition de « %s » comme gestionnaire par défaut pour « %s » a échoué : "
"%s\n"
-#: ../gio/gio-tool-mkdir.c:31
+#: gio/gio-tool-mkdir.c:31
msgid "Create parent directories"
msgstr "Créer les répertoires parents"
-#: ../gio/gio-tool-mkdir.c:52
+#: gio/gio-tool-mkdir.c:52
msgid "Create directories."
msgstr "Créer des répertoires."
-#: ../gio/gio-tool-mkdir.c:54
+#: gio/gio-tool-mkdir.c:54
msgid ""
"gio mkdir is similar to the traditional mkdir utility, but using GIO\n"
"locations instead of local files: for example, you can use something\n"
@@ -2062,114 +2014,138 @@
"utilisant des emplacements GIO au lieu de fichiers locaux : par exemple,\n"
"on peut indiquer un emplacement comme smb://serveur/ressource/répertoire."
-#: ../gio/gio-tool-monitor.c:37
+#: gio/gio-tool-monitor.c:37
msgid "Monitor a directory (default: depends on type)"
msgstr "Surveille un répertoire (par défaut : en fonction du type)"
-#: ../gio/gio-tool-monitor.c:39
+#: gio/gio-tool-monitor.c:39
msgid "Monitor a file (default: depends on type)"
msgstr "Surveille un fichier (par défaut : en fonction du type)"
-#: ../gio/gio-tool-monitor.c:41
+#: gio/gio-tool-monitor.c:41
msgid "Monitor a file directly (notices changes made via hardlinks)"
msgstr ""
"Surveille un fichier directement (détecte les modifications par liens durs)"
-#: ../gio/gio-tool-monitor.c:43
+#: gio/gio-tool-monitor.c:43
msgid "Monitors a file directly, but doesn’t report changes"
msgstr ""
"Surveille un fichier directement, mais ne signale pas les modifications"
-#: ../gio/gio-tool-monitor.c:45
+#: gio/gio-tool-monitor.c:45
msgid "Report moves and renames as simple deleted/created events"
msgstr ""
"Signale les déplacements et les renommages comme simples évènements "
"suppression/création"
-#: ../gio/gio-tool-monitor.c:47
+#: gio/gio-tool-monitor.c:47
msgid "Watch for mount events"
msgstr "Surveille les événements de montage"
-#: ../gio/gio-tool-monitor.c:208
+#: gio/gio-tool-monitor.c:208
msgid "Monitor files or directories for changes."
msgstr "Surveille les modifications de fichiers ou de répertoires."
-#: ../gio/gio-tool-mount.c:58
+#: gio/gio-tool-mount.c:63
msgid "Mount as mountable"
msgstr "Monter comme montable"
-#: ../gio/gio-tool-mount.c:59
+#: gio/gio-tool-mount.c:64
msgid "Mount volume with device file"
-msgstr "Monter le volume avec un fichier de périphérique"
+msgstr "Monter le volume selon le fichier de périphérique"
-#: ../gio/gio-tool-mount.c:59
+#: gio/gio-tool-mount.c:64 gio/gio-tool-mount.c:67
msgid "DEVICE"
msgstr "PÉRIPHÉRIQUE"
-#: ../gio/gio-tool-mount.c:60
+#: gio/gio-tool-mount.c:65
msgid "Unmount"
msgstr "Démonter"
-#: ../gio/gio-tool-mount.c:61
+#: gio/gio-tool-mount.c:66
msgid "Eject"
msgstr "Éjecter"
-#: ../gio/gio-tool-mount.c:62
+#: gio/gio-tool-mount.c:67
+msgid "Stop drive with device file"
+msgstr "Arrêter le disque selon le fichier de périphérique"
+
+#: gio/gio-tool-mount.c:68
msgid "Unmount all mounts with the given scheme"
msgstr "Démonter tous les montages du protocole donné"
-#: ../gio/gio-tool-mount.c:62
+#: gio/gio-tool-mount.c:68
msgid "SCHEME"
msgstr "PROTOCOLE"
-#: ../gio/gio-tool-mount.c:63
+#: gio/gio-tool-mount.c:69
msgid "Ignore outstanding file operations when unmounting or ejecting"
msgstr ""
"Ignorer les opérations de fichier en cours lors du démontage ou de l’éjection"
-#: ../gio/gio-tool-mount.c:64
+#: gio/gio-tool-mount.c:70
msgid "Use an anonymous user when authenticating"
msgstr "Utiliser un utilisateur anonyme lors de l’authentification"
#. Translator: List here is a verb as in 'List all mounts'
-#: ../gio/gio-tool-mount.c:66
+#: gio/gio-tool-mount.c:72
msgid "List"
msgstr "Énumérer"
-#: ../gio/gio-tool-mount.c:67
+#: gio/gio-tool-mount.c:73
msgid "Monitor events"
msgstr "Surveiller les évènements"
-#: ../gio/gio-tool-mount.c:68
+#: gio/gio-tool-mount.c:74
msgid "Show extra information"
msgstr "Afficher des informations supplémentaires"
-#: ../gio/gio-tool-mount.c:246 ../gio/gio-tool-mount.c:276
+#: gio/gio-tool-mount.c:75
+msgid "The numeric PIM when unlocking a VeraCrypt volume"
+msgstr "PIM numérique lors du déverrouillage du volume VeraCrypt"
+
+#: gio/gio-tool-mount.c:75
+msgid "PIM"
+msgstr "PIM"
+
+#: gio/gio-tool-mount.c:76
+msgid "Mount a TCRYPT hidden volume"
+msgstr "Monter un volume caché TCRYPT"
+
+#: gio/gio-tool-mount.c:77
+msgid "Mount a TCRYPT system volume"
+msgstr "Monter un volume système TCRYPT"
+
+#: gio/gio-tool-mount.c:265 gio/gio-tool-mount.c:297
msgid "Anonymous access denied"
msgstr "Accès anonyme refusé"
-#: ../gio/gio-tool-mount.c:897
+#: gio/gio-tool-mount.c:522
+msgid "No drive for device file"
+msgstr "Aucun disque correspondant au fichier de périphérique"
+
+#: gio/gio-tool-mount.c:975
#, c-format
msgid "Mounted %s at %s\n"
msgstr "%s a été monté sur %s\n"
-#: ../gio/gio-tool-mount.c:950
+#: gio/gio-tool-mount.c:1027
msgid "No volume for device file"
msgstr "Aucun volume pour le fichier de périphérique"
-#: ../gio/gio-tool-mount.c:1145
+#: gio/gio-tool-mount.c:1216
msgid "Mount or unmount the locations."
msgstr "Monter ou démonter les emplacements."
-#: ../gio/gio-tool-move.c:42
+#: gio/gio-tool-move.c:42
msgid "Don’t use copy and delete fallback"
msgstr "Ne pas utiliser la copie ou la suppression de repli"
-#: ../gio/gio-tool-move.c:99
+#: gio/gio-tool-move.c:99
msgid "Move one or more files from SOURCE to DEST."
msgstr "Déplacer un ou plusieurs fichiers de SOURCE vers DEST."
-#: ../gio/gio-tool-move.c:101
+#: gio/gio-tool-move.c:101
msgid ""
"gio move is similar to the traditional mv utility, but using GIO\n"
"locations instead of local files: for example, you can use something\n"
@@ -2179,12 +2155,12 @@
"utilisant des emplacements GIO au lieu de fichiers locaux : par exemple,\n"
"on peut indiquer un emplacement comme smb://serveur/ressource/fichier.txt"
-#: ../gio/gio-tool-move.c:142
+#: gio/gio-tool-move.c:143
#, c-format
msgid "Target %s is not a directory"
msgstr "La cible %s n’est pas un répertoire"
-#: ../gio/gio-tool-open.c:118
+#: gio/gio-tool-open.c:118
msgid ""
"Open files with the default application that\n"
"is registered to handle files of this type."
@@ -2192,252 +2168,257 @@
"Ouvrir les fichiers avec l’application par défaut\n"
"inscrite pour gérer les fichiers de ce type."
-#: ../gio/gio-tool-remove.c:31 ../gio/gio-tool-trash.c:31
+#: gio/gio-tool-remove.c:31 gio/gio-tool-trash.c:31
msgid "Ignore nonexistent files, never prompt"
msgstr "Ignorer les fichiers non existants, ne jamais demander"
-#: ../gio/gio-tool-remove.c:52
+#: gio/gio-tool-remove.c:52
msgid "Delete the given files."
msgstr "Supprimer les fichiers indiqués."
-#: ../gio/gio-tool-rename.c:45
+#: gio/gio-tool-rename.c:45
msgid "NAME"
msgstr "NOM"
-#: ../gio/gio-tool-rename.c:50
+#: gio/gio-tool-rename.c:50
msgid "Rename a file."
msgstr "Renommmer un fichier."
-#: ../gio/gio-tool-rename.c:70
+#: gio/gio-tool-rename.c:70
msgid "Missing argument"
msgstr "Paramètre manquant"
-#: ../gio/gio-tool-rename.c:76 ../gio/gio-tool-save.c:190
-#: ../gio/gio-tool-set.c:137
+#: gio/gio-tool-rename.c:76 gio/gio-tool-save.c:190 gio/gio-tool-set.c:137
msgid "Too many arguments"
msgstr "Trop de paramètres"
-#: ../gio/gio-tool-rename.c:95
+#: gio/gio-tool-rename.c:95
#, c-format
msgid "Rename successful. New uri: %s\n"
msgstr "Le renommage a réussi. Nouvel uri : %s\n"
-#: ../gio/gio-tool-save.c:50
+#: gio/gio-tool-save.c:50
msgid "Only create if not existing"
msgstr "Créer seulement s’il n’existe pas"
-#: ../gio/gio-tool-save.c:51
+#: gio/gio-tool-save.c:51
msgid "Append to end of file"
msgstr "Ajouter à la fin du fichier"
-#: ../gio/gio-tool-save.c:52
+#: gio/gio-tool-save.c:52
msgid "When creating, restrict access to the current user"
msgstr "Lors de la création, limiter l’accès à l’utilisateur actuel"
-#: ../gio/gio-tool-save.c:53
+#: gio/gio-tool-save.c:53
msgid "When replacing, replace as if the destination did not exist"
msgstr ""
"Lors d’un remplacement, remplacer comme si la destination n’existait pas"
#. Translators: The "etag" is a token allowing to verify whether a file has been modified
-#: ../gio/gio-tool-save.c:55
+#: gio/gio-tool-save.c:55
msgid "Print new etag at end"
msgstr "Afficher le nouvel etag à la fin"
#. Translators: The "etag" is a token allowing to verify whether a file has been modified
-#: ../gio/gio-tool-save.c:57
+#: gio/gio-tool-save.c:57
msgid "The etag of the file being overwritten"
msgstr "Le etag du fichier en cours d’écrasement"
-#: ../gio/gio-tool-save.c:57
+#: gio/gio-tool-save.c:57
msgid "ETAG"
msgstr "ETAG"
-#: ../gio/gio-tool-save.c:113
+#: gio/gio-tool-save.c:113
msgid "Error reading from standard input"
msgstr "Erreur de lecture à partir de l’entrée standard"
#. Translators: The "etag" is a token allowing to verify whether a file has been modified
-#: ../gio/gio-tool-save.c:139
-#, c-format
+#: gio/gio-tool-save.c:139
msgid "Etag not available\n"
msgstr "Etag non disponible\n"
-#: ../gio/gio-tool-save.c:163
+#: gio/gio-tool-save.c:163
msgid "Read from standard input and save to DEST."
msgstr "Lire à partir de l’entrée standard et enregistrer vers DEST."
-#: ../gio/gio-tool-save.c:183
+#: gio/gio-tool-save.c:183
msgid "No destination given"
msgstr "Aucune destination indiquée"
-#: ../gio/gio-tool-set.c:33
+#: gio/gio-tool-set.c:33
msgid "Type of the attribute"
msgstr "Type de l’attribut"
-#: ../gio/gio-tool-set.c:33
+#: gio/gio-tool-set.c:33
msgid "TYPE"
msgstr "TYPE"
-#: ../gio/gio-tool-set.c:89
+#: gio/gio-tool-set.c:89
msgid "ATTRIBUTE"
msgstr "ATTRIBUT"
-#: ../gio/gio-tool-set.c:89
+#: gio/gio-tool-set.c:89
msgid "VALUE"
msgstr "VALEUR"
-#: ../gio/gio-tool-set.c:93
+#: gio/gio-tool-set.c:93
msgid "Set a file attribute of LOCATION."
msgstr "Définir un attribut de fichier de l’EMPLACEMENT."
-#: ../gio/gio-tool-set.c:113
+#: gio/gio-tool-set.c:113
msgid "Location not specified"
msgstr "Emplacement non indiqué"
-#: ../gio/gio-tool-set.c:120
+#: gio/gio-tool-set.c:120
msgid "Attribute not specified"
msgstr "Attribut non indiqué"
-#: ../gio/gio-tool-set.c:130
+#: gio/gio-tool-set.c:130
msgid "Value not specified"
msgstr "Valeur non indiquée"
-#: ../gio/gio-tool-set.c:180
+#: gio/gio-tool-set.c:180
#, c-format
msgid "Invalid attribute type “%s”"
msgstr "Type d’attribut « %s » non valide"
-#: ../gio/gio-tool-trash.c:32
+#: gio/gio-tool-trash.c:32
msgid "Empty the trash"
msgstr "Vider la corbeille"
-#: ../gio/gio-tool-trash.c:86
+#: gio/gio-tool-trash.c:86
msgid "Move files or directories to the trash."
msgstr "Déplacer des fichiers ou des répertoires vers la corbeille."
-#: ../gio/gio-tool-tree.c:33
+#: gio/gio-tool-tree.c:33
msgid "Follow symbolic links, mounts and shortcuts"
msgstr "Suivre les liens symboliques, les montages et les raccourcis"
-#: ../gio/gio-tool-tree.c:244
+#: gio/gio-tool-tree.c:244
msgid "List contents of directories in a tree-like format."
msgstr ""
"Afficher la liste du contenu de répertoires dans un format arborescent."
-#: ../gio/glib-compile-resources.c:142 ../gio/glib-compile-schemas.c:1501
+#: gio/glib-compile-resources.c:143 gio/glib-compile-schemas.c:1515
#, c-format
msgid "Element <%s> not allowed inside <%s>"
msgstr "Élément <%s> interdit dans <%s>"
-#: ../gio/glib-compile-resources.c:146
+#: gio/glib-compile-resources.c:147
#, c-format
msgid "Element <%s> not allowed at toplevel"
msgstr "Élément <%s> interdit au premier niveau"
-#: ../gio/glib-compile-resources.c:237
+#: gio/glib-compile-resources.c:237
#, c-format
msgid "File %s appears multiple times in the resource"
msgstr "Le fichier %s apparaît plusieurs fois dans la ressource"
-#: ../gio/glib-compile-resources.c:248
+#: gio/glib-compile-resources.c:248
#, c-format
msgid "Failed to locate “%s” in any source directory"
msgstr "La localisation de « %s » dans tous les répertoires source a échoué"
-#: ../gio/glib-compile-resources.c:259
+#: gio/glib-compile-resources.c:259
#, c-format
msgid "Failed to locate “%s” in current directory"
msgstr "La localisation de « %s » dans le répertoire actuel a échoué"
-#: ../gio/glib-compile-resources.c:290
+#: gio/glib-compile-resources.c:293
#, c-format
msgid "Unknown processing option “%s”"
msgstr "Option de traitement inconnue « %s »"
-#: ../gio/glib-compile-resources.c:308 ../gio/glib-compile-resources.c:354
+#. Translators: the first %s is a gresource XML attribute,
+#. * the second %s is an environment variable, and the third
+#. * %s is a command line tool
+#.
+#: gio/glib-compile-resources.c:313 gio/glib-compile-resources.c:370
+#: gio/glib-compile-resources.c:427
#, c-format
-msgid "Failed to create temp file: %s"
-msgstr "La création du fichier temporaire a échoué : %s"
+msgid "%s preprocessing requested, but %s is not set, and %s is not in PATH"
+msgstr ""
+"Un prétraitement %s a été demandé, mais %s n'est pas défini et %s n’est pas "
+"dans le chemin PATH"
-#: ../gio/glib-compile-resources.c:382
+#: gio/glib-compile-resources.c:460
#, c-format
msgid "Error reading file %s: %s"
msgstr "Erreur de lecture du fichier %s : %s"
-#: ../gio/glib-compile-resources.c:402
+#: gio/glib-compile-resources.c:480
#, c-format
msgid "Error compressing file %s"
msgstr "Erreur à la compression du fichier %s"
-#: ../gio/glib-compile-resources.c:469
+#: gio/glib-compile-resources.c:541
#, c-format
msgid "text may not appear inside <%s>"
msgstr "<%s> ne peut pas contenir du texte"
-#: ../gio/glib-compile-resources.c:664 ../gio/glib-compile-schemas.c:2067
+#: gio/glib-compile-resources.c:736 gio/glib-compile-schemas.c:2138
msgid "Show program version and exit"
msgstr "Affiche la version du programme et quitte"
-#: ../gio/glib-compile-resources.c:665
-msgid "name of the output file"
-msgstr "nom du fichier de sortie"
+#: gio/glib-compile-resources.c:737
+msgid "Name of the output file"
+msgstr "Nom du fichier de sortie"
-#: ../gio/glib-compile-resources.c:666
+#: gio/glib-compile-resources.c:738
msgid ""
-"The directories where files are to be read from (default to current "
+"The directories to load files referenced in FILE from (default: current "
"directory)"
msgstr ""
-"Les répertoires à partir desquels les fichiers seront lus (par défaut le "
-"répertoire actuel)"
+"Les répertoires à partir desquels charger les fichiers référencés dans "
+"FICHIER (par défaut le répertoire actuel)"
-#: ../gio/glib-compile-resources.c:666 ../gio/glib-compile-schemas.c:2068
-#: ../gio/glib-compile-schemas.c:2096
+#: gio/glib-compile-resources.c:738 gio/glib-compile-schemas.c:2139
+#: gio/glib-compile-schemas.c:2168
msgid "DIRECTORY"
msgstr "RÉPERTOIRE"
-#: ../gio/glib-compile-resources.c:667
+#: gio/glib-compile-resources.c:739
msgid ""
"Generate output in the format selected for by the target filename extension"
msgstr ""
"Générer la sortie dans le format sélectionné par l’extension du nom de "
"fichier cible"
-#: ../gio/glib-compile-resources.c:668
+#: gio/glib-compile-resources.c:740
msgid "Generate source header"
msgstr "Générer l’en-tête de la source"
-#: ../gio/glib-compile-resources.c:669
-msgid "Generate sourcecode used to link in the resource file into your code"
+#: gio/glib-compile-resources.c:741
+msgid "Generate source code used to link in the resource file into your code"
msgstr ""
"Générer le code source utilisé pour lier vers le fichier ressource dans "
"votre code"
-#: ../gio/glib-compile-resources.c:670
+#: gio/glib-compile-resources.c:742
msgid "Generate dependency list"
msgstr "Générer la liste des dépendances"
-#: ../gio/glib-compile-resources.c:671
-msgid "name of the dependency file to generate"
-msgstr "nom du fichier des dépendances à générer"
+#: gio/glib-compile-resources.c:743
+msgid "Name of the dependency file to generate"
+msgstr "Nom du fichier de dépendances à générer"
-#: ../gio/glib-compile-resources.c:672
+#: gio/glib-compile-resources.c:744
msgid "Include phony targets in the generated dependency file"
msgstr "Inclure les cibles « phony » dans le fichier de dépendances généré"
-#: ../gio/glib-compile-resources.c:673
+#: gio/glib-compile-resources.c:745
msgid "Don’t automatically create and register resource"
msgstr "Ne pas créer et enregistrer automatiquement la ressource"
-#: ../gio/glib-compile-resources.c:674
+#: gio/glib-compile-resources.c:746
msgid "Don’t export functions; declare them G_GNUC_INTERNAL"
msgstr "Ne pas exporter les fonctions ; les déclarer G_GNUC_INTERNAL"
-#: ../gio/glib-compile-resources.c:675
+#: gio/glib-compile-resources.c:747
msgid "C identifier name used for the generated source code"
msgstr "Nom d’identifiant C utilisé pour le code source généré"
-#: ../gio/glib-compile-resources.c:701
+#: gio/glib-compile-resources.c:773
msgid ""
"Compile a resource specification into a resource file.\n"
"Resource specification files have the extension .gresource.xml,\n"
@@ -2448,124 +2429,123 @@
"xml\n"
"et le fichier de ressource possède l’extension .gresource."
-#: ../gio/glib-compile-resources.c:723
-#, c-format
+#: gio/glib-compile-resources.c:795
msgid "You should give exactly one file name\n"
msgstr "Vous devez indiquer un et un seul nom de fichier\n"
-#: ../gio/glib-compile-schemas.c:95
+#: gio/glib-compile-schemas.c:95
#, c-format
msgid "nick must be a minimum of 2 characters"
msgstr "le pseudo doit contenir au minimum 2 caractères"
-#: ../gio/glib-compile-schemas.c:106
+#: gio/glib-compile-schemas.c:106
#, c-format
msgid "Invalid numeric value"
msgstr "Valeur numérique non valide"
-#: ../gio/glib-compile-schemas.c:114
+#: gio/glib-compile-schemas.c:114
#, c-format
msgid "<value nick='%s'/&g