mirror of https://gitee.com/openkylin/gvfs.git
Import Upstream version 1.52.0
This commit is contained in:
parent
4f6ea7126b
commit
d4d0391245
|
@ -4,8 +4,13 @@ fedora:
|
|||
entrypoint: ["/bin/sh", "-c"]
|
||||
tags:
|
||||
- x86_64
|
||||
- ipv6
|
||||
script:
|
||||
# The httpd process fails with "(98)Address already in use: AH00072:
|
||||
# make_sock: could not bind to address 127.0.0.1:8088" error. It used to
|
||||
# work on runners with the "ipv6" tag, but there is no such currently.
|
||||
# It is not clear to me why it fails, the port looks to be unused.
|
||||
# Let's disable the Dav test cases temporarily to unblock the pipeline.
|
||||
- sed -i "/class Dav/i @unittest.skip('Disabled over .gitlab-ci.yml')" test/gvfs-test
|
||||
- meson
|
||||
-Dinstalled_tests=true
|
||||
-Ddevel_utils=true
|
||||
|
|
38
NEWS
38
NEWS
|
@ -1,3 +1,41 @@
|
|||
Major changes in 1.52.0
|
||||
=======================
|
||||
* Translation updates (GNOME Translation Project contributors)
|
||||
|
||||
Major changes in 1.51.91
|
||||
========================
|
||||
* sftp/ftp: Ensure that is-symlink is always set to avoid warnings (Sébastien Noel)
|
||||
* Translation updates (GNOME Translation Project contributors)
|
||||
|
||||
Major changes in 1.51.90
|
||||
========================
|
||||
* Fix various memory leaks (wang xiaomeng)
|
||||
* udisks2: Disconnect signal handlers to fix crashes when unmounting (Ondrej Holy)
|
||||
* fuse: Include missing locale.h header (Ondrej Holy)
|
||||
* Some other fixes and improvements (Ondrej Holy)
|
||||
* Translation updates (GNOME Translation Project contributors)
|
||||
|
||||
Major changes in 1.51.1
|
||||
=======================
|
||||
* trash: Run blocking methods on a thread to avoid hangs (Ondrej Holy)
|
||||
* smbbrowse: Fix empty device listing after unrelated mount failure (Ondrej Holy)
|
||||
* udisks: Fix missing unmount notifications (Ondrej Holy)
|
||||
* trash: Fix nfs4 and cifs monitoring (re2zero)
|
||||
* smb: Allow renaming a file to the same name with a different case (Corey Berla)
|
||||
* mtp: Add support for incremental enumeration (re2zero)
|
||||
* mtp: Emit delete event on device disconnection (António Fernandes)
|
||||
* trash: Fix wrongly reported item-count (rong wang)
|
||||
* Some other fixes and improvements (Matt Turner, Sebastien Bacher, Simon McVittie, wangrong, Ondrej Holy)
|
||||
* Translation updates (GNOME Translation Project contributors)
|
||||
|
||||
Major changes in 1.50.4
|
||||
=======================
|
||||
* dav: Prevent usage of NULL for nonexistent source file (Ondrej Holy)
|
||||
* client: Fix copy/move operation from/to Flatpak sandbox (Ondrej Holy)
|
||||
* http: Report original sizes regardless of compression usage (Lucas Chollet)
|
||||
* Fix string comparison on various places (Sergio Costas Rodriguez)
|
||||
* Translation updates (GNOME Translation Project contributors)
|
||||
|
||||
Major changes in 1.50.3
|
||||
=======================
|
||||
* dav: Prevent usage of NULL when user is not specified (Ondrej Holy)
|
||||
|
|
|
@ -2680,6 +2680,7 @@ file_transfer (GFile *source,
|
|||
gboolean dest_is_daemon;
|
||||
gboolean native_transfer;
|
||||
gboolean send_progress;
|
||||
gboolean flatpak_sandbox;
|
||||
GVfsDBusMount *proxy;
|
||||
gchar *path1, *path2;
|
||||
GDBusConnection *connection;
|
||||
|
@ -2695,13 +2696,14 @@ file_transfer (GFile *source,
|
|||
source_is_daemon = G_IS_DAEMON_FILE (source);
|
||||
dest_is_daemon = G_IS_DAEMON_FILE (destination);
|
||||
send_progress = progress_callback != NULL;
|
||||
flatpak_sandbox = g_file_test ("/.flatpak-info", G_FILE_TEST_EXISTS);
|
||||
serial = 0;
|
||||
|
||||
if (source_is_daemon && dest_is_daemon)
|
||||
native_transfer = TRUE;
|
||||
else if (dest_is_daemon && !source_is_daemon)
|
||||
else if (dest_is_daemon && !source_is_daemon && !flatpak_sandbox)
|
||||
local_path = g_file_get_path (source);
|
||||
else if (source_is_daemon && !dest_is_daemon)
|
||||
else if (source_is_daemon && !dest_is_daemon && !flatpak_sandbox)
|
||||
local_path = g_file_get_path (destination);
|
||||
else
|
||||
{
|
||||
|
@ -2711,15 +2713,6 @@ file_transfer (GFile *source,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!native_transfer && local_path == NULL)
|
||||
{
|
||||
/* This will cause the fallback code to be involved */
|
||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
|
||||
_("Operation not supported, files on different mounts"));
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
|
||||
if (send_progress)
|
||||
obj_path = g_strdup_printf ("/org/gtk/vfs/callback/%p", &obj_path);
|
||||
else
|
||||
|
|
|
@ -308,7 +308,7 @@ g_daemon_vfs_init (GDaemonVfs *vfs)
|
|||
vfs->wrapped_vfs = g_vfs_get_local ();
|
||||
|
||||
/* Use the old .gvfs location as fallback, not .cache/gvfs */
|
||||
if (g_get_user_runtime_dir() == g_get_user_cache_dir ())
|
||||
if (g_strcmp0 (g_get_user_runtime_dir(), g_get_user_cache_dir ()) == 0)
|
||||
file = g_build_filename (g_get_home_dir(), ".gvfs", NULL);
|
||||
else
|
||||
file = g_build_filename (g_get_user_runtime_dir(), "gvfs", NULL);
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <signal.h>
|
||||
#include <locale.h>
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib/gi18n.h>
|
||||
|
@ -2559,6 +2560,8 @@ main (gint argc, gchar *argv [])
|
|||
struct fuse_cmdline_opts opts;
|
||||
struct fuse_args args = FUSE_ARGS_INIT (argc, argv);
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
|
||||
if (fuse_opt_parse (&args, NULL, NULL, NULL) == -1)
|
||||
return 1;
|
||||
|
||||
|
|
|
@ -640,7 +640,7 @@ _g_find_file_insensitive_async (GFile *parent,
|
|||
G_FILE_QUERY_INFO_NONE, G_PRIORITY_DEFAULT,
|
||||
cancellable,
|
||||
find_file_insensitive_exists_callback, task);
|
||||
|
||||
g_object_unref (direct_file);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -3888,7 +3888,7 @@ push_handle_free (PushHandle *handle)
|
|||
}
|
||||
g_object_unref (handle->backend);
|
||||
g_object_unref (handle->job);
|
||||
g_object_unref (handle->msg);
|
||||
g_clear_object (&handle->msg);
|
||||
g_uri_unref (handle->uri);
|
||||
|
||||
g_slice_free (PushHandle, handle);
|
||||
|
|
|
@ -706,6 +706,10 @@ try_query_info (GVfsBackend *backend,
|
|||
uri = http_backend_get_mount_base (backend);
|
||||
msg = soup_message_new_from_uri (SOUP_METHOD_HEAD, uri);
|
||||
|
||||
/* Disable encoding in order to retrieve the size of the full file. */
|
||||
soup_message_headers_replace (soup_message_get_request_headers (msg),
|
||||
"Accept-Encoding", "identity");
|
||||
|
||||
g_vfs_job_set_backend_data (G_VFS_JOB (job), msg, NULL);
|
||||
|
||||
soup_session_send_async (op_backend->session, msg, G_PRIORITY_DEFAULT,
|
||||
|
@ -724,6 +728,25 @@ try_query_info_on_read (GVfsBackend *backend,
|
|||
{
|
||||
SoupMessage *msg = g_vfs_http_input_stream_get_message (G_INPUT_STREAM (handle));
|
||||
|
||||
const gchar *encoding;
|
||||
|
||||
/* In case encoding is set, Content-Length will report the compressed size,
|
||||
* but we want to report the complete size of the file to the user. This
|
||||
* will cause try_query_info() to be invoked, hence reporting the size
|
||||
* without compression enabled.
|
||||
*/
|
||||
encoding = soup_message_headers_get_one (soup_message_get_response_headers (msg),
|
||||
"Content-Encoding");
|
||||
if (encoding != NULL &&
|
||||
g_file_attribute_matcher_matches (attribute_matcher, G_FILE_ATTRIBUTE_STANDARD_SIZE))
|
||||
{
|
||||
g_vfs_job_failed_literal (G_VFS_JOB (job), G_IO_ERROR,
|
||||
G_IO_ERROR_NOT_SUPPORTED,
|
||||
_("Operation not supported"));
|
||||
g_object_unref (msg);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
file_info_from_message (msg, info, attribute_matcher);
|
||||
g_object_unref (msg);
|
||||
|
||||
|
|
|
@ -638,6 +638,11 @@ on_uevent (GUdevClient *client, gchar *action, GUdevDevice *device, gpointer use
|
|||
(char *)path);
|
||||
}
|
||||
|
||||
/* Finally, emit delete event to tell the clients the device root file is gone. */
|
||||
g_hash_table_foreach (op_backend->monitors,
|
||||
emit_delete_event,
|
||||
(char *)"/");
|
||||
|
||||
op_backend->force_unmounted = TRUE;
|
||||
g_atomic_int_set (&op_backend->unmount_started, TRUE);
|
||||
g_vfs_backend_force_unmount ((GVfsBackend*)op_backend);
|
||||
|
@ -1374,6 +1379,7 @@ do_enumerate (GVfsBackend *backend,
|
|||
if (ret != 0) {
|
||||
LIBMTP_Dump_Errorstack (device);
|
||||
LIBMTP_Clear_Errorstack (device);
|
||||
g_vfs_job_succeeded (G_VFS_JOB (job));
|
||||
goto success;
|
||||
}
|
||||
for (storage = device->storage; storage != 0; storage = storage->next) {
|
||||
|
@ -1390,6 +1396,7 @@ do_enumerate (GVfsBackend *backend,
|
|||
|
||||
g_free (storage_name);
|
||||
}
|
||||
g_vfs_job_succeeded (G_VFS_JOB (job));
|
||||
} else {
|
||||
CacheEntry *entry = get_cache_entry (G_VFS_BACKEND_MTP (backend),
|
||||
filename);
|
||||
|
@ -1407,13 +1414,54 @@ do_enumerate (GVfsBackend *backend,
|
|||
remove_cache_entry (G_VFS_BACKEND_MTP (backend), remove_prefix);
|
||||
g_free (remove_prefix);
|
||||
|
||||
LIBMTP_file_t *files;
|
||||
LIBMTP_Clear_Errorstack (device);
|
||||
|
||||
#if HAVE_LIBMTP_1_1_21
|
||||
uint32_t *handlers = NULL;
|
||||
int count = LIBMTP_Get_Children (device, entry->storage, entry->id, &handlers);
|
||||
|
||||
if (count < 0) {
|
||||
fail_job (G_VFS_JOB (job), device);
|
||||
goto exit;
|
||||
}
|
||||
|
||||
g_vfs_job_succeeded (G_VFS_JOB (job));
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
LIBMTP_file_t *file;
|
||||
|
||||
// Get metadata for one file, if it fails, try next file
|
||||
file = LIBMTP_Get_Filemetadata (device, handlers[i]);
|
||||
if (file == NULL) {
|
||||
continue;
|
||||
}
|
||||
info = g_file_info_new ();
|
||||
get_file_info (backend, device, info, file);
|
||||
g_vfs_job_enumerate_add_info (job, info);
|
||||
g_object_unref (info);
|
||||
|
||||
add_cache_entry (G_VFS_BACKEND_MTP (backend),
|
||||
g_build_filename (filename, file->filename, NULL),
|
||||
file->storage_id,
|
||||
file->item_id);
|
||||
|
||||
LIBMTP_destroy_file_t (file);
|
||||
}
|
||||
|
||||
if (handlers) {
|
||||
g_free (handlers);
|
||||
}
|
||||
#else
|
||||
LIBMTP_file_t *files;
|
||||
|
||||
files = LIBMTP_Get_Files_And_Folders (device, entry->storage, entry->id);
|
||||
if (files == NULL && LIBMTP_Get_Errorstack (device) != NULL) {
|
||||
fail_job (G_VFS_JOB (job), device);
|
||||
goto exit;
|
||||
}
|
||||
|
||||
g_vfs_job_succeeded (G_VFS_JOB (job));
|
||||
|
||||
while (files != NULL) {
|
||||
LIBMTP_file_t *file = files;
|
||||
files = files->next;
|
||||
|
@ -1430,11 +1478,11 @@ do_enumerate (GVfsBackend *backend,
|
|||
|
||||
LIBMTP_destroy_file_t (file);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
success:
|
||||
g_vfs_job_enumerate_done (job);
|
||||
g_vfs_job_succeeded (G_VFS_JOB (job));
|
||||
|
||||
exit:
|
||||
g_strfreev (elements);
|
||||
|
|
|
@ -902,13 +902,6 @@ g_vfs_backend_network_init (GVfsBackendNetwork *network_backend)
|
|||
network_backend->smb_settings = g_settings_new ("org.gnome.system.smb");
|
||||
|
||||
current_workgroup = g_settings_get_string (network_backend->smb_settings, "workgroup");
|
||||
|
||||
if (current_workgroup == NULL ||
|
||||
current_workgroup[0] == 0)
|
||||
/* it's okay if current_workgroup is null here,
|
||||
* it's checked before the NetworkFile is added anyway. */
|
||||
network_backend->current_workgroup = NULL;
|
||||
else
|
||||
network_backend->current_workgroup = current_workgroup;
|
||||
|
||||
g_signal_connect (network_backend->smb_settings,
|
||||
|
|
|
@ -2470,6 +2470,7 @@ parse_attributes (GVfsBackendSftp *backend,
|
|||
gboolean has_uid, free_mimetype;
|
||||
char *mimetype;
|
||||
gboolean uncertain_content_type;
|
||||
gboolean is_symlink;
|
||||
|
||||
flags = g_data_input_stream_read_uint32 (reply, NULL, NULL);
|
||||
|
||||
|
@ -2510,6 +2511,7 @@ parse_attributes (GVfsBackendSftp *backend,
|
|||
|
||||
mimetype = NULL;
|
||||
uncertain_content_type = FALSE;
|
||||
is_symlink = FALSE;
|
||||
if (S_ISREG (mode))
|
||||
type = G_FILE_TYPE_REGULAR;
|
||||
else if (S_ISDIR (mode))
|
||||
|
@ -2540,7 +2542,7 @@ parse_attributes (GVfsBackendSftp *backend,
|
|||
else if (S_ISLNK (mode))
|
||||
{
|
||||
type = G_FILE_TYPE_SYMBOLIC_LINK;
|
||||
g_file_info_set_is_symlink (info, TRUE);
|
||||
is_symlink = TRUE;
|
||||
mimetype = "inode/symlink";
|
||||
}
|
||||
|
||||
|
@ -2559,6 +2561,7 @@ parse_attributes (GVfsBackendSftp *backend,
|
|||
if (!uncertain_content_type)
|
||||
g_file_info_set_content_type (info, mimetype);
|
||||
g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE, mimetype);
|
||||
g_file_info_set_is_symlink (info, is_symlink);
|
||||
|
||||
if (g_file_attribute_matcher_matches (matcher,
|
||||
G_FILE_ATTRIBUTE_STANDARD_ICON)
|
||||
|
|
|
@ -1892,6 +1892,9 @@ do_set_display_name (GVfsBackend *backend,
|
|||
{
|
||||
GVfsBackendSmb *op_backend = G_VFS_BACKEND_SMB (backend);
|
||||
char *from_uri, *to_uri;
|
||||
g_autofree char *basename = NULL;
|
||||
g_autofree char *old_name_case = NULL;
|
||||
g_autofree char *new_name_case = NULL;
|
||||
char *dirname, *new_path;
|
||||
int res, errsv;
|
||||
struct stat st;
|
||||
|
@ -1899,6 +1902,7 @@ do_set_display_name (GVfsBackend *backend,
|
|||
smbc_stat_fn smbc_stat;
|
||||
|
||||
dirname = g_path_get_dirname (filename);
|
||||
basename = g_path_get_basename (filename);
|
||||
|
||||
/* TODO: display name is in utf8, atm we assume libsmb uris
|
||||
are in utf8, but this might not be true if the user changed
|
||||
|
@ -1910,7 +1914,13 @@ do_set_display_name (GVfsBackend *backend,
|
|||
from_uri = create_smb_uri (op_backend->server, op_backend->port, op_backend->share, filename);
|
||||
to_uri = create_smb_uri (op_backend->server, op_backend->port, op_backend->share, new_path);
|
||||
|
||||
|
||||
/* If we are simply changing the case of an existing file, we don't need to
|
||||
* worry about overwriting another file.
|
||||
*/
|
||||
old_name_case = g_utf8_casefold (basename, -1);
|
||||
new_name_case = g_utf8_casefold (display_name, -1);
|
||||
if (g_strcmp0 (old_name_case, new_name_case) != 0)
|
||||
{
|
||||
/* We can't rely on libsmbclient reporting EEXIST, let's always stat first.
|
||||
* https://bugzilla.gnome.org/show_bug.cgi?id=616645
|
||||
*/
|
||||
|
@ -1923,6 +1933,7 @@ do_set_display_name (GVfsBackend *backend,
|
|||
_("Can’t rename file, filename already exists"));
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
smbc_rename = smbc_getFunctionRename (op_backend->smb_context);
|
||||
res = smbc_rename (op_backend->smb_context, from_uri,
|
||||
|
|
|
@ -93,8 +93,6 @@ struct _GVfsBackendSmbBrowse
|
|||
GList *entries;
|
||||
};
|
||||
|
||||
|
||||
static GHashTable *server_cache = NULL;
|
||||
static GMountTracker *mount_tracker = NULL;
|
||||
|
||||
typedef struct {
|
||||
|
@ -169,42 +167,6 @@ browse_entry_free (BrowseEntry *entry)
|
|||
g_free (entry);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
cached_server_equal (gconstpointer _a,
|
||||
gconstpointer _b)
|
||||
{
|
||||
const CachedServer *a = _a;
|
||||
const CachedServer *b = _b;
|
||||
|
||||
return
|
||||
strcmp (a->server_name, b->server_name) == 0 &&
|
||||
strcmp (a->share_name, b->share_name) == 0 &&
|
||||
strcmp (a->domain, b->domain) == 0 &&
|
||||
strcmp (a->username, b->username) == 0;
|
||||
}
|
||||
|
||||
static guint
|
||||
cached_server_hash (gconstpointer key)
|
||||
{
|
||||
const CachedServer *server = key;
|
||||
|
||||
return
|
||||
g_str_hash (server->server_name) ^
|
||||
g_str_hash (server->share_name) ^
|
||||
g_str_hash (server->domain) ^
|
||||
g_str_hash (server->username);
|
||||
}
|
||||
|
||||
static void
|
||||
cached_server_free (CachedServer *server)
|
||||
{
|
||||
g_free (server->server_name);
|
||||
g_free (server->share_name);
|
||||
g_free (server->domain);
|
||||
g_free (server->username);
|
||||
g_free (server);
|
||||
}
|
||||
|
||||
static void
|
||||
g_vfs_backend_smb_browse_finalize (GObject *object)
|
||||
{
|
||||
|
@ -426,131 +388,6 @@ auth_callback (SMBCCTX *context,
|
|||
backend->last_user, backend->last_domain);
|
||||
}
|
||||
|
||||
/* Add a server to the cache system
|
||||
*
|
||||
* @param c pointer to smb context
|
||||
* @param srv pointer to server to add
|
||||
* @param server server name
|
||||
* @param share share name
|
||||
* @param workgroup workgroup used to connect
|
||||
* @param username username used to connect
|
||||
* @return 0 on success. 1 on failure.
|
||||
*
|
||||
*/
|
||||
static int
|
||||
add_cached_server (SMBCCTX *context, SMBCSRV *new,
|
||||
const char *server_name, const char *share_name,
|
||||
const char *domain, const char *username)
|
||||
{
|
||||
CachedServer *cached_server;
|
||||
|
||||
cached_server = g_new (CachedServer, 1);
|
||||
cached_server->server_name = g_strdup (server_name);
|
||||
cached_server->share_name = g_strdup (share_name);
|
||||
cached_server->domain = g_strdup (domain);
|
||||
cached_server->username = g_strdup (username);
|
||||
|
||||
g_debug ("adding cached server '%s'\\'%s', user '%s';'%s' with data %p\n",
|
||||
server_name ? server_name : "NULL",
|
||||
share_name ? share_name : "(no share)",
|
||||
domain ? domain : "(no domain)",
|
||||
username ? username : "NULL",
|
||||
new);
|
||||
|
||||
if (server_cache == NULL)
|
||||
server_cache = g_hash_table_new_full (cached_server_hash, cached_server_equal,
|
||||
(GDestroyNotify)cached_server_free, NULL);
|
||||
|
||||
g_hash_table_insert (server_cache, cached_server, new);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
remove_cb (gpointer key,
|
||||
gpointer value,
|
||||
gpointer user_data)
|
||||
{
|
||||
return value == user_data;
|
||||
}
|
||||
|
||||
/* Remove cached server
|
||||
*
|
||||
* @param c pointer to smb context
|
||||
* @param srv pointer to server to remove
|
||||
* @return 0 when found and removed. 1 on failure.
|
||||
*
|
||||
*/
|
||||
static int
|
||||
remove_cached_server (SMBCCTX * context, SMBCSRV * server)
|
||||
{
|
||||
guint num;
|
||||
|
||||
if (server_cache)
|
||||
{
|
||||
g_debug ("removing cached servers with data %p\n", server);
|
||||
num = g_hash_table_foreach_remove (server_cache, remove_cb, server);
|
||||
if (num != 0)
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Look up a server in the cache system
|
||||
*
|
||||
* @param c pointer to smb context
|
||||
* @param server server name to match
|
||||
* @param share share name to match
|
||||
* @param workgroup workgroup to match
|
||||
* @param username username to match
|
||||
* @return pointer to SMBCSRV on success. NULL on failure.
|
||||
*
|
||||
*/
|
||||
static SMBCSRV *
|
||||
get_cached_server (SMBCCTX * context,
|
||||
const char *server_name, const char *share_name,
|
||||
const char *domain, const char *username)
|
||||
{
|
||||
const CachedServer key = {
|
||||
(char *)server_name,
|
||||
(char *)share_name,
|
||||
(char *)domain,
|
||||
(char *)username
|
||||
};
|
||||
SMBCSRV *ret = NULL;
|
||||
|
||||
g_debug ("looking up cached server '%s'\\'%s', user '%s';'%s'\n",
|
||||
server_name ? server_name : "NULL",
|
||||
share_name ? share_name : "(no share)",
|
||||
domain ? domain : "(no domain)",
|
||||
username ? username : "NULL");
|
||||
|
||||
if (server_cache)
|
||||
ret = g_hash_table_lookup (server_cache, &key);
|
||||
|
||||
g_debug (" returning %p\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Try to remove all servers from the cache system and disconnect
|
||||
*
|
||||
* @param c pointer to smb context
|
||||
*
|
||||
* @return 0 when found and removed. 1 on failure.
|
||||
*
|
||||
*/
|
||||
static int
|
||||
purge_cached (SMBCCTX * context)
|
||||
{
|
||||
g_debug ("purging server cache\n");
|
||||
|
||||
if (server_cache)
|
||||
g_hash_table_remove_all (server_cache);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
update_cache (GVfsBackendSmbBrowse *backend, SMBCFILE *supplied_dir)
|
||||
{
|
||||
|
@ -820,11 +657,6 @@ do_mount (GVfsBackend *backend,
|
|||
smbc_setDebug (smb_context, debug_val);
|
||||
smbc_setFunctionAuthDataWithContext (smb_context, auth_callback);
|
||||
|
||||
smbc_setFunctionAddCachedServer (smb_context, add_cached_server);
|
||||
smbc_setFunctionGetCachedServer (smb_context, get_cached_server);
|
||||
smbc_setFunctionRemoveCachedServer (smb_context, remove_cached_server);
|
||||
smbc_setFunctionPurgeCachedServers (smb_context, purge_cached);
|
||||
|
||||
if (op_backend->default_workgroup != NULL)
|
||||
smbc_setWorkgroup (smb_context, op_backend->default_workgroup);
|
||||
|
||||
|
@ -989,10 +821,6 @@ do_mount (GVfsBackend *backend,
|
|||
if (res)
|
||||
break;
|
||||
}
|
||||
else {
|
||||
/* Purge the cache, we need to have clean playground for next auth try */
|
||||
purge_cached (smb_context);
|
||||
}
|
||||
|
||||
/* The first round is Kerberos-only. Only if this fails do we enable
|
||||
* NTLMSSP fallback (turning off anonymous fallback, which we've
|
||||
|
|
|
@ -36,6 +36,10 @@ struct OPAQUE_TYPE__GVfsBackendTrash
|
|||
GVfsMonitor *file_monitor;
|
||||
GVfsMonitor *dir_monitor;
|
||||
|
||||
GMainContext *worker_context;
|
||||
GMainLoop *worker_loop;
|
||||
GThread *worker_thread;
|
||||
|
||||
TrashWatcher *watcher;
|
||||
TrashRoot *root;
|
||||
|
||||
|
@ -44,6 +48,100 @@ struct OPAQUE_TYPE__GVfsBackendTrash
|
|||
|
||||
G_DEFINE_TYPE (GVfsBackendTrash, g_vfs_backend_trash, G_VFS_TYPE_BACKEND);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
GSourceFunc source_func;
|
||||
gpointer user_data;
|
||||
GMutex mutex;
|
||||
GCond cond;
|
||||
gboolean completed;
|
||||
} ContextInvokeData;
|
||||
|
||||
static gboolean
|
||||
source_func_wrapper (gpointer user_data)
|
||||
{
|
||||
ContextInvokeData *data = user_data;
|
||||
|
||||
g_mutex_lock (&data->mutex);
|
||||
|
||||
while (data->source_func (data->user_data));
|
||||
data->completed = TRUE;
|
||||
|
||||
g_cond_signal (&data->cond);
|
||||
g_mutex_unlock (&data->mutex);
|
||||
|
||||
return G_SOURCE_REMOVE;
|
||||
}
|
||||
|
||||
static void
|
||||
trash_backend_worker_thread_queue_and_wait (GVfsBackendTrash *backend,
|
||||
GSourceFunc source_func)
|
||||
{
|
||||
ContextInvokeData data;
|
||||
|
||||
data.source_func = source_func;
|
||||
data.user_data = backend;
|
||||
|
||||
g_mutex_init (&data.mutex);
|
||||
g_cond_init (&data.cond);
|
||||
data.completed = FALSE;
|
||||
|
||||
g_mutex_lock (&data.mutex);
|
||||
|
||||
g_main_context_invoke (backend->worker_context,
|
||||
source_func_wrapper,
|
||||
&data);
|
||||
|
||||
while (!data.completed)
|
||||
{
|
||||
g_cond_wait (&data.cond, &data.mutex);
|
||||
}
|
||||
|
||||
g_mutex_unlock (&data.mutex);
|
||||
|
||||
g_mutex_clear (&data.mutex);
|
||||
g_cond_clear (&data.cond);
|
||||
}
|
||||
|
||||
static void
|
||||
trash_backend_worker_thread_queue (GVfsBackendTrash *backend,
|
||||
GSourceFunc source_func)
|
||||
{
|
||||
g_main_context_invoke (backend->worker_context, source_func, backend);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
watch_func (gpointer user_data)
|
||||
{
|
||||
GVfsBackendTrash *backend = G_VFS_BACKEND_TRASH (user_data);
|
||||
|
||||
trash_watcher_watch (backend->watcher);
|
||||
|
||||
return G_SOURCE_REMOVE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
rescan_func (gpointer user_data)
|
||||
{
|
||||
GVfsBackendTrash *backend = G_VFS_BACKEND_TRASH (user_data);
|
||||
|
||||
trash_watcher_rescan (backend->watcher);
|
||||
|
||||
return G_SOURCE_REMOVE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
ready_func (gpointer user_data)
|
||||
{
|
||||
return G_SOURCE_REMOVE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
is_root (const char *filename)
|
||||
{
|
||||
return (filename[0] == '/' && filename[1] == '\0');
|
||||
}
|
||||
|
||||
static GVfsMonitor *
|
||||
trash_backend_get_file_monitor (GVfsBackendTrash *backend,
|
||||
gboolean create)
|
||||
|
@ -57,7 +155,7 @@ trash_backend_get_file_monitor (GVfsBackendTrash *backend,
|
|||
* no possibility here for creating more than one new monitor.
|
||||
*/
|
||||
if (backend->dir_monitor == NULL)
|
||||
trash_watcher_watch (backend->watcher);
|
||||
trash_backend_worker_thread_queue (backend, watch_func);
|
||||
|
||||
backend->file_monitor = g_vfs_monitor_new (G_VFS_BACKEND (backend));
|
||||
}
|
||||
|
@ -78,7 +176,7 @@ trash_backend_get_dir_monitor (GVfsBackendTrash *backend,
|
|||
* no possibility here for creating more than one new monitor.
|
||||
*/
|
||||
if (backend->file_monitor == NULL)
|
||||
trash_watcher_watch (backend->watcher);
|
||||
trash_backend_worker_thread_queue (backend, watch_func);
|
||||
|
||||
backend->dir_monitor = g_vfs_monitor_new (G_VFS_BACKEND (backend));
|
||||
}
|
||||
|
@ -158,7 +256,6 @@ trash_backend_item_count_changed (gpointer user_data)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
static GFile *
|
||||
trash_backend_get_file (GVfsBackendTrash *backend,
|
||||
const char *filename,
|
||||
|
@ -171,6 +268,8 @@ trash_backend_get_file (GVfsBackendTrash *backend,
|
|||
TrashItem *item;
|
||||
GFile *file;
|
||||
|
||||
trash_backend_worker_thread_queue_and_wait (backend, rescan_func);
|
||||
|
||||
file = NULL;
|
||||
filename++;
|
||||
|
||||
|
@ -221,7 +320,7 @@ trash_backend_get_file (GVfsBackendTrash *backend,
|
|||
}
|
||||
|
||||
/* ======================= method implementations ======================= */
|
||||
static gboolean
|
||||
static void
|
||||
trash_backend_open_for_read (GVfsBackend *vfs_backend,
|
||||
GVfsJobOpenForRead *job,
|
||||
const char *filename)
|
||||
|
@ -229,7 +328,7 @@ trash_backend_open_for_read (GVfsBackend *vfs_backend,
|
|||
GVfsBackendTrash *backend = G_VFS_BACKEND_TRASH (vfs_backend);
|
||||
GError *error = NULL;
|
||||
|
||||
if (filename[1] == '\0')
|
||||
if (is_root (filename))
|
||||
g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_IS_DIRECTORY,
|
||||
_("Can’t open directory"));
|
||||
|
||||
|
@ -237,9 +336,6 @@ trash_backend_open_for_read (GVfsBackend *vfs_backend,
|
|||
{
|
||||
GFile *real;
|
||||
|
||||
if (!backend->file_monitor && !backend->dir_monitor)
|
||||
trash_watcher_rescan (backend->watcher);
|
||||
|
||||
real = trash_backend_get_file (backend, filename, NULL, NULL, &error);
|
||||
|
||||
if (real)
|
||||
|
@ -255,18 +351,16 @@ trash_backend_open_for_read (GVfsBackend *vfs_backend,
|
|||
g_vfs_job_open_for_read_set_can_seek (job, TRUE);
|
||||
g_vfs_job_succeeded (G_VFS_JOB (job));
|
||||
|
||||
return TRUE;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
|
||||
g_error_free (error);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
static void
|
||||
trash_backend_read (GVfsBackend *backend,
|
||||
GVfsJobRead *job,
|
||||
GVfsBackendHandle handle,
|
||||
|
@ -284,16 +378,14 @@ trash_backend_read (GVfsBackend *backend,
|
|||
g_vfs_job_read_set_size (job, bytes);
|
||||
g_vfs_job_succeeded (G_VFS_JOB (job));
|
||||
|
||||
return TRUE;
|
||||
return;
|
||||
}
|
||||
|
||||
g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
|
||||
g_error_free (error);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
static void
|
||||
trash_backend_seek_on_read (GVfsBackend *backend,
|
||||
GVfsJobSeekRead *job,
|
||||
GVfsBackendHandle handle,
|
||||
|
@ -307,13 +399,11 @@ trash_backend_seek_on_read (GVfsBackend *backend,
|
|||
g_vfs_job_seek_read_set_offset (job, g_seekable_tell (handle));
|
||||
g_vfs_job_succeeded (G_VFS_JOB (job));
|
||||
|
||||
return TRUE;
|
||||
return;
|
||||
}
|
||||
|
||||
g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
|
||||
g_error_free (error);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -343,7 +433,7 @@ trash_backend_query_info_on_read (GVfsBackend *backend,
|
|||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
static void
|
||||
trash_backend_close_read (GVfsBackend *backend,
|
||||
GVfsJobCloseRead *job,
|
||||
GVfsBackendHandle handle)
|
||||
|
@ -355,15 +445,13 @@ trash_backend_close_read (GVfsBackend *backend,
|
|||
g_vfs_job_succeeded (G_VFS_JOB (job));
|
||||
g_object_unref (handle);
|
||||
|
||||
return TRUE;
|
||||
return;
|
||||
}
|
||||
|
||||
g_object_unref (handle);
|
||||
|
||||
g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
|
||||
g_error_free (error);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
@ -388,7 +476,7 @@ trash_backend_schedule_thaw (GVfsBackendTrash *backend)
|
|||
backend);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
static void
|
||||
trash_backend_delete (GVfsBackend *vfs_backend,
|
||||
GVfsJobDelete *job,
|
||||
const char *filename)
|
||||
|
@ -397,7 +485,7 @@ trash_backend_delete (GVfsBackend *vfs_backend,
|
|||
GError *error = NULL;
|
||||
g_debug ("before job: %d\n", G_OBJECT(job)->ref_count);
|
||||
|
||||
if (filename[1] == '\0')
|
||||
if (is_root (filename))
|
||||
g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
|
||||
_("The trash folder may not be deleted"));
|
||||
else
|
||||
|
@ -406,9 +494,6 @@ trash_backend_delete (GVfsBackend *vfs_backend,
|
|||
TrashItem *item;
|
||||
GFile *real;
|
||||
|
||||
if (!backend->file_monitor && !backend->dir_monitor)
|
||||
trash_watcher_rescan (backend->watcher);
|
||||
|
||||
real = trash_backend_get_file (backend, filename,
|
||||
&item, &is_toplevel, &error);
|
||||
|
||||
|
@ -429,7 +514,7 @@ trash_backend_delete (GVfsBackend *vfs_backend,
|
|||
g_vfs_job_succeeded (G_VFS_JOB (job));
|
||||
trash_item_unref (item);
|
||||
|
||||
return TRUE;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -439,11 +524,9 @@ trash_backend_delete (GVfsBackend *vfs_backend,
|
|||
|
||||
g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
|
||||
g_error_free (error);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
static void
|
||||
trash_backend_pull (GVfsBackend *vfs_backend,
|
||||
GVfsJobPull *job,
|
||||
const gchar *source,
|
||||
|
@ -456,7 +539,7 @@ trash_backend_pull (GVfsBackend *vfs_backend,
|
|||
GVfsBackendTrash *backend = G_VFS_BACKEND_TRASH (vfs_backend);
|
||||
GError *error = NULL;
|
||||
|
||||
if (source[1] == '\0')
|
||||
if (is_root (source))
|
||||
g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
|
||||
_("The trash folder may not be deleted"));
|
||||
else
|
||||
|
@ -465,9 +548,6 @@ trash_backend_pull (GVfsBackend *vfs_backend,
|
|||
TrashItem *item;
|
||||
GFile *real;
|
||||
|
||||
if (!backend->file_monitor && !backend->dir_monitor)
|
||||
trash_watcher_rescan (backend->watcher);
|
||||
|
||||
real = trash_backend_get_file (backend, source, &item,
|
||||
&is_toplevel, &error);
|
||||
|
||||
|
@ -499,7 +579,7 @@ trash_backend_pull (GVfsBackend *vfs_backend,
|
|||
trash_item_unref (item);
|
||||
g_object_unref (real);
|
||||
|
||||
return TRUE;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -511,8 +591,6 @@ trash_backend_pull (GVfsBackend *vfs_backend,
|
|||
|
||||
g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
|
||||
g_error_free (error);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -591,6 +669,8 @@ trash_backend_enumerate_root (GVfsBackendTrash *backend,
|
|||
|
||||
g_vfs_job_succeeded (G_VFS_JOB (job));
|
||||
|
||||
trash_backend_worker_thread_queue_and_wait (backend, rescan_func);
|
||||
|
||||
items = trash_root_get_items (backend->root);
|
||||
|
||||
for (node = items; node; node = node->next)
|
||||
|
@ -670,7 +750,7 @@ trash_backend_enumerate_non_root (GVfsBackendTrash *backend,
|
|||
g_error_free (error);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
static void
|
||||
trash_backend_enumerate (GVfsBackend *vfs_backend,
|
||||
GVfsJobEnumerate *job,
|
||||
const char *filename,
|
||||
|
@ -681,18 +761,39 @@ trash_backend_enumerate (GVfsBackend *vfs_backend,
|
|||
|
||||
g_assert (filename[0] == '/');
|
||||
|
||||
trash_watcher_rescan (backend->watcher);
|
||||
|
||||
if (filename[1])
|
||||
if (!is_root (filename))
|
||||
trash_backend_enumerate_non_root (backend, job, filename,
|
||||
attribute_matcher, flags);
|
||||
else
|
||||
trash_backend_enumerate_root (backend, job, attribute_matcher, flags);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
static gpointer
|
||||
thread_func (gpointer user_data)
|
||||
{
|
||||
GVfsBackendTrash *backend = G_VFS_BACKEND_TRASH (user_data);
|
||||
|
||||
g_main_context_push_thread_default (backend->worker_context);
|
||||
backend->worker_loop = g_main_loop_new (backend->worker_context, FALSE);
|
||||
|
||||
backend->root = trash_root_new (trash_backend_item_created,
|
||||
trash_backend_item_deleted,
|
||||
trash_backend_item_count_changed,
|
||||
backend);
|
||||
backend->watcher = trash_watcher_new (backend->root);
|
||||
|
||||
g_main_loop_run (backend->worker_loop);
|
||||
|
||||
trash_watcher_free (backend->watcher);
|
||||
trash_root_free (backend->root);
|
||||
|
||||
g_main_context_pop_thread_default (backend->worker_context);
|
||||
g_main_loop_unref (backend->worker_loop);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
trash_backend_mount (GVfsBackend *vfs_backend,
|
||||
GVfsJobMount *job,
|
||||
GMountSpec *mount_spec,
|
||||
|
@ -703,18 +804,17 @@ trash_backend_mount (GVfsBackend *vfs_backend,
|
|||
|
||||
backend->file_monitor = NULL;
|
||||
backend->dir_monitor = NULL;
|
||||
backend->root = trash_root_new (trash_backend_item_created,
|
||||
trash_backend_item_deleted,
|
||||
trash_backend_item_count_changed,
|
||||
|
||||
backend->worker_context = g_main_context_new ();
|
||||
backend->worker_thread = g_thread_new ("Trash Worker Thread",
|
||||
thread_func,
|
||||
backend);
|
||||
backend->watcher = trash_watcher_new (backend->root);
|
||||
trash_backend_worker_thread_queue_and_wait (backend, ready_func);
|
||||
|
||||
g_vfs_job_succeeded (G_VFS_JOB (job));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
static void
|
||||
trash_backend_query_info (GVfsBackend *vfs_backend,
|
||||
GVfsJobQueryInfo *job,
|
||||
const char *filename,
|
||||
|
@ -726,10 +826,7 @@ trash_backend_query_info (GVfsBackend *vfs_backend,
|
|||
|
||||
g_assert (filename[0] == '/');
|
||||
|
||||
if (!backend->file_monitor && !backend->dir_monitor)
|
||||
trash_watcher_rescan (backend->watcher);
|
||||
|
||||
if (filename[1])
|
||||
if (!is_root (filename))
|
||||
{
|
||||
GError *error = NULL;
|
||||
gboolean is_toplevel;
|
||||
|
@ -758,7 +855,7 @@ trash_backend_query_info (GVfsBackend *vfs_backend,
|
|||
trash_item_unref (item);
|
||||
g_object_unref (real_info);
|
||||
|
||||
return TRUE;
|
||||
return;
|
||||
}
|
||||
|
||||
trash_item_unref (item);
|
||||
|
@ -772,6 +869,8 @@ trash_backend_query_info (GVfsBackend *vfs_backend,
|
|||
GIcon *icon;
|
||||
int n_items;
|
||||
|
||||
trash_backend_worker_thread_queue_and_wait (backend, rescan_func);
|
||||
|
||||
n_items = trash_root_get_n_items (backend->root);
|
||||
|
||||
g_file_info_set_file_type (info, G_FILE_TYPE_DIRECTORY);
|
||||
|
@ -792,8 +891,6 @@ trash_backend_query_info (GVfsBackend *vfs_backend,
|
|||
|
||||
g_vfs_job_succeeded (G_VFS_JOB (job));
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
@ -832,11 +929,16 @@ trash_backend_create_dir_monitor (GVfsBackend *vfs_backend,
|
|||
GVfsBackendTrash *backend = G_VFS_BACKEND_TRASH (vfs_backend);
|
||||
GVfsMonitor *monitor;
|
||||
|
||||
if (filename[1])
|
||||
monitor = g_vfs_monitor_new (vfs_backend);
|
||||
else
|
||||
monitor = trash_backend_get_dir_monitor (backend, TRUE);
|
||||
if (!is_root (filename))
|
||||
{
|
||||
g_vfs_job_failed (G_VFS_JOB (job),
|
||||
G_IO_ERROR,
|
||||
G_IO_ERROR_NOT_SUPPORTED,
|
||||
_("Operation not supported"));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
monitor = trash_backend_get_dir_monitor (backend, TRUE);
|
||||
g_vfs_job_create_monitor_set_monitor (job, monitor);
|
||||
g_vfs_job_succeeded (G_VFS_JOB (job));
|
||||
g_object_unref (monitor);
|
||||
|
@ -853,11 +955,16 @@ trash_backend_create_file_monitor (GVfsBackend *vfs_backend,
|
|||
GVfsBackendTrash *backend = G_VFS_BACKEND_TRASH (vfs_backend);
|
||||
GVfsMonitor *monitor;
|
||||
|
||||
if (filename[1])
|
||||
monitor = g_vfs_monitor_new (vfs_backend);
|
||||
else
|
||||
monitor = trash_backend_get_file_monitor (backend, TRUE);
|
||||
if (!is_root (filename))
|
||||
{
|
||||
g_vfs_job_failed (G_VFS_JOB (job),
|
||||
G_IO_ERROR,
|
||||
G_IO_ERROR_NOT_SUPPORTED,
|
||||
_("Operation not supported"));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
monitor = trash_backend_get_file_monitor (backend, TRUE);
|
||||
g_vfs_job_create_monitor_set_monitor (job, monitor);
|
||||
g_vfs_job_succeeded (G_VFS_JOB (job));
|
||||
g_object_unref (monitor);
|
||||
|
@ -880,9 +987,6 @@ trash_backend_finalize (GObject *object)
|
|||
if (backend->dir_monitor)
|
||||
g_object_unref (backend->dir_monitor);
|
||||
backend->dir_monitor = NULL;
|
||||
|
||||
trash_watcher_free (backend->watcher);
|
||||
trash_root_free (backend->root);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -910,17 +1014,17 @@ g_vfs_backend_trash_class_init (GVfsBackendTrashClass *class)
|
|||
|
||||
gobject_class->finalize = trash_backend_finalize;
|
||||
|
||||
backend_class->try_mount = trash_backend_mount;
|
||||
backend_class->try_open_for_read = trash_backend_open_for_read;
|
||||
backend_class->try_read = trash_backend_read;
|
||||
backend_class->try_seek_on_read = trash_backend_seek_on_read;
|
||||
backend_class->mount = trash_backend_mount;
|
||||
backend_class->open_for_read = trash_backend_open_for_read;
|
||||
backend_class->read = trash_backend_read;
|
||||
backend_class->seek_on_read = trash_backend_seek_on_read;
|
||||
backend_class->query_info_on_read = trash_backend_query_info_on_read;
|
||||
backend_class->try_close_read = trash_backend_close_read;
|
||||
backend_class->try_query_info = trash_backend_query_info;
|
||||
backend_class->close_read = trash_backend_close_read;
|
||||
backend_class->query_info = trash_backend_query_info;
|
||||
backend_class->try_query_fs_info = trash_backend_query_fs_info;
|
||||
backend_class->try_enumerate = trash_backend_enumerate;
|
||||
backend_class->try_delete = trash_backend_delete;
|
||||
backend_class->try_pull = trash_backend_pull;
|
||||
backend_class->enumerate = trash_backend_enumerate;
|
||||
backend_class->delete = trash_backend_delete;
|
||||
backend_class->pull = trash_backend_pull;
|
||||
backend_class->try_create_dir_monitor = trash_backend_create_dir_monitor;
|
||||
backend_class->try_create_file_monitor = trash_backend_create_file_monitor;
|
||||
}
|
||||
|
|
|
@ -145,6 +145,9 @@ g_vfs_daemon_finalize (GObject *object)
|
|||
|
||||
daemon = G_VFS_DAEMON (object);
|
||||
|
||||
if (daemon->thread_pool != NULL)
|
||||
g_thread_pool_free (daemon->thread_pool, TRUE, FALSE);
|
||||
|
||||
/* There may be some jobs outstanding if we've been force unmounted. */
|
||||
if (daemon->jobs)
|
||||
g_warning ("daemon->jobs != NULL when finalizing daemon!");
|
||||
|
|
|
@ -435,6 +435,7 @@ create_root_file_info (GVfsBackendFtp *ftp)
|
|||
|
||||
g_file_info_set_content_type (info, "inode/directory");
|
||||
g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE, "inode/directory");
|
||||
g_file_info_set_is_symlink (info, FALSE);
|
||||
|
||||
icon = g_themed_icon_new ("folder-remote");
|
||||
g_file_info_set_icon (info, icon);
|
||||
|
@ -670,6 +671,8 @@ g_vfs_ftp_dir_cache_funcs_process (GInputStream * stream,
|
|||
g_file_info_set_is_symlink (info, TRUE);
|
||||
g_free (link);
|
||||
}
|
||||
else
|
||||
g_file_info_set_is_symlink (info, FALSE);
|
||||
|
||||
g_file_info_set_size (info, g_ascii_strtoull (result.fe_size, NULL, 10));
|
||||
|
||||
|
|
|
@ -79,7 +79,7 @@ on_name_acquired (GDBusConnection *connection,
|
|||
char *argv2[6];
|
||||
|
||||
/* Use the old .gvfs location as fallback, not .cache/gvfs */
|
||||
if (g_get_user_runtime_dir() == g_get_user_cache_dir ())
|
||||
if (g_strcmp0 (g_get_user_runtime_dir(), g_get_user_cache_dir ()) == 0)
|
||||
fuse_path = g_build_filename (g_get_home_dir(), ".gvfs", NULL);
|
||||
else
|
||||
fuse_path = g_build_filename (g_get_user_runtime_dir (), "gvfs", NULL);
|
||||
|
|
|
@ -739,7 +739,7 @@ handle_register_mount (GVfsDBusMountTracker *object,
|
|||
if (arg_user_visible)
|
||||
{
|
||||
/* Use the old .gvfs location as fallback, not .cache/gvfs */
|
||||
if (g_get_user_runtime_dir() == g_get_user_cache_dir ())
|
||||
if (g_strcmp0 (g_get_user_runtime_dir(), g_get_user_cache_dir ()) == 0)
|
||||
mount->fuse_mountpoint = g_build_filename (g_get_home_dir(), ".gvfs", mount->stable_name, NULL);
|
||||
else
|
||||
mount->fuse_mountpoint = g_build_filename (g_get_user_runtime_dir(), "gvfs", mount->stable_name, NULL);
|
||||
|
|
|
@ -163,10 +163,27 @@ trash_dir_changed (GFileMonitor *monitor,
|
|||
TrashDir *dir = user_data;
|
||||
|
||||
if (event_type == G_FILE_MONITOR_EVENT_CREATED)
|
||||
{
|
||||
dir->items = g_slist_insert_sorted (dir->items,
|
||||
g_object_ref (file),
|
||||
(GCompareFunc) compare_basename);
|
||||
trash_root_add_item (dir->root, file, dir->topdir, dir->is_homedir);
|
||||
}
|
||||
|
||||
else if (event_type == G_FILE_MONITOR_EVENT_DELETED)
|
||||
{
|
||||
GSList *node;
|
||||
|
||||
node = g_slist_find_custom (dir->items,
|
||||
file,
|
||||
(GCompareFunc) compare_basename);
|
||||
if (node)
|
||||
{
|
||||
g_object_unref (node->data);
|
||||
dir->items = g_slist_delete_link (dir->items, node);
|
||||
}
|
||||
trash_root_remove_item (dir->root, file, dir->is_homedir);
|
||||
}
|
||||
|
||||
else if (event_type == G_FILE_MONITOR_EVENT_PRE_UNMOUNT ||
|
||||
event_type == G_FILE_MONITOR_EVENT_UNMOUNTED ||
|
||||
|
@ -356,8 +373,6 @@ trash_dir_rescan (TrashDir *dir)
|
|||
trash_dir_empty (dir);
|
||||
}
|
||||
|
||||
static trash_dir_ui_hook ui_hook;
|
||||
|
||||
TrashDir *
|
||||
trash_dir_new (TrashRoot *root,
|
||||
gboolean watching,
|
||||
|
@ -394,20 +409,11 @@ trash_dir_new (TrashRoot *root,
|
|||
else
|
||||
dir->watch = NULL;
|
||||
|
||||
if (ui_hook)
|
||||
ui_hook (dir, dir->directory);
|
||||
|
||||
g_free (rel);
|
||||
|
||||
return dir;
|
||||
}
|
||||
|
||||
void
|
||||
trash_dir_set_ui_hook (trash_dir_ui_hook _ui_hook)
|
||||
{
|
||||
ui_hook = _ui_hook;
|
||||
}
|
||||
|
||||
void
|
||||
trash_dir_free (TrashDir *dir)
|
||||
{
|
||||
|
|
|
@ -15,9 +15,6 @@
|
|||
|
||||
typedef struct OPAQUE_TYPE__TrashDir TrashDir;
|
||||
|
||||
typedef void (*trash_dir_ui_hook) (TrashDir *dir,
|
||||
GFile *directory);
|
||||
|
||||
TrashDir *trash_dir_new (TrashRoot *root,
|
||||
gboolean watching,
|
||||
gboolean is_homedir,
|
||||
|
@ -31,6 +28,4 @@ void trash_dir_watch (TrashDir *dir);
|
|||
void trash_dir_unwatch (TrashDir *dir);
|
||||
void trash_dir_rescan (TrashDir *dir);
|
||||
|
||||
void trash_dir_set_ui_hook (trash_dir_ui_hook ui_hook);
|
||||
|
||||
#endif /* _trashdir_h_ */
|
||||
|
|
|
@ -29,7 +29,6 @@ struct OPAQUE_TYPE__TrashRoot
|
|||
gpointer user_data;
|
||||
|
||||
GHashTable *item_table;
|
||||
gboolean is_homedir;
|
||||
int old_size;
|
||||
};
|
||||
|
||||
|
|
|
@ -84,7 +84,9 @@ decide_watch_type (GUnixMountEntry *mount,
|
|||
|
||||
fs_type = g_unix_mount_get_fs_type (mount);
|
||||
|
||||
if (strcmp (fs_type, "nfs") == 0)
|
||||
if (g_strcmp0 (fs_type, "nfs") == 0 ||
|
||||
g_strcmp0 (fs_type, "nfs4") == 0 ||
|
||||
g_strcmp0 (fs_type, "cifs") == 0)
|
||||
return TRASH_WATCHER_WATCH;
|
||||
else
|
||||
return TRASH_WATCHER_TRUSTED;
|
||||
|
|
14
meson.build
14
meson.build
|
@ -1,9 +1,10 @@
|
|||
project(
|
||||
'gvfs', 'c',
|
||||
version: '1.50.3',
|
||||
version: '1.52.0',
|
||||
license: 'LGPL2+',
|
||||
default_options: 'buildtype=debugoptimized',
|
||||
meson_version: '>= 0.56.0',
|
||||
meson_version: '>= 0.57.0',
|
||||
default_options: ['warning_level=1']
|
||||
)
|
||||
|
||||
gvfs_name = meson.project_name()
|
||||
|
@ -440,7 +441,7 @@ if enable_mtp
|
|||
assert(enable_gudev, 'libmtp requested but gudev is required')
|
||||
|
||||
libmtp_dep = dependency('libmtp', version: '>= 1.1.12')
|
||||
foreach version: ['1.1.15']
|
||||
foreach version: ['1.1.15', '1.1.21']
|
||||
config_h.set10('HAVE_LIBMTP_' + version.underscorify(), libmtp_dep.version().version_compare('>= ' + version))
|
||||
endforeach
|
||||
endif
|
||||
|
@ -481,10 +482,9 @@ configure_file(
|
|||
configuration: config_h,
|
||||
)
|
||||
|
||||
meson.add_install_script(
|
||||
'meson_post_install.py',
|
||||
gio_schemasdir,
|
||||
gio_giomoduledir,
|
||||
gnome.post_install(
|
||||
glib_compile_schemas: true,
|
||||
gio_querymodules: gio_giomoduledir,
|
||||
)
|
||||
|
||||
summary({
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
if not os.environ.get('DESTDIR'):
|
||||
print('Compiling gsettings schemas...')
|
||||
subprocess.call(['glib-compile-schemas', sys.argv[1]])
|
||||
|
||||
print('GIO module cache creation...')
|
||||
subprocess.call(['gio-querymodules', sys.argv[2]])
|
|
@ -331,6 +331,7 @@ gudev_coldplug_cameras (GGPhoto2VolumeMonitor *monitor)
|
|||
if (g_udev_device_has_property (d, "ID_GPHOTO2"))
|
||||
gudev_add_camera (monitor, d, FALSE);
|
||||
}
|
||||
g_list_free_full (usb_devices, g_object_unref);
|
||||
}
|
||||
|
||||
static GObject *
|
||||
|
|
|
@ -568,11 +568,9 @@ unmount_operation_is_stop (GMountOperation *op)
|
|||
}
|
||||
|
||||
static void
|
||||
umount_completed (GObject *object,
|
||||
GParamSpec *pspec,
|
||||
gpointer user_data)
|
||||
umount_completed (gpointer user_data)
|
||||
{
|
||||
GTask *task = G_TASK (object);
|
||||
GTask *task = G_TASK (user_data);
|
||||
UnmountData *data = g_task_get_task_data (task);
|
||||
|
||||
if (data->mount_operation &&
|
||||
|
@ -813,7 +811,15 @@ lock_cb (GObject *source_object,
|
|||
&error))
|
||||
g_task_return_error (task, error);
|
||||
else
|
||||
{
|
||||
/* Call the unmount_completed function explicitly here as it is too
|
||||
* late to emit show-unmount-progress signal from the notify::completed
|
||||
* callback.
|
||||
*/
|
||||
umount_completed (task);
|
||||
|
||||
g_task_return_boolean (task, TRUE);
|
||||
}
|
||||
|
||||
g_object_unref (task);
|
||||
}
|
||||
|
@ -859,6 +865,12 @@ unmount_cb (GObject *source_object,
|
|||
return;
|
||||
}
|
||||
|
||||
/* Call the unmount_completed function explicitly here as it is too
|
||||
* late to emit show-unmount-progress signal from the notify::completed
|
||||
* callback.
|
||||
*/
|
||||
umount_completed (task);
|
||||
|
||||
g_task_return_boolean (task, TRUE);
|
||||
g_object_unref (task);
|
||||
}
|
||||
|
@ -893,6 +905,13 @@ umount_command_cb (GObject *source_object,
|
|||
if (WIFEXITED (exit_status) && WEXITSTATUS (exit_status) == 0)
|
||||
{
|
||||
gvfs_udisks2_volume_monitor_update (mount->monitor);
|
||||
|
||||
/* Call the unmount_completed function explicitly here as it is too
|
||||
* late to emit show-unmount-progress signal from the notify::completed
|
||||
* callback.
|
||||
*/
|
||||
umount_completed (task);
|
||||
|
||||
g_task_return_boolean (task, TRUE);
|
||||
g_object_unref (task);
|
||||
goto out;
|
||||
|
@ -928,7 +947,7 @@ unmount_do (GTask *task,
|
|||
{
|
||||
gvfs_udisks2_unmount_notify_start (data->mount_operation,
|
||||
G_MOUNT (g_task_get_source_object (task)), NULL);
|
||||
g_signal_connect (task, "notify::completed", G_CALLBACK (umount_completed), NULL);
|
||||
g_signal_connect_swapped (task, "notify::completed", G_CALLBACK (umount_completed), task);
|
||||
}
|
||||
|
||||
/* Use the umount(8) command if there is no block device / filesystem */
|
||||
|
|
|
@ -709,6 +709,7 @@ unmount_notify_data_free (gpointer user_data)
|
|||
UnmountNotifyData *data = user_data;
|
||||
|
||||
unmount_notify_stop_timer (data);
|
||||
g_signal_handlers_disconnect_by_data (data->op, data);
|
||||
|
||||
g_clear_object (&data->mount);
|
||||
g_clear_object (&data->drive);
|
||||
|
@ -765,7 +766,7 @@ gvfs_udisks2_unmount_notify_stop (GMountOperation *op,
|
|||
gboolean unmount_failed)
|
||||
{
|
||||
gchar *message, *name;
|
||||
UnmountNotifyData *data = g_object_get_data (G_OBJECT (op), "x-udisks2-notify-data");
|
||||
UnmountNotifyData *data = g_object_steal_data (G_OBJECT (op), "x-udisks2-notify-data");
|
||||
|
||||
if (data == NULL)
|
||||
return;
|
||||
|
@ -773,7 +774,10 @@ gvfs_udisks2_unmount_notify_stop (GMountOperation *op,
|
|||
unmount_notify_stop_timer (data);
|
||||
|
||||
if (unmount_failed)
|
||||
{
|
||||
unmount_notify_data_free (data);
|
||||
return;
|
||||
}
|
||||
|
||||
name = unmount_notify_get_name (data);
|
||||
if (data->mount)
|
||||
|
@ -784,6 +788,7 @@ gvfs_udisks2_unmount_notify_stop (GMountOperation *op,
|
|||
g_signal_emit_by_name (data->op, "show-unmount-progress",
|
||||
message, 0, 0);
|
||||
|
||||
unmount_notify_data_free (data);
|
||||
g_free (message);
|
||||
g_free (name);
|
||||
}
|
||||
|
|
|
@ -442,6 +442,9 @@ get_udisks_client_sync (GError **error)
|
|||
if (g_once_init_enter (&initialized))
|
||||
{
|
||||
_client = udisks_client_new_sync (NULL, &_error);
|
||||
if (_error != NULL)
|
||||
g_warning ("Failed to connect to UDisks: %s", _error->message);
|
||||
|
||||
g_once_init_leave (&initialized, 1);
|
||||
}
|
||||
|
||||
|
|
2
po/bg.po
2
po/bg.po
|
@ -2026,7 +2026,7 @@ msgstr "%s: %s"
|
|||
#: daemon/main.c:189 metadata/meta-daemon.c:488
|
||||
#, c-format
|
||||
msgid "Try “%s --help” for more information."
|
||||
msgstr "За повече информация използвайте: „%s --help“."
|
||||
msgstr "За повече информация изпълнете „%s --help“."
|
||||
|
||||
#: daemon/mount.c:783
|
||||
#, c-format
|
||||
|
|
228
po/oc.po
228
po/oc.po
|
@ -9,8 +9,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: po_gvfs-oc\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gvfs/issues\n"
|
||||
"POT-Creation-Date: 2021-05-13 14:35+0000\n"
|
||||
"PO-Revision-Date: 2021-12-02 15:46+0100\n"
|
||||
"POT-Creation-Date: 2023-01-25 20:37+0000\n"
|
||||
"PO-Revision-Date: 2023-09-07 18:55+0200\n"
|
||||
"Last-Translator: Quentin PAGÈS\n"
|
||||
"Language-Team: Tot En Òc\n"
|
||||
"Language: oc\n"
|
||||
|
@ -18,7 +18,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Poedit 3.0\n"
|
||||
"X-Generator: Poedit 3.3.2\n"
|
||||
"X-Launchpad-Export-Date: 2015-05-20 16:56+0000\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
|
@ -97,7 +97,7 @@ msgstr "Fin de flux"
|
|||
#: client/gdaemonfileinputstream.c:1418 client/gdaemonfileoutputstream.c:553
|
||||
#: client/gdaemonfileoutputstream.c:731 client/gdaemonfileoutputstream.c:926
|
||||
#: client/gdaemonfileoutputstream.c:1092 client/gdaemonfileoutputstream.c:1274
|
||||
#: daemon/gvfsbackendsftp.c:5531 daemon/gvfsbackendsmb.c:1122
|
||||
#: daemon/gvfsbackendsftp.c:5531 daemon/gvfsbackendsmb.c:1108
|
||||
#: daemon/gvfsbackendtest.c:92 daemon/gvfsbackendtest.c:125
|
||||
#: daemon/gvfsbackendtest.c:188 daemon/gvfschannel.c:347
|
||||
#: daemon/gvfsftptask.c:224
|
||||
|
@ -127,7 +127,7 @@ msgstr ""
|
|||
#: daemon/gvfsafpvolume.c:2402 daemon/gvfsbackendadmin.c:150
|
||||
#: daemon/gvfsbackendafc.c:166 daemon/gvfsbackendgoogle.c:256
|
||||
#: daemon/gvfsbackendsftp.c:346 daemon/gvfsbackendsftp.c:1125
|
||||
#: daemon/gvfsbackendsftp.c:2215 daemon/gvfsftptask.c:437
|
||||
#: daemon/gvfsbackendsftp.c:2215 daemon/gvfsftptask.c:438 daemon/mount.c:437
|
||||
#, c-format
|
||||
msgid "Permission denied"
|
||||
msgstr "Autorizacion refusada"
|
||||
|
@ -250,7 +250,7 @@ msgid "Got EOS"
|
|||
msgstr "EOS (fin de flux) obtengut"
|
||||
|
||||
#: daemon/gvfsafpconnection.c:1060 daemon/gvfsafpconnection.c:1102
|
||||
#: daemon/gvfsftptask.c:397
|
||||
#: daemon/gvfsftptask.c:398
|
||||
msgid "Host closed connection"
|
||||
msgstr "L'òste a tampat la connexion"
|
||||
|
||||
|
@ -407,16 +407,16 @@ msgstr "Impossible de cargar %s sus %s"
|
|||
#: daemon/gvfsbackendmtp.c:2240 daemon/gvfsbackendmtp.c:2307
|
||||
#: daemon/gvfsbackendmtp.c:2669 daemon/gvfsbackendmtp.c:2948
|
||||
#: daemon/gvfsbackendmtp.c:3091 daemon/gvfsbackendnetwork.c:697
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1119 daemon/gvfsbackendsmbbrowse.c:1186
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1368 daemon/gvfsbackendsmbbrowse.c:1441
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1125 daemon/gvfsbackendsmbbrowse.c:1192
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1374 daemon/gvfsbackendsmbbrowse.c:1447
|
||||
#, c-format
|
||||
msgid "File doesn’t exist"
|
||||
msgstr "Lo fichièr existís pas"
|
||||
|
||||
#: daemon/gvfsafpvolume.c:402 daemon/gvfsafpvolume.c:2410
|
||||
#: daemon/gvfsbackendafp.c:289 daemon/gvfsbackendafp.c:492
|
||||
#: daemon/gvfsbackendafp.c:1341 daemon/gvfsbackenddav.c:2410
|
||||
#: daemon/gvfsbackenddav.c:3073 daemon/gvfsbackenddav.c:3353
|
||||
#: daemon/gvfsbackendafp.c:1341 daemon/gvfsbackenddav.c:2799
|
||||
#: daemon/gvfsbackenddav.c:3754 daemon/gvfsbackenddav.c:4001
|
||||
#: daemon/gvfsbackendftp.c:832 daemon/gvfsbackendnfs.c:2480
|
||||
#: daemon/gvfsbackendsftp.c:2725 daemon/gvfsbackendsftp.c:3500
|
||||
#: daemon/gvfsbackendsftp.c:3948 daemon/gvfsbackendsftp.c:5020
|
||||
|
@ -433,7 +433,7 @@ msgid "Target file is open"
|
|||
msgstr "Lo fichièr cibla es dobèrt"
|
||||
|
||||
#: daemon/gvfsafpvolume.c:663 daemon/gvfsbackendafc.c:154
|
||||
#: daemon/gvfsbackendburn.c:421 daemon/gvfsbackenddav.c:2800
|
||||
#: daemon/gvfsbackendburn.c:421 daemon/gvfsbackenddav.c:3307
|
||||
#: daemon/gvfsbackendgoogle.c:2497 daemon/gvfsbackendsftp.c:2209
|
||||
msgid "Directory not empty"
|
||||
msgstr "Lo repertòri es pas void"
|
||||
|
@ -462,10 +462,10 @@ msgstr "Pas pro de plaça sul volum"
|
|||
|
||||
#: daemon/gvfsafpvolume.c:811 daemon/gvfsafpvolume.c:1355
|
||||
#: daemon/gvfsafpvolume.c:1507 daemon/gvfsbackendafp.c:296
|
||||
#: daemon/gvfsbackendafp.c:499 daemon/gvfsbackenddav.c:2465
|
||||
#: daemon/gvfsbackenddav.c:2761 daemon/gvfsbackenddav.c:2869
|
||||
#: daemon/gvfsbackenddav.c:3006 daemon/gvfsbackenddav.c:3082
|
||||
#: daemon/gvfsbackenddav.c:3120 daemon/gvfsbackenddav.c:3344
|
||||
#: daemon/gvfsbackendafp.c:499 daemon/gvfsbackenddav.c:2870
|
||||
#: daemon/gvfsbackenddav.c:3224 daemon/gvfsbackenddav.c:3380
|
||||
#: daemon/gvfsbackenddav.c:3486 daemon/gvfsbackenddav.c:3720
|
||||
#: daemon/gvfsbackenddav.c:3764 daemon/gvfsbackenddav.c:3991
|
||||
#: daemon/gvfsbackendftp.c:811 daemon/gvfsbackendftp.c:999
|
||||
#: daemon/gvfsbackendftp.c:1509 daemon/gvfsbackendftp.c:1576
|
||||
#: daemon/gvfsbackendgoogle.c:1703 daemon/gvfsbackendgoogle.c:1780
|
||||
|
@ -473,7 +473,7 @@ msgstr "Pas pro de plaça sul volum"
|
|||
#: daemon/gvfsbackendgoogle.c:2757 daemon/gvfsbackendgoogle.c:3204
|
||||
#: daemon/gvfsbackendgoogle.c:3869 daemon/gvfsbackendmtp.c:1650
|
||||
#: daemon/gvfsbackendmtp.c:1693 daemon/gvfsbackendnfs.c:2490
|
||||
#: daemon/gvfsbackendsftp.c:5029 daemon/gvfsbackendsmb.c:2111
|
||||
#: daemon/gvfsbackendsftp.c:5029 daemon/gvfsbackendsmb.c:2097
|
||||
msgid "Target file already exists"
|
||||
msgstr "Lo fichièr cibla existís ja"
|
||||
|
||||
|
@ -586,8 +586,8 @@ msgstr "Lo fichièr es pas dobèrt per un accès en lectura"
|
|||
#: daemon/gvfsbackendadmin.c:104 daemon/gvfsbackendadmin.c:871
|
||||
#: daemon/gvfsbackendafc.c:2361 daemon/gvfsbackendafp.c:1781
|
||||
#: daemon/gvfsbackendburn.c:829 daemon/gvfsbackendburn.c:951
|
||||
#: daemon/gvfsbackendcomputer.c:812 daemon/gvfsbackenddav.c:3427
|
||||
#: daemon/gvfsbackenddav.c:3459 daemon/gvfsbackenddav.c:3487
|
||||
#: daemon/gvfsbackendcomputer.c:812 daemon/gvfsbackenddav.c:4083
|
||||
#: daemon/gvfsbackenddav.c:4115 daemon/gvfsbackenddav.c:4143
|
||||
#: daemon/gvfsbackendftp.c:1209 daemon/gvfsbackendftp.c:1257
|
||||
#: daemon/gvfsbackendftp.c:1278 daemon/gvfsbackendftp.c:1624
|
||||
#: daemon/gvfsbackendgoogle.c:1590 daemon/gvfsbackendgoogle.c:1623
|
||||
|
@ -617,7 +617,7 @@ msgstr "Lo fichièr es pas dobèrt per un accès en lectura"
|
|||
#: daemon/gvfsbackendsftp.c:6259 daemon/gvfsbackendsftp.c:6285
|
||||
#: daemon/gvfsbackendsftp.c:6293 daemon/gvfsbackendsftp.c:6780
|
||||
#: daemon/gvfsbackendsftp.c:6842 daemon/gvfsbackendsftp.c:6850
|
||||
#: daemon/gvfsbackendsmb.c:1714 daemon/gvfsftptask.c:429
|
||||
#: daemon/gvfsbackendsmb.c:1700 daemon/gvfsftptask.c:430
|
||||
#: daemon/gvfsjobcloseread.c:113 daemon/gvfsjobclosewrite.c:121
|
||||
#: daemon/gvfsjobcopy.c:121 daemon/gvfsjobcreatemonitor.c:143
|
||||
#: daemon/gvfsjobcreatemonitor.c:154 daemon/gvfsjobcreatemonitor.c:177
|
||||
|
@ -641,9 +641,9 @@ msgid "Operation not supported"
|
|||
msgstr "Operacion pas presa en carga"
|
||||
|
||||
#: daemon/gvfsbackendadmin.c:999 daemon/gvfsbackendarchive.c:639
|
||||
#: daemon/gvfsbackendarchive.c:668 daemon/gvfsbackenddav.c:1903
|
||||
#: daemon/gvfsbackendgoogle.c:2943 daemon/gvfsbackendhttp.c:256
|
||||
#: daemon/gvfsbackendsmb.c:596
|
||||
#: daemon/gvfsbackendarchive.c:668 daemon/gvfsbackenddav.c:2356
|
||||
#: daemon/gvfsbackendgoogle.c:2943 daemon/gvfsbackendhttp.c:303
|
||||
#: daemon/gvfsbackendsmb.c:582
|
||||
msgid "Invalid mount spec"
|
||||
msgstr "Especificacion de montatge invalida"
|
||||
|
||||
|
@ -722,7 +722,7 @@ msgstr "Error libimobiledevice pas gerida (%d)"
|
|||
msgid "Try again"
|
||||
msgstr "Tornar ensajar"
|
||||
|
||||
#: daemon/gvfsbackendafc.c:394 daemon/gvfsbackend.c:1025
|
||||
#: daemon/gvfsbackendafc.c:394 daemon/gvfsbackend.c:1024
|
||||
#: monitor/udisks2/gvfsudisks2mount.c:750
|
||||
msgid "Cancel"
|
||||
msgstr "Anullar"
|
||||
|
@ -802,27 +802,27 @@ msgstr ""
|
|||
#: daemon/gvfsbackendcomputer.c:657 daemon/gvfsbackendgoogle.c:3577
|
||||
#: daemon/gvfsbackendgphoto2.c:1548 daemon/gvfsbackendmtp.c:2329
|
||||
#: daemon/gvfsbackendnfs.c:356 daemon/gvfsbackendrecent.c:126
|
||||
#: daemon/gvfsbackendsmb.c:686 daemon/gvfsbackendtrash.c:234
|
||||
#: daemon/gvfsbackendsmb.c:672 daemon/gvfsbackendtrash.c:234
|
||||
msgid "Can’t open directory"
|
||||
msgstr "Impossible de dobrir lo repertòri"
|
||||
|
||||
#: daemon/gvfsbackendafc.c:1273 daemon/gvfsbackendafc.c:2528
|
||||
#: daemon/gvfsbackendafp.c:1270 daemon/gvfsbackendafp.c:1359
|
||||
#: daemon/gvfsbackenddav.c:2905 daemon/gvfsbackendftp.c:1461
|
||||
#: daemon/gvfsbackenddav.c:3661 daemon/gvfsbackendftp.c:1461
|
||||
#: daemon/gvfsbackendsftp.c:3722 daemon/gvfsbackendsftp.c:4009
|
||||
msgid "Backups not supported"
|
||||
msgstr "Los salvamments son pas preses en carga pel moment"
|
||||
|
||||
#: daemon/gvfsbackendafc.c:1435 daemon/gvfsbackendsmb.c:739
|
||||
#: daemon/gvfsbackendsmb.c:1218
|
||||
#: daemon/gvfsbackendafc.c:1435 daemon/gvfsbackendsmb.c:725
|
||||
#: daemon/gvfsbackendsmb.c:1204
|
||||
msgid "Unsupported seek type"
|
||||
msgstr "Tipe « seek » pas pres en carga"
|
||||
|
||||
#: daemon/gvfsbackendafpbrowse.c:208 daemon/gvfsbackendcomputer.c:958
|
||||
#: daemon/gvfsbackendcomputer.c:1053 daemon/gvfsbackendcomputer.c:1159
|
||||
#: daemon/gvfsbackendcomputer.c:1249 daemon/gvfsbackendcomputer.c:1322
|
||||
#: daemon/gvfsbackendcomputer.c:1391 daemon/gvfsbackendsmbbrowse.c:1114
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1160
|
||||
#: daemon/gvfsbackendcomputer.c:1391 daemon/gvfsbackendsmbbrowse.c:1120
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1166
|
||||
msgid "Not a mountable file"
|
||||
msgstr "Es pas un fichièr que pòt èsser montat"
|
||||
|
||||
|
@ -839,8 +839,8 @@ msgstr "Es pas un fichièr que pòt èsser montat"
|
|||
#. Translators: This is "<sharename> on <servername>" and is used as name for an SMB share
|
||||
#: daemon/gvfsbackendafpbrowse.c:446 daemon/gvfsbackendafp.c:2105
|
||||
#: daemon/gvfsbackendftp.c:681 daemon/gvfsbackendnfs.c:290
|
||||
#: daemon/gvfsbackendsftp.c:2070 daemon/gvfsbackendsmb.c:455
|
||||
#: daemon/gvfsbackendsmb.c:1390
|
||||
#: daemon/gvfsbackendsftp.c:2070 daemon/gvfsbackendsmb.c:442
|
||||
#: daemon/gvfsbackendsmb.c:1376
|
||||
#, c-format
|
||||
msgid "%s on %s"
|
||||
msgstr "%s sus %s"
|
||||
|
@ -862,7 +862,7 @@ msgid "Apple Filing Protocol Service"
|
|||
msgstr "Servici de protocòl de partiment de fichièrs d'Apple"
|
||||
|
||||
#: daemon/gvfsbackendafp.c:286 daemon/gvfsbackendburn.c:877
|
||||
#: daemon/gvfsbackenddav.c:3068 daemon/gvfsbackendftp.c:1568
|
||||
#: daemon/gvfsbackenddav.c:3749 daemon/gvfsbackendftp.c:1568
|
||||
#: daemon/gvfsbackendgoogle.c:1752 daemon/gvfsbackendgoogle.c:2095
|
||||
#: daemon/gvfsbackendgoogle.c:3141
|
||||
#, fuzzy
|
||||
|
@ -871,7 +871,7 @@ msgid "Can’t copy directory over directory"
|
|||
msgstr "Impossible d'espotir un repertòri amb un autre repertòri"
|
||||
|
||||
#: daemon/gvfsbackendafp.c:305 daemon/gvfsbackendburn.c:893
|
||||
#: daemon/gvfsbackenddav.c:3097 daemon/gvfsbackendftp.c:1591
|
||||
#: daemon/gvfsbackenddav.c:3784 daemon/gvfsbackendftp.c:1591
|
||||
#: daemon/gvfsbackendgoogle.c:1814 daemon/gvfsbackendgoogle.c:3168
|
||||
#: daemon/gvfsbackendgoogle.c:3216 daemon/gvfsbackendmtp.c:1641
|
||||
#: daemon/gvfsbackendmtp.c:1656
|
||||
|
@ -880,9 +880,9 @@ msgstr "Impossible d'espotir un repertòri amb un autre repertòri"
|
|||
msgid "Can’t recursively copy directory"
|
||||
msgstr "Impossible de copiar recursivament un repertòri"
|
||||
|
||||
#: daemon/gvfsbackendafp.c:489 daemon/gvfsbackenddav.c:2945
|
||||
#: daemon/gvfsbackendafp.c:489 daemon/gvfsbackenddav.c:3562
|
||||
#: daemon/gvfsbackendgoogle.c:2209 daemon/gvfsbackendnfs.c:2474
|
||||
#: daemon/gvfsbackendsftp.c:5015 daemon/gvfsbackendsmb.c:2100
|
||||
#: daemon/gvfsbackendsftp.c:5015 daemon/gvfsbackendsmb.c:2086
|
||||
#, fuzzy
|
||||
#| msgid "Can't move directory over directory"
|
||||
msgid "Can’t move directory over directory"
|
||||
|
@ -893,9 +893,9 @@ msgstr "Impossible de desplaçar un repertòri sus un repertòri de meteis nom"
|
|||
msgid "Unable to create temporary file (%s)"
|
||||
msgstr "Impossible de crear lo fichièr temporari (%s)"
|
||||
|
||||
#: daemon/gvfsbackendafp.c:1348 daemon/gvfsbackenddav.c:2546
|
||||
#: daemon/gvfsbackendafp.c:1348 daemon/gvfsbackenddav.c:2977
|
||||
#: daemon/gvfsbackendnfs.c:1177 daemon/gvfsbackendsftp.c:3963
|
||||
#: daemon/gvfsbackendsmb.c:1091
|
||||
#: daemon/gvfsbackendsmb.c:1077
|
||||
msgid "The file was externally modified"
|
||||
msgstr "Lo fichièr es estat modificat d'un biais extèrne"
|
||||
|
||||
|
@ -958,10 +958,8 @@ msgstr "Aqueste fichièr o aqueste repertòri existís pas"
|
|||
#: daemon/gvfsbackendburn.c:455 daemon/gvfsbackendburn.c:905
|
||||
#: daemon/gvfsbackendgoogle.c:1760 daemon/gvfsbackendgoogle.c:2103
|
||||
#: daemon/gvfsbackendgoogle.c:3149
|
||||
#, fuzzy
|
||||
#| msgid "Can't copy file over directory"
|
||||
msgid "Can’t copy file over directory"
|
||||
msgstr "Impossible d'espotir un repertòri amb un fichièr"
|
||||
msgstr "Impossible de copiar un fichièr par dessús un repertòri"
|
||||
|
||||
#. Translators: this is the display name of the backend
|
||||
#: daemon/gvfsbackendburn.c:652
|
||||
|
@ -975,21 +973,21 @@ msgstr "Creator de CD/DVD"
|
|||
msgid "File exists"
|
||||
msgstr "Lo fichièr existís"
|
||||
|
||||
#: daemon/gvfsbackendburn.c:886 daemon/gvfsbackenddav.c:2983
|
||||
#: daemon/gvfsbackendburn.c:886 daemon/gvfsbackenddav.c:3601
|
||||
#: daemon/gvfsbackendsftp.c:2211 daemon/gvfsbackendsftp.c:5195
|
||||
msgid "Target file exists"
|
||||
msgstr "Lo fichièr cibla existís"
|
||||
|
||||
#: daemon/gvfsbackend.c:890 daemon/gvfsjobunmount.c:197
|
||||
#: daemon/gvfsbackend.c:889 daemon/gvfsjobunmount.c:197
|
||||
#: daemon/gvfsjobunmount.c:264
|
||||
msgid "File system is busy"
|
||||
msgstr "Lo sistèma de fichièrs es ocupat"
|
||||
|
||||
#: daemon/gvfsbackend.c:1024 monitor/udisks2/gvfsudisks2mount.c:748
|
||||
#: daemon/gvfsbackend.c:1023 monitor/udisks2/gvfsudisks2mount.c:748
|
||||
msgid "Unmount Anyway"
|
||||
msgstr "Desmontar çaquelà"
|
||||
|
||||
#: daemon/gvfsbackend.c:1027 monitor/udisks2/gvfsudisks2mount.c:751
|
||||
#: daemon/gvfsbackend.c:1026 monitor/udisks2/gvfsudisks2mount.c:751
|
||||
msgid ""
|
||||
"Volume is busy\n"
|
||||
"One or more applications are keeping the volume busy."
|
||||
|
@ -1116,48 +1114,50 @@ msgstr "Impossible d'interrogar lo fichièr"
|
|||
#. Translators: This is the name of the WebDAV share constructed as
|
||||
#. "WebDAV as <username> on <hostname>:<port>"; the ":<port>" part is
|
||||
#. the second %s and only shown if it is not the default http(s) port.
|
||||
#: daemon/gvfsbackenddav.c:503
|
||||
#: daemon/gvfsbackenddav.c:412
|
||||
#, c-format
|
||||
msgid "%s on %s%s"
|
||||
msgstr "%s sus %s%s"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:708 daemon/gvfsbackenddav.c:2078
|
||||
#: daemon/gvfsbackendhttp.c:202
|
||||
#: daemon/gvfsbackenddav.c:766 daemon/gvfsbackenddav.c:1536
|
||||
#: daemon/gvfsbackenddav.c:2147 daemon/gvfsbackenddav.c:2311
|
||||
#: daemon/gvfsbackendhttp.c:268 daemon/gvfshttpinputstream.c:273
|
||||
#, c-format
|
||||
msgid "HTTP Error: %s"
|
||||
msgstr "Error HTTP : %s"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:725
|
||||
#: daemon/gvfsbackenddav.c:781
|
||||
msgid "Could not parse response"
|
||||
msgstr "Impossible d'analisar la responsa"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:734
|
||||
#: daemon/gvfsbackenddav.c:790
|
||||
msgid "Empty response"
|
||||
msgstr "Responsa voida"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:742
|
||||
#: daemon/gvfsbackenddav.c:798
|
||||
msgid "Unexpected reply from server"
|
||||
msgstr "Responsa inesperada del servidor"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:1444 daemon/gvfsbackenddav.c:2205
|
||||
#: daemon/gvfsbackenddav.c:2300 daemon/gvfsbackenddav.c:2402
|
||||
#: daemon/gvfsbackenddav.c:1554 daemon/gvfsbackenddav.c:2512
|
||||
#: daemon/gvfsbackenddav.c:2607 daemon/gvfsbackenddav.c:2791
|
||||
#, c-format
|
||||
msgid "Response invalid"
|
||||
msgstr "Responsa invalida"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:1588
|
||||
#: daemon/gvfsbackenddav.c:1775
|
||||
msgid "WebDAV share"
|
||||
msgstr "Partiment WebDAV"
|
||||
|
||||
#. Translators: %s is the name of the WebDAV share
|
||||
#. Translators: %s is a server name
|
||||
#: daemon/gvfsbackenddav.c:1591 daemon/gvfsbackendsmbbrowse.c:373
|
||||
#: daemon/gvfsbackenddav.c:1778 daemon/gvfsbackendsmbbrowse.c:373
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Authentication Required\n"
|
||||
"Enter password for “%s”:"
|
||||
msgstr ""
|
||||
|
||||
#: daemon/gvfsbackenddav.c:1594
|
||||
#: daemon/gvfsbackenddav.c:1781
|
||||
msgid ""
|
||||
"Authentication Required\n"
|
||||
"Enter proxy password:"
|
||||
|
@ -1165,37 +1165,33 @@ msgstr ""
|
|||
"Autentificacion requerida\n"
|
||||
"Picatz lo senhal del servidor mandatari :"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:2064
|
||||
msgid "Not a WebDAV enabled share"
|
||||
msgstr "Aqueste partiment pren pas en carga WebDAV"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:2086
|
||||
#: daemon/gvfsbackenddav.c:2155
|
||||
#, fuzzy
|
||||
#| msgid "Could not find enclosing mount"
|
||||
msgid "Could not find an enclosing directory"
|
||||
msgstr "Impossible de trobar lo punt de montatge òste"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:2159 daemon/gvfsbackenddav.c:2255
|
||||
#: daemon/gvfsbackenddav.c:2328 daemon/gvfsbackenddav.c:2436
|
||||
#: daemon/gvfsbackenddav.c:2299
|
||||
msgid "Not a WebDAV enabled share"
|
||||
msgstr "Aqueste partiment pren pas en carga WebDAV"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:2538 daemon/gvfsbackenddav.c:2651
|
||||
#: daemon/gvfsbackenddav.c:2738 daemon/gvfsbackenddav.c:2825
|
||||
msgid "Could not create request"
|
||||
msgstr "Impossible de crear la requèsta"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:2577 daemon/gvfsbackendftp.c:1102
|
||||
#: daemon/gvfsbackenddav.c:3011 daemon/gvfsbackendftp.c:1102
|
||||
#: daemon/gvfsbackendgoogle.c:3944 daemon/gvfsbackendnfs.c:941
|
||||
#: daemon/gvfsbackendnfs.c:964 daemon/gvfsbackendnfs.c:990
|
||||
#: daemon/gvfsbackendnfs.c:1390 daemon/gvfsbackendsmb.c:1127
|
||||
#: daemon/gvfsbackendsmb.c:2128
|
||||
#: daemon/gvfsbackendnfs.c:1390 daemon/gvfsbackendsmb.c:1113
|
||||
#: daemon/gvfsbackendsmb.c:2114
|
||||
msgid "Backup file creation failed"
|
||||
msgstr "La creacion del fichièr de salvament a fracassat"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:2950
|
||||
#: daemon/gvfsbackenddav.c:3567
|
||||
msgid "Can’t move over directory"
|
||||
msgstr "Impossible d'espotir lo repertòri"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:3219
|
||||
msgid "File length changed during transfer"
|
||||
msgstr ""
|
||||
|
||||
#: daemon/gvfsbackenddnssd.c:521 daemon/gvfsbackendnetwork.c:462
|
||||
msgid "Local Network"
|
||||
msgstr "Ret locala"
|
||||
|
@ -1215,8 +1211,8 @@ msgid "Network"
|
|||
msgstr "Ret"
|
||||
|
||||
#: daemon/gvfsbackendftp.c:560 daemon/gvfsbackendsftp.c:1191
|
||||
#: daemon/gvfsbackendsftp.c:1295 daemon/gvfsbackendsmbbrowse.c:1014
|
||||
#: daemon/gvfsbackendsmb.c:551
|
||||
#: daemon/gvfsbackendsftp.c:1295 daemon/gvfsbackendsmbbrowse.c:1020
|
||||
#: daemon/gvfsbackendsmb.c:537
|
||||
msgid "Password dialog cancelled"
|
||||
msgstr "La demanda de picada del senhal es estada anullada"
|
||||
|
||||
|
@ -1225,10 +1221,8 @@ msgid "Insufficient permissions"
|
|||
msgstr "Autorizacions insufisentas"
|
||||
|
||||
#: daemon/gvfsbackendgoogle.c:2217
|
||||
#, fuzzy
|
||||
#| msgid "Can't move over directory"
|
||||
msgid "Can’t move file over directory"
|
||||
msgstr "Impossible d'espotir lo repertòri"
|
||||
msgstr "Impossible de desplaçar un fichièr per dessús un repertòri"
|
||||
|
||||
#: daemon/gvfsbackendgoogle.c:2259
|
||||
msgid "Error moving file/folder"
|
||||
|
@ -1252,7 +1246,7 @@ msgstr "Error al moment de l'obtencion de las donadas del fichièr"
|
|||
#: daemon/gvfsbackendgoogle.c:3158 daemon/gvfsbackendgoogle.c:3984
|
||||
#: daemon/gvfsbackendnfs.c:1162
|
||||
msgid "Target file is not a regular file"
|
||||
msgstr ""
|
||||
msgstr "Lo fichièr cibla es pas un fichièr estandard"
|
||||
|
||||
#: daemon/gvfsbackendgoogle.c:3584 daemon/gvfsbackendsftp.c:2390
|
||||
#: daemon/gvfsbackendsftp.c:2792 daemon/gvfsbackendsftp.c:2855
|
||||
|
@ -1392,7 +1386,7 @@ msgid "Error seeking in stream on camera %s"
|
|||
msgstr "Error de desplaçament dins lo flux sus l'aparelh de fòto %s"
|
||||
|
||||
#: daemon/gvfsbackendgphoto2.c:1863 daemon/gvfsbackendsftp.c:3380
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1437
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1443
|
||||
msgid "Not a directory"
|
||||
msgstr "Es pas un repertòri"
|
||||
|
||||
|
@ -1476,7 +1470,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Pas pres en carga (la font es un fichièr, mas la destinacion es un repertòri)"
|
||||
|
||||
#: daemon/gvfsbackendhttp.c:198
|
||||
#: daemon/gvfsbackendhttp.c:263
|
||||
#, c-format
|
||||
msgid "HTTP Client Error: %s"
|
||||
msgstr "Error del client HTTP : %s"
|
||||
|
@ -1553,7 +1547,7 @@ msgstr "Impossible de crear un repertòri a aqueste emplaçament"
|
|||
#: daemon/gvfsbackendmtp.c:2245 daemon/gvfsbackendmtp.c:2312
|
||||
#: daemon/gvfsbackendmtp.c:2674 daemon/gvfsbackendmtp.c:2740
|
||||
#: daemon/gvfsbackendmtp.c:2953 daemon/gvfsbackendmtp.c:3096
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1182
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1188
|
||||
msgid "Not a regular file"
|
||||
msgstr "Es pas un fichièr estandard"
|
||||
|
||||
|
@ -1587,7 +1581,7 @@ msgstr "Vista generala de la ret"
|
|||
|
||||
#: daemon/gvfsbackendnfs.c:242
|
||||
msgid "Mount point does not exist"
|
||||
msgstr ""
|
||||
msgstr "Lo punt de montatge existís pas"
|
||||
|
||||
#: daemon/gvfsbackendnfs.c:266
|
||||
msgid ""
|
||||
|
@ -1774,7 +1768,7 @@ msgstr "Impossible de trobar una comanda SSH presa en carga"
|
|||
msgid "Unknown reason"
|
||||
msgstr "Rason desconeguda"
|
||||
|
||||
#: daemon/gvfsbackendsftp.c:2649 daemon/gvfsbackendsmb.c:1397
|
||||
#: daemon/gvfsbackendsftp.c:2649 daemon/gvfsbackendsmb.c:1383
|
||||
#: daemon/gvfsdaemonutils.c:140
|
||||
msgid " (invalid encoding)"
|
||||
msgstr " (encodatge invalid)"
|
||||
|
@ -1798,13 +1792,13 @@ msgstr "Error de creacion del fichièr de salvament : %s"
|
|||
msgid "Value out of range, sftp only supports 32bit timestamps"
|
||||
msgstr ""
|
||||
|
||||
#: daemon/gvfsbackendsftp.c:5500 daemon/gvfsbackendsmb.c:1739
|
||||
#: daemon/gvfsbackendsftp.c:5500 daemon/gvfsbackendsmb.c:1725
|
||||
msgid "Invalid attribute type (uint64 expected)"
|
||||
msgstr "Tipe d'atribut invalid (uint64 esperat)"
|
||||
|
||||
#: daemon/gvfsbackendsmbbrowse.c:808 daemon/gvfsbackendsmbbrowse.c:847
|
||||
#: daemon/gvfsbackendsmb.c:414 daemon/gvfsbackendsmb.c:441
|
||||
#: daemon/gvfsbackendsmb.c:632
|
||||
#: daemon/gvfsbackendsmb.c:401 daemon/gvfsbackendsmb.c:428
|
||||
#: daemon/gvfsbackendsmb.c:618
|
||||
#, c-format
|
||||
msgid "Internal Error (%s)"
|
||||
msgstr "Error intèrna (%s)"
|
||||
|
@ -1817,17 +1811,17 @@ msgid "Windows shares on %s"
|
|||
msgstr "Partiments Windows sus %s"
|
||||
|
||||
#. translators: We tried to mount a windows (samba) share, but failed
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1019
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1025
|
||||
#, c-format
|
||||
msgid "Failed to retrieve share list from server: %s"
|
||||
msgstr "L'obtencion de la lista dels partiments del servidor a fracassat : %s"
|
||||
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1541
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1547
|
||||
msgid "Windows Network File System Service"
|
||||
msgstr "Servici de sistèma de fichièrs ret Windows"
|
||||
|
||||
#. Translators: First %s is a share name, second is a server name
|
||||
#: daemon/gvfsbackendsmb.c:270
|
||||
#: daemon/gvfsbackendsmb.c:257
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Authentication Required\n"
|
||||
|
@ -1835,7 +1829,7 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
#. Translators: First %s is a share name, second is a server name
|
||||
#: daemon/gvfsbackendsmb.c:276
|
||||
#: daemon/gvfsbackendsmb.c:263
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Authentication Required\n"
|
||||
|
@ -1843,42 +1837,42 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
#. translators: We tried to mount a windows (samba) share, but failed
|
||||
#: daemon/gvfsbackendsmb.c:556
|
||||
#: daemon/gvfsbackendsmb.c:542
|
||||
#, c-format
|
||||
msgid "Failed to mount Windows share: %s"
|
||||
msgstr "Impossible de montar lo partiment Windows : %s"
|
||||
|
||||
#: daemon/gvfsbackendsmb.c:1326
|
||||
#: daemon/gvfsbackendsmb.c:1312
|
||||
#, c-format
|
||||
msgid "Backup file creation failed: %s"
|
||||
msgstr "La creacion del fichièr de salvament a fracassat : %s"
|
||||
|
||||
#: daemon/gvfsbackendsmb.c:1937
|
||||
#: daemon/gvfsbackendsmb.c:1923
|
||||
msgid "Can’t rename file, filename already exists"
|
||||
msgstr "Impossible de renomenar lo fichièr, lo nom de fichièr existís ja"
|
||||
|
||||
#: daemon/gvfsbackendsmb.c:1988
|
||||
#: daemon/gvfsbackendsmb.c:1974
|
||||
#, c-format
|
||||
msgid "Error deleting file: %s"
|
||||
msgstr "Error al moment de la supression del fichièr : %s"
|
||||
|
||||
#: daemon/gvfsbackendsmb.c:2075
|
||||
#: daemon/gvfsbackendsmb.c:2061
|
||||
#, c-format
|
||||
msgid "Error moving file: %s"
|
||||
msgstr "Error al moment del desplaçament del fichièr : %s"
|
||||
|
||||
#: daemon/gvfsbackendsmb.c:2148
|
||||
#: daemon/gvfsbackendsmb.c:2134
|
||||
#, c-format
|
||||
msgid "Error removing target file: %s"
|
||||
msgstr "Error al moment de la supression del fichièr cibla : %s"
|
||||
|
||||
#: daemon/gvfsbackendsmb.c:2172
|
||||
#: daemon/gvfsbackendsmb.c:2158
|
||||
#, fuzzy
|
||||
#| msgid "Can't recursively move directory"
|
||||
msgid "Can’t recursively move directory"
|
||||
msgstr "Impossible de desplaçar un repertòri d'un biais recursiu"
|
||||
|
||||
#: daemon/gvfsbackendsmb.c:2221
|
||||
#: daemon/gvfsbackendsmb.c:2207
|
||||
msgid "Windows Shares File System Service"
|
||||
msgstr "Servici de sistèma de fichièrs de partiment Windows"
|
||||
|
||||
|
@ -1902,7 +1896,7 @@ msgstr "Canal blocat"
|
|||
|
||||
#: daemon/gvfsdaemonutils.c:251
|
||||
msgid "The signing certificate authority is not known."
|
||||
msgstr ""
|
||||
msgstr "L'autoritat de signatura de certificat es desconeguda."
|
||||
|
||||
#: daemon/gvfsdaemonutils.c:253
|
||||
msgid "The certificate does not match the identity of the site."
|
||||
|
@ -1953,7 +1947,7 @@ msgid "Unexpected end of stream"
|
|||
msgstr "Fin de flux inesperat"
|
||||
|
||||
#: daemon/gvfsftpconnection.c:227 daemon/gvfsftpconnection.c:240
|
||||
#: daemon/gvfsftptask.c:449 daemon/gvfsftptask.c:877
|
||||
#: daemon/gvfsftptask.c:450 daemon/gvfsftptask.c:878
|
||||
msgid "Invalid reply"
|
||||
msgstr "Responsa invalida"
|
||||
|
||||
|
@ -1973,49 +1967,49 @@ msgstr "Fracàs de la creacion d'una connexion FTP activa."
|
|||
msgid "Filename contains invalid characters."
|
||||
msgstr "Lo nom de fichièr conten de caractèrs invalids."
|
||||
|
||||
#: daemon/gvfsftptask.c:290
|
||||
#: daemon/gvfsftptask.c:291
|
||||
msgid "The FTP server is busy. Try again later"
|
||||
msgstr "Lo servidor FTP es ocupat. Ensajatz tornamai pus tard"
|
||||
|
||||
#: daemon/gvfsftptask.c:296
|
||||
#: daemon/gvfsftptask.c:297
|
||||
msgid "Backend currently unmounting"
|
||||
msgstr ""
|
||||
|
||||
#: daemon/gvfsftptask.c:393
|
||||
#: daemon/gvfsftptask.c:394
|
||||
msgid "Accounts are unsupported"
|
||||
msgstr "Los comptes son pas preses en carga"
|
||||
|
||||
#: daemon/gvfsftptask.c:401
|
||||
#: daemon/gvfsftptask.c:402
|
||||
msgid "Cannot open data connection. Maybe your firewall prevents this?"
|
||||
msgstr ""
|
||||
"Impossible de dobrir una connexion de donadas. Benlèu que vòstre parafuòc "
|
||||
"empacha aquesta accion ?"
|
||||
|
||||
#: daemon/gvfsftptask.c:405
|
||||
#: daemon/gvfsftptask.c:406
|
||||
msgid "Data connection closed"
|
||||
msgstr "Connexion de donadas tampada"
|
||||
|
||||
#: daemon/gvfsftptask.c:412 daemon/gvfsftptask.c:416
|
||||
#: daemon/gvfsftptask.c:413 daemon/gvfsftptask.c:417
|
||||
msgid "Operation failed"
|
||||
msgstr "L'operacion a fracassat"
|
||||
|
||||
#: daemon/gvfsftptask.c:421
|
||||
#: daemon/gvfsftptask.c:422
|
||||
msgid "No space left on server"
|
||||
msgstr "Pas mai d'espaci disponible sul servidor"
|
||||
|
||||
#: daemon/gvfsftptask.c:433
|
||||
#: daemon/gvfsftptask.c:434
|
||||
msgid "Unsupported network protocol"
|
||||
msgstr "Protocòl ret pas pres en carga"
|
||||
|
||||
#: daemon/gvfsftptask.c:441
|
||||
#: daemon/gvfsftptask.c:442
|
||||
msgid "Page type unknown"
|
||||
msgstr "Tipe de pagina desconegut"
|
||||
|
||||
#: daemon/gvfsftptask.c:445
|
||||
#: daemon/gvfsftptask.c:446
|
||||
msgid "Invalid filename"
|
||||
msgstr "Nom de fichièr invalid"
|
||||
|
||||
#: daemon/gvfshttpinputstream.c:292
|
||||
#: daemon/gvfshttpinputstream.c:289
|
||||
msgid "Error seeking in stream"
|
||||
msgstr "Error de desplaçament dins lo flux"
|
||||
|
||||
|
@ -2085,24 +2079,24 @@ msgstr "%s : %s"
|
|||
msgid "Try “%s --help” for more information."
|
||||
msgstr "Ensajatz « %s --help » per obténer mai d'entresenhas."
|
||||
|
||||
#: daemon/mount.c:759
|
||||
#: daemon/mount.c:783
|
||||
#, c-format
|
||||
msgid "Automount failed: %s"
|
||||
msgstr "Lo montatge automatic a fracassat : %s"
|
||||
|
||||
#: daemon/mount.c:803 daemon/mount.c:879
|
||||
#: daemon/mount.c:827 daemon/mount.c:903
|
||||
msgid "The specified location is not mounted"
|
||||
msgstr "L'emplaçament indicat es pas montat"
|
||||
|
||||
#: daemon/mount.c:808
|
||||
#: daemon/mount.c:832
|
||||
msgid "The specified location is not supported"
|
||||
msgstr "L'emplaçament indicat es pas pres en carga"
|
||||
|
||||
#: daemon/mount.c:991
|
||||
#: daemon/mount.c:1015
|
||||
msgid "Location is already mounted"
|
||||
msgstr "L'emplaçament es ja montat"
|
||||
|
||||
#: daemon/mount.c:1000
|
||||
#: daemon/mount.c:1024
|
||||
msgid "Location is not mountable"
|
||||
msgstr "L'emplaçament es pas « montable »"
|
||||
|
||||
|
@ -2149,17 +2143,17 @@ msgstr "Demòni de metadonadas GVFS"
|
|||
msgid "Metadata daemon for GVFS"
|
||||
msgstr "Demòni de metadonadas per GVFS"
|
||||
|
||||
#: monitor/goa/goavolume.c:298 monitor/goa/goavolume.c:337
|
||||
#: monitor/goa/goavolume.c:296 monitor/goa/goavolume.c:335
|
||||
#, c-format
|
||||
msgid "Failed to get org.gnome.OnlineAccounts.Files for %s"
|
||||
msgstr "Impossible d'obténer org.gnome.OnlineAccounts.Files per %s"
|
||||
|
||||
#: monitor/goa/goavolume.c:368
|
||||
#: monitor/goa/goavolume.c:366
|
||||
#, c-format
|
||||
msgid "Invalid credentials for %s"
|
||||
msgstr "Informacions d'autentificacion pas validas per %s"
|
||||
|
||||
#: monitor/goa/goavolume.c:401
|
||||
#: monitor/goa/goavolume.c:399
|
||||
#, c-format
|
||||
msgid "Unsupported authentication method for %s"
|
||||
msgstr "Metòde d'autentificacion pas pres en carga per %s"
|
||||
|
|
372
po/tr.po
372
po/tr.po
|
@ -1,35 +1,35 @@
|
|||
# Turkish translation of gvfs.
|
||||
# Copyright (C) 2008-2022 gvfs's COPYRIGHT HOLDER
|
||||
# Copyright (C) 2008-2023 gvfs's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gvfs package.
|
||||
#
|
||||
# Baris Cicek <baris@teamforce.name.tr>, 2008, 2009.
|
||||
# Necdet Yücel <necdetyucel@gmail.com>, 2015.
|
||||
# Muhammet Kara <muhammetk@gmail.com>, 2011, 2014, 2015, 2016.
|
||||
# Çağatay Yiğit Şahin <cyigitsahin@outlook.com>, 2016.
|
||||
# Sabri Ünal <libreajans@gmail.com>, 2019.
|
||||
# Sabri Ünal <libreajans@gmail.com>, 2019, 2023.
|
||||
# Emin Tufan Çetin <etcetin@gmail.com>, 2017, 2018, 2020, 2021.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gvfs\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gvfs/issues\n"
|
||||
"POT-Creation-Date: 2022-07-15 08:07+0000\n"
|
||||
"PO-Revision-Date: 2021-02-15 16:55+0300\n"
|
||||
"Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n"
|
||||
"Language-Team: Türkçe <gnome-turk@gnome.org>\n"
|
||||
"POT-Creation-Date: 2023-07-18 09:04+0000\n"
|
||||
"PO-Revision-Date: 2023-07-02 15:42+0300\n"
|
||||
"Last-Translator: Sabri Ünal <libreajans@gmail.com>\n"
|
||||
"Language-Team: Türkçe <takim@gnome.org.tr>\n"
|
||||
"Language: tr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 2.4.2\n"
|
||||
"X-Generator: Poedit 3.2.2\n"
|
||||
"X-POOTLE-MTIME: 1434405906.000000\n"
|
||||
|
||||
#: client/gdaemonfile.c:435 client/gdaemonfile.c:2718
|
||||
#: client/gdaemonfile.c:435
|
||||
msgid "Operation not supported, files on different mounts"
|
||||
msgstr "Dosyalar başka bağlarda olduğundan işlem desteklenmiyor"
|
||||
|
||||
#: client/gdaemonfile.c:1028 client/gdaemonfile.c:3066
|
||||
#: client/gdaemonfile.c:1028 client/gdaemonfile.c:3059
|
||||
#: client/gvfsiconloadable.c:351 daemon/gvfsjobopenforread.c:183
|
||||
#: daemon/gvfsjobopenforwrite.c:333
|
||||
msgid "Couldn’t get stream file descriptor"
|
||||
|
@ -47,7 +47,7 @@ msgstr "%s işlevinden geçersiz geri dönüş değeri"
|
|||
|
||||
#. translators: this is an error message when there is no user visible "mount" object
|
||||
#. corresponding to a particular path/uri
|
||||
#: client/gdaemonfile.c:2188 client/gdaemonfile.c:3329
|
||||
#: client/gdaemonfile.c:2188 client/gdaemonfile.c:3322
|
||||
msgid "Could not find enclosing mount"
|
||||
msgstr "Kapsanılan bağlantı bulunamadı"
|
||||
|
||||
|
@ -73,7 +73,7 @@ msgstr "üst veri vekili alınamıyor"
|
|||
|
||||
#: client/gdaemonfile.c:2567 client/gdaemonvfs.c:1299
|
||||
msgid "values must be string or list of strings"
|
||||
msgstr "değerler dizgi veya dizgiler listesi olmalıdır"
|
||||
msgstr "değerler dizge veya dizge listesi olmalıdır"
|
||||
|
||||
#: client/gdaemonfileinputstream.c:544 client/gdaemonfileinputstream.c:552
|
||||
#: client/gdaemonfileinputstream.c:1686 client/gdaemonfileinputstream.c:1695
|
||||
|
@ -85,7 +85,7 @@ msgstr "Akış iletişim kuralında hata oluştu: %s"
|
|||
|
||||
#: client/gdaemonfileinputstream.c:552 client/gdaemonfileinputstream.c:1695
|
||||
#: client/gdaemonfileoutputstream.c:503 client/gdaemonfileoutputstream.c:1442
|
||||
#: daemon/gvfsbackendmtp.c:2453 daemon/gvfsbackendmtp.c:2844
|
||||
#: daemon/gvfsbackendmtp.c:2501 daemon/gvfsbackendmtp.c:2892
|
||||
msgid "End of stream"
|
||||
msgstr "Akış sonu"
|
||||
|
||||
|
@ -123,7 +123,7 @@ msgstr "Bağlanma bilgileri alınırken hata oluştu: %s"
|
|||
#: daemon/gvfsafpvolume.c:2402 daemon/gvfsbackendadmin.c:150
|
||||
#: daemon/gvfsbackendafc.c:166 daemon/gvfsbackendgoogle.c:256
|
||||
#: daemon/gvfsbackendsftp.c:346 daemon/gvfsbackendsftp.c:1125
|
||||
#: daemon/gvfsbackendsftp.c:2215 daemon/gvfsftptask.c:437 daemon/mount.c:437
|
||||
#: daemon/gvfsbackendsftp.c:2215 daemon/gvfsftptask.c:438 daemon/mount.c:437
|
||||
#, c-format
|
||||
msgid "Permission denied"
|
||||
msgstr "İzin verilmedi"
|
||||
|
@ -224,7 +224,7 @@ msgstr "%s için bağlama noktası zaten çalışıyor"
|
|||
|
||||
#: daemon/daemon-main.c:337
|
||||
msgid "error starting mount daemon"
|
||||
msgstr "bağlama hizmeti başlatılırken hata"
|
||||
msgstr "bağlama art alan hizmeti başlatılırken hata"
|
||||
|
||||
#: daemon/gvfsafpconnection.c:787
|
||||
msgid "The connection is not opened"
|
||||
|
@ -239,7 +239,7 @@ msgid "Got EOS"
|
|||
msgstr "EOS Al"
|
||||
|
||||
#: daemon/gvfsafpconnection.c:1060 daemon/gvfsafpconnection.c:1102
|
||||
#: daemon/gvfsftptask.c:397
|
||||
#: daemon/gvfsftptask.c:398
|
||||
msgid "Host closed connection"
|
||||
msgstr "Makine bağlantıyı kapattı"
|
||||
|
||||
|
@ -337,7 +337,7 @@ msgstr ""
|
|||
#. Translators: %s is the hostname
|
||||
#. Translators: %s is a server name
|
||||
#: daemon/gvfsafpserver.c:1066 daemon/gvfsbackendftp.c:533
|
||||
#: daemon/gvfsbackendsftp.c:1174 daemon/gvfsbackendsmbbrowse.c:379
|
||||
#: daemon/gvfsbackendsftp.c:1174 daemon/gvfsbackendsmbbrowse.c:341
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Authentication Required\n"
|
||||
|
@ -390,21 +390,21 @@ msgstr "%s üzerine %s yüklenemedi"
|
|||
#: daemon/gvfsbackendarchive.c:845 daemon/gvfsbackendarchive.c:874
|
||||
#: daemon/gvfsbackendcdda.c:908 daemon/gvfsbackendcomputer.c:639
|
||||
#: daemon/gvfsbackenddnssd.c:425 daemon/gvfsbackendftp.c:795
|
||||
#: daemon/gvfsbackendftp.c:1189 daemon/gvfsbackendmtp.c:1754
|
||||
#: daemon/gvfsbackendmtp.c:1770 daemon/gvfsbackendmtp.c:2177
|
||||
#: daemon/gvfsbackendmtp.c:2240 daemon/gvfsbackendmtp.c:2307
|
||||
#: daemon/gvfsbackendmtp.c:2669 daemon/gvfsbackendmtp.c:2948
|
||||
#: daemon/gvfsbackendmtp.c:3091 daemon/gvfsbackendnetwork.c:697
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1125 daemon/gvfsbackendsmbbrowse.c:1192
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1374 daemon/gvfsbackendsmbbrowse.c:1447
|
||||
#: daemon/gvfsbackendftp.c:1189 daemon/gvfsbackendmtp.c:1802
|
||||
#: daemon/gvfsbackendmtp.c:1818 daemon/gvfsbackendmtp.c:2225
|
||||
#: daemon/gvfsbackendmtp.c:2288 daemon/gvfsbackendmtp.c:2355
|
||||
#: daemon/gvfsbackendmtp.c:2717 daemon/gvfsbackendmtp.c:2996
|
||||
#: daemon/gvfsbackendmtp.c:3139 daemon/gvfsbackendnetwork.c:697
|
||||
#: daemon/gvfsbackendsmbbrowse.c:953 daemon/gvfsbackendsmbbrowse.c:1020
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1202 daemon/gvfsbackendsmbbrowse.c:1275
|
||||
#, c-format
|
||||
msgid "File doesn’t exist"
|
||||
msgstr "Dosya yok"
|
||||
|
||||
#: daemon/gvfsafpvolume.c:402 daemon/gvfsafpvolume.c:2410
|
||||
#: daemon/gvfsbackendafp.c:289 daemon/gvfsbackendafp.c:492
|
||||
#: daemon/gvfsbackendafp.c:1341 daemon/gvfsbackenddav.c:2797
|
||||
#: daemon/gvfsbackenddav.c:3752 daemon/gvfsbackenddav.c:3999
|
||||
#: daemon/gvfsbackendafp.c:1341 daemon/gvfsbackenddav.c:2799
|
||||
#: daemon/gvfsbackenddav.c:3754 daemon/gvfsbackenddav.c:4001
|
||||
#: daemon/gvfsbackendftp.c:832 daemon/gvfsbackendnfs.c:2480
|
||||
#: daemon/gvfsbackendsftp.c:2725 daemon/gvfsbackendsftp.c:3500
|
||||
#: daemon/gvfsbackendsftp.c:3948 daemon/gvfsbackendsftp.c:5020
|
||||
|
@ -421,7 +421,7 @@ msgid "Target file is open"
|
|||
msgstr "Hedef dosya açık"
|
||||
|
||||
#: daemon/gvfsafpvolume.c:663 daemon/gvfsbackendafc.c:154
|
||||
#: daemon/gvfsbackendburn.c:421 daemon/gvfsbackenddav.c:3305
|
||||
#: daemon/gvfsbackendburn.c:421 daemon/gvfsbackenddav.c:3307
|
||||
#: daemon/gvfsbackendgoogle.c:2497 daemon/gvfsbackendsftp.c:2209
|
||||
msgid "Directory not empty"
|
||||
msgstr "Dizin boş değil"
|
||||
|
@ -450,18 +450,18 @@ msgstr "Birimde yeterli boş alan yok"
|
|||
|
||||
#: daemon/gvfsafpvolume.c:811 daemon/gvfsafpvolume.c:1355
|
||||
#: daemon/gvfsafpvolume.c:1507 daemon/gvfsbackendafp.c:296
|
||||
#: daemon/gvfsbackendafp.c:499 daemon/gvfsbackenddav.c:2868
|
||||
#: daemon/gvfsbackenddav.c:3222 daemon/gvfsbackenddav.c:3378
|
||||
#: daemon/gvfsbackenddav.c:3484 daemon/gvfsbackenddav.c:3718
|
||||
#: daemon/gvfsbackenddav.c:3762 daemon/gvfsbackenddav.c:3989
|
||||
#: daemon/gvfsbackendafp.c:499 daemon/gvfsbackenddav.c:2870
|
||||
#: daemon/gvfsbackenddav.c:3224 daemon/gvfsbackenddav.c:3380
|
||||
#: daemon/gvfsbackenddav.c:3486 daemon/gvfsbackenddav.c:3720
|
||||
#: daemon/gvfsbackenddav.c:3764 daemon/gvfsbackenddav.c:3991
|
||||
#: daemon/gvfsbackendftp.c:811 daemon/gvfsbackendftp.c:999
|
||||
#: daemon/gvfsbackendftp.c:1509 daemon/gvfsbackendftp.c:1576
|
||||
#: daemon/gvfsbackendgoogle.c:1703 daemon/gvfsbackendgoogle.c:1780
|
||||
#: daemon/gvfsbackendgoogle.c:2157 daemon/gvfsbackendgoogle.c:2237
|
||||
#: daemon/gvfsbackendgoogle.c:2757 daemon/gvfsbackendgoogle.c:3204
|
||||
#: daemon/gvfsbackendgoogle.c:3869 daemon/gvfsbackendmtp.c:1650
|
||||
#: daemon/gvfsbackendmtp.c:1693 daemon/gvfsbackendnfs.c:2490
|
||||
#: daemon/gvfsbackendsftp.c:5029 daemon/gvfsbackendsmb.c:2097
|
||||
#: daemon/gvfsbackendgoogle.c:3869 daemon/gvfsbackendmtp.c:1698
|
||||
#: daemon/gvfsbackendmtp.c:1741 daemon/gvfsbackendnfs.c:2490
|
||||
#: daemon/gvfsbackendsftp.c:5029 daemon/gvfsbackendsmb.c:2108
|
||||
msgid "Target file already exists"
|
||||
msgstr "Hedef dosya zaten var"
|
||||
|
||||
|
@ -535,10 +535,10 @@ msgstr "Kaynak dosya bir dizindir"
|
|||
msgid "Range lock conflict exists"
|
||||
msgstr "Aralık kilidi çakışması var"
|
||||
|
||||
#: daemon/gvfsafpvolume.c:2193 daemon/gvfsbackendmtp.c:1473
|
||||
#: daemon/gvfsbackendmtp.c:1498 daemon/gvfsbackendmtp.c:1701
|
||||
#: daemon/gvfsbackendmtp.c:2077 daemon/gvfsbackendmtp.c:2594
|
||||
#: daemon/gvfsbackendmtp.c:2989 daemon/gvfsbackendmtp.c:3125
|
||||
#: daemon/gvfsafpvolume.c:2193 daemon/gvfsbackendmtp.c:1521
|
||||
#: daemon/gvfsbackendmtp.c:1546 daemon/gvfsbackendmtp.c:1749
|
||||
#: daemon/gvfsbackendmtp.c:2125 daemon/gvfsbackendmtp.c:2642
|
||||
#: daemon/gvfsbackendmtp.c:3037 daemon/gvfsbackendmtp.c:3173
|
||||
msgid "Directory doesn’t exist"
|
||||
msgstr "Dizin yok"
|
||||
|
||||
|
@ -565,8 +565,8 @@ msgstr "Dosya, okuma erişimi için açık değil"
|
|||
#: daemon/gvfsbackendadmin.c:104 daemon/gvfsbackendadmin.c:871
|
||||
#: daemon/gvfsbackendafc.c:2361 daemon/gvfsbackendafp.c:1781
|
||||
#: daemon/gvfsbackendburn.c:829 daemon/gvfsbackendburn.c:951
|
||||
#: daemon/gvfsbackendcomputer.c:812 daemon/gvfsbackenddav.c:4081
|
||||
#: daemon/gvfsbackenddav.c:4113 daemon/gvfsbackenddav.c:4141
|
||||
#: daemon/gvfsbackendcomputer.c:812 daemon/gvfsbackenddav.c:4083
|
||||
#: daemon/gvfsbackenddav.c:4115 daemon/gvfsbackenddav.c:4143
|
||||
#: daemon/gvfsbackendftp.c:1209 daemon/gvfsbackendftp.c:1257
|
||||
#: daemon/gvfsbackendftp.c:1278 daemon/gvfsbackendftp.c:1624
|
||||
#: daemon/gvfsbackendgoogle.c:1590 daemon/gvfsbackendgoogle.c:1623
|
||||
|
@ -585,42 +585,44 @@ msgstr "Dosya, okuma erişimi için açık değil"
|
|||
#: daemon/gvfsbackendgphoto2.c:2451 daemon/gvfsbackendgphoto2.c:2548
|
||||
#: daemon/gvfsbackendgphoto2.c:2641 daemon/gvfsbackendgphoto2.c:3250
|
||||
#: daemon/gvfsbackendgphoto2.c:3258 daemon/gvfsbackendgphoto2.c:3268
|
||||
#: daemon/gvfsbackendmtp.c:1746 daemon/gvfsbackendmtp.c:2047
|
||||
#: daemon/gvfsbackendmtp.c:2296 daemon/gvfsbackendmtp.c:2487
|
||||
#: daemon/gvfsbackendmtp.c:2570 daemon/gvfsbackendmtp.c:2658
|
||||
#: daemon/gvfsbackendmtp.c:2726 daemon/gvfsbackendmtp.c:2921
|
||||
#: daemon/gvfsbackendmtp.c:3064 daemon/gvfsbackendnfs.c:2372
|
||||
#: daemon/gvfsbackendnfs.c:2422 daemon/gvfsbackendnfs.c:2548
|
||||
#: daemon/gvfsbackendsftp.c:2213 daemon/gvfsbackendsftp.c:5417
|
||||
#: daemon/gvfsbackendsftp.c:5515 daemon/gvfsbackendsftp.c:6227
|
||||
#: daemon/gvfsbackendsftp.c:6259 daemon/gvfsbackendsftp.c:6285
|
||||
#: daemon/gvfsbackendsftp.c:6293 daemon/gvfsbackendsftp.c:6780
|
||||
#: daemon/gvfsbackendsftp.c:6842 daemon/gvfsbackendsftp.c:6850
|
||||
#: daemon/gvfsbackendsmb.c:1700 daemon/gvfsftptask.c:429
|
||||
#: daemon/gvfsjobcloseread.c:113 daemon/gvfsjobclosewrite.c:121
|
||||
#: daemon/gvfsjobcopy.c:121 daemon/gvfsjobcreatemonitor.c:143
|
||||
#: daemon/gvfsjobcreatemonitor.c:154 daemon/gvfsjobcreatemonitor.c:177
|
||||
#: daemon/gvfsjobcreatemonitor.c:195 daemon/gvfsjobdelete.c:108
|
||||
#: daemon/gvfsjobenumerate.c:272 daemon/gvfsjobmakedirectory.c:108
|
||||
#: daemon/gvfsjobmount.c:112 daemon/gvfsjobmountmountable.c:138
|
||||
#: daemon/gvfsjobmove.c:121 daemon/gvfsjobopenforread.c:120
|
||||
#: daemon/gvfsjobopenforwrite.c:184 daemon/gvfsjobopenforwrite.c:198
|
||||
#: daemon/gvfsjobopenforwrite.c:212 daemon/gvfsjobopeniconforread.c:104
|
||||
#: daemon/gvfsjobpollmountable.c:107 daemon/gvfsjobpull.c:125
|
||||
#: daemon/gvfsjobpush.c:125 daemon/gvfsjobqueryattributes.c:145
|
||||
#: daemon/gvfsjobqueryfsinfo.c:116 daemon/gvfsjobqueryinfo.c:124
|
||||
#: daemon/gvfsjobqueryinforead.c:125 daemon/gvfsjobqueryinfowrite.c:125
|
||||
#: daemon/gvfsjobread.c:123 daemon/gvfsjobseekread.c:121
|
||||
#: daemon/gvfsjobseekwrite.c:121 daemon/gvfsjobsetattribute.c:130
|
||||
#: daemon/gvfsjobsetdisplayname.c:111 daemon/gvfsjobstartmountable.c:113
|
||||
#: daemon/gvfsjobstopmountable.c:115 daemon/gvfsjobtrash.c:107
|
||||
#: daemon/gvfsjobtruncate.c:113 daemon/gvfsjobunmountmountable.c:157
|
||||
#: daemon/gvfsjobunmountmountable.c:172 daemon/gvfsjobwrite.c:123
|
||||
#: daemon/gvfsbackendhttp.c:745 daemon/gvfsbackendmtp.c:1794
|
||||
#: daemon/gvfsbackendmtp.c:2095 daemon/gvfsbackendmtp.c:2344
|
||||
#: daemon/gvfsbackendmtp.c:2535 daemon/gvfsbackendmtp.c:2618
|
||||
#: daemon/gvfsbackendmtp.c:2706 daemon/gvfsbackendmtp.c:2774
|
||||
#: daemon/gvfsbackendmtp.c:2969 daemon/gvfsbackendmtp.c:3112
|
||||
#: daemon/gvfsbackendnfs.c:2372 daemon/gvfsbackendnfs.c:2422
|
||||
#: daemon/gvfsbackendnfs.c:2548 daemon/gvfsbackendsftp.c:2213
|
||||
#: daemon/gvfsbackendsftp.c:5417 daemon/gvfsbackendsftp.c:5515
|
||||
#: daemon/gvfsbackendsftp.c:6227 daemon/gvfsbackendsftp.c:6259
|
||||
#: daemon/gvfsbackendsftp.c:6285 daemon/gvfsbackendsftp.c:6293
|
||||
#: daemon/gvfsbackendsftp.c:6780 daemon/gvfsbackendsftp.c:6842
|
||||
#: daemon/gvfsbackendsftp.c:6850 daemon/gvfsbackendsmb.c:1700
|
||||
#: daemon/gvfsbackendtrash.c:937 daemon/gvfsbackendtrash.c:963
|
||||
#: daemon/gvfsftptask.c:430 daemon/gvfsjobcloseread.c:113
|
||||
#: daemon/gvfsjobclosewrite.c:121 daemon/gvfsjobcopy.c:121
|
||||
#: daemon/gvfsjobcreatemonitor.c:143 daemon/gvfsjobcreatemonitor.c:154
|
||||
#: daemon/gvfsjobcreatemonitor.c:177 daemon/gvfsjobcreatemonitor.c:195
|
||||
#: daemon/gvfsjobdelete.c:108 daemon/gvfsjobenumerate.c:272
|
||||
#: daemon/gvfsjobmakedirectory.c:108 daemon/gvfsjobmount.c:112
|
||||
#: daemon/gvfsjobmountmountable.c:138 daemon/gvfsjobmove.c:121
|
||||
#: daemon/gvfsjobopenforread.c:120 daemon/gvfsjobopenforwrite.c:184
|
||||
#: daemon/gvfsjobopenforwrite.c:198 daemon/gvfsjobopenforwrite.c:212
|
||||
#: daemon/gvfsjobopeniconforread.c:104 daemon/gvfsjobpollmountable.c:107
|
||||
#: daemon/gvfsjobpull.c:125 daemon/gvfsjobpush.c:125
|
||||
#: daemon/gvfsjobqueryattributes.c:145 daemon/gvfsjobqueryfsinfo.c:116
|
||||
#: daemon/gvfsjobqueryinfo.c:124 daemon/gvfsjobqueryinforead.c:125
|
||||
#: daemon/gvfsjobqueryinfowrite.c:125 daemon/gvfsjobread.c:123
|
||||
#: daemon/gvfsjobseekread.c:121 daemon/gvfsjobseekwrite.c:121
|
||||
#: daemon/gvfsjobsetattribute.c:130 daemon/gvfsjobsetdisplayname.c:111
|
||||
#: daemon/gvfsjobstartmountable.c:113 daemon/gvfsjobstopmountable.c:115
|
||||
#: daemon/gvfsjobtrash.c:107 daemon/gvfsjobtruncate.c:113
|
||||
#: daemon/gvfsjobunmountmountable.c:157 daemon/gvfsjobunmountmountable.c:172
|
||||
#: daemon/gvfsjobwrite.c:123
|
||||
msgid "Operation not supported"
|
||||
msgstr "İşlem desteklenmiyor"
|
||||
|
||||
#: daemon/gvfsbackendadmin.c:999 daemon/gvfsbackendarchive.c:639
|
||||
#: daemon/gvfsbackendarchive.c:668 daemon/gvfsbackenddav.c:2354
|
||||
#: daemon/gvfsbackendarchive.c:668 daemon/gvfsbackenddav.c:2356
|
||||
#: daemon/gvfsbackendgoogle.c:2943 daemon/gvfsbackendhttp.c:303
|
||||
#: daemon/gvfsbackendsmb.c:582
|
||||
msgid "Invalid mount spec"
|
||||
|
@ -649,11 +651,11 @@ msgstr "İşlenmemiş Apple Dosya Denetim hatası (%d)"
|
|||
|
||||
#: daemon/gvfsbackendafc.c:190
|
||||
msgid "Listing applications installed on device failed"
|
||||
msgstr "Aygıt üzerinde kurulu uygulamaların listelenmesi başarısız oldu"
|
||||
msgstr "Aygıt üzerinde kurulu uygulamaların listelenemedi"
|
||||
|
||||
#: daemon/gvfsbackendafc.c:206
|
||||
msgid "Accessing application icons on device failed"
|
||||
msgstr "Aygıttaki uygulama simgelerine erişim başarısız oldu"
|
||||
msgstr "Aygıttaki uygulama simgelerine erişemedi"
|
||||
|
||||
#: daemon/gvfsbackendafc.c:228
|
||||
msgid "Lockdown Error: Invalid Argument"
|
||||
|
@ -701,8 +703,8 @@ msgstr "İşlenmemiş libimobiledevice hatası (%d)"
|
|||
msgid "Try again"
|
||||
msgstr "Yeniden dene"
|
||||
|
||||
#: daemon/gvfsbackendafc.c:394 daemon/gvfsbackend.c:1025
|
||||
#: monitor/udisks2/gvfsudisks2mount.c:750
|
||||
#: daemon/gvfsbackendafc.c:394 daemon/gvfsbackend.c:1024
|
||||
#: monitor/udisks2/gvfsudisks2mount.c:748
|
||||
msgid "Cancel"
|
||||
msgstr "İptal"
|
||||
|
||||
|
@ -776,15 +778,15 @@ msgstr ""
|
|||
|
||||
#: daemon/gvfsbackendafc.c:1053 daemon/gvfsbackendarchive.c:746
|
||||
#: daemon/gvfsbackendcomputer.c:657 daemon/gvfsbackendgoogle.c:3577
|
||||
#: daemon/gvfsbackendgphoto2.c:1548 daemon/gvfsbackendmtp.c:2329
|
||||
#: daemon/gvfsbackendgphoto2.c:1548 daemon/gvfsbackendmtp.c:2377
|
||||
#: daemon/gvfsbackendnfs.c:356 daemon/gvfsbackendrecent.c:126
|
||||
#: daemon/gvfsbackendsmb.c:672 daemon/gvfsbackendtrash.c:234
|
||||
#: daemon/gvfsbackendsmb.c:672 daemon/gvfsbackendtrash.c:333
|
||||
msgid "Can’t open directory"
|
||||
msgstr "Dizin açılamıyor"
|
||||
|
||||
#: daemon/gvfsbackendafc.c:1273 daemon/gvfsbackendafc.c:2528
|
||||
#: daemon/gvfsbackendafp.c:1270 daemon/gvfsbackendafp.c:1359
|
||||
#: daemon/gvfsbackenddav.c:3659 daemon/gvfsbackendftp.c:1461
|
||||
#: daemon/gvfsbackenddav.c:3661 daemon/gvfsbackendftp.c:1461
|
||||
#: daemon/gvfsbackendsftp.c:3722 daemon/gvfsbackendsftp.c:4009
|
||||
msgid "Backups not supported"
|
||||
msgstr "Yedekler desteklenmiyor"
|
||||
|
@ -797,8 +799,8 @@ msgstr "Atlama türü desteklenmiyor"
|
|||
#: daemon/gvfsbackendafpbrowse.c:208 daemon/gvfsbackendcomputer.c:958
|
||||
#: daemon/gvfsbackendcomputer.c:1053 daemon/gvfsbackendcomputer.c:1159
|
||||
#: daemon/gvfsbackendcomputer.c:1249 daemon/gvfsbackendcomputer.c:1322
|
||||
#: daemon/gvfsbackendcomputer.c:1391 daemon/gvfsbackendsmbbrowse.c:1120
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1166
|
||||
#: daemon/gvfsbackendcomputer.c:1391 daemon/gvfsbackendsmbbrowse.c:948
|
||||
#: daemon/gvfsbackendsmbbrowse.c:994
|
||||
msgid "Not a mountable file"
|
||||
msgstr "Bağlanılabilir bir dosya değil"
|
||||
|
||||
|
@ -838,23 +840,23 @@ msgid "Apple Filing Protocol Service"
|
|||
msgstr "Apple Dosyalama Kuralı Hizmeti"
|
||||
|
||||
#: daemon/gvfsbackendafp.c:286 daemon/gvfsbackendburn.c:877
|
||||
#: daemon/gvfsbackenddav.c:3747 daemon/gvfsbackendftp.c:1568
|
||||
#: daemon/gvfsbackenddav.c:3749 daemon/gvfsbackendftp.c:1568
|
||||
#: daemon/gvfsbackendgoogle.c:1752 daemon/gvfsbackendgoogle.c:2095
|
||||
#: daemon/gvfsbackendgoogle.c:3141
|
||||
msgid "Can’t copy directory over directory"
|
||||
msgstr "Dizin üstüne dizin kopyalanamıyor"
|
||||
|
||||
#: daemon/gvfsbackendafp.c:305 daemon/gvfsbackendburn.c:893
|
||||
#: daemon/gvfsbackenddav.c:3782 daemon/gvfsbackendftp.c:1591
|
||||
#: daemon/gvfsbackenddav.c:3784 daemon/gvfsbackendftp.c:1591
|
||||
#: daemon/gvfsbackendgoogle.c:1814 daemon/gvfsbackendgoogle.c:3168
|
||||
#: daemon/gvfsbackendgoogle.c:3216 daemon/gvfsbackendmtp.c:1641
|
||||
#: daemon/gvfsbackendmtp.c:1656
|
||||
#: daemon/gvfsbackendgoogle.c:3216 daemon/gvfsbackendmtp.c:1689
|
||||
#: daemon/gvfsbackendmtp.c:1704
|
||||
msgid "Can’t recursively copy directory"
|
||||
msgstr "Dizin özyinelemeli kopyalanamıyor"
|
||||
|
||||
#: daemon/gvfsbackendafp.c:489 daemon/gvfsbackenddav.c:3560
|
||||
#: daemon/gvfsbackendafp.c:489 daemon/gvfsbackenddav.c:3562
|
||||
#: daemon/gvfsbackendgoogle.c:2209 daemon/gvfsbackendnfs.c:2474
|
||||
#: daemon/gvfsbackendsftp.c:5015 daemon/gvfsbackendsmb.c:2086
|
||||
#: daemon/gvfsbackendsftp.c:5015 daemon/gvfsbackendsmb.c:2097
|
||||
msgid "Can’t move directory over directory"
|
||||
msgstr "Dizin üstüne dizin taşınamıyor"
|
||||
|
||||
|
@ -863,7 +865,7 @@ msgstr "Dizin üstüne dizin taşınamıyor"
|
|||
msgid "Unable to create temporary file (%s)"
|
||||
msgstr "Geçici dosya oluşturulamadı (%s)"
|
||||
|
||||
#: daemon/gvfsbackendafp.c:1348 daemon/gvfsbackenddav.c:2975
|
||||
#: daemon/gvfsbackendafp.c:1348 daemon/gvfsbackenddav.c:2977
|
||||
#: daemon/gvfsbackendnfs.c:1177 daemon/gvfsbackendsftp.c:3963
|
||||
#: daemon/gvfsbackendsmb.c:1077
|
||||
msgid "The file was externally modified"
|
||||
|
@ -920,7 +922,7 @@ msgstr "Geçiçi dizin oluşturulamadı"
|
|||
#: daemon/gvfsbackendgphoto2.c:2588 daemon/gvfsbackendrecent.c:110
|
||||
#: daemon/gvfsbackendrecent.c:293 daemon/gvfsbackendsftp.c:2217
|
||||
#: daemon/gvfsbackendsftp.c:3377 daemon/gvfsbackendsftp.c:3390
|
||||
#: daemon/gvfsbackendsftp.c:3410 daemon/gvfsbackendtrash.c:218
|
||||
#: daemon/gvfsbackendsftp.c:3410 daemon/gvfsbackendtrash.c:317
|
||||
#, c-format
|
||||
msgid "No such file or directory"
|
||||
msgstr "Böyle dosya ya da dizin yok"
|
||||
|
@ -943,21 +945,21 @@ msgstr "CD/DVD Oluşturucu"
|
|||
msgid "File exists"
|
||||
msgstr "Dosya var"
|
||||
|
||||
#: daemon/gvfsbackendburn.c:886 daemon/gvfsbackenddav.c:3599
|
||||
#: daemon/gvfsbackendburn.c:886 daemon/gvfsbackenddav.c:3601
|
||||
#: daemon/gvfsbackendsftp.c:2211 daemon/gvfsbackendsftp.c:5195
|
||||
msgid "Target file exists"
|
||||
msgstr "Hedef dosya var"
|
||||
|
||||
#: daemon/gvfsbackend.c:890 daemon/gvfsjobunmount.c:197
|
||||
#: daemon/gvfsbackend.c:889 daemon/gvfsjobunmount.c:197
|
||||
#: daemon/gvfsjobunmount.c:264
|
||||
msgid "File system is busy"
|
||||
msgstr "Dosya sistemi meşgul"
|
||||
|
||||
#: daemon/gvfsbackend.c:1024 monitor/udisks2/gvfsudisks2mount.c:748
|
||||
#: daemon/gvfsbackend.c:1023 monitor/udisks2/gvfsudisks2mount.c:746
|
||||
msgid "Unmount Anyway"
|
||||
msgstr "Gene de Bağı Kes"
|
||||
msgstr "Yine de Bağı Kes"
|
||||
|
||||
#: daemon/gvfsbackend.c:1027 monitor/udisks2/gvfsudisks2mount.c:751
|
||||
#: daemon/gvfsbackend.c:1026 monitor/udisks2/gvfsudisks2mount.c:749
|
||||
msgid ""
|
||||
"Volume is busy\n"
|
||||
"One or more applications are keeping the volume busy."
|
||||
|
@ -966,7 +968,7 @@ msgstr ""
|
|||
"Bir ya da daha çok uygulama birimi meşgul tutuyor."
|
||||
|
||||
#: daemon/gvfsbackendcdda.c:290 daemon/gvfsbackendgphoto2.c:1289
|
||||
#: daemon/gvfsbackendmtp.c:912
|
||||
#: daemon/gvfsbackendmtp.c:917
|
||||
msgid "Cannot create gudev client"
|
||||
msgstr "gudev istemcisi oluşturulamıyor"
|
||||
|
||||
|
@ -1087,7 +1089,7 @@ msgid "%s on %s%s"
|
|||
msgstr "%s üzerinde %s%s"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:766 daemon/gvfsbackenddav.c:1536
|
||||
#: daemon/gvfsbackenddav.c:2145 daemon/gvfsbackenddav.c:2309
|
||||
#: daemon/gvfsbackenddav.c:2147 daemon/gvfsbackenddav.c:2311
|
||||
#: daemon/gvfsbackendhttp.c:268 daemon/gvfshttpinputstream.c:273
|
||||
#, c-format
|
||||
msgid "HTTP Error: %s"
|
||||
|
@ -1105,8 +1107,8 @@ msgstr "Boş cevap"
|
|||
msgid "Unexpected reply from server"
|
||||
msgstr "Sunucudan beklenilmeyen yanıt"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:1554 daemon/gvfsbackenddav.c:2510
|
||||
#: daemon/gvfsbackenddav.c:2605 daemon/gvfsbackenddav.c:2789
|
||||
#: daemon/gvfsbackenddav.c:1554 daemon/gvfsbackenddav.c:2512
|
||||
#: daemon/gvfsbackenddav.c:2607 daemon/gvfsbackenddav.c:2791
|
||||
#, c-format
|
||||
msgid "Response invalid"
|
||||
msgstr "Geçersiz cevap"
|
||||
|
@ -1117,7 +1119,7 @@ msgstr "WebDAV paylaşımı"
|
|||
|
||||
#. Translators: %s is the name of the WebDAV share
|
||||
#. Translators: %s is a server name
|
||||
#: daemon/gvfsbackenddav.c:1778 daemon/gvfsbackendsmbbrowse.c:373
|
||||
#: daemon/gvfsbackenddav.c:1778 daemon/gvfsbackendsmbbrowse.c:335
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Authentication Required\n"
|
||||
|
@ -1134,28 +1136,28 @@ msgstr ""
|
|||
"Kimlik Doğrulaması Gerekli\n"
|
||||
"Vekil parolasını gir:"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:2153
|
||||
#: daemon/gvfsbackenddav.c:2155
|
||||
msgid "Could not find an enclosing directory"
|
||||
msgstr "Kapsayan dizin bulunamadı"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:2297
|
||||
#: daemon/gvfsbackenddav.c:2299
|
||||
msgid "Not a WebDAV enabled share"
|
||||
msgstr "Paylaşımı etkinleştirilmiş bir WebDAV yok"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:2536 daemon/gvfsbackenddav.c:2649
|
||||
#: daemon/gvfsbackenddav.c:2736 daemon/gvfsbackenddav.c:2823
|
||||
#: daemon/gvfsbackenddav.c:2538 daemon/gvfsbackenddav.c:2651
|
||||
#: daemon/gvfsbackenddav.c:2738 daemon/gvfsbackenddav.c:2825
|
||||
msgid "Could not create request"
|
||||
msgstr "İstek oluşturulamadı"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:3009 daemon/gvfsbackendftp.c:1102
|
||||
#: daemon/gvfsbackenddav.c:3011 daemon/gvfsbackendftp.c:1102
|
||||
#: daemon/gvfsbackendgoogle.c:3944 daemon/gvfsbackendnfs.c:941
|
||||
#: daemon/gvfsbackendnfs.c:964 daemon/gvfsbackendnfs.c:990
|
||||
#: daemon/gvfsbackendnfs.c:1390 daemon/gvfsbackendsmb.c:1113
|
||||
#: daemon/gvfsbackendsmb.c:2114
|
||||
#: daemon/gvfsbackendsmb.c:2125
|
||||
msgid "Backup file creation failed"
|
||||
msgstr "Yedek dosyası oluşturma başarısız oldu"
|
||||
msgstr "Yedek dosyası oluşturulamadı"
|
||||
|
||||
#: daemon/gvfsbackenddav.c:3565
|
||||
#: daemon/gvfsbackenddav.c:3567
|
||||
msgid "Can’t move over directory"
|
||||
msgstr "Dizin üstüne taşınamaz"
|
||||
|
||||
|
@ -1173,12 +1175,12 @@ msgid "Dns-SD"
|
|||
msgstr "Dns-SD"
|
||||
|
||||
#: daemon/gvfsbackenddnssd.c:795 daemon/gvfsbackendnetwork.c:784
|
||||
#: daemon/gvfsbackendnetwork.c:933 daemon/gvfsbackendnetwork.c:934
|
||||
#: daemon/gvfsbackendnetwork.c:926 daemon/gvfsbackendnetwork.c:927
|
||||
msgid "Network"
|
||||
msgstr "Ağ"
|
||||
|
||||
#: daemon/gvfsbackendftp.c:560 daemon/gvfsbackendsftp.c:1191
|
||||
#: daemon/gvfsbackendsftp.c:1295 daemon/gvfsbackendsmbbrowse.c:1020
|
||||
#: daemon/gvfsbackendsftp.c:1295 daemon/gvfsbackendsmbbrowse.c:848
|
||||
#: daemon/gvfsbackendsmb.c:537
|
||||
msgid "Password dialog cancelled"
|
||||
msgstr "Parola penceresi iptal edildi"
|
||||
|
@ -1287,7 +1289,7 @@ msgstr "%s: %d: Desteklenmiyor"
|
|||
msgid "Digital Camera (%s)"
|
||||
msgstr "Dijital Fotoğraf Makinesi (%s)"
|
||||
|
||||
#: daemon/gvfsbackendgphoto2.c:1256 daemon/gvfsbackendmtp.c:883
|
||||
#: daemon/gvfsbackendgphoto2.c:1256 daemon/gvfsbackendmtp.c:888
|
||||
msgid "Couldn’t find matching udev device."
|
||||
msgstr "Eşleşen udev aygıtı bulunamadı."
|
||||
|
||||
|
@ -1338,7 +1340,7 @@ msgstr "Dosya nesnesi oluşturulurken hata"
|
|||
msgid "Error getting file"
|
||||
msgstr "Dosya alınırken hata"
|
||||
|
||||
#: daemon/gvfsbackendgphoto2.c:1647 daemon/gvfsbackendmtp.c:2417
|
||||
#: daemon/gvfsbackendgphoto2.c:1647 daemon/gvfsbackendmtp.c:2465
|
||||
#, c-format
|
||||
msgid "Malformed icon identifier “%s”"
|
||||
msgstr "Bozuk simge belirteci “%s”"
|
||||
|
@ -1349,17 +1351,17 @@ msgid "Error seeking in stream on camera %s"
|
|||
msgstr "Fotograf makinesi %s üzerinde akış içine atlanırken hata"
|
||||
|
||||
#: daemon/gvfsbackendgphoto2.c:1863 daemon/gvfsbackendsftp.c:3380
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1443
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1271
|
||||
msgid "Not a directory"
|
||||
msgstr "Bir dizin değil"
|
||||
|
||||
#: daemon/gvfsbackendgphoto2.c:1896
|
||||
msgid "Failed to get folder list"
|
||||
msgstr "Klasör listesi alma başarısız oldu"
|
||||
msgstr "Klasör listesi alınamadı"
|
||||
|
||||
#: daemon/gvfsbackendgphoto2.c:1961
|
||||
msgid "Failed to get file list"
|
||||
msgstr "Dosya listesi alınırken başarısız olundu"
|
||||
msgstr "Dosya listesi alınamadı"
|
||||
|
||||
#: daemon/gvfsbackendgphoto2.c:2250
|
||||
msgid "Error creating directory"
|
||||
|
@ -1456,66 +1458,66 @@ msgstr "Bilinmeyen hata."
|
|||
msgid "libmtp error: %s"
|
||||
msgstr "libmtp hatası: %s"
|
||||
|
||||
#: daemon/gvfsbackendmtp.c:904
|
||||
#: daemon/gvfsbackendmtp.c:909
|
||||
msgid "No device specified"
|
||||
msgstr "Hiçbir aygıt belirtilmedi"
|
||||
|
||||
#: daemon/gvfsbackendmtp.c:1050
|
||||
#: daemon/gvfsbackendmtp.c:1055
|
||||
msgid "No MTP devices found"
|
||||
msgstr "Hiç MTP aygıtı bulunamadı"
|
||||
|
||||
#: daemon/gvfsbackendmtp.c:1055
|
||||
#: daemon/gvfsbackendmtp.c:1060
|
||||
msgid "Unable to connect to MTP device"
|
||||
msgstr "MTP aygıtına bağlanılamadı"
|
||||
|
||||
#: daemon/gvfsbackendmtp.c:1060
|
||||
#: daemon/gvfsbackendmtp.c:1065
|
||||
msgid "Unable to allocate memory while detecting MTP devices"
|
||||
msgstr "MTP aygıtları algılanırken bellek ayrılamadı"
|
||||
|
||||
#: daemon/gvfsbackendmtp.c:1066
|
||||
#: daemon/gvfsbackendmtp.c:1071
|
||||
msgid "Generic libmtp error"
|
||||
msgstr "Genel libmtp hatası"
|
||||
|
||||
#: daemon/gvfsbackendmtp.c:1079
|
||||
#: daemon/gvfsbackendmtp.c:1084
|
||||
#, c-format
|
||||
msgid "Unable to open MTP device “%03u,%03u”"
|
||||
msgstr "“%03u,%03u” MTP aygıtı açılamıyor"
|
||||
|
||||
#: daemon/gvfsbackendmtp.c:1096
|
||||
#: daemon/gvfsbackendmtp.c:1101
|
||||
msgid "Device not found"
|
||||
msgstr "Aygıt bulunamadı"
|
||||
|
||||
#: daemon/gvfsbackendmtp.c:1401 daemon/gvfsbackendmtp.c:1509
|
||||
#: daemon/gvfsbackendmtp.c:1561
|
||||
#: daemon/gvfsbackendmtp.c:1408 daemon/gvfsbackendmtp.c:1557
|
||||
#: daemon/gvfsbackendmtp.c:1609
|
||||
msgid "File not found"
|
||||
msgstr "Dosya bulunamadı"
|
||||
|
||||
#: daemon/gvfsbackendmtp.c:1631
|
||||
#: daemon/gvfsbackendmtp.c:1679
|
||||
msgid "Target is a directory"
|
||||
msgstr "Hedef bir dizin"
|
||||
|
||||
#: daemon/gvfsbackendmtp.c:1636
|
||||
#: daemon/gvfsbackendmtp.c:1684
|
||||
msgid "Can’t merge directories"
|
||||
msgstr "Dizinler birleştirilemez"
|
||||
|
||||
#: daemon/gvfsbackendmtp.c:1682
|
||||
#: daemon/gvfsbackendmtp.c:1730
|
||||
msgid "Cannot make directory in this location"
|
||||
msgstr "Bu konumda bir dizin oluşturulamıyor"
|
||||
|
||||
#: daemon/gvfsbackendmtp.c:1759 daemon/gvfsbackendmtp.c:2182
|
||||
#: daemon/gvfsbackendmtp.c:2245 daemon/gvfsbackendmtp.c:2312
|
||||
#: daemon/gvfsbackendmtp.c:2674 daemon/gvfsbackendmtp.c:2740
|
||||
#: daemon/gvfsbackendmtp.c:2953 daemon/gvfsbackendmtp.c:3096
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1188
|
||||
#: daemon/gvfsbackendmtp.c:1807 daemon/gvfsbackendmtp.c:2230
|
||||
#: daemon/gvfsbackendmtp.c:2293 daemon/gvfsbackendmtp.c:2360
|
||||
#: daemon/gvfsbackendmtp.c:2722 daemon/gvfsbackendmtp.c:2788
|
||||
#: daemon/gvfsbackendmtp.c:3001 daemon/gvfsbackendmtp.c:3144
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1016
|
||||
msgid "Not a regular file"
|
||||
msgstr "Düzenli bir dosya değil"
|
||||
|
||||
#: daemon/gvfsbackendmtp.c:2054 daemon/gvfsbackendmtp.c:2586
|
||||
#: daemon/gvfsbackendmtp.c:2937 daemon/gvfsbackendmtp.c:3080
|
||||
#: daemon/gvfsbackendmtp.c:2102 daemon/gvfsbackendmtp.c:2634
|
||||
#: daemon/gvfsbackendmtp.c:2985 daemon/gvfsbackendmtp.c:3128
|
||||
msgid "Cannot write to this location"
|
||||
msgstr "Bu konuma yazılamıyor"
|
||||
|
||||
#: daemon/gvfsbackendmtp.c:2399
|
||||
#: daemon/gvfsbackendmtp.c:2447
|
||||
#, c-format
|
||||
msgid "No thumbnail for entity “%s”"
|
||||
msgstr "“%s” girdisi için küçük resim yok"
|
||||
|
@ -1528,13 +1530,13 @@ msgstr "Dosya Paylaşımı"
|
|||
msgid "Remote Login"
|
||||
msgstr "Uzaktan Bağlantı"
|
||||
|
||||
#: daemon/gvfsbackendnetwork.c:333 daemon/gvfsbackendsmbbrowse.c:906
|
||||
#: daemon/gvfsbackendnetwork.c:333 daemon/gvfsbackendsmbbrowse.c:738
|
||||
msgid "Windows Network"
|
||||
msgstr "Windows Ağı"
|
||||
|
||||
#. Translators: this is the friendly name of the 'network://' backend that
|
||||
#. * shows computers in your local network.
|
||||
#: daemon/gvfsbackendnetwork.c:1020
|
||||
#: daemon/gvfsbackendnetwork.c:1013
|
||||
msgid "Network Location Monitor"
|
||||
msgstr "Ağ Konum İzleyici"
|
||||
|
||||
|
@ -1572,7 +1574,7 @@ msgstr "Son kullanılan"
|
|||
|
||||
#: daemon/gvfsbackendsftp.c:337 daemon/gvfsbackendsftp.c:720
|
||||
msgid "Connection failed"
|
||||
msgstr "Bağlantı başarısız oldu"
|
||||
msgstr "Bağlanamadı"
|
||||
|
||||
#: daemon/gvfsbackendsftp.c:353
|
||||
msgid "Hostname not known"
|
||||
|
@ -1588,7 +1590,7 @@ msgstr "Bağlantı sunucu tarafından reddedildi"
|
|||
|
||||
#: daemon/gvfsbackendsftp.c:375
|
||||
msgid "Host key verification failed"
|
||||
msgstr "Makine anahtarının onaylanması başarısız oldu"
|
||||
msgstr "Makine anahtarı doğrulanamadı"
|
||||
|
||||
#: daemon/gvfsbackendsftp.c:382
|
||||
msgid "Too many authentication failures"
|
||||
|
@ -1609,7 +1611,7 @@ msgstr "Giriş yapılırken zaman aşımına uğradı"
|
|||
|
||||
#: daemon/gvfsbackendsftp.c:934
|
||||
msgid "Log In Anyway"
|
||||
msgstr "Gene de Giriş Yap"
|
||||
msgstr "Yine de Giriş Yap"
|
||||
|
||||
#: daemon/gvfsbackendsftp.c:934
|
||||
msgid "Cancel Login"
|
||||
|
@ -1670,7 +1672,7 @@ msgid ""
|
|||
"The identity sent by the remote computer is “%s”. If you want to be "
|
||||
"absolutely sure it is safe to continue, contact the system administrator."
|
||||
msgstr ""
|
||||
"Kimlik Doğrulaması Başarısız\n"
|
||||
"Kimlik Doğrulamanamadı\n"
|
||||
"“%s” kimliği doğrulanamadı; bu, bilgisayarda ilk kez oturum açtığınızda "
|
||||
"gerçekleşir.\n"
|
||||
"\n"
|
||||
|
@ -1686,7 +1688,7 @@ msgid ""
|
|||
"If you want to be absolutely sure it is safe to continue, contact the system "
|
||||
"administrator."
|
||||
msgstr ""
|
||||
"Kimlik Doğrulaması Başarısız\n"
|
||||
"Kimlik Doğrulanamadı\n"
|
||||
"“%s” için ana makine anahtarı ile “%s” IP adresinin anahtarı birbirinden "
|
||||
"farklı.\n"
|
||||
"Eğer sürdürmenin güvenilirliğinden tümüyle emin olmalıysanız, sistem "
|
||||
|
@ -1742,7 +1744,7 @@ msgstr "Değer aralık dışında, sftp yalnızca 32bit zaman damgalarını dest
|
|||
msgid "Invalid attribute type (uint64 expected)"
|
||||
msgstr "Geçersiz öznitelik türü (uint64 bekleniyor)"
|
||||
|
||||
#: daemon/gvfsbackendsmbbrowse.c:808 daemon/gvfsbackendsmbbrowse.c:847
|
||||
#: daemon/gvfsbackendsmbbrowse.c:645 daemon/gvfsbackendsmbbrowse.c:679
|
||||
#: daemon/gvfsbackendsmb.c:401 daemon/gvfsbackendsmb.c:428
|
||||
#: daemon/gvfsbackendsmb.c:618
|
||||
#, c-format
|
||||
|
@ -1751,18 +1753,18 @@ msgstr "İç Hata (%s)"
|
|||
|
||||
#. translators: Name for the location that lists the smb shares
|
||||
#. availible on a server (%s is the name of the server)
|
||||
#: daemon/gvfsbackendsmbbrowse.c:915
|
||||
#: daemon/gvfsbackendsmbbrowse.c:747
|
||||
#, c-format
|
||||
msgid "Windows shares on %s"
|
||||
msgstr "%s üzerindeki Windows paylaşımları"
|
||||
|
||||
#. translators: We tried to mount a windows (samba) share, but failed
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1025
|
||||
#: daemon/gvfsbackendsmbbrowse.c:853
|
||||
#, c-format
|
||||
msgid "Failed to retrieve share list from server: %s"
|
||||
msgstr "%s sunucusundan paylaşım listesi alınamadı"
|
||||
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1547
|
||||
#: daemon/gvfsbackendsmbbrowse.c:1375
|
||||
msgid "Windows Network File System Service"
|
||||
msgstr "Windows Ağ Dosya Sistemi Hizmeti"
|
||||
|
||||
|
@ -1795,46 +1797,46 @@ msgstr "%s Windows paylaşımı bağlanamadı"
|
|||
#: daemon/gvfsbackendsmb.c:1312
|
||||
#, c-format
|
||||
msgid "Backup file creation failed: %s"
|
||||
msgstr "Yedek dosyası oluşturma başarısız: %s"
|
||||
msgstr "Yedek dosyası oluşturulamadı: %s"
|
||||
|
||||
#: daemon/gvfsbackendsmb.c:1923
|
||||
#: daemon/gvfsbackendsmb.c:1933
|
||||
msgid "Can’t rename file, filename already exists"
|
||||
msgstr "Dosya yeniden adlandırılamıyor, dosya adı zaten var"
|
||||
|
||||
#: daemon/gvfsbackendsmb.c:1974
|
||||
#: daemon/gvfsbackendsmb.c:1985
|
||||
#, c-format
|
||||
msgid "Error deleting file: %s"
|
||||
msgstr "Dosya silinirken hata: %s"
|
||||
|
||||
#: daemon/gvfsbackendsmb.c:2061
|
||||
#: daemon/gvfsbackendsmb.c:2072
|
||||
#, c-format
|
||||
msgid "Error moving file: %s"
|
||||
msgstr "Dosya taşınırken hata: %s"
|
||||
|
||||
#: daemon/gvfsbackendsmb.c:2134
|
||||
#: daemon/gvfsbackendsmb.c:2145
|
||||
#, c-format
|
||||
msgid "Error removing target file: %s"
|
||||
msgstr "Hedef dosya silinirken hata: %s"
|
||||
|
||||
#: daemon/gvfsbackendsmb.c:2158
|
||||
#: daemon/gvfsbackendsmb.c:2169
|
||||
msgid "Can’t recursively move directory"
|
||||
msgstr "Dizin özyinelemeli taşınamıyor"
|
||||
|
||||
#: daemon/gvfsbackendsmb.c:2207
|
||||
#: daemon/gvfsbackendsmb.c:2218
|
||||
msgid "Windows Shares File System Service"
|
||||
msgstr "Windows Paylaşımlar Dosya Sistemi Hizmeti"
|
||||
|
||||
#: daemon/gvfsbackendtrash.c:402 daemon/gvfsbackendtrash.c:461
|
||||
#: daemon/gvfsbackendtrash.c:490 daemon/gvfsbackendtrash.c:544
|
||||
msgid "The trash folder may not be deleted"
|
||||
msgstr "Çöp klasörü silinmemeli"
|
||||
|
||||
#: daemon/gvfsbackendtrash.c:422 daemon/gvfsbackendtrash.c:478
|
||||
#: daemon/gvfsbackendtrash.c:507 daemon/gvfsbackendtrash.c:558
|
||||
msgid "Items in the trash may not be modified"
|
||||
msgstr "Çöp içerisindeki ögeler değiştirilmemeli"
|
||||
|
||||
#. Translators: this is the display name of the backend
|
||||
#. translators: This is the name of the backend
|
||||
#: daemon/gvfsbackendtrash.c:780 daemon/gvfsbackendtrash.c:895
|
||||
#: daemon/gvfsbackendtrash.c:879 daemon/gvfsbackendtrash.c:999
|
||||
msgid "Trash"
|
||||
msgstr "Çöp"
|
||||
|
||||
|
@ -1889,7 +1891,7 @@ msgid ""
|
|||
"\n"
|
||||
"Are you really sure you would like to continue?"
|
||||
msgstr ""
|
||||
"Kimlik Doğrulaması Başarısız\n"
|
||||
"Kimlik Doğrulanamadı\n"
|
||||
"%s\n"
|
||||
"\n"
|
||||
"%s\n"
|
||||
|
@ -1901,7 +1903,7 @@ msgid "Unexpected end of stream"
|
|||
msgstr "Beklenilmeyen akış sonu"
|
||||
|
||||
#: daemon/gvfsftpconnection.c:227 daemon/gvfsftpconnection.c:240
|
||||
#: daemon/gvfsftptask.c:449 daemon/gvfsftptask.c:877
|
||||
#: daemon/gvfsftptask.c:450 daemon/gvfsftptask.c:878
|
||||
msgid "Invalid reply"
|
||||
msgstr "Geçersiz cevap"
|
||||
|
||||
|
@ -1910,55 +1912,55 @@ msgid ""
|
|||
"Failed to create active FTP connection. Maybe your router does not support "
|
||||
"this?"
|
||||
msgstr ""
|
||||
"Etkin FTP bağlantısı oluşturulamıyor. Belki yönlendiriciniz bunu "
|
||||
"Etkin FTP bağlantısı oluşturulamadı. Belki yönlendiriciniz bunu "
|
||||
"desteklemiyordur?"
|
||||
|
||||
#: daemon/gvfsftpconnection.c:485
|
||||
msgid "Failed to create active FTP connection."
|
||||
msgstr "Etkin FTP bağlantısı oluşturulamadı."
|
||||
msgstr "Aktif FTP bağlantısı oluşturulamadı."
|
||||
|
||||
#: daemon/gvfsftpfile.c:170
|
||||
msgid "Filename contains invalid characters."
|
||||
msgstr "Dosya adı geçersiz karakterler içeriyor."
|
||||
|
||||
#: daemon/gvfsftptask.c:290
|
||||
#: daemon/gvfsftptask.c:291
|
||||
msgid "The FTP server is busy. Try again later"
|
||||
msgstr "FTP sunucusu meşgul. Daha sonra yeniden deneyin"
|
||||
|
||||
#: daemon/gvfsftptask.c:296
|
||||
#: daemon/gvfsftptask.c:297
|
||||
msgid "Backend currently unmounting"
|
||||
msgstr "Art alan uygulaması halen ayırıyor"
|
||||
|
||||
#: daemon/gvfsftptask.c:393
|
||||
#: daemon/gvfsftptask.c:394
|
||||
msgid "Accounts are unsupported"
|
||||
msgstr "Hesaplar desteklenmiyor"
|
||||
|
||||
#: daemon/gvfsftptask.c:401
|
||||
#: daemon/gvfsftptask.c:402
|
||||
msgid "Cannot open data connection. Maybe your firewall prevents this?"
|
||||
msgstr ""
|
||||
"Veri bağlantısı açılamıyor. Güvenlik duvarınız bunu engelliyor olabilir mi?"
|
||||
|
||||
#: daemon/gvfsftptask.c:405
|
||||
#: daemon/gvfsftptask.c:406
|
||||
msgid "Data connection closed"
|
||||
msgstr "Veri bağlantısı kapatıldı"
|
||||
|
||||
#: daemon/gvfsftptask.c:412 daemon/gvfsftptask.c:416
|
||||
#: daemon/gvfsftptask.c:413 daemon/gvfsftptask.c:417
|
||||
msgid "Operation failed"
|
||||
msgstr "İşlem başarısız oldu"
|
||||
|
||||
#: daemon/gvfsftptask.c:421
|
||||
#: daemon/gvfsftptask.c:422
|
||||
msgid "No space left on server"
|
||||
msgstr "Sunucuda yer kalmadı"
|
||||
|
||||
#: daemon/gvfsftptask.c:433
|
||||
#: daemon/gvfsftptask.c:434
|
||||
msgid "Unsupported network protocol"
|
||||
msgstr "Desteklenmeyen ağ iletişim kuralı"
|
||||
|
||||
#: daemon/gvfsftptask.c:441
|
||||
#: daemon/gvfsftptask.c:442
|
||||
msgid "Page type unknown"
|
||||
msgstr "Sayfa türü bilinmiyor"
|
||||
|
||||
#: daemon/gvfsftptask.c:445
|
||||
#: daemon/gvfsftptask.c:446
|
||||
msgid "Invalid filename"
|
||||
msgstr "Geçersiz dosya adı"
|
||||
|
||||
|
@ -1998,7 +2000,7 @@ msgstr ""
|
|||
|
||||
#: daemon/main.c:148 metadata/meta-daemon.c:459
|
||||
msgid "Replace old daemon."
|
||||
msgstr "Eski hizmetin yerine kondu."
|
||||
msgstr "Eski art alan hizmetini değiştir."
|
||||
|
||||
#: daemon/main.c:149
|
||||
msgid "Don’t start fuse."
|
||||
|
@ -2014,11 +2016,11 @@ msgstr "Programın sürümünü göster."
|
|||
|
||||
#: daemon/main.c:167
|
||||
msgid "GVFS Daemon"
|
||||
msgstr "GVFS Hizmeti"
|
||||
msgstr "GVFS Art Alan Hizmeti"
|
||||
|
||||
#: daemon/main.c:170
|
||||
msgid "Main daemon for GVFS"
|
||||
msgstr "GVFS için ana hizmet"
|
||||
msgstr "GVFS için ana art alan hizmeti"
|
||||
|
||||
#. Translators: the first %s is the application name,
|
||||
#. the second %s is the error message
|
||||
|
@ -2035,7 +2037,7 @@ msgstr "Daha çok bilgi için “%s --help” deneyin."
|
|||
#: daemon/mount.c:783
|
||||
#, c-format
|
||||
msgid "Automount failed: %s"
|
||||
msgstr "Kendiliğinden bağlama başarısız oldu: %s"
|
||||
msgstr "Kendiliğinden bağlanamadı: %s"
|
||||
|
||||
#: daemon/mount.c:827 daemon/mount.c:903
|
||||
msgid "The specified location is not mounted"
|
||||
|
@ -2060,11 +2062,12 @@ msgstr "Dosya işlemleri gerçekleştir"
|
|||
|
||||
#: daemon/org.gtk.vfs.file-operations.policy.in.in:14
|
||||
msgid "Authentication is required to run gvfsd-admin daemon"
|
||||
msgstr "Dosya işlemleri gerçekleştirmek için kimlik denetimi gerekiyor"
|
||||
msgstr ""
|
||||
"gvfsd-admin art alan hizmetini çalıştırmak için kimlik doğrulaması gerekiyor"
|
||||
|
||||
#: daemon/org.gtk.vfs.file-operations.policy.in.in:26
|
||||
msgid "Authentication is required to perform file operations"
|
||||
msgstr "Dosya işlemleri gerçekleştirmek için yetkilendirme gerekiyor"
|
||||
msgstr "Dosya işlemleri gerçekleştirmek için kimlik doğrulaması gerekiyor"
|
||||
|
||||
#: metadata/meta-daemon.c:249 metadata/meta-daemon.c:326
|
||||
#: metadata/meta-daemon.c:363
|
||||
|
@ -2090,16 +2093,16 @@ msgstr "Üst veri anahtarları taşınamıyor"
|
|||
|
||||
#: metadata/meta-daemon.c:470
|
||||
msgid "GVFS Metadata Daemon"
|
||||
msgstr "GVFS Üst Veri Hizmeti"
|
||||
msgstr "GVFS Üst Veri Art Alan Hizmeti"
|
||||
|
||||
#: metadata/meta-daemon.c:473
|
||||
msgid "Metadata daemon for GVFS"
|
||||
msgstr "GVFS için üst veri hizmeti"
|
||||
msgstr "GVFS için üst veri art alan hizmeti"
|
||||
|
||||
#: monitor/goa/goavolume.c:296 monitor/goa/goavolume.c:335
|
||||
#, c-format
|
||||
msgid "Failed to get org.gnome.OnlineAccounts.Files for %s"
|
||||
msgstr "%s için org.gnome.OnlineAccounts.Files getirilemedi"
|
||||
msgstr "%s için org.gnome.OnlineAccounts.Files alınamadı"
|
||||
|
||||
#: monitor/goa/goavolume.c:366
|
||||
#, c-format
|
||||
|
@ -2109,7 +2112,7 @@ msgstr "%s için geçersiz kullanıcı bilgisi"
|
|||
#: monitor/goa/goavolume.c:399
|
||||
#, c-format
|
||||
msgid "Unsupported authentication method for %s"
|
||||
msgstr "%s için desteklenmeyen kimlik denetimi yöntemi"
|
||||
msgstr "%s için desteklenmeyen kimlik doğrulama yöntemi"
|
||||
|
||||
#: monitor/proxy/gvfsproxyvolumemonitordaemon.c:1037
|
||||
msgid "The given mount was not found"
|
||||
|
@ -2151,21 +2154,20 @@ msgstr "Adsız Sürücü"
|
|||
#: monitor/udisks2/gvfsudisks2drive.c:624
|
||||
#, c-format
|
||||
msgid "Failed to eject medium; one or more volumes on the medium are busy."
|
||||
msgstr ""
|
||||
"Ortamı çıkartma başarısız; ortam üzerindeki bir ya da daha çok birim meşgul."
|
||||
msgstr "Ortam çıkartılamadı; ortam üzerindeki bir ya da daha çok birim meşgul."
|
||||
|
||||
#: monitor/udisks2/gvfsudisks2mount.c:634
|
||||
#: monitor/udisks2/gvfsudisks2mount.c:632
|
||||
msgid "One or more programs are preventing the unmount operation."
|
||||
msgstr "Bir ya da daha çok program ayırma işlemini engellemektedir."
|
||||
|
||||
#. Note that the GUI (Shell, Files) currently use the term
|
||||
#. * "Eject" for both GDrive.stop() and GDrive.eject().
|
||||
#.
|
||||
#: monitor/udisks2/gvfsudisks2mount.c:744
|
||||
#: monitor/udisks2/gvfsudisks2mount.c:742
|
||||
msgid "Eject Anyway"
|
||||
msgstr "Yine de Çıkart"
|
||||
|
||||
#: monitor/udisks2/gvfsudisks2mount.c:1128
|
||||
#: monitor/udisks2/gvfsudisks2mount.c:1147
|
||||
#: monitor/udisks2/gvfsudisks2volume.c:1769
|
||||
msgid "Operation not supported by backend"
|
||||
msgstr "Arkayüz tarafından işlem desteklenmiyor"
|
||||
|
@ -2193,7 +2195,7 @@ msgstr ""
|
|||
"%s üzerine veri yazılıyor\n"
|
||||
"Aygıt çıkartılmamalıdır."
|
||||
|
||||
#: monitor/udisks2/gvfsudisks2utils.c:780
|
||||
#: monitor/udisks2/gvfsudisks2utils.c:784
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s unmounted\n"
|
||||
|
@ -2202,7 +2204,7 @@ msgstr ""
|
|||
"%s ayrıldı\n"
|
||||
"Dosya sistemi bağlantısı kesildi."
|
||||
|
||||
#: monitor/udisks2/gvfsudisks2utils.c:782
|
||||
#: monitor/udisks2/gvfsudisks2utils.c:786
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s can be safely unplugged\n"
|
||||
|
|
|
@ -1351,8 +1351,10 @@ pkill --signal HUP udevd || pkill --signal HUP systemd-udevd
|
|||
|
||||
if self.mock_polkit:
|
||||
# for some reason, terminating the shell doesn't terminate the
|
||||
# polkitd running in it, so kill that separately
|
||||
self.root_command('kill `pidof -x /home/test_polkitd.py`')
|
||||
# polkitd running in it, so kill that separately.
|
||||
# The apparently redundant [] is to stop pkill from
|
||||
# killing itself or its sudo parent.
|
||||
self.root_command('pkill -e -f "/home/test_polkitd[.]py"')
|
||||
self.mock_polkit.terminate()
|
||||
self.mock_polkit.wait()
|
||||
self.mock_polkit = None
|
||||
|
|
|
@ -22,6 +22,7 @@ import argparse
|
|||
import unittest
|
||||
import signal
|
||||
import time
|
||||
import pwd
|
||||
|
||||
import dbus
|
||||
import dbus.service
|
||||
|
@ -193,4 +194,10 @@ def main():
|
|||
_run(args.allowed_actions.split(','), args.bus_address, args.replace)
|
||||
|
||||
if __name__ == '__main__':
|
||||
# use the right user to start the service
|
||||
try:
|
||||
uid = pwd.getpwnam('polkitd').pw_uid
|
||||
os.setuid(uid)
|
||||
except KeyError:
|
||||
pass
|
||||
main()
|
||||
|
|
Loading…
Reference in New Issue