diff --git a/CMakeLists.txt b/CMakeLists.txt index f888f7162..a0567b1dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,6 +51,7 @@ if (${GIT_SHA1} STREQUAL "GITDIR-NOTFOUND") set (GIT_SHA1 "${sha1_candidate}") endif() endif() +message(STATUS "GIT_SHA1 ${GIT_SHA1}") endif() set(SYSCONFDIR ${SYSCONF_INSTALL_DIR}) diff --git a/ChangeLog b/ChangeLog index 7722eff81..7be7f20e3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,51 @@ ChangeLog ========= +version 1.7.0 (release 2014-10-xx) + +* oC7 Sharing: Handle new sharing options of ownCloud 7 correctly. + * Added Selective sync: Ability to unselect server folders which are + excluded from syncing, plus GUI and setup GUI + * Improved local change detection: consider file size, detect files + with ongoing changes and do not upload immediately + * Improved HTTP request timeout handler: all successful requests reset + the timeout counter + * Improvements for syncing command line tool: netrc support, improved + SSL support, non interactive mode + * Added a socket based API to provide file management shells with status + information about the sync status of files. That is a prerequisite for + the overlay icons in the file managers. + * Permission system: ownCloud 7 delivers file and folder permissions, + added ability to deal with it for shared folders and more. + * Ignore handling: Do not recurse into ignored or excluded directories + * Major sync journal database improvements for more stability and performance + * New library interface to sqlite3 + * Improve "resync handling" if errors occur + * Blacklist improvements + * Improved logging: more useful meta info, removed noise + * Updated to latest Qt5 versions on Windows and OS X + * OS X: Sparkle update to provide pkg format properly + * OS X: Change distribution format from dmg to pkg with new installer. + * Win: Fix handling of filenames with trailing dot or space + +version 1.6.4 (release 2014-10-22) + * Fix startup logic, fixes bug #1989 + * Fix raise dialog on X11 + * Win32: fix overflow when computing the size of file > 4GiB + * Use a fixed function to get files modification time, the + original one was broken for certain timezone issues, see + core bug #9781 for details + * Added some missing copyright headers + * Avoid data corruption due to wrong error handling, bug #2280 + * Do improved request timeout handling to reduce the number of + timed out jobs, bug #2155 + version 1.6.3 (release 2014-09-03) + * Fixed updater on OS X + * Fixed memory leak in SSL button that could lead to quick memory draining + * Fixed upload problem with files >4 GB + * MacOSX, Linux: Bring Settings window to front properly + * Branded clients: If no configuration is detected, try to import the data + from a previously configured community edition. + version 1.6.2 (release 2014-07-28 ) * Limit the HTTP buffer size when downloading to limit memory consumption. * Another small mem leak fixed in HTTP Credentials. diff --git a/VERSION.cmake b/VERSION.cmake index 963fea9c1..b9a336aec 100644 --- a/VERSION.cmake +++ b/VERSION.cmake @@ -4,7 +4,7 @@ set( MIRALL_VERSION_PATCH 0 ) set( MIRALL_SOVERSION 0 ) if ( NOT DEFINED MIRALL_VERSION_SUFFIX ) - set( MIRALL_VERSION_SUFFIX "beta4") #e.g. beta1, beta2, rc1 + set( MIRALL_VERSION_SUFFIX "rc1") #e.g. beta1, beta2, rc1 endif( NOT DEFINED MIRALL_VERSION_SUFFIX ) if( NOT DEFINED MIRALL_VERSION_BUILD ) diff --git a/admin/osx/installer-background.png b/admin/osx/installer-background.png new file mode 100644 index 000000000..a2f6c1e8e Binary files /dev/null and b/admin/osx/installer-background.png differ diff --git a/admin/osx/installer-background.svg b/admin/osx/installer-background.svg new file mode 100644 index 000000000..3d8fda22e --- /dev/null +++ b/admin/osx/installer-background.svg @@ -0,0 +1,51 @@ + +image/svg+xml \ No newline at end of file diff --git a/admin/osx/installer-background_2x.png b/admin/osx/installer-background_2x.png new file mode 100644 index 000000000..f5a0c1f28 Binary files /dev/null and b/admin/osx/installer-background_2x.png differ diff --git a/admin/osx/macdeployqt.py b/admin/osx/macdeployqt.py index 278c666ad..5ffd00254 100755 --- a/admin/osx/macdeployqt.py +++ b/admin/osx/macdeployqt.py @@ -250,8 +250,10 @@ def CopyFramework(path): parts = path.split(os.sep) print "CopyFramework:", path for i, part in enumerate(parts): - if re.match(r'\w+\.framework', part): + matchObj = re.match(r'(\w+\.framework)', part) + if matchObj: full_path = os.path.join(frameworks_dir, *parts[i:-1]) + framework = matchObj.group(1) break args = ['mkdir', '-p', full_path] commands.append(args) @@ -259,12 +261,13 @@ def CopyFramework(path): commands.append(args) args = ['chmod', 'u+w', os.path.join(full_path, parts[-1])] commands.append(args) + args = ['chmod', 'u+w', os.path.join(frameworks_dir, framework, "Resources")] + commands.append(args) info_plist = os.path.join(os.path.split(path)[0], '..', '..', 'Contents', 'Info.plist') if os.path.exists(info_plist): - args = ['cp', '-r', info_plist, resources_dir] + args = ['cp', '-r', info_plist, os.path.join(frameworks_dir, framework, "Resources")] commands.append(args) - return os.path.join(full_path, parts[-1]) def FixId(path, library_name): diff --git a/admin/osx/macosx.pkgproj b/admin/osx/macosx.pkgproj index c48b3a7c4..460b9d87a 100644 --- a/admin/osx/macosx.pkgproj +++ b/admin/osx/macosx.pkgproj @@ -491,7 +491,7 @@ OVERWRITE_PERMISSIONS VERSION - 1.6.2 + @MIRALL_VERSION_FULL@ UUID 7D7219B7-1897-48C3-8533-842BDEC46F71 @@ -793,7 +793,7 @@ GID 0 PATH - Library/ScriptingAdditions/OwnCloudFinder.osax/Contents + Library/ScriptingAdditions/SyncStateFinder.osax/Contents PATH_TYPE 3 PERMISSIONS @@ -807,7 +807,7 @@ GID 0 PATH - OwnCloudFinder.osax + SyncStateFinder.osax PATH_TYPE 0 PERMISSIONS @@ -1019,7 +1019,7 @@ OVERWRITE_PERMISSIONS VERSION - 1.6.2 + @MIRALL_VERSION_FULL@ TYPE 0 @@ -1041,7 +1041,7 @@ ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIj4KPHRp dGxlPjwvdGl0bGU+CjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29u dGVudD0iQ29jb2EgSFRNTCBXcml0ZXIiPgo8bWV0YSBuYW1lPSJD - b2NvYVZlcnNpb24iIGNvbnRlbnQ9IjExMzguNTEiPgo8c3R5bGUg + b2NvYVZlcnNpb24iIGNvbnRlbnQ9IjEzNDMuMTQiPgo8c3R5bGUg dHlwZT0idGV4dC9jc3MiPgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5 Pgo8L2JvZHk+CjwvaHRtbD4K @@ -1054,10 +1054,10 @@ 6 BACKGROUND_PATH - PATH - ./@APPLICATION_EXECUTABLE@.app/Contents/Resources/owncloud_logo_blue.png - PATH_TYPE - 3 + PATH + @CMAKE_SOURCE_DIR@/admin/osx/installer-background.png + PATH_TYPE + 0 CUSTOM 1 @@ -1415,7 +1415,7 @@ NAME ownCloud Installer REFERENCE_FOLDER_PATH - /Users/mackie/install + @CMAKE_INSTALL_DIR@ TYPE diff --git a/csync/src/csync.c b/csync/src/csync.c index b4f7a02c4..2cd5fa7d4 100644 --- a/csync/src/csync.c +++ b/csync/src/csync.c @@ -228,9 +228,10 @@ int csync_update(CSYNC *ctx) { rc = csync_ftw(ctx, ctx->local.uri, csync_walker, MAX_DEPTH); if (rc < 0) { - if(ctx->status_code == CSYNC_STATUS_OK) + if(ctx->status_code == CSYNC_STATUS_OK) { ctx->status_code = csync_errno_to_status(errno, CSYNC_STATUS_UPDATE_ERROR); - return -1; + } + goto out; } csync_gettime(&finish); @@ -247,20 +248,14 @@ int csync_update(CSYNC *ctx) { rc = csync_ftw(ctx, ctx->remote.uri, csync_walker, MAX_DEPTH); if (rc < 0) { - if(ctx->status_code == CSYNC_STATUS_OK) + if(ctx->status_code == CSYNC_STATUS_OK) { ctx->status_code = csync_errno_to_status(errno, CSYNC_STATUS_UPDATE_ERROR); - return -1; + } + goto out; } csync_gettime(&finish); - /* Finalize the sql precompiled statements after the update run since - * it runs in its own thread. Precompiled statements shoult not be shared - * across thread borders according to - * http://www.sqlite.org/cvstrac/wiki?p=MultiThreading - */ - csync_statedb_finalize_statements(ctx); - CSYNC_LOG(CSYNC_LOG_PRIORITY_DEBUG, "Update detection for remote replica took %.2f seconds " "walking %zu files.", @@ -269,7 +264,11 @@ int csync_update(CSYNC *ctx) { ctx->status |= CSYNC_STATUS_UPDATE; - return 0; + rc = 0; + +out: + csync_statedb_close(ctx); + return rc; } int csync_reconcile(CSYNC *ctx) { @@ -285,6 +284,12 @@ int csync_reconcile(CSYNC *ctx) { /* Reconciliation for local replica */ csync_gettime(&start); + if (csync_statedb_load(ctx, ctx->statedb.file, &ctx->statedb.db) < 0) { + ctx->status_code = CSYNC_STATUS_STATEDB_LOAD_ERROR; + rc = -1; + return rc; + } + ctx->current = LOCAL_REPLICA; ctx->replica = ctx->local.type; @@ -300,7 +305,7 @@ int csync_reconcile(CSYNC *ctx) { if (!CSYNC_STATUS_IS_OK(ctx->status_code)) { ctx->status_code = csync_errno_to_status( errno, CSYNC_STATUS_RECONCILE_ERROR ); } - return -1; + goto out; } /* Reconciliation for remote replica */ @@ -321,11 +326,15 @@ int csync_reconcile(CSYNC *ctx) { if (!CSYNC_STATUS_IS_OK(ctx->status_code)) { ctx->status_code = csync_errno_to_status(errno, CSYNC_STATUS_RECONCILE_ERROR ); } - return -1; + goto out; } ctx->status |= CSYNC_STATUS_RECONCILE; + rc = 0; + +out: + csync_statedb_close(ctx); return 0; } diff --git a/csync/src/csync_exclude.c b/csync/src/csync_exclude.c index 0855b9829..f4500b9b1 100644 --- a/csync/src/csync_exclude.c +++ b/csync/src/csync_exclude.c @@ -156,6 +156,40 @@ CSYNC_EXCLUDE_TYPE csync_excluded(CSYNC *ctx, const char *path, int filetype) { return match; } +// See http://support.microsoft.com/kb/74496 +static const char *win_reserved_words[] = {"CON","PRN","AUX", "NUL", + "COM1", "COM2", "COM3", "COM4", + "LPT1", "LPT2", "LPT3", "CLOCK$" }; + + +bool csync_is_windows_reserved_word(const char* filename) { + + size_t win_reserve_words_len = sizeof(win_reserved_words) / sizeof(char*); + size_t j; + + for (j = 0; j < win_reserve_words_len; j++) { + int len_reserved_word = strlen(win_reserved_words[j]); + int len_filename = strlen(filename); + if (len_filename == 2 && filename[1] == ':') { + if (filename[0] >= 'a' && filename[0] <= 'z') { + return true; + } + if (filename[0] >= 'A' && filename[0] <= 'Z') { + return true; + } + } + if (c_strncasecmp(filename, win_reserved_words[j], len_reserved_word) == 0) { + if (len_filename == len_reserved_word) { + return true; + } + if ((len_filename > len_reserved_word) && (filename[len_reserved_word] == '.')) { + return true; + } + } + } + return false; +} + CSYNC_EXCLUDE_TYPE csync_excluded_no_ctx(c_strlist_t *excludes, const char *path, int filetype) { size_t i = 0; const char *p = NULL; @@ -214,6 +248,13 @@ CSYNC_EXCLUDE_TYPE csync_excluded_no_ctx(c_strlist_t *excludes, const char *path SAFE_FREE(dname); goto out; } + + if (csync_is_windows_reserved_word(bname)) { + match = CSYNC_FILE_EXCLUDE_INVALID_CHAR; + SAFE_FREE(bname); + SAFE_FREE(dname); + goto out; + } #endif rc = csync_fnmatch(".owncloudsync.log*", bname, 0); diff --git a/csync/src/csync_exclude.h b/csync/src/csync_exclude.h index 84a65bef7..efc809f74 100644 --- a/csync/src/csync_exclude.h +++ b/csync/src/csync_exclude.h @@ -80,4 +80,12 @@ CSYNC_EXCLUDE_TYPE csync_excluded(CSYNC *ctx, const char *path, int filetype); CSYNC_EXCLUDE_TYPE csync_excluded_no_ctx(c_strlist_t *excludes, const char *path, int filetype); #endif /* _CSYNC_EXCLUDE_H */ +/** + * @brief Checks if filename is considered reserved by Windows + * @param file_name filename + * @return true if file is reserved, false otherwise + */ +bool csync_is_windows_reserved_word(const char *file_name); + + /* vim: set ft=c.doxygen ts=8 sw=2 et cindent: */ diff --git a/csync/src/csync_statedb.c b/csync/src/csync_statedb.c index 3f5849fa5..461bfa3c0 100644 --- a/csync/src/csync_statedb.c +++ b/csync/src/csync_statedb.c @@ -129,6 +129,11 @@ int csync_statedb_load(CSYNC *ctx, const char *statedb, sqlite3 **pdb) { return -1; } + if (ctx->statedb.db) { + CSYNC_LOG(CSYNC_LOG_PRIORITY_NOTICE, "ERR: DB already open"); + return -1; + } + ctx->statedb.lastReturnValue = SQLITE_OK; /* Openthe database */ @@ -178,6 +183,8 @@ int csync_statedb_load(CSYNC *ctx, const char *statedb, sqlite3 **pdb) { #endif *pdb = db; + CSYNC_LOG(CSYNC_LOG_PRIORITY_NOTICE, "Success"); + return 0; out: sqlite3_close(db); @@ -191,9 +198,26 @@ int csync_statedb_close(CSYNC *ctx) { return -1; } - csync_statedb_finalize_statements(ctx); + /* deallocate query resources */ + if( ctx->statedb.by_fileid_stmt ) { + sqlite3_finalize(ctx->statedb.by_fileid_stmt); + ctx->statedb.by_fileid_stmt = NULL; + } + if( ctx->statedb.by_hash_stmt ) { + sqlite3_finalize(ctx->statedb.by_hash_stmt); + ctx->statedb.by_hash_stmt = NULL; + } + if( ctx->statedb.by_inode_stmt) { + sqlite3_finalize(ctx->statedb.by_inode_stmt); + ctx->statedb.by_inode_stmt = NULL; + } - sqlite3_close(ctx->statedb.db); + ctx->statedb.lastReturnValue = SQLITE_OK; + + int sr = sqlite3_close(ctx->statedb.db); + CSYNC_LOG(CSYNC_LOG_PRIORITY_NOTICE, "sqlite3_close=%d", sr); + + ctx->statedb.db = 0; return rc; } @@ -302,28 +326,6 @@ csync_file_stat_t *csync_statedb_get_stat_by_hash(CSYNC *ctx, return st; } -void csync_statedb_finalize_statements(CSYNC *ctx) { - if( !ctx ) { - return; - } - - /* deallocate query resources */ - if( ctx->statedb.by_fileid_stmt ) { - sqlite3_finalize(ctx->statedb.by_fileid_stmt); - ctx->statedb.by_fileid_stmt = NULL; - } - if( ctx->statedb.by_hash_stmt ) { - sqlite3_finalize(ctx->statedb.by_hash_stmt); - ctx->statedb.by_hash_stmt = NULL; - } - if( ctx->statedb.by_inode_stmt) { - sqlite3_finalize(ctx->statedb.by_inode_stmt); - ctx->statedb.by_inode_stmt = NULL; - } - - ctx->statedb.lastReturnValue = SQLITE_OK; -} - csync_file_stat_t *csync_statedb_get_stat_by_file_id(CSYNC *ctx, const char *file_id ) { csync_file_stat_t *st = NULL; diff --git a/csync/src/csync_statedb.h b/csync/src/csync_statedb.h index 92dbc18e5..d38ae8cfa 100644 --- a/csync/src/csync_statedb.h +++ b/csync/src/csync_statedb.h @@ -98,12 +98,6 @@ int csync_statedb_get_below_path(CSYNC *ctx, const char *path); */ c_strlist_t *csync_statedb_query(sqlite3 *db, const char *statement); -/** - * @brief csync_statedb_finalize_statements - Clear prepared statements - * @param ctx The csync context - */ -void csync_statedb_finalize_statements(CSYNC *ctx); - #ifdef __cplusplus } #endif diff --git a/csync/src/csync_update.c b/csync/src/csync_update.c index 84ff21c2d..80635570e 100644 --- a/csync/src/csync_update.c +++ b/csync/src/csync_update.c @@ -247,8 +247,12 @@ static int _csync_detect_update(CSYNC *ctx, const char *file, if(tmp && tmp->phash == h ) { /* there is an entry in the database */ /* we have an update! */ - CSYNC_LOG(CSYNC_LOG_PRIORITY_TRACE, "Database entry found, compare: %" PRId64 " <-> %" PRId64 ", etag: %s <-> %s, inode: %" PRId64 " <-> %" PRId64 ", size: %" PRId64 " <-> %" PRId64, - ((int64_t) fs->mtime), ((int64_t) tmp->modtime), fs->etag, tmp->etag, (uint64_t) fs->inode, (uint64_t) tmp->inode, (uint64_t) fs->size, (uint64_t) tmp->size); + CSYNC_LOG(CSYNC_LOG_PRIORITY_TRACE, "Database entry found, compare: %" PRId64 " <-> %" PRId64 + ", etag: %s <-> %s, inode: %" PRId64 " <-> %" PRId64 + ", size: %" PRId64 " <-> %" PRId64 ", perms: %s <-> %s", + ((int64_t) fs->mtime), ((int64_t) tmp->modtime), + fs->etag, tmp->etag, (uint64_t) fs->inode, (uint64_t) tmp->inode, + (uint64_t) fs->size, (uint64_t) tmp->size, fs->remotePerm, tmp->remotePerm ); if( !fs->etag) { st->instruction = CSYNC_INSTRUCTION_EVAL; goto out; @@ -577,6 +581,17 @@ int csync_ftw(CSYNC *ctx, const char *uri, csync_walker_fn fn, if (asp < 0) { CSYNC_LOG(CSYNC_LOG_PRIORITY_ERROR, "asprintf failed!"); } + } else if(errno == ERRNO_SERVICE_UNAVAILABLE) { + CSYNC_LOG(CSYNC_LOG_PRIORITY_WARN, "Service was not available!"); + if (ctx->current_fs) { + ctx->current_fs->instruction = CSYNC_INSTRUCTION_IGNORE; + ctx->current_fs->error_status = CSYNC_STATUS_SERVICE_UNAVAILABLE; + /* If a directory has ignored files, put the flag on the parent directory as well */ + if( previous_fs ) { + previous_fs->has_ignored_files = true; + } + goto done; + } } else { CSYNC_LOG(CSYNC_LOG_PRIORITY_ERROR, "opendir failed for %s - errno %d", uri, errno); } diff --git a/csync/src/std/c_string.c b/csync/src/std/c_string.c index 9d2c087ec..f1ca5f747 100644 --- a/csync/src/std/c_string.c +++ b/csync/src/std/c_string.c @@ -134,6 +134,14 @@ static char *c_iconv(const char* str, enum iconv_direction dir) } #endif /* defined(HAVE_ICONV) && defined(WITH_ICONV) */ +int c_strncasecmp(const char *a, const char *b, size_t n) { +#ifdef _WIN32 + return _strnicmp(a, b, n); +#else + return strncasecmp(a, b, n); +#endif +} + int c_streq(const char *a, const char *b) { register const char *s1 = a; register const char *s2 = b; diff --git a/csync/src/std/c_string.h b/csync/src/std/c_string.h index d80727a63..920266c5c 100644 --- a/csync/src/std/c_string.h +++ b/csync/src/std/c_string.h @@ -59,6 +59,17 @@ struct c_strlist_s { size_t size; }; +/** + * @brief Compare to strings case insensitively. + * + * @param a First string to compare. + * @param b Second string to compare. + * @param n Max comparison length. + * + * @return see strncasecmp + */ +int c_strncasecmp(const char *a, const char *b, size_t n); + /** * @brief Compare to strings if they are equal. * diff --git a/csync/tests/csync_tests/check_csync_exclude.c b/csync/tests/csync_tests/check_csync_exclude.c index 1d216eba0..94430eafc 100644 --- a/csync/tests/csync_tests/check_csync_exclude.c +++ b/csync/tests/csync_tests/check_csync_exclude.c @@ -174,6 +174,25 @@ static void check_csync_pathes(void **state) assert_int_equal(rc, CSYNC_NOT_EXCLUDED); } +static void check_csync_is_windows_reserved_word() { + assert_true(csync_is_windows_reserved_word("CON")); + assert_true(csync_is_windows_reserved_word("con")); + assert_true(csync_is_windows_reserved_word("CON.")); + assert_true(csync_is_windows_reserved_word("con.")); + assert_true(csync_is_windows_reserved_word("CON.ference")); + assert_false(csync_is_windows_reserved_word("CONference")); + assert_false(csync_is_windows_reserved_word("conference")); + assert_false(csync_is_windows_reserved_word("conf.erence")); + assert_false(csync_is_windows_reserved_word("co")); + assert_true(csync_is_windows_reserved_word("A:")); + assert_true(csync_is_windows_reserved_word("a:")); + assert_true(csync_is_windows_reserved_word("z:")); + assert_true(csync_is_windows_reserved_word("Z:")); + assert_true(csync_is_windows_reserved_word("M:")); + assert_true(csync_is_windows_reserved_word("m:")); + +} + int torture_run_tests(void) { const UnitTest tests[] = { @@ -181,6 +200,7 @@ int torture_run_tests(void) unit_test_setup_teardown(check_csync_exclude_load, setup, teardown), unit_test_setup_teardown(check_csync_excluded, setup_init, teardown), unit_test_setup_teardown(check_csync_pathes, setup_init, teardown), + unit_test_setup_teardown(check_csync_is_windows_reserved_word, setup_init, teardown), }; return run_tests(tests); diff --git a/csync/tests/csync_tests/check_csync_statedb_load.c b/csync/tests/csync_tests/check_csync_statedb_load.c index 7bc148d7a..f377abf6f 100644 --- a/csync/tests/csync_tests/check_csync_statedb_load.c +++ b/csync/tests/csync_tests/check_csync_statedb_load.c @@ -47,7 +47,7 @@ static void setup(void **state) { rc = sqlite3_open_v2(TESTDB, &db, SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE, NULL); assert_int_equal(rc, SQLITE_OK); - rc = sqlite3_close_v2(db); + rc = sqlite3_close(db); assert_int_equal(rc, SQLITE_OK); } diff --git a/csync/tests/csync_tests/check_csync_statedb_query.c b/csync/tests/csync_tests/check_csync_statedb_query.c index 91dd90ad9..6e6b48890 100644 --- a/csync/tests/csync_tests/check_csync_statedb_query.c +++ b/csync/tests/csync_tests/check_csync_statedb_query.c @@ -50,7 +50,7 @@ static void setup(void **state) sqlite3 *db = NULL; rc = sqlite3_open_v2(TESTDB, &db, SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE, NULL); assert_int_equal(rc, SQLITE_OK); - rc = sqlite3_close_v2(db); + rc = sqlite3_close(db); assert_int_equal(rc, SQLITE_OK); rc = csync_statedb_load(csync, TESTDB, &csync->statedb.db); diff --git a/csync/tests/csync_tests/check_csync_update.c b/csync/tests/csync_tests/check_csync_update.c index e3845dcf7..2f90d008c 100644 --- a/csync/tests/csync_tests/check_csync_update.c +++ b/csync/tests/csync_tests/check_csync_update.c @@ -129,7 +129,7 @@ static void setup_ftw(void **state) rc = sqlite3_open_v2(TESTDB, &db, SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE, NULL); assert_int_equal(rc, SQLITE_OK); statedb_create_metadata_table(db); - rc = sqlite3_close_v2(db); + rc = sqlite3_close(db); assert_int_equal(rc, SQLITE_OK); rc = csync_statedb_load(csync, TESTDB, &csync->statedb.db); diff --git a/csync/tests/ownCloud/ownCloud/Test.pm b/csync/tests/ownCloud/ownCloud/Test.pm index 5d789a35f..38d4291a5 100644 --- a/csync/tests/ownCloud/ownCloud/Test.pm +++ b/csync/tests/ownCloud/ownCloud/Test.pm @@ -727,7 +727,7 @@ sub createShare($$) my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 } ); $ua->agent( "ownCloudTest_sharing"); # http://localhost/ocm/ocs/v1.php/apps/files_sharing/api/v1/shares - my $puturl = $ocs_url . "ocs/v1.php/apps/files_sharing/api/v1/shares"; + my $puturl = $ocs_url . "apps/files_sharing/api/v1/shares"; my $string = "path=$dir&shareType=0&shareWith=$user&publicUpload=false&permissions=$readWrite"; print ">>>>>>>>>> $puturl $string\n"; diff --git a/csync/tests/ownCloud/t1.pl b/csync/tests/ownCloud/t1.pl index ee73dce21..f28540c41 100755 --- a/csync/tests/ownCloud/t1.pl +++ b/csync/tests/ownCloud/t1.pl @@ -122,8 +122,24 @@ assertLocalAndRemoteDir( '', 0); # The previous sync should have updated the etags, and this should NOT be a conflict printInfo( "Update the file again"); -createLocalFile( localDir() . "remoteToLocal1/kernelcrash.txt", 2136 ); -createLocalFile( localDir() . "remoteToLocal1/kraft_logo.gif", 2332 ); + +my $f1 = localDir() . "remoteToLocal1/kernelcrash.txt"; +my $s1 = 2136; +createLocalFile( $f1, $s1); + +# stat the file +my @stat1 = stat $f1; +print "Updating File $f1 to $s1, size is $stat1[7]\n"; + + +my $f2 = localDir() . "remoteToLocal1/kraft_logo.gif"; +my $s2 = 2332; + +createLocalFile( $f2, $s2); +# stat the file +my @stat2 = stat $f2; +print "Updating File $f2 to $s2, size is $stat2[7]\n"; + system( "sleep 2 && touch " . localDir() . "remoteToLocal1/kernelcrash.txt" ); csync( ); assertLocalAndRemoteDir( '', 0); diff --git a/csync/tests/ownCloud/t6.pl b/csync/tests/ownCloud/t6.pl index ec18200bd..099915d74 100755 --- a/csync/tests/ownCloud/t6.pl +++ b/csync/tests/ownCloud/t6.pl @@ -39,7 +39,7 @@ sub createPostUpdateScript($) my $srcFile = localDir().'BIG1.file'; my $cred = configValue("user") . ":" . configValue("passwd"); - my $cmd = "curl -T $srcFile -u $cred " . testDirUrl().$name; + my $cmd = "curl -T $srcFile -u $cred --insecure " . testDirUrl().$name; my $script = "/tmp/post_update_script.sh"; open SC, ">$script" || die("Can not create script file"); print SC "#!/bin/bash\n"; diff --git a/doc/autoupdate.rst b/doc/autoupdate.rst index 12fb963e8..43d39b1a2 100644 --- a/doc/autoupdate.rst +++ b/doc/autoupdate.rst @@ -61,9 +61,10 @@ update check mechanism whereas the second method prevents any manual overrides. To prevent automatic updates, but allow manual overrides: -1. Migrate to the following directory:: +1. Migrate to the following directory: - HKEY_LOCAL_MACHINE\Software\ownCloud\ownCloud + a. (32-bit) ``HKEY_LOCAL_MACHINE\Software\ownCloud\ownCloud`` + b. (64-bit) ``HKEY_LOCAL_MACHINE\Software\Wow6432Node\ownCloud\ownCloud`` 2. Add the key ``skipUpdateCheck`` (of type DWORD). diff --git a/doc/building.rst b/doc/building.rst index 0a24811cb..dd482ce73 100644 --- a/doc/building.rst +++ b/doc/building.rst @@ -8,9 +8,9 @@ major platforms. You should read this section if you want to develop for the desktop client. .. note:: Building instruction are subject to change as development proceeds. - Please check the version for which you want to built. + Please check the version for which you want to build. -The instructions contained in this topic were updated to work with version 1.5 of the ownCloud Client. +The instructions contained in this topic were updated to work with version 1.7 of the ownCloud Client. Linux ----- @@ -24,6 +24,11 @@ Linux 3. Follow the `generic build instructions`_. +4. (Optional) Call ``make install`` to install the client to the ``/usr/local/bin`` directory. + +.. note:: This step requires the ``mingw32-cross-nsis`` packages be installed on + Windows. + Mac OS X -------- @@ -41,17 +46,30 @@ To set up your build enviroment for development using HomeBrew_: 1. Add the ownCloud repository using the following command:: - brew tap owncloud/owncloud + brew tap owncloud/owncloud 2. Install any missing dependencies:: - brew install $(brew deps mirall) + brew install $(brew deps mirall) -To build mirall, follow the `generic build instructions`_. +3. Add Qt from brew to the path:: -.. note:: Because the product from the mirall build is an app bundle, do not - call ``make install`` at any time. Instead, call ``make package`` to create an - install-ready disk image. + export PATH=/usr/local/Cellar/qt5/5.x.y/bin/qmake + + Where ``x.z`` is the current version of Qt 5 that brew has installed + on your machine. + +5. For compilation of mirall, follow the `generic build instructions`_. + +6. In the build directory, run ``admin/osx/create_mac.sh + ``. If you have a developer signing certificate, you can specify + its Common Name as a third parameter (use quotes) to have the package + signed automatically. + +.. note:: Contrary to earlier versions, ownCloud 1.7 and later are packaged + as a ``pkg`` installer. Do not call "make package" at any time when + compiling for OS X, as this will build a disk image, and will not + work correctly. Windows (Cross-Compile) ----------------------- @@ -63,15 +81,14 @@ have it installed already. To cross-compile: -1. Add the following repositories using YaST or ``zypper ar`` (adjust when using openSUSE 12.2 or 13.1): +1. Add the following repositories using YaST or ``zypper ar`` (adjust when using openSUSE 12.2 or 13.1):: - - ``zypper ar http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_13.1/windows:mingw:win32.repo`` - - - ``zypper ar http://download.opensuse.org/repositories/windows:/mingw/openSUSE_13.1/windows:mingw.repo`` + zypper ar http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_13.1/windows:mingw:win32.repo + zypper ar http://download.opensuse.org/repositories/windows:/mingw/openSUSE_13.1/windows:mingw.repo 2. Install the cross-compiler packages and the cross-compiled dependencies:: - ``zypper install cmake make mingw32-cross-binutils mingw32-cross-cpp mingw32-cross-gcc \ + zypper install cmake make mingw32-cross-binutils mingw32-cross-cpp mingw32-cross-gcc \ mingw32-cross-gcc-c++ mingw32-cross-pkg-config mingw32-filesystem \ mingw32-headers mingw32-runtime site-config mingw32-libqt4-sql \ mingw32-libqt4-sql-sqlite mingw32-sqlite mingw32-libsqlite-devel \ @@ -82,42 +99,44 @@ To cross-compile: mingw32-libpng-devel mingw32-libsqlite mingw32-qtkeychain \ mingw32-qtkeychain-devel mingw32-dlfcn mingw32-libintl-devel \ mingw32-libneon-devel mingw32-libopenssl-devel mingw32-libproxy-devel \ - mingw32-libxml2-devel mingw32-zlib-devel`` + mingw32-libxml2-devel mingw32-zlib-devel 3. For the installer, install the NSIS installer package:: - ``zypper install mingw32-cross-nsis`` + zypper install mingw32-cross-nsis 4. Install the following plugin:: - ``mingw32-cross-nsis-plugin-processes mingw32-cross-nsis-plugin-uac`` + mingw32-cross-nsis-plugin-processes mingw32-cross-nsis-plugin-uac .. note:: This plugin is typically required. However, due to a current bug in ``mingw``, the plugins do not currently build properly from source. 5. Manually download and install the following files using ``rpm -ivh ``: - ..note:: These files operate using openSUSE 12.2 and newer. + .. note:: These files also work for more recent openSUSE versions! - - ``rpm -ihv http://download.tomahawk-player.org/packman/mingw:32/openSUSE_12.1/x86_64/mingw32-cross-nsis-plugin-processes-0-1.1.x86_64.rpm`` + :: - - ``rpm -ihv http://download.tomahawk-player.org/packman/mingw:32/openSUSE_12.1/x86_64/mingw32-cross-nsis-plugin-uac-0-3.1.x86_64.rpm`` + rpm -ivh http://download.tomahawk-player.org/packman/mingw:32/openSUSE_12.1/x86_64/mingw32-cross-nsis-plugin-processes-0-1.1.x86_64.rpm + rpm -ivh http://download.tomahawk-player.org/packman/mingw:32/openSUSE_12.1/x86_64/mingw32-cross-nsis-plugin-uac-0-3.1.x86_64.rpm 6. Follow the `generic build instructions`_ .. note:: When building for Windows platforms, you must specify a special toolchain file that enables cmake to locate the platform-specific tools. To add this parameter to the call to cmake, enter - ``DCMAKE_TOOLCHAIN_FILE=../mirall/admin/win/Toolchain-mingw32-openSUSE.cmake``. + ``-DCMAKE_TOOLCHAIN_FILE=../mirall/admin/win/Toolchain-mingw32-openSUSE.cmake``. 7. Build by running ``make``. - ..note:: Using ``make package`` produces an NSIS-based installer, provided + .. note:: Using ``make package`` produces an NSIS-based installer, provided the NSIS mingw32 packages are installed. +.. _`generic build instructions`: + Generic Build Instructions -------------------------- -.. _`generic build instructions` Compared to previous versions, building Mirall has become easier. Unlike earlier versions, CSync, which is the sync engine library of Mirall, is now @@ -140,33 +159,32 @@ To build the most up to date version of the client: ``cd ../mirall-build`` ``cmake -DCMAKE_BUILD_TYPE="Debug" ../mirall`` - ..note:: You must use absolute pathes for the ``include`` and ``library`` directories. + ..note:: You must use absolute paths for the ``include`` and ``library`` + directories. + + ..note:: On Mac OS X, you need to specify ``-DCMAKE_INSTALL_PREFIX=target``, + where ``target`` is a private location, i.e. in parallel to your build + dir by specifying ``../install``. 4. Call ``make``. The owncloud binary appear in the ``bin`` directory. -5. (Optional) Call ``make install`` to install the client to the ``/usr/local/bin`` directory. - -6. (Optional) Call ``make package`` to build an installer/app bundle - - ..note:: This step requires the ``mingw32-cross-nsis`` packages be installed on Windows. - The following are known cmake parameters: * ``QTKEYCHAIN_LIBRARY=/path/to/qtkeychain.dylib -DQTKEYCHAIN_INCLUDE_DIR=/path/to/qtkeychain/``: Used for stored credentials. When compiling with Qt5, the library is called ``qt5keychain.dylib.`` You need to compile QtKeychain with the same Qt version. -* ``WITH_DOC=TRUE``: Creates doc and manpages through running ``make``; also -* adds install statements, providing the ability to install using ``make -* install``. +* ``WITH_DOC=TRUE``: Creates doc and manpages through running ``make``; also adds install statements, + providing the ability to install using ``make install``. * ``CMAKE_PREFIX_PATH=/path/to/Qt5.2.0/5.2.0/yourarch/lib/cmake/``: Builds using Qt5. * ``BUILD_WITH_QT4=ON``: Builds using Qt4 (even if Qt5 is found). +* ``CMAKE_INSTALL_PREFIX=path``: Set an install prefix. This is mandatory on Mac OS -.. _`ownCloud repository from OBS`: http://software.opensuse.org/download/package?project=isv:ownCloud:devel&package=owncloud-client +.. _`ownCloud repository from OBS`: http://software.opensuse.org/download/package?project=isv:ownCloud:desktop&package=owncloud-client .. _CSync: http://www.csync.org .. _`Client Download Page`: http://owncloud.org/sync-clients/ .. _Git: http://git-scm.com .. _MacPorts: http://www.macports.org .. _Homebrew: http://mxcl.github.com/homebrew/ -.. _QtKeychain https://github.com/frankosterfeld/qtkeychain +.. _QtKeychain: https://github.com/frankosterfeld/qtkeychain diff --git a/shell_integration/MacOSX/CMakeLists.txt b/shell_integration/MacOSX/CMakeLists.txt index ae26060e0..d5730b1aa 100644 --- a/shell_integration/MacOSX/CMakeLists.txt +++ b/shell_integration/MacOSX/CMakeLists.txt @@ -2,10 +2,10 @@ if(APPLE) add_custom_target( mac_overlayplugin ALL xcodebuild -workspace ${CMAKE_SOURCE_DIR}/shell_integration/MacOSX/OwnCloud.xcworkspace - -scheme OwnCloudFinder.osax SYMROOT=${CMAKE_CURRENT_BINARY_DIR} archive + -scheme SyncStateFinder.osax SYMROOT=${CMAKE_CURRENT_BINARY_DIR} archive COMMENT building Mac Overlay icons) -INSTALL( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Release/OwnCloudFinder.osax/Contents - DESTINATION ${CMAKE_INSTALL_PREFIX}/Library/ScriptingAdditions/OwnCloudFinder.osax/ ) +INSTALL( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Release/SyncStateFinder.osax/Contents + DESTINATION ${CMAKE_INSTALL_PREFIX}/Library/ScriptingAdditions/SyncStateFinder.osax/ ) endif(APPLE) diff --git a/shell_integration/MacOSX/OwnCloudFinder/OwnCloudFinder.xcodeproj/project.pbxproj b/shell_integration/MacOSX/OwnCloudFinder/OwnCloudFinder.xcodeproj/project.pbxproj index 614dd5edc..5a1d2e055 100644 --- a/shell_integration/MacOSX/OwnCloudFinder/OwnCloudFinder.xcodeproj/project.pbxproj +++ b/shell_integration/MacOSX/OwnCloudFinder/OwnCloudFinder.xcodeproj/project.pbxproj @@ -48,7 +48,7 @@ 8C37DDB9161594B400016A95 /* Quartz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quartz.framework; path = System/Library/Frameworks/Quartz.framework; sourceTree = SDKROOT; }; 8C99F6921622D145002D2135 /* IconCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IconCache.h; sourceTree = ""; }; 8C99F6931622D145002D2135 /* IconCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IconCache.m; sourceTree = ""; }; - 8D576316048677EA00EA77CD /* OwnCloudFinder.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = OwnCloudFinder.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 8D576316048677EA00EA77CD /* SyncStateFinder.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SyncStateFinder.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 8D576317048677EA00EA77CD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; /* End PBXFileReference section */ @@ -67,7 +67,7 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 089C166AFE841209C02AAC07 /* OwnCloudFinder */ = { + 089C166AFE841209C02AAC07 /* SyncStateFinder */ = { isa = PBXGroup; children = ( 08FB77AFFE84173DC02AAC07 /* Source */, @@ -75,7 +75,7 @@ 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, 19C28FB6FE9D52B211CA2CBB /* Products */, ); - name = OwnCloudFinder; + name = SyncStateFinder; sourceTree = ""; usesTabs = 1; }; @@ -144,7 +144,7 @@ 19C28FB6FE9D52B211CA2CBB /* Products */ = { isa = PBXGroup; children = ( - 8D576316048677EA00EA77CD /* OwnCloudFinder.bundle */, + 8D576316048677EA00EA77CD /* SyncStateFinder.bundle */, ); name = Products; sourceTree = ""; @@ -152,9 +152,9 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 8D57630D048677EA00EA77CD /* OwnCloudFinder */ = { + 8D57630D048677EA00EA77CD /* SyncStateFinder */ = { isa = PBXNativeTarget; - buildConfigurationList = 1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "OwnCloudFinder" */; + buildConfigurationList = 1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "SyncStateFinder" */; buildPhases = ( 8D57630F048677EA00EA77CD /* Resources */, 8D576311048677EA00EA77CD /* Sources */, @@ -164,10 +164,10 @@ ); dependencies = ( ); - name = OwnCloudFinder; + name = SyncStateFinder; productInstallPath = "$(HOME)/Library/Bundles"; - productName = OwnCloudFinder; - productReference = 8D576316048677EA00EA77CD /* OwnCloudFinder.bundle */; + productName = SyncStateFinder; + productReference = 8D576316048677EA00EA77CD /* SyncStateFinder.bundle */; productType = "com.apple.product-type.bundle"; }; /* End PBXNativeTarget section */ @@ -178,7 +178,7 @@ attributes = { LastUpgradeCheck = 0460; }; - buildConfigurationList = 1DEB911E08733D790010E9CD /* Build configuration list for PBXProject "OwnCloudFinder" */; + buildConfigurationList = 1DEB911E08733D790010E9CD /* Build configuration list for PBXProject "SyncStateFinder" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 1; @@ -188,11 +188,11 @@ French, German, ); - mainGroup = 089C166AFE841209C02AAC07 /* OwnCloudFinder */; + mainGroup = 089C166AFE841209C02AAC07 /* SyncStateFinder` */; projectDirPath = ""; projectRoot = ""; targets = ( - 8D57630D048677EA00EA77CD /* OwnCloudFinder */, + 8D57630D048677EA00EA77CD /* SyncStateFinder */, ); }; /* End PBXProject section */ @@ -252,7 +252,7 @@ GCC_OPTIMIZATION_LEVEL = 0; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Library/Bundles"; - PRODUCT_NAME = OwnCloudFinder; + PRODUCT_NAME = SyncStateFinder; WRAPPER_EXTENSION = bundle; }; name = Debug; @@ -269,7 +269,7 @@ GCC_MODEL_TUNING = G5; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Library/Bundles"; - PRODUCT_NAME = OwnCloudFinder; + PRODUCT_NAME = SyncStateFinder; WRAPPER_EXTENSION = bundle; }; name = Release; @@ -308,7 +308,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "OwnCloudFinder" */ = { + 1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "SyncStateFinder" */ = { isa = XCConfigurationList; buildConfigurations = ( 1DEB911B08733D790010E9CD /* Debug */, @@ -317,7 +317,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 1DEB911E08733D790010E9CD /* Build configuration list for PBXProject "OwnCloudFinder" */ = { + 1DEB911E08733D790010E9CD /* Build configuration list for PBXProject "SyncStateFinder" */ = { isa = XCConfigurationList; buildConfigurations = ( 1DEB911F08733D790010E9CD /* Debug */, diff --git a/shell_integration/MacOSX/OwnCloudInjector/OwnCloudInjector.m b/shell_integration/MacOSX/OwnCloudInjector/OwnCloudInjector.m index b8e9791eb..0f8c55f3a 100644 --- a/shell_integration/MacOSX/OwnCloudInjector/OwnCloudInjector.m +++ b/shell_integration/MacOSX/OwnCloudInjector/OwnCloudInjector.m @@ -27,7 +27,7 @@ static NSString* globalLock = @"I'm the global lock to prevent concruent handler @end static bool liferayNativityLoaded = false; -static NSString* liferayNativityBundleName = @"OwnCloudFinder"; +static NSString* liferayNativityBundleName = @"SyncStateFinder"; typedef struct { NSString* location; @@ -85,7 +85,7 @@ static OSErr loadBundle(LNBundleType type, AppleEvent* reply, long refcon) { } if (isLoaded) { - NSLog(@"LiferayNativityInjector: %@ already loaded.", bundleName); + NSLog(@"OwnCloudInjector: %@ already loaded.", bundleName); return noErr; } diff --git a/shell_integration/MacOSX/OwnCloudInjector/OwnCloudInjector.xcodeproj/project.pbxproj b/shell_integration/MacOSX/OwnCloudInjector/OwnCloudInjector.xcodeproj/project.pbxproj index 99498951e..36dd49282 100644 --- a/shell_integration/MacOSX/OwnCloudInjector/OwnCloudInjector.xcodeproj/project.pbxproj +++ b/shell_integration/MacOSX/OwnCloudInjector/OwnCloudInjector.xcodeproj/project.pbxproj @@ -7,7 +7,7 @@ objects = { /* Begin PBXBuildFile section */ - 0B36CB92182461A10039B237 /* OwnCloudFinder.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 0B36CB91182461A10039B237 /* OwnCloudFinder.bundle */; }; + 0B36CB92182461A10039B237 /* SyncStateFinder.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 0B36CB91182461A10039B237 /* SyncStateFinder.bundle */; }; 0BD9C38E1778EF450094CF5D /* license.txt in Resources */ = {isa = PBXBuildFile; fileRef = 0BD9C38D1778EF450094CF5D /* license.txt */; }; 8D576314048677EA00EA77CD /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0AA1909FFE8422F4C02AAC07 /* CoreFoundation.framework */; }; 8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D5B49A704867FD3000E48DA /* InfoPlist.strings */; }; @@ -19,10 +19,10 @@ /* Begin PBXFileReference section */ 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 0AA1909FFE8422F4C02AAC07 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; - 0B36CB91182461A10039B237 /* OwnCloudFinder.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = OwnCloudFinder.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 0B36CB91182461A10039B237 /* SyncStateFinder.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = SyncStateFinder.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 0BD9C38D1778EF450094CF5D /* license.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = license.txt; sourceTree = ""; }; 8D576317048677EA00EA77CD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - D60A992314CE37030061AD6D /* OwnCloudFinder.osax */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = OwnCloudFinder.osax; sourceTree = BUILT_PRODUCTS_DIR; }; + D60A992314CE37030061AD6D /* SyncStateFinder.osax */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SyncStateFinder.osax; sourceTree = BUILT_PRODUCTS_DIR; }; D6ACBE9E117B7D5600F6691C /* OwnCloudInjector.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OwnCloudInjector.m; sourceTree = ""; }; D6ACBE9F117B7D5600F6691C /* LNVersionComparisonProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LNVersionComparisonProtocol.h; sourceTree = ""; }; D6ACBEA0117B7D5600F6691C /* LNStandardVersionComparator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LNStandardVersionComparator.m; sourceTree = ""; }; @@ -51,7 +51,7 @@ D60A992414CE37030061AD6D /* Products */, ); indentWidth = 2; - name = "TotalFinder-osax"; + name = "SyncStateFinder-osax"; sourceTree = ""; tabWidth = 2; usesTabs = 0; @@ -67,7 +67,7 @@ 089C167CFE841241C02AAC07 /* Resources */ = { isa = PBXGroup; children = ( - 0B36CB91182461A10039B237 /* OwnCloudFinder.bundle */, + 0B36CB91182461A10039B237 /* SyncStateFinder.bundle */, D6ACBEA4117B7D6100F6691C /* OwnCloudInjector.sdef */, 8D576317048677EA00EA77CD /* Info.plist */, 8D5B49A704867FD3000E48DA /* InfoPlist.strings */, @@ -90,7 +90,7 @@ D60A992414CE37030061AD6D /* Products */ = { isa = PBXGroup; children = ( - D60A992314CE37030061AD6D /* OwnCloudFinder.osax */, + D60A992314CE37030061AD6D /* SyncStateFinder.osax */, ); name = Products; sourceTree = ""; @@ -98,9 +98,9 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 8D57630D048677EA00EA77CD /* OwnCloudFinder.osax */ = { + 8D57630D048677EA00EA77CD /* SyncStateFinder.osax */ = { isa = PBXNativeTarget; - buildConfigurationList = 1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "OwnCloudFinder.osax" */; + buildConfigurationList = 1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "SyncStateFinder.osax" */; buildPhases = ( 8D57630F048677EA00EA77CD /* Resources */, 8D576311048677EA00EA77CD /* Sources */, @@ -110,10 +110,10 @@ ); dependencies = ( ); - name = OwnCloudFinder.osax; + name = SyncStateFinder.osax; productInstallPath = "$(HOME)/Library/Bundles"; - productName = "TotalFinder-osax"; - productReference = D60A992314CE37030061AD6D /* OwnCloudFinder.osax */; + productName = "SyncStateFinder-osax"; + productReference = D60A992314CE37030061AD6D /* SyncStateFinder.osax */; productType = "com.apple.product-type.bundle"; }; /* End PBXNativeTarget section */ @@ -139,7 +139,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 8D57630D048677EA00EA77CD /* OwnCloudFinder.osax */, + 8D57630D048677EA00EA77CD /* SyncStateFinder.osax */, ); }; /* End PBXProject section */ @@ -149,7 +149,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 0B36CB92182461A10039B237 /* OwnCloudFinder.bundle in Resources */, + 0B36CB92182461A10039B237 /* SyncStateFinder.bundle in Resources */, 8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */, D6ACBEA5117B7D6100F6691C /* OwnCloudInjector.sdef in Resources */, 0BD9C38E1778EF450094CF5D /* license.txt in Resources */, @@ -195,7 +195,7 @@ "-framework", AppKit, ); - PRODUCT_NAME = OwnCloudFinder; + PRODUCT_NAME = SyncStateFinder; SKIP_INSTALL = YES; WRAPPER_EXTENSION = osax; }; @@ -214,7 +214,7 @@ "-framework", AppKit, ); - PRODUCT_NAME = OwnCloudFinder; + PRODUCT_NAME = SyncStateFinder; WRAPPER_EXTENSION = osax; }; name = Release; @@ -245,7 +245,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "OwnCloudFinder.osax" */ = { + 1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "SyncStateFinder.osax" */ = { isa = XCConfigurationList; buildConfigurations = ( 1DEB911B08733D790010E9CD /* Debug */, diff --git a/shell_integration/MacOSX/OwnCloudInjector/OwnCloudInjector.xcodeproj/xcshareddata/xcschemes/OwnCloudFinder.osax.xcscheme b/shell_integration/MacOSX/OwnCloudInjector/OwnCloudInjector.xcodeproj/xcshareddata/xcschemes/SyncStateFinder.osax.xcscheme similarity index 92% rename from shell_integration/MacOSX/OwnCloudInjector/OwnCloudInjector.xcodeproj/xcshareddata/xcschemes/OwnCloudFinder.osax.xcscheme rename to shell_integration/MacOSX/OwnCloudInjector/OwnCloudInjector.xcodeproj/xcshareddata/xcschemes/SyncStateFinder.osax.xcscheme index 7ba1d7a8a..ad6157683 100644 --- a/shell_integration/MacOSX/OwnCloudInjector/OwnCloudInjector.xcodeproj/xcshareddata/xcschemes/OwnCloudFinder.osax.xcscheme +++ b/shell_integration/MacOSX/OwnCloudInjector/OwnCloudInjector.xcodeproj/xcshareddata/xcschemes/SyncStateFinder.osax.xcscheme @@ -15,8 +15,8 @@ @@ -29,8 +29,8 @@ diff --git a/shell_integration/MacOSX/deploy.sh b/shell_integration/MacOSX/deploy.sh index 0a9d47f80..ae5a9d31e 100644 --- a/shell_integration/MacOSX/deploy.sh +++ b/shell_integration/MacOSX/deploy.sh @@ -1,10 +1,10 @@ #!/bin/sh # osascript $HOME/owncloud.com/mirall/shell_integration/MacOSX/unload.scpt -sudo rm -rf /Library/ScriptingAdditions/OwnCloudFinder.osax +sudo rm -rf /Library/ScriptingAdditions/SyncStateFinder.osax # Klaas' machine -OSAXDIR=$HOME/Library/Developer/Xcode/DerivedData/OwnCloud-*/Build/Products/Debug/OwnCloudFinder.osax -[ -d $OSAXDIR ] ||OSAXDIR=$HOME/Library/Developer/Xcode/DerivedData/OwnCloud-*/Build/Intermediates/ArchiveIntermediates/OwnCloudFinder.osax/IntermediateBuildFilesPath/UninstalledProducts/OwnCloudFinder.osax +OSAXDIR=$HOME/Library/Developer/Xcode/DerivedData/OwnCloud-*/Build/Products/Debug/SyncStateFinder.osax +[ -d $OSAXDIR ] ||OSAXDIR=$HOME/Library/Developer/Xcode/DerivedData/OwnCloud-*/Build/Intermediates/ArchiveIntermediates/SyncStateFinder.osax/IntermediateBuildFilesPath/UninstalledProducts/SyncStateFinder.osax # Markus' machine [ -d $OSAXDIR ] || echo "OSAX does not exist" diff --git a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.cpp b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.cpp index b81bc3469..d997f3a02 100644 --- a/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.cpp +++ b/shell_integration/windows/OCShellExtensions/OCOverlays/OCOverlayRegistrationHandler.cpp @@ -62,7 +62,7 @@ HRESULT OCOverlayRegistrationHandler::RemoveRegistryEntries(PCWSTR friendlyName) } HKEY syncExOverlayKey = NULL; - hResult = HRESULT_FROM_WIN32(RegDeleteKeyEx(shellOverlayKey, friendlyName, DELETE, 0)); + hResult = HRESULT_FROM_WIN32(RegDeleteKey(shellOverlayKey, friendlyName)); if (!SUCCEEDED(hResult)) { return hResult; } @@ -137,12 +137,12 @@ HRESULT OCOverlayRegistrationHandler::UnregisterCOMObject(const CLSID& clsid) return hResult; } - hResult = HRESULT_FROM_WIN32(RegDeleteKeyEx(clsidKey, REGISTRY_IN_PROCESS, DELETE, 0)); + hResult = HRESULT_FROM_WIN32(RegDeleteKey(clsidKey, REGISTRY_IN_PROCESS)); if(!SUCCEEDED(hResult)) { return hResult; } - hResult = HRESULT_FROM_WIN32(RegDeleteKeyEx(hKey, stringCLSID, DELETE, 0)); + hResult = HRESULT_FROM_WIN32(RegDeleteKey(hKey, stringCLSID)); if(!SUCCEEDED(hResult)) { return hResult; } diff --git a/src/gui/application.cpp b/src/gui/application.cpp index 2afab7248..3858ba738 100644 --- a/src/gui/application.cpp +++ b/src/gui/application.cpp @@ -252,6 +252,10 @@ void Application::slotCredentialsFetched() { Account *account = AccountManager::instance()->account(); Q_ASSERT(account); + if (!account) { + qDebug() << Q_FUNC_INFO << "No account!"; + return; + } disconnect(account->credentials(), SIGNAL(fetched()), this, SLOT(slotCredentialsFetched())); if (!account->credentials()->ready()) { // User canceled the connection or did not give a password diff --git a/src/gui/folder.cpp b/src/gui/folder.cpp index fdb0139dd..185232a2b 100644 --- a/src/gui/folder.cpp +++ b/src/gui/folder.cpp @@ -62,6 +62,8 @@ Folder::Folder(const QString &alias, const QString &path, const QString& secondP , _wipeDb(false) , _proxyDirty(true) , _forceSyncOnPollTimeout(false) + , _consecutiveFailingSyncs(0) + , _consecutiveFollowUpSyncs(0) , _journal(path) , _csync_ctx(0) { @@ -273,12 +275,19 @@ void Folder::slotPollTimerTimeout() bool forceSyncIntervalExpired = quint64(_timeSinceLastSync.elapsed()) > MirallConfigFile().forceSyncInterval(); - bool okSyncResult = - _syncResult.status() == SyncResult::Success || - _syncResult.status() == SyncResult::Problem; - if (forceSyncIntervalExpired || - _forceSyncOnPollTimeout || - !okSyncResult) { + bool syncAgainAfterFail = _consecutiveFailingSyncs > 0 && _consecutiveFailingSyncs < 3; + + // There are several conditions under which we trigger a full-discovery sync: + // * When a suitably long time has passed since the last sync finished + // * When the last sync failed (only a couple of times) + // * When the last sync requested another sync to be done (only a couple of times) + // + // Note that the etag check (see below) and the file watcher may also trigger + // syncs. + if (forceSyncIntervalExpired + || _forceSyncOnPollTimeout + || syncAgainAfterFail) { + if (forceSyncIntervalExpired) { qDebug() << "** Force Sync, because it has been " << _timeSinceLastSync.elapsed() << "ms " << "since the last sync"; @@ -286,13 +295,18 @@ void Folder::slotPollTimerTimeout() if (_forceSyncOnPollTimeout) { qDebug() << "** Force Sync, because it was requested"; } - if (!okSyncResult) { - qDebug() << "** Force Sync, because the last sync had status: " << _syncResult.statusString(); + if (syncAgainAfterFail) { + qDebug() << "** Force Sync, because the last" + << _consecutiveFailingSyncs << "syncs failed, last status:" + << _syncResult.statusString(); } _forceSyncOnPollTimeout = false; emit scheduleToSync(alias()); + } else { - // do the ordinary etag check for the root folder. + // Do the ordinary etag check for the root folder and only schedule a real + // sync if it's different. + RequestEtagJob* job = new RequestEtagJob(account, remotePath(), this); // check if the etag is different QObject::connect(job, SIGNAL(etagRetreived(QString)), this, SLOT(etagRetreived(QString))); @@ -543,19 +557,17 @@ void Folder::slotAboutToPropagate(const SyncFileItemVector& items) bool Folder::estimateState(QString fn, csync_ftw_type_e t, SyncFileStatus* s) { if (t == CSYNC_FTW_TYPE_DIR) { - qDebug() << Q_FUNC_INFO << "ASKING ERROR FOLDERS" << fn; if (Utility::doesSetContainPrefix(_stateLastSyncItemsWithError, fn)) { + qDebug() << Q_FUNC_INFO << "Folder has error" << fn; s->set(SyncFileStatus::STATUS_ERROR); return true; } // If sync is running, check _syncedItems, possibly give it STATUS_EVAL (=syncing down) if (!_engine.isNull()) { - qDebug() << Q_FUNC_INFO << "SYNC IS RUNNING, asking SyncEngine" << fn; if (_engine->estimateState(fn, t, s)) { return true; } } - qDebug() << Q_FUNC_INFO << "ASKING TAINTED FOLDERS" << fn; if (Utility::doesSetContainPrefix(_stateTaintedFolders, fn)) { qDebug() << Q_FUNC_INFO << "Folder is tainted, EVAL!" << fn; s->set(SyncFileStatus::STATUS_EVAL); @@ -770,6 +782,17 @@ void Folder::setDirtyNetworkLimits() } } +void Folder::setSelectiveSyncBlackList(const QStringList& blackList) +{ + _selectiveSyncBlackList = blackList; + for (int i = 0; i < _selectiveSyncBlackList.count(); ++i) { + if (!_selectiveSyncBlackList.at(i).endsWith(QLatin1Char('/'))) { + _selectiveSyncBlackList[i].append(QLatin1Char('/')); + } + } +} + + void Folder::slotSyncError(const QString& err) { _errors.append( err ); @@ -825,6 +848,18 @@ void Folder::slotSyncFinished() _syncResult.setStatus(SyncResult::Success); } + // Count the number of syncs that have failed in a row. + if (_syncResult.status() == SyncResult::Success + || _syncResult.status() == SyncResult::Problem) + { + _consecutiveFailingSyncs = 0; + } + else + { + _consecutiveFailingSyncs++; + qDebug() << "the last" << _consecutiveFailingSyncs << "syncs failed"; + } + emit syncStateChange(); // The syncFinished result that is to be triggered here makes the folderman @@ -835,16 +870,28 @@ void Folder::slotSyncFinished() // all come in. QTimer::singleShot(200, this, SLOT(slotEmitFinishedDelayed() )); - if (!anotherSyncNeeded) { - _pollTimer.start(); - _timeSinceLastSync.restart(); + _timeSinceLastSync.restart(); + + // Increment the follow-up sync counter if necessary. + if (anotherSyncNeeded) { + _consecutiveFollowUpSyncs++; + qDebug() << "another sync was requested by the finished sync, this has" + << "happened" << _consecutiveFollowUpSyncs << "times"; } else { - // Another sync is required. We will make sure that the poll timer occurs soon enough. - qDebug() << "another sync was requested by the finished sync"; - _forceSyncOnPollTimeout = true; - QTimer::singleShot(1000, this, SLOT(slotPollTimerTimeout() )); + _consecutiveFollowUpSyncs = 0; } + // Maybe force a follow-up sync to take place, but only a couple of times. + if (anotherSyncNeeded && _consecutiveFollowUpSyncs <= 3) + { + _forceSyncOnPollTimeout = true; + // We will make sure that the poll timer occurs soon enough. + // delay 1s, 4s, 9s + int c = _consecutiveFollowUpSyncs; + QTimer::singleShot(c*c * 1000, this, SLOT(slotPollTimerTimeout() )); + } else { + _pollTimer.start(); + } } void Folder::slotEmitFinishedDelayed() diff --git a/src/gui/folder.h b/src/gui/folder.h index 93af88d13..31668f5bd 100644 --- a/src/gui/folder.h +++ b/src/gui/folder.h @@ -119,8 +119,7 @@ public: SyncJournalDb *journalDb() { return &_journal; } QStringList selectiveSyncBlackList() { return _selectiveSyncBlackList; } - void setSelectiveSyncBlackList(const QStringList &blackList) - { _selectiveSyncBlackList = blackList; } + void setSelectiveSyncBlackList(const QStringList &blackList); bool estimateState(QString fn, csync_ftw_type_e t, SyncFileStatus* s); @@ -205,6 +204,14 @@ private: QElapsedTimer _timeSinceLastSync; bool _forceSyncOnPollTimeout; + /// The number of syncs that failed in a row. + /// Reset when a sync is successful. + int _consecutiveFailingSyncs; + + /// The number of requested follow-up syncs. + /// Reset when no follow-up is requested. + int _consecutiveFollowUpSyncs; + // For the SocketAPI folder states QSet _stateLastSyncItemsWithErrorNew; // gets moved to _stateLastSyncItemsWithError at end of sync QSet _stateLastSyncItemsWithError; diff --git a/src/gui/folderman.cpp b/src/gui/folderman.cpp index a07ab2583..e41f812ce 100644 --- a/src/gui/folderman.cpp +++ b/src/gui/folderman.cpp @@ -697,6 +697,17 @@ bool FolderMan::startFromScratch( const QString& localFolder ) qDebug() << "startFromScratch: Directory is empty!"; return true; } + // Disconnect the socket api from the database to avoid that locking of the + // db file does not allow to move this dir. + if( _socketApi ) { + Folder *f = folderForPath(localFolder); + if(f) { + if( localFolder.startsWith(f->path()) ) { + _socketApi->slotUnregisterPath(f->alias()); + } + } + } + // Make a backup of the folder/file. QString newName = getBackupName( parentDir.absoluteFilePath( folderName ) ); if( !parentDir.rename( fi.absoluteFilePath(), newName ) ) { diff --git a/src/gui/openfilemanager.cpp b/src/gui/openfilemanager.cpp index 397c5c56a..698cc3dd9 100644 --- a/src/gui/openfilemanager.cpp +++ b/src/gui/openfilemanager.cpp @@ -90,18 +90,22 @@ void showInFileManager(const QString &localPath) } #endif QString explorer = "explorer.exe "; // FIXME: we trust it's in PATH + QFileInfo fi(localPath); - if (!QFileInfo(localPath).isDir()) { - explorer += QLatin1String("/select,"); + // canonicalFilePath returns empty if the file does not exist + if( !fi.canonicalFilePath().isEmpty() ) { + if (!fi.isDir()) { + explorer += QLatin1String("/select,"); + } + explorer += QLatin1Char('"'); + explorer += QDir::toNativeSeparators(fi.canonicalFilePath()); + explorer += QLatin1Char('"'); + + qDebug() << "OO Open explorer commandline:" << explorer; + QProcess p; + p.start(explorer); + p.waitForFinished(5000); } - explorer += QLatin1Char('"'); - explorer += QDir::toNativeSeparators(localPath); - explorer += QLatin1Char('"'); - - qDebug() << "OO Open explorer commandline:" << explorer; - QProcess p; - p.start(explorer); - p.waitForFinished(5000); } else if (Utility::isMac()) { QStringList scriptArgs; scriptArgs << QLatin1String("-e") @@ -182,4 +186,4 @@ void showInFileManager(const QString &localPath) } } -} \ No newline at end of file +} diff --git a/src/gui/owncloudgui.cpp b/src/gui/owncloudgui.cpp index 2061a11c5..2de519d11 100644 --- a/src/gui/owncloudgui.cpp +++ b/src/gui/owncloudgui.cpp @@ -101,8 +101,9 @@ ownCloudGui::ownCloudGui(Application *parent) : void ownCloudGui::setupOverlayIcons() { - - if( Utility::isMac() && QFile::exists("/Library/ScriptingAdditions/OwnCloudFinder.osax") ) { +#ifdef Q_OS_MAC + const QLatin1String finderExtension("/Library/ScriptingAdditions/SyncStateFinder.osax"); + if(QFile::exists(finderExtension) ) { QString aScript = QString::fromUtf8("tell application \"Finder\"\n" " try\n" " «event OWNCload»\n" @@ -122,7 +123,10 @@ void ownCloudGui::setupOverlayIcons() QString resultAsString(result); // if appropriate qDebug() << "Laod Finder Overlay-Plugin: " << resultAsString << ": " << p.exitCode() << (p.exitCode() != 0 ? p.errorString() : QString::null); + } else { + qDebug() << finderExtension << "does not exist! Finder Overlay Plugin loading failed"; } +#endif } // This should rather be in application.... or rather in MirallConfigFile? diff --git a/src/gui/owncloudsetupwizard.cpp b/src/gui/owncloudsetupwizard.cpp index 42447b699..b016cb371 100644 --- a/src/gui/owncloudsetupwizard.cpp +++ b/src/gui/owncloudsetupwizard.cpp @@ -401,7 +401,6 @@ void OwncloudSetupWizard::slotAssistantFinished( int result ) _ocWizard->account()->deleteLater(); qDebug() << "Rejected the new config, use the old!"; } else if( result == QDialog::Accepted ) { - Account *newAccount = _ocWizard->account(); Account *origAccount = AccountManager::instance()->account(); @@ -410,6 +409,13 @@ void OwncloudSetupWizard::slotAssistantFinished( int result ) localFolder.append(QLatin1Char('/')); } + Folder *f = folderMan->folderForPath(localFolder); + if( f ) { + folderMan->setSyncEnabled(false); + folderMan->terminateSyncProcess(f->alias()); + f->journalDb()->close(); + } + bool isInitialSetup = (origAccount == 0); // check if either the account or the local folder changed, than reinit diff --git a/src/gui/protocolwidget.cpp b/src/gui/protocolwidget.cpp index 8228a603f..dff29a527 100644 --- a/src/gui/protocolwidget.cpp +++ b/src/gui/protocolwidget.cpp @@ -254,7 +254,7 @@ void ProtocolWidget::computeResyncButtonEnabled() QString t = tr("Currently no files are ignored because of previous errors."); if(cnt > 0) { - t = tr("%1 files are ignored because of previous errors.\n Try to sync these again.").arg(cnt); + t = tr("%n files are ignored because of previous errors.\n Try to sync these again.", 0, cnt); } _clearBlacklistBtn->setEnabled(cnt > 0); diff --git a/src/gui/selectivesyncdialog.cpp b/src/gui/selectivesyncdialog.cpp index 155f6ca71..fb5357ac7 100644 --- a/src/gui/selectivesyncdialog.cpp +++ b/src/gui/selectivesyncdialog.cpp @@ -33,6 +33,7 @@ namespace Mirall { SelectiveSyncTreeView::SelectiveSyncTreeView(Account *account, QWidget* parent) : QTreeWidget(parent), _inserting(false), _account(account) { + _loading = new QLabel(tr("Loading ..."), this); connect(this, SIGNAL(itemExpanded(QTreeWidgetItem*)), this, SLOT(slotItemExpanded(QTreeWidgetItem*))); connect(this, SIGNAL(itemChanged(QTreeWidgetItem*,int)), this, SLOT(slotItemChanged(QTreeWidgetItem*,int))); header()->hide(); @@ -47,6 +48,8 @@ void SelectiveSyncTreeView::refreshFolders() this, SLOT(slotUpdateDirectories(QStringList))); job->start(); clear(); + _loading->show(); + _loading->move(10,10); } static QTreeWidgetItem* findFirstChild(QTreeWidgetItem *parent, const QString& text) @@ -78,7 +81,7 @@ void SelectiveSyncTreeView::recursiveInsert(QTreeWidgetItem* parent, QStringList || parent->checkState(0) == Qt::PartiallyChecked) { item->setCheckState(0, Qt::Checked); foreach(const QString &str , _oldBlackList) { - if (str + "/" == path) { + if (str == path) { item->setCheckState(0, Qt::Unchecked); break; } else if (str.startsWith(path)) { @@ -104,6 +107,8 @@ void SelectiveSyncTreeView::slotUpdateDirectories(const QStringList&list) QScopedValueRollback isInserting(_inserting); _inserting = true; + _loading->hide(); + QTreeWidgetItem *root = topLevelItem(0); if (!root) { root = new QTreeWidgetItem(this); @@ -132,6 +137,9 @@ void SelectiveSyncTreeView::slotUpdateDirectories(const QStringList&list) if (paths.last().isEmpty()) paths.removeLast(); if (paths.isEmpty()) continue; + if (!path.endsWith('/')) { + path.append('/'); + } recursiveInsert(root, paths, path); } root->setExpanded(true); @@ -218,7 +226,7 @@ QStringList SelectiveSyncTreeView::createBlackList(QTreeWidgetItem* root) const switch(root->checkState(0)) { case Qt::Unchecked: - return QStringList(root->data(0, Qt::UserRole).toString()); + return QStringList(root->data(0, Qt::UserRole).toString() + "/"); case Qt::Checked: return QStringList(); case Qt::PartiallyChecked: @@ -260,9 +268,12 @@ SelectiveSyncDialog::SelectiveSyncDialog(Account* account, const QStringList& bl void SelectiveSyncDialog::init(Account *account) { + setWindowTitle(tr("Choose What to Sync")); QVBoxLayout *layout = new QVBoxLayout(this); _treeView = new SelectiveSyncTreeView(account, this); - layout->addWidget(new QLabel(tr("Unchecked folders will not be sync to this computer"))); + QLabel *label = new QLabel(tr("Unchecked folders will be removed from your local file system and will not be synchronized to this computer anymore")); + label->setWordWrap(true); + layout->addWidget(label); layout->addWidget(_treeView); QDialogButtonBox *buttonBox = new QDialogButtonBox(Qt::Horizontal); QPushButton *button; diff --git a/src/gui/selectivesyncdialog.h b/src/gui/selectivesyncdialog.h index 635421b5c..cbd05117b 100644 --- a/src/gui/selectivesyncdialog.h +++ b/src/gui/selectivesyncdialog.h @@ -18,6 +18,7 @@ class QTreeWidgetItem; class QTreeWidget; +class QLabel; namespace Mirall { class Account; @@ -28,8 +29,12 @@ class SelectiveSyncTreeView : public QTreeWidget { Q_OBJECT public: explicit SelectiveSyncTreeView(Account *account, QWidget* parent = 0); + + /// Returns a list of blacklisted paths, each including the trailing / QStringList createBlackList(QTreeWidgetItem* root = 0) const; void refreshFolders(); + + // oldBlackList is a list of excluded paths, each including a trailing / void setFolderInfo(const QString &folderPath, const QString &rootName, const QStringList &oldBlackList = QStringList()) { _folderPath = folderPath; @@ -48,6 +53,7 @@ private: QStringList _oldBlackList; bool _inserting; // set to true when we are inserting new items on the list Account *_account; + QLabel *_loading; }; class SelectiveSyncDialog : public QDialog { diff --git a/src/gui/socketapi.cpp b/src/gui/socketapi.cpp index 2230a6ea3..340f04061 100644 --- a/src/gui/socketapi.cpp +++ b/src/gui/socketapi.cpp @@ -75,7 +75,11 @@ SocketApi::SocketApi(QObject* parent) if (Utility::isWindows()) { socketPath = QLatin1String("\\\\.\\pipe\\") - + Theme::instance()->appName(); + + QLatin1String("ownCloud"); + // TODO: once the windows extension supports multiple + // client connections, switch back to the theme name + // See issue #2388 + // + Theme::instance()->appName(); } else if (Utility::isMac()) { #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) // Always using Qt5 on OS X @@ -354,7 +358,7 @@ void SocketApi::command_RETRIEVE_FOLDER_STATUS(const QString& argument, SocketTy { // This command is the same as RETRIEVE_FILE_STATUS - qDebug() << Q_FUNC_INFO << argument; + //qDebug() << Q_FUNC_INFO << argument; command_RETRIEVE_FILE_STATUS(argument, socket); } @@ -375,7 +379,9 @@ void SocketApi::command_RETRIEVE_FILE_STATUS(const QString& argument, SocketType DEBUG << "folder offline or not watched:" << argument; statusString = QLatin1String("NOP"); } else { - const QString file = argument.mid(syncFolder->path().length()); + + + const QString file = QDir::cleanPath(argument).mid(QDir::cleanPath(syncFolder->path()).length()+1); SyncFileStatus fileStatus = this->fileStatus(syncFolder, file, _excludes); statusString = fileStatus.toSocketAPIString(); @@ -471,6 +477,7 @@ SyncFileStatus SocketApi::fileStatus(Folder *folder, const QString& systemFileNa { QString file = folder->path(); QString fileName = systemFileName.normalized(QString::NormalizationForm_C); + QString fileNameSlash = fileName; if( fileName != QLatin1String("/") && !fileName.isEmpty() ) { file = folder->path() + fileName; @@ -479,6 +486,8 @@ SyncFileStatus SocketApi::fileStatus(Folder *folder, const QString& systemFileNa if( fileName.endsWith(QLatin1Char('/')) ) { fileName.truncate(fileName.length()-1); qDebug() << "Removed trailing slash: " << fileName; + } else { + fileNameSlash += QLatin1Char('/'); } QFileInfo fi(file); @@ -498,77 +507,106 @@ SyncFileStatus SocketApi::fileStatus(Folder *folder, const QString& systemFileNa type = CSYNC_FTW_TYPE_DIR; } - // '\' is ignored, so convert to unix path before passing the path in. - QString unixFileName = QDir::fromNativeSeparators(fileName); - - CSYNC_EXCLUDE_TYPE excl = csync_excluded_no_ctx(excludes, unixFileName.toUtf8(), type); + // Is it excluded? + CSYNC_EXCLUDE_TYPE excl = csync_excluded_no_ctx(excludes, fileName.toUtf8(), type); if( excl != CSYNC_NOT_EXCLUDED ) { return SyncFileStatus(SyncFileStatus::STATUS_IGNORE); } - - SyncFileStatus status(SyncFileStatus::STATUS_NONE); - if (type == CSYNC_FTW_TYPE_DIR) { - if (folder->estimateState(fileName, type, &status)) { - qDebug() << Q_FUNC_INFO << "Folder estimated status for" << fileName << "to" << status.toSocketAPIString(); - return status; + // Error if it is in the selective sync blacklistr + foreach(const auto &s, folder->selectiveSyncBlackList()) { + if (fileNameSlash.startsWith(s)) { + return SyncFileStatus(SyncFileStatus::STATUS_ERROR); } - if (fileName == "") { - // sync folder itself - switch (folder->syncResult().status()) { - case SyncResult::Undefined: - case SyncResult::NotYetStarted: - case SyncResult::SyncPrepare: - case SyncResult::SyncRunning: - status.set(SyncFileStatus::STATUS_EVAL); - return status; - - case SyncResult::Success: - case SyncResult::Problem: - status.set(SyncFileStatus::STATUS_SYNC); - return status; - - case SyncResult::Error: - case SyncResult::SetupError: - case SyncResult::SyncAbortRequested: - status.set(SyncFileStatus::STATUS_ERROR); - return status; - - case SyncResult::Paused: - status.set(SyncFileStatus::STATUS_IGNORE); - return status; - } - } - SyncJournalFileRecord rec = dbFileRecord_capi(folder, unixFileName ); - if (rec.isValid()) { - status.set(SyncFileStatus::STATUS_SYNC); - if (rec._remotePerm.contains("S")) { - status.setSharedWithMe(true); - } - } else { - status.set(SyncFileStatus::STATUS_EVAL); - } - } else if (type == CSYNC_FTW_TYPE_FILE) { - if (folder->estimateState(fileName, type, &status)) { - return status; - } - SyncJournalFileRecord rec = dbFileRecord_capi(folder, unixFileName ); - if (rec.isValid()) { - if (rec._remotePerm.contains("S")) { - status.setSharedWithMe(true); - } - if( FileSystem::getModTime(fi.absoluteFilePath()) == Utility::qDateTimeToTime_t(rec._modtime) ) { - status.set(SyncFileStatus::STATUS_SYNC); - return status; - } else { - status.set(SyncFileStatus::STATUS_EVAL); - return status; - } - } - status.set(SyncFileStatus::STATUS_NEW); - return status; } + SyncFileStatus status(SyncFileStatus::STATUS_NONE); + SyncJournalFileRecord rec = dbFileRecord_capi(folder, fileName ); + + if (folder->estimateState(fileName, type, &status)) { + qDebug() << Q_FUNC_INFO << "Folder estimated status for" << fileName << "to" << status.toSocketAPIString(); + } else if (fileName == "") { + // sync folder itself + switch (folder->syncResult().status()) { + case SyncResult::Undefined: + case SyncResult::NotYetStarted: + case SyncResult::SyncPrepare: + case SyncResult::SyncRunning: + status.set(SyncFileStatus::STATUS_EVAL); + return status; + + case SyncResult::Success: + case SyncResult::Problem: + status.set(SyncFileStatus::STATUS_SYNC); + return status; + + case SyncResult::Error: + case SyncResult::SetupError: + case SyncResult::SyncAbortRequested: + status.set(SyncFileStatus::STATUS_ERROR); + return status; + + case SyncResult::Paused: + status.set(SyncFileStatus::STATUS_IGNORE); + return status; + } + } else if (type == CSYNC_FTW_TYPE_DIR) { + if (rec.isValid()) { + status.set(SyncFileStatus::STATUS_SYNC); + } else { + qDebug() << Q_FUNC_INFO << "Could not determine state for folder" << fileName << "will set STATUS_NEW"; + status.set(SyncFileStatus::STATUS_NEW); + } + } else if (type == CSYNC_FTW_TYPE_FILE) { + if (rec.isValid()) { + if( FileSystem::getModTime(fi.absoluteFilePath()) == Utility::qDateTimeToTime_t(rec._modtime) ) { + status.set(SyncFileStatus::STATUS_SYNC); + } else { + if (rec._remotePerm.isNull() || rec._remotePerm.contains("W") ) { + status.set(SyncFileStatus::STATUS_EVAL); + } else { + status.set(SyncFileStatus::STATUS_ERROR); + } + } + } else { + qDebug() << Q_FUNC_INFO << "Could not determine state for file" << fileName << "will set STATUS_NEW"; + status.set(SyncFileStatus::STATUS_NEW); + } + } + + if (rec.isValid()) { + if (rec._remotePerm.isNull()) { + // probably owncloud 6, that does not have permissions flag yet. + QString url = folder->remoteUrl().toString() + fileName; + if (url.contains(QLatin1String("/remote.php/webdav/Shared/"))) { + status.setSharedWithMe(true); + } + } else if (rec._remotePerm.contains("S")) { + status.setSharedWithMe(true); + } + } + if (status.tag() == SyncFileStatus::STATUS_NEW) { + // check the parent folder if it is shared and if it is allowed to create a file/dir within + QDir d( fi.path() ); + auto parentPath = d.path(); + auto dirRec = dbFileRecord_capi(folder, parentPath); + bool isDir = type == CSYNC_FTW_TYPE_DIR; + while( !d.isRoot() && !(d.exists() && dirRec.isValid()) ) { + d.cdUp(); // returns true if the dir exists. + + parentPath = d.path(); + // cut the folder path + dirRec = dbFileRecord_capi(folder, parentPath); + + isDir = true; + } + if( dirRec.isValid() && !dirRec._remotePerm.isNull()) { + if( (isDir && !dirRec._remotePerm.contains("K")) + || (!isDir && !dirRec._remotePerm.contains("C")) ) { + status.set(SyncFileStatus::STATUS_ERROR); + } + } + } return status; } diff --git a/src/gui/socketapi.h b/src/gui/socketapi.h index 753c0bcb6..f5f5a63f1 100644 --- a/src/gui/socketapi.h +++ b/src/gui/socketapi.h @@ -65,7 +65,6 @@ private slots: private: SyncFileStatus fileStatus(Folder *folder, const QString& systemFileName, c_strlist_t *excludes ); - SyncJournalFileRecord dbFileRecord( Folder *folder, QString fileName ); SyncJournalFileRecord dbFileRecord_capi( Folder *folder, QString fileName ); SyncFileStatus recursiveFolderStatus(Folder *folder, const QString& fileName, c_strlist_t *excludes ); SqlQuery *getSqlQuery( Folder *folder ); diff --git a/src/gui/wizard/owncloudadvancedsetuppage.cpp b/src/gui/wizard/owncloudadvancedsetuppage.cpp index 001b741e9..b489ab662 100644 --- a/src/gui/wizard/owncloudadvancedsetuppage.cpp +++ b/src/gui/wizard/owncloudadvancedsetuppage.cpp @@ -118,8 +118,7 @@ void OwncloudAdvancedSetupPage::updateStatus() _ui.pbSelectLocalFolder->setText(QDir::toNativeSeparators(locFolder)); if (dataChanged()) { if( _remoteFolder.isEmpty() || _remoteFolder == QLatin1String("/") ) { - t = tr("Your entire account will be synced to the local folder '%1'.") - .arg(QDir::toNativeSeparators(locFolder)); + t = ""; } else { t = tr("%1 folder '%2' is synced to local folder '%3'") .arg(Theme::instance()->appName()).arg(_remoteFolder) @@ -153,7 +152,8 @@ bool OwncloudAdvancedSetupPage::dataChanged() Account *oldAccount = AccountManager::instance()->account(); if (!ocWizard || !oldAccount) { - return false; + // If there was no account configured before, the data is new (hence changed) + return true; } const QString url(field("OCUrl").toString()); diff --git a/src/libsync/clientproxy.cpp b/src/libsync/clientproxy.cpp index bf95f49b7..a7aa1f47f 100644 --- a/src/libsync/clientproxy.cpp +++ b/src/libsync/clientproxy.cpp @@ -100,6 +100,10 @@ void ClientProxy::setCSyncProxy( const QUrl& url, CSYNC *csync_ctx ) QList proxies = QNetworkProxyFactory::proxyForQuery(QNetworkProxyQuery(url)); // We set at least one in Application Q_ASSERT(proxies.count() > 0); + if (proxies.count() == 0) { + qDebug() << Q_FUNC_INFO << "No proxy!"; + return; + } QNetworkProxy proxy = proxies.first(); if (proxy.type() == QNetworkProxy::NoProxy) { qDebug() << "Passing NO proxy to csync for" << url.toString(); diff --git a/src/libsync/discoveryphase.cpp b/src/libsync/discoveryphase.cpp index d21956d84..5e72dacfc 100644 --- a/src/libsync/discoveryphase.cpp +++ b/src/libsync/discoveryphase.cpp @@ -45,7 +45,7 @@ bool DiscoveryJob::isInSelectiveSyncBlackList(const QString& path) const return false; } --it; - Q_ASSERT(it->endsWith(QLatin1Char('/'))); // SyncEngine::setSelectiveSyncBlackList makes sure of that + Q_ASSERT(it->endsWith(QLatin1Char('/'))); // Folder::setSelectiveSyncBlackList makes sure of that if (pathSlash.startsWith(*it)) { return true; } diff --git a/src/libsync/ownsql.cpp b/src/libsync/ownsql.cpp index 567c3104b..157b00c85 100644 --- a/src/libsync/ownsql.cpp +++ b/src/libsync/ownsql.cpp @@ -50,11 +50,14 @@ bool SqlDatabase::open( const QString& filename ) SQLITE_DO( sqlite3_open_v2(filename.toUtf8().constData(), &_db, flag, 0) ); if( _errId != SQLITE_OK ) { - close(); // FIXME: Correct? + qDebug() << Q_FUNC_INFO << "Error:" << _error << "for" << filename; + close(); _db = 0; } - sqlite3_busy_timeout(_db, 5000); + if (_db) { + sqlite3_busy_timeout(_db, 5000); + } return isOpen(); } @@ -99,7 +102,7 @@ sqlite3* SqlDatabase::sqliteDb() /* =========================================================================================== */ -SqlQuery::SqlQuery( SqlDatabase db ) +SqlQuery::SqlQuery( SqlDatabase& db ) :_db(db.sqliteDb()), _stmt(0) { @@ -113,7 +116,7 @@ SqlQuery::~SqlQuery() } } -SqlQuery::SqlQuery(const QString& sql, SqlDatabase db) +SqlQuery::SqlQuery(const QString& sql, SqlDatabase& db) :_db(db.sqliteDb()), _stmt(0) { diff --git a/src/libsync/ownsql.h b/src/libsync/ownsql.h index 31864c182..055be3372 100644 --- a/src/libsync/ownsql.h +++ b/src/libsync/ownsql.h @@ -25,6 +25,7 @@ namespace Mirall { class OWNCLOUDSYNC_EXPORT SqlDatabase { + Q_DISABLE_COPY(SqlDatabase) public: explicit SqlDatabase(); @@ -48,8 +49,8 @@ class OWNCLOUDSYNC_EXPORT SqlQuery Q_DISABLE_COPY(SqlQuery) public: explicit SqlQuery(); - explicit SqlQuery(SqlDatabase db); - explicit SqlQuery(const QString& sql, SqlDatabase db); + explicit SqlQuery(SqlDatabase& db); + explicit SqlQuery(const QString& sql, SqlDatabase& db); ~SqlQuery(); QString error() const; diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp index 7cf9b24a6..ce138ecff 100644 --- a/src/libsync/syncengine.cpp +++ b/src/libsync/syncengine.cpp @@ -179,7 +179,9 @@ QString SyncEngine::csyncErrorToString(CSYNC_STATUS err) case CSYNC_STATUS_ABORTED: errStr = tr("Aborted by the user"); break; - + case CSYNC_STATUS_SERVICE_UNAVAILABLE: + errStr = tr("The mounted directory is temporary not available on the server"); + break; default: errStr = tr("An internal error number %1 happened.").arg( (int) err ); } @@ -319,7 +321,9 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) item._modtime = file->modtime; } else { if (file->instruction != CSYNC_INSTRUCTION_NONE) { + qDebug() << "ERROR: Instruction" << item._instruction << "vs" << file->instruction << "for" << fileUtf8; Q_ASSERT(!"Instructions are both unequal NONE"); + return -1; } } @@ -362,7 +366,10 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) case CYSNC_STATUS_FILE_LOCKED_OR_OPEN: item._errorString = QLatin1String("File locked"); // don't translate, internal use! break; - + case CSYNC_STATUS_SERVICE_UNAVAILABLE: + item._errorString = QLatin1String("Directory temporarily not available on server."); + item._status = SyncFileItem::SoftError; + break; default: Q_ASSERT("Non handled error-status"); /* No error string */ @@ -1066,11 +1073,6 @@ QByteArray SyncEngine::getPermissions(const QString& file) const void SyncEngine::setSelectiveSyncBlackList(const QStringList& list) { _selectiveSyncBlackList = list; - for (int i = 0; i < _selectiveSyncBlackList.count(); ++i) { - if (!_selectiveSyncBlackList.at(i).endsWith(QLatin1Char('/'))) { - _selectiveSyncBlackList[i].append(QLatin1Char('/')); - } - } } bool SyncEngine::estimateState(QString fn, csync_ftw_type_e t, SyncFileStatus* s) diff --git a/src/libsync/syncjournaldb.cpp b/src/libsync/syncjournaldb.cpp index 6fd2c6e03..5c4e1f1d0 100644 --- a/src/libsync/syncjournaldb.cpp +++ b/src/libsync/syncjournaldb.cpp @@ -364,7 +364,6 @@ void SyncJournalDb::close() _possibleUpgradeFromMirall_1_5 = false; _db.close(); - _db = SqlDatabase(); // avoid the warning SqlDatabasePrivate::removeDatabase: connection [...] still in use _avoidReadFromDbOnNextSyncFilter.clear(); } @@ -535,6 +534,7 @@ bool SyncJournalDb::setFileRecord( const SyncJournalFileRecord& _record ) if( fileId.isEmpty() ) fileId = ""; QString remotePerm (record._remotePerm); if (remotePerm.isEmpty()) remotePerm = QString(); // have NULL in DB (vs empty) + _setFileRecordQuery->reset(); _setFileRecordQuery->bindValue(1, QString::number(phash)); _setFileRecordQuery->bindValue(2, plen); _setFileRecordQuery->bindValue(3, record._path ); @@ -558,8 +558,8 @@ bool SyncJournalDb::setFileRecord( const SyncJournalFileRecord& _record ) << record._mode << QString::number(Utility::qDateTimeToTime_t(record._modtime)) << QString::number(record._type) << record._etag << record._fileId << record._remotePerm; - _setFileRecordQuery->reset(); + _setFileRecordQuery->reset(); return true; } else { qDebug() << "Failed to connect database."; @@ -576,6 +576,7 @@ bool SyncJournalDb::deleteFileRecord(const QString& filename, bool recursively) // always delete the actual file. qlonglong phash = getPHash(filename); + _deleteFileRecordPhash->reset(); _deleteFileRecordPhash->bindValue( 1, QString::number(phash) ); if( !_deleteFileRecordPhash->exec() ) { @@ -587,6 +588,7 @@ bool SyncJournalDb::deleteFileRecord(const QString& filename, bool recursively) qDebug() << _deleteFileRecordPhash->lastQuery() << phash << filename; _deleteFileRecordPhash->reset(); if( recursively) { + _deleteFileRecordRecursively->reset(); _deleteFileRecordRecursively->bindValue(1, filename); if( !_deleteFileRecordRecursively->exec() ) { qWarning() << "Exec error of SQL statement: " @@ -613,6 +615,7 @@ SyncJournalFileRecord SyncJournalDb::getFileRecord( const QString& filename ) SyncJournalFileRecord rec; if( checkConnect() ) { + _getFileRecordQuery->reset(); _getFileRecordQuery->bindValue(1, QString::number(phash)); if (!_getFileRecordQuery->exec()) { @@ -632,12 +635,11 @@ SyncJournalFileRecord SyncJournalDb::getFileRecord( const QString& filename ) rec._etag = _getFileRecordQuery->baValue(7); rec._fileId = _getFileRecordQuery->baValue(8); rec._remotePerm = _getFileRecordQuery->baValue(9); - - _getFileRecordQuery->reset(); } else { QString err = _getFileRecordQuery->error(); qDebug() << "No journal entry found for " << filename; } + _getFileRecordQuery->reset(); } return rec; } @@ -754,6 +756,7 @@ SyncJournalDb::DownloadInfo SyncJournalDb::getDownloadInfo(const QString& file) DownloadInfo res; if( checkConnect() ) { + _getDownloadInfoQuery->reset(); _getDownloadInfoQuery->bindValue(1, file); if (!_getDownloadInfoQuery->exec()) { @@ -781,6 +784,7 @@ void SyncJournalDb::setDownloadInfo(const QString& file, const SyncJournalDb::Do } if (i._valid) { + _setDownloadInfoQuery->reset(); _setDownloadInfoQuery->bindValue(1, file); _setDownloadInfoQuery->bindValue(2, i._tmpfile); _setDownloadInfoQuery->bindValue(3, i._etag ); @@ -795,6 +799,7 @@ void SyncJournalDb::setDownloadInfo(const QString& file, const SyncJournalDb::Do _setDownloadInfoQuery->reset(); } else { + _deleteDownloadInfoQuery->reset(); _deleteDownloadInfoQuery->bindValue( 1, file ); if( !_deleteDownloadInfoQuery->exec() ) { @@ -852,6 +857,7 @@ SyncJournalDb::UploadInfo SyncJournalDb::getUploadInfo(const QString& file) if( checkConnect() ) { + _getUploadInfoQuery->reset(); _getUploadInfoQuery->bindValue(1, file); if (!_getUploadInfoQuery->exec()) { @@ -883,6 +889,7 @@ void SyncJournalDb::setUploadInfo(const QString& file, const SyncJournalDb::Uplo } if (i._valid) { + _setUploadInfoQuery->reset(); _setUploadInfoQuery->bindValue(1, file); _setUploadInfoQuery->bindValue(2, i._chunk); _setUploadInfoQuery->bindValue(3, i._transferid ); @@ -898,6 +905,7 @@ void SyncJournalDb::setUploadInfo(const QString& file, const SyncJournalDb::Uplo qDebug() << _setUploadInfoQuery->lastQuery() << file << i._chunk << i._transferid << i._errorCount; _setUploadInfoQuery->reset(); } else { + _deleteUploadInfoQuery->reset(); _deleteUploadInfoQuery->bindValue(1, file); if( !_deleteUploadInfoQuery->exec() ) { @@ -948,6 +956,7 @@ SyncJournalBlacklistRecord SyncJournalDb::blacklistEntry( const QString& file ) // SELECT lastTryEtag, lastTryModtime, retrycount, errorstring if( checkConnect() ) { + _getBlacklistQuery->reset(); _getBlacklistQuery->bindValue( 1, file ); if( _getBlacklistQuery->exec() ){ if( _getBlacklistQuery->next() ) { @@ -959,11 +968,11 @@ SyncJournalBlacklistRecord SyncJournalDb::blacklistEntry( const QString& file ) entry._ignoreDuration = _getBlacklistQuery->int64Value(5); entry._file = file; } + _getBlacklistQuery->reset(); } else { qWarning() << "Exec error blacklist: " << _getBlacklistQuery->lastQuery() << " : " << _getBlacklistQuery->error(); } - _getBlacklistQuery->reset(); } return entry; @@ -1174,6 +1183,25 @@ bool SyncJournalDb::isUpdateFrom_1_5() return _possibleUpgradeFromMirall_1_5; } +bool operator==(const SyncJournalDb::DownloadInfo & lhs, + const SyncJournalDb::DownloadInfo & rhs) +{ + return lhs._errorCount == rhs._errorCount + && lhs._etag == rhs._etag + && lhs._tmpfile == rhs._tmpfile + && lhs._valid == rhs._valid; +} + +bool operator==(const SyncJournalDb::UploadInfo & lhs, + const SyncJournalDb::UploadInfo & rhs) +{ + return lhs._errorCount == rhs._errorCount + && lhs._chunk == rhs._chunk + && lhs._modtime == rhs._modtime + && lhs._valid == rhs._valid + && lhs._size == rhs._size + && lhs._transferid == rhs._transferid; +} } // namespace Mirall diff --git a/src/libsync/syncjournaldb.h b/src/libsync/syncjournaldb.h index eb2f86d08..8da92d4d2 100644 --- a/src/libsync/syncjournaldb.h +++ b/src/libsync/syncjournaldb.h @@ -145,5 +145,10 @@ private: QList _avoidReadFromDbOnNextSyncFilter; }; +bool operator==(const SyncJournalDb::DownloadInfo & lhs, + const SyncJournalDb::DownloadInfo & rhs); +bool operator==(const SyncJournalDb::UploadInfo & lhs, + const SyncJournalDb::UploadInfo & rhs); + } // namespace Mirall #endif // SYNCJOURNALDB_H diff --git a/src/libsync/syncjournalfilerecord.cpp b/src/libsync/syncjournalfilerecord.cpp index dc8ddbe49..049473bf7 100644 --- a/src/libsync/syncjournalfilerecord.cpp +++ b/src/libsync/syncjournalfilerecord.cpp @@ -138,4 +138,18 @@ SyncJournalBlacklistRecord SyncJournalBlacklistRecord::update( return entry; } + +bool operator==(const SyncJournalFileRecord & lhs, + const SyncJournalFileRecord & rhs) +{ + return lhs._path == rhs._path + && lhs._inode == rhs._inode + && lhs._modtime == rhs._modtime + && lhs._type == rhs._type + && lhs._etag == rhs._etag + && lhs._fileId == rhs._fileId + && lhs._remotePerm == rhs._remotePerm + && lhs._mode == rhs._mode; +} + } diff --git a/src/libsync/syncjournalfilerecord.h b/src/libsync/syncjournalfilerecord.h index cb3e5a81d..b4ee1d120 100644 --- a/src/libsync/syncjournalfilerecord.h +++ b/src/libsync/syncjournalfilerecord.h @@ -43,6 +43,9 @@ public: int _mode; }; +bool operator==(const SyncJournalFileRecord & lhs, + const SyncJournalFileRecord & rhs); + class SyncJournalBlacklistRecord { public: diff --git a/src/libsync/utility.cpp b/src/libsync/utility.cpp index c1ee81b63..f8095ac4b 100644 --- a/src/libsync/utility.cpp +++ b/src/libsync/utility.cpp @@ -224,7 +224,7 @@ QString Utility::toCSyncScheme(const QString &urlStr) return url.toString(); } -bool Utility::doesSetContainPrefix(QSet &l, QString &p) { +bool Utility::doesSetContainPrefix(const QSet &l, const QString &p) { Q_FOREACH (const QString &setPath, l) { //qDebug() << Q_FUNC_INFO << p << setPath << setPath.startsWith(p); diff --git a/src/libsync/utility.h b/src/libsync/utility.h index 8787422aa..ce4fa51f3 100644 --- a/src/libsync/utility.h +++ b/src/libsync/utility.h @@ -42,7 +42,7 @@ namespace Utility OWNCLOUDSYNC_EXPORT QString toCSyncScheme(const QString &urlStr); /** Like QLocale::toString(double, 'f', prec), but drops trailing zeros after the decimal point */ - OWNCLOUDSYNC_EXPORT bool doesSetContainPrefix(QSet &l, QString &p); + OWNCLOUDSYNC_EXPORT bool doesSetContainPrefix(const QSet &l, const QString &p); diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index deab96227..9075449f4 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -28,3 +28,7 @@ endif(UNIX AND NOT APPLE) owncloud_add_test(CSyncSqlite "") owncloud_add_test(NetrcParser ../src/cmd/netrcparser.cpp) owncloud_add_test(OwnSql ../src/libsync/ownsql.cpp) +owncloud_add_test(SyncJournalDB ../src/libsync/syncjournaldb.cpp) + + + diff --git a/test/testcsyncsqlite.h b/test/testcsyncsqlite.h index 0765668e1..01b886b6d 100644 --- a/test/testcsyncsqlite.h +++ b/test/testcsyncsqlite.h @@ -8,6 +8,7 @@ #define MIRALL_TESTCSYNCSQLITE_H #include "csync_statedb.h" +#include "csync_private.h" #include @@ -16,39 +17,12 @@ class TestCSyncSqlite : public QObject Q_OBJECT private: - /* Attention !!!!!!!!!!!!!!!!!!! - * This struct MY_CSYNC has to be a copy of the CSYNC struct defined - * in csync_private.h until the end of struct statedb. - * Subsequent functions cast the struct to CSYNC. In order to get the - * same values as in the original struct, the start must be the same. - */ - typedef struct { - struct { - csync_auth_callback auth_function; - void *userdata; - csync_update_callback update_callback; - void *update_callback_userdata; - } callbacks; - c_strlist_t *excludes; - - struct { - char *file; - sqlite3 *db; - int exists; - int disabled; - - sqlite3_stmt* by_hash_stmt; - sqlite3_stmt* by_fileid_stmt; - sqlite3_stmt* by_inode_stmt; - } statedb; - } MY_CSYNC; - - MY_CSYNC _ctx; + CSYNC _ctx; private slots: void initTestCase() { int rc; - memset(&_ctx, 0, sizeof(MY_CSYNC)); + memset(&_ctx, 0, sizeof(CSYNC)); _ctx.statedb.file = c_strdup("./test_journal.db"); diff --git a/test/testsyncjournaldb.h b/test/testsyncjournaldb.h new file mode 100644 index 000000000..c36679c66 --- /dev/null +++ b/test/testsyncjournaldb.h @@ -0,0 +1,118 @@ +/* + * This software is in the public domain, furnished "as is", without technical + * support, and with no warranty, express or implied, as to its usefulness for + * any purpose. + * */ + +#ifndef MIRALL_TESTSYNCJOURNALDB_H +#define MIRALL_TESTSYNCJOURNALDB_H + +#include + +#include + +#include "libsync/syncjournaldb.h" +#include "libsync/syncjournalfilerecord.h" + +using namespace Mirall; + +namespace { + +const char testdbC[] = "/tmp"; +} + +class TestSyncJournalDB : public QObject +{ + Q_OBJECT + +public: + TestSyncJournalDB() + : _db(testdbC) + { + } + + QDateTime dropMsecs(QDateTime time) + { + return Utility::qDateTimeFromTime_t(Utility::qDateTimeToTime_t(time)); + } + +private slots: + + void initTestCase() + { + } + + void cleanupTestCase() + { + } + + void testFileRecord() + { + SyncJournalFileRecord record = _db.getFileRecord("nonexistant"); + QVERIFY(!record.isValid()); + + record._path = "foo"; + record._inode = 1234; + record._modtime = dropMsecs(QDateTime::currentDateTime()); + record._type = 5; + record._etag = "789789"; + record._fileId = "abcd"; + record._remotePerm = "744"; + record._mode = -17; + QVERIFY(_db.setFileRecord(record)); + + SyncJournalFileRecord storedRecord = _db.getFileRecord("foo"); + QVERIFY(storedRecord == record); + + QVERIFY(_db.deleteFileRecord("foo")); + record = _db.getFileRecord("foo"); + QVERIFY(!record.isValid()); + } + + void testDownloadInfo() + { + typedef SyncJournalDb::DownloadInfo Info; + Info record = _db.getDownloadInfo("nonexistant"); + QVERIFY(!record._valid); + + record._errorCount = 5; + record._etag = "ABCDEF"; + record._valid = true; + record._tmpfile = "/tmp/foo"; + _db.setDownloadInfo("foo", record); + + Info storedRecord = _db.getDownloadInfo("foo"); + QVERIFY(storedRecord == record); + + _db.setDownloadInfo("foo", Info()); + Info wipedRecord = _db.getDownloadInfo("foo"); + QVERIFY(!wipedRecord._valid); + } + + void testUploadInfo() + { + typedef SyncJournalDb::UploadInfo Info; + Info record = _db.getUploadInfo("nonexistant"); + QVERIFY(!record._valid); + + record._errorCount = 5; + record._chunk = 12; + record._transferid = 812974891; + record._size = 12894789147; + record._modtime = dropMsecs(QDateTime::currentDateTime()); + record._valid = true; + _db.setUploadInfo("foo", record); + + Info storedRecord = _db.getUploadInfo("foo"); + QVERIFY(storedRecord == record); + + _db.setUploadInfo("foo", Info()); + Info wipedRecord = _db.getUploadInfo("foo"); + QVERIFY(!wipedRecord._valid); + } + +private: + SyncJournalDb _db; +}; + +#endif diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index 6be442dfc..8467ba19c 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -289,109 +289,109 @@ Temps restant total %5 Mirall::Folder - + Unable to create csync-context No s'ha pogut crear el context-csync - + Local folder %1 does not exist. El fitxer local %1 no existeix. - + %1 should be a directory but is not. %1 hauria de ser una carpeta, però no ho és. - + %1 is not readable. No es pot llegir %1. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 i %2 altres fitxers s'han esborrat - + %1 has been removed. %1 names a file. S'ha esborrat '%1' - + %1 and %2 other files have been downloaded. %1 names a file. %1 i %2 altres fitxers s'han descarregat. - + %1 has been downloaded. %1 names a file. S'ha descarregat %1 - + %1 and %2 other files have been updated. %1 i %2 altres fitxer(s) s'han actualitzat. - + %1 has been updated. %1 names a file. S'ha actualitzat %1 - + %1 has been renamed to %2 and %3 other files have been renamed. %1 s'ha reanomenat a %2 i %3 altres fitxers s'han reanomenat. - + %1 has been renamed to %2. %1 and %2 name files. %1 s'ha reanomenat a %2. - + %1 has been moved to %2 and %3 other files have been moved. %1 s'ha reanomenat a %2 i %3 altres fitxers s'han eliminat. - + %1 has been moved to %2. %1 s'ha mogut a %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. - + %1 could not be synced due to an error. See the log for details. %1 no s'ha pogut sincronitzar degut a un error. Mira el registre per detalls. - + Sync Activity Activitat de sincronització - + Could not read system exclude file - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Això podria ser perquè la carpeta ha estat reconfigurada silenciosament, o que Esteu segur que voleu executar aquesta operació? - + Remove All Files? Esborra tots els fitxers? - + Remove all files Esborra tots els fitxers - + Keep files Mantén els fitxers @@ -428,52 +428,52 @@ Esteu segur que voleu executar aquesta operació? S'ha trobat un diari de sincronització antic '%1', però no s'ha pogut eliminar. Assegureu-vos que no hi ha cap aplicació que actualment en faci ús. - + Undefined State. Estat indefinit. - + Waits to start syncing. Espera per començar la sincronització. - + Preparing for sync. Perparant per la sincronització. - + Sync is running. S'està sincronitzant. - + Last Sync was successful. La darrera sincronització va ser correcta. - + Last Sync was successful, but with warnings on individual files. La última sincronització ha estat un èxit, però amb avisos en fitxers individuals. - + Setup Error. Error de configuració. - + User Abort. Cancel·la usuari. - + Sync is paused. La sincronització està en pausa. - + %1 (Sync is paused) %1 (Sync està pausat) @@ -1044,22 +1044,17 @@ for additional privileges during the process. Connecta... - - Your entire account will be synced to the local folder '%1'. - El compte sencer es sincronitzarà amb la carpeta local '%1'. - - - + %1 folder '%2' is synced to local folder '%3' %1 carpeta '%2' està sincronitzat amb la carpeta local '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Avís:</strong> Teniu múltiples carpetes configurades. Si continueu amb la configuració actual, la configuració de carpetes es descartarà i només es crearà una única carpeta arrel de sincronització!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Avís:</strong> La carpeta local no està buida. Escolliu una resolució!</small></p> @@ -1140,8 +1135,8 @@ No és aconsellada usar-la. Ha fallat en canviar el nom de la carpeta - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>la carpeta de sincronització %1 s'ha creat correctament!</b></font> @@ -1537,21 +1532,33 @@ No és aconsellada usar-la. Currently no files are ignored because of previous errors. Actualment no s'ha ignorat cap fitxer a causa d'errors anteriors. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 fixers són ignorats per errors previs. -Proveu de sincronitzar-los de nou. + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer + + Choose What to Sync + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Carregant... + Mirall::SettingsDialog @@ -1995,99 +2002,104 @@ Proveu de sincronitzar-los de nou. Aturat per l'usuari - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. S'ha produït l'error intern número %1. - + The item is not synced because of previous errors: %1 L'element no s'ha sincronitzat degut a errors previs: %1 - + Symbolic links are not supported in syncing. La sincronització d'enllaços simbòlics no està implementada. - + Hard links are not supported in syncing. - + File is listed on the ignore list. El fitxer està a la llista d'ignorats. - + File contains invalid characters that can not be synced cross platform. El fitxer conté caràcters no vàlids que no es poden sincronitzar entre plataformes. - + Unable to initialize a sync journal. No es pot inicialitzar un periòdic de sincronització - + Cannot open the sync journal No es pot obrir el diari de sincronització - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add sub-directories in that directory No es permet perquè no teniu permisos per afegir subcarpetes en aquesta carpeta - + Not allowed because you don't have permission to add parent directory No es permet perquè no teniu permisos per afegir una carpeta inferior - + Not allowed because you don't have permission to add files in that directory No es permet perquè no teniu permisos per afegir fitxers en aquesta carpeta - + Not allowed to upload this file because it is read-only on the server, restoring No es permet pujar aquest fitxer perquè només és de lectura en el servidor, es restaura - - + + Not allowed to remove, restoring No es permet l'eliminació, es restaura - + Local files and share folder removed. Fitxers locals i carpeta compartida esborrats. - + Move not allowed, item restored No es permet moure'l, l'element es restaura - + Move not allowed because %1 is read-only No es permet moure perquè %1 només és de lectura - + the destination el destí - + the source l'origen @@ -2111,137 +2123,137 @@ Proveu de sincronitzar-los de nou. Mirall::ownCloudGui - + Please sign in Acrediteu-vos - + Disconnected from server Desconnectat del servidor - + Folder %1: %2 Carpeta %1: %2 - + No sync folders configured. No hi ha fitxers de sincronització configurats - + There are no sync folders configured. No hi han carpetes sincronitzades configurades. - + None. Cap. - + Recent Changes Canvis recents - + Open %1 folder Obre la carpeta %1 - + Managed Folders: Fitxers gestionats: - + Open folder '%1' Obre carpeta '%1' - + Open %1 in browser Obre %1 en el navegador - + Calculating quota... Calculant la quota... - + Unknown status Estat desconegut - + Settings... Arranjament... - + Details... Detalls... - + Help Ajuda - + Quit %1 Surt %1 - + Sign in... Acredita... - + Sign out Surt - + Quota n/a Quota n/d - + %1% of %2 in use %1 de %2 en ús - + No items synced recently No hi ha elements sincronitzats recentment - + Discovering '%1' - + Syncing %1 of %2 (%3 left) Sincronitzant %1 de %2 (%3 pendents) - + Syncing %1 (%2 left) Sincronitzant %1 (%2 pendents) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Actualitzat diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index b2a7f6e80..82502c66b 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -289,109 +289,109 @@ Celkový zbývající čas %5 Mirall::Folder - + Unable to create csync-context Nepodařilo se vytvořit csync-context - + Local folder %1 does not exist. Místní složka %1 neexistuje. - + %1 should be a directory but is not. %1 by měl být adresář, ale není. - + %1 is not readable. %1 není čitelný. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 a %2 dalších souborů bylo odebráno. - + %1 has been removed. %1 names a file. %1 byl odebrán. - + %1 and %2 other files have been downloaded. %1 names a file. %1 a %2 dalších souborů bylo staženo. - + %1 has been downloaded. %1 names a file. %1 byl stažen. - + %1 and %2 other files have been updated. %1 a %2 dalších souborů bylo aktualizováno. - + %1 has been updated. %1 names a file. %1 byl aktualizován. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 byl přejmenován na %2 a %3 dalších souborů bylo přejmenováno. - + %1 has been renamed to %2. %1 and %2 name files. %1 byl přejmenován na %2. - + %1 has been moved to %2 and %3 other files have been moved. %1 byl přesunut do %2 a %3 dalších souborů bylo přesunuto. - + %1 has been moved to %2. %1 byl přemístěn do %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. %1 a %2 další soubory nebyly kvůli chybě synchronizovány. Detaily jsou k nalezení v logu. - + %1 could not be synced due to an error. See the log for details. %1 nebyl kvůli chybě synchronizován. Detaily jsou k nalezení v logu. - + Sync Activity Průběh synchronizace - + Could not read system exclude file Nezdařilo se přečtení systémového exclude souboru - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Toto může být způsobeno změnou v nastavení synchronizace složky nebo tím Opravdu chcete provést tuto akci? - + Remove All Files? Odstranit všechny soubory? - + Remove all files Odstranit všechny soubory - + Keep files Ponechat soubory @@ -428,52 +428,52 @@ Opravdu chcete provést tuto akci? Byl nalezen starý záznam synchronizace '%1', ale nebylo možné jej odebrat. Ujistěte se, že není aktuálně používán jinou aplikací. - + Undefined State. Nedefinovaný stav. - + Waits to start syncing. Vyčkává na spuštění synchronizace. - + Preparing for sync. Příprava na synchronizaci. - + Sync is running. Synchronizace probíhá. - + Last Sync was successful. Poslední synchronizace byla úspěšná. - + Last Sync was successful, but with warnings on individual files. Poslední synchronizace byla úspěšná, ale s varováním u některých souborů - + Setup Error. Chyba nastavení. - + User Abort. Zrušení uživatelem. - + Sync is paused. Synchronizace pozastavena. - + %1 (Sync is paused) %1 (Synchronizace je pozastavena) @@ -1044,22 +1044,17 @@ si může v průběhu vyžádat dodatečná práva. Připojit... - - Your entire account will be synced to the local folder '%1'. - Celý váš účet bude synchronizován do místní složky '%1'. - - - + %1 folder '%2' is synced to local folder '%3' %1 složka '%2' je synchronizována do místní složky '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Varování:</strong> Aktuálně máte nastavenu synchronizaci více složek. Pokud budete pokračovat s tímto nastavení, nastavení složek bude zapomenuto a bude vytvořena synchronizace jedné kořenové složky!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Varování:</strong> Místní adresář není prázdný. Zvolte další postup.</small></p> @@ -1140,8 +1135,8 @@ Nedoporučuje se jí používat. Přejmenování složky selhalo - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Místní synchronizovaná složka %1 byla vytvořena úspěšně!</b></font> @@ -1537,21 +1532,35 @@ Nedoporučuje se jí používat. Currently no files are ignored because of previous errors. Nyní nejsou v seznamu ignorovaných žádné soubory kvůli předchozím chybám. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 souborů je na seznamu ignorovaných kvůli předchozím chybovým stavům. -Zkuste provést novou synchronizaci. - + %n soubor je ignorován kvůli předchozím chybovým hlášením. +Zkuste ho znovu synchronizovat.%n soubory jsou ignorovány kvůli předchozím chybovým hlášením. +Zkuste je znovu synchronizovat.%n souborů je ignorováno kvůli předchozím chybovým hlášením. +Zkuste je znovu synchronizovat. Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer - Neoznačené adresáře se nebudou sychronizovat na tento počitač. + + Choose What to Sync + Vybrat co synchronizovat + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Načítám ... @@ -1996,99 +2005,104 @@ Zkuste provést novou synchronizaci. Zrušeno uživatelem - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Nastala vnitřní chyba číslo %1. - + The item is not synced because of previous errors: %1 Položka nebyla synchronizována kvůli předchozí chybě: %1 - + Symbolic links are not supported in syncing. Symbolické odkazy nejsou při synchronizaci podporovány. - + Hard links are not supported in syncing. Pevné odkazy nejsou při synchronizaci podporovány. - + File is listed on the ignore list. Soubor se nachází na seznamu ignorovaných. - + File contains invalid characters that can not be synced cross platform. Soubor obsahuje alespoň jeden neplatný znak, který narušuje synchronizaci v prostředí více platforem. - + Unable to initialize a sync journal. Nemohu inicializovat synchronizační žurnál. - + Cannot open the sync journal Nelze otevřít synchronizační žurnál - - + + Ignored because of the "choose what to sync" blacklist Ignorováno podle nastavení "vybrat co synchronizovat" - + Not allowed because you don't have permission to add sub-directories in that directory Není povoleno, protože nemáte oprávnění vytvářet podadresáře v tomto adresáři. - + Not allowed because you don't have permission to add parent directory Není povoleno, protože nemáte oprávnění vytvořit rodičovský adresář - + Not allowed because you don't have permission to add files in that directory Není povoleno, protože nemáte oprávnění přidávat soubory do tohoto adresáře - + Not allowed to upload this file because it is read-only on the server, restoring Není povoleno nahrát tento soubor, protože je na serveru uložen pouze pro čtení, obnovuji - - + + Not allowed to remove, restoring Odstranění není povoleno, obnovuji - + Local files and share folder removed. Místní soubory a sdílený adresář byly odstraněny. - + Move not allowed, item restored Přesun není povolen, položka obnovena - + Move not allowed because %1 is read-only Přesun není povolen, protože %1 je pouze pro čtení - + the destination cílové umístění - + the source zdroj @@ -2112,137 +2126,137 @@ Zkuste provést novou synchronizaci. Mirall::ownCloudGui - + Please sign in Přihlašte se prosím - + Disconnected from server Odpojen od serveru - + Folder %1: %2 Složka %1: %2 - + No sync folders configured. Nejsou nastaveny žádné synchronizované složky. - + There are no sync folders configured. Nejsou nastaveny žádné složky pro synchronizaci. - + None. Nic. - + Recent Changes Poslední změny - + Open %1 folder Otevřít složku %1 - + Managed Folders: Spravované složky: - + Open folder '%1' Otevřít složku '%1' - + Open %1 in browser Otevřít %1 v prohlížeči - + Calculating quota... Počítám kvóty... - + Unknown status Neznámý stav - + Settings... Nastavení... - + Details... Podrobnosti... - + Help Nápověda - + Quit %1 Ukončit %1 - + Sign in... Přihlásit... - + Sign out Odhlásit - + Quota n/a Kvóta nedostupná - + %1% of %2 in use %1% z %2 v používání - + No items synced recently Žádné položky nebyly nedávno synchronizovány - + Discovering '%1' Hledám '%1' - + Syncing %1 of %2 (%3 left) Synchronizuji %1 ze %2 (zbývá %3) - + Syncing %1 (%2 left) Synchronizuji %1 (zbývá %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aktuální diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index c1332d9b6..3015f616a 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -290,109 +290,109 @@ Gesamtzeit übrig %5 Mirall::Folder - + Unable to create csync-context Kann keinen CSync-Kontext erstellen - + Local folder %1 does not exist. Lokales Verzeichnis %1 existiert nicht. - + %1 should be a directory but is not. %1 sollte ein Verzeichnis sein, ist es aber nicht. - + %1 is not readable. %1 ist nicht lesbar. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 und %2 andere Dateien wurden gelöscht. - + %1 has been removed. %1 names a file. %1 wurde gelöscht. - + %1 and %2 other files have been downloaded. %1 names a file. %1 und %2 andere Dateien wurden heruntergeladen. - + %1 has been downloaded. %1 names a file. %1 wurde heruntergeladen. - + %1 and %2 other files have been updated. %1 und %2 andere Dateien wurden aktualisiert. - + %1 has been updated. %1 names a file. %1 wurde aktualisiert. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 wurde in %2 umbenannt und %3 andere Dateien wurden umbenannt. - + %1 has been renamed to %2. %1 and %2 name files. %1 wurde in %2 umbenannt. - + %1 has been moved to %2 and %3 other files have been moved. %1 wurde in %2 verschoben und %3 andere Dateien wurden verschoben. - + %1 has been moved to %2. %1 wurde in %2 verschoben. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. %1 und %2 weitere Dateien konnten aufgrund von Fehlern nicht synchronisiert werden. Schauen Sie in das Protokoll für Details. - + %1 could not be synced due to an error. See the log for details. %1 konnte aufgrund eines Fehlers nicht synchronisiert werden. Schauen Sie in das Protokoll für Details. - + Sync Activity Synchronisierungsaktivität - + Could not read system exclude file Systemeigene Ausschlussdatei kann nicht gelesen werden - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -401,17 +401,17 @@ Vielleicht wurde der Ordner neu konfiguriert, oder alle Dateien wurden händisch Sind Sie sicher, dass sie diese Operation durchführen wollen? - + Remove All Files? Alle Dateien löschen? - + Remove all files Lösche alle Dateien - + Keep files Dateien behalten @@ -429,52 +429,52 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Ein altes Synchronisations-Journal '%1' wurde gefunden, konnte jedoch nicht entfernt werden. Bitte stellen Sie sicher, dass keine Anwendung es verwendet. - + Undefined State. Undefinierter Zustand. - + Waits to start syncing. Wartet auf Beginn der Synchronistation - + Preparing for sync. Synchronisation wird vorbereitet. - + Sync is running. Synchronisation läuft. - + Last Sync was successful. Die letzte Synchronisation war erfolgreich. - + Last Sync was successful, but with warnings on individual files. Letzte Synchronisation war erfolgreich, aber mit Warnungen für einzelne Dateien. - + Setup Error. Setup-Fehler. - + User Abort. Benutzer-Abbruch - + Sync is paused. Synchronisation wurde angehalten. - + %1 (Sync is paused) %1 (Synchronisation ist pausiert) @@ -1045,22 +1045,17 @@ nach zusätzlichen Privilegien während des Prozesses. Verbinden … - - Your entire account will be synced to the local folder '%1'. - Das gesamte Konto wird mit dem lokalen Ordner '%1' synchronisiert. - - - + %1 folder '%2' is synced to local folder '%3' %1 Ordner '%2' wird mit dem lokalen Ordner '%3' synchronisiert - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Warnung:</strong> Sie haben zur Zeit mehrere Ordner konfiguriert. Wenn Sie mit den aktuellen Einstellungen fortfahren, werden diese Einstellungen verworfen und eine vollständige Server-Synchronisation wird erstellt!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Achtung:</strong> Das lokale Verzeichnis ist nicht leer. Wähle eine entsprechende Lösung!</small></p> @@ -1141,8 +1136,8 @@ Es ist nicht ratsam, diese zu benutzen. Ordner umbenennen fehlgeschlagen. - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokaler Sync-Ordner %1 erfolgreich erstellt!</b></font> @@ -1538,20 +1533,34 @@ Es ist nicht ratsam, diese zu benutzen. Currently no files are ignored because of previous errors. Aktuell werden keine Dateien, aufgrund vorheriger Fehler, ignoriert. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 Datei(en) werden aufgrund vorheriger Fehler ignoriert. -Versuchen Sie diese nochmals zu synchronisieren. + %n Datei wurde aufgrund eines vorherigen Fehlers ignoriert. +Versuchen Sie diese nochmals zu synchronisieren.%n Dateien werden aufgrund vorheriger Fehler ignoriert. +Versuchen Sie diese nochmals zu synchronisieren. Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer - Nicht markierte Ordner werden nicht auf diesem Rechner synchronisiert + + Choose What to Sync + Zu synchronisierende Elemente auswählen + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Lade … @@ -1996,99 +2005,104 @@ Versuchen Sie diese nochmals zu synchronisieren. Abbruch durch den Benutzer - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Interne Fehlernummer %1 aufgetreten. - + The item is not synced because of previous errors: %1 Das Element ist aufgrund vorheriger Fehler nicht synchronisiert: %1 - + Symbolic links are not supported in syncing. Symbolische Verknüpfungen werden bei der Synchronisation nicht unterstützt. - + Hard links are not supported in syncing. Harte Verknüpfungen werden bei der Synchronisation nicht unterstützt. - + File is listed on the ignore list. Die Datei ist in der Ignorierliste geführt. - + File contains invalid characters that can not be synced cross platform. Die Datei beinhaltet ungültige Zeichen und kann nicht plattformübergreifend synchronisiert werden. - + Unable to initialize a sync journal. Synchronisationsbericht konnte nicht initialisiert werden. - + Cannot open the sync journal Synchronisationsbericht kann nicht geöffnet werden - - + + Ignored because of the "choose what to sync" blacklist Aufgrund der »Zu synchronisierende Elemente auswählen«-Sperrliste ignoriert - + Not allowed because you don't have permission to add sub-directories in that directory Nicht erlaubt, da Sie keine Rechte zur Erstellung von Unterordnern haben - + Not allowed because you don't have permission to add parent directory Nicht erlaubt, da Sie keine Rechte zur Erstellung von Hauptordnern haben - + Not allowed because you don't have permission to add files in that directory Nicht erlaubt, da Sie keine Rechte zum Hinzufügen von Dateien in diesen Ordner haben - + Not allowed to upload this file because it is read-only on the server, restoring Das Hochladen dieser Datei ist nicht erlaubt, da die Datei auf dem Server schreibgeschützt ist, Wiederherstellung - - + + Not allowed to remove, restoring Löschen nicht erlaubt, Wiederherstellung - + Local files and share folder removed. Lokale Dateien und Freigabeordner wurden entfernt. - + Move not allowed, item restored Verschieben nicht erlaubt, Element wiederhergestellt - + Move not allowed because %1 is read-only Verschieben nicht erlaubt, da %1 schreibgeschützt ist - + the destination Das Ziel - + the source Die Quelle @@ -2112,137 +2126,137 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::ownCloudGui - + Please sign in Bitte melden Sie sich an - + Disconnected from server Vom Server getrennt - + Folder %1: %2 Ordner %1: %2 - + No sync folders configured. Keine Sync-Ordner konfiguriert. - + There are no sync folders configured. Es wurden keine Synchonisationsordner konfiguriert. - + None. Keine. - + Recent Changes Letzte Änderungen - + Open %1 folder Ordner %1 öffnen - + Managed Folders: Verwaltete Ordner: - + Open folder '%1' Ordner '%1' öffnen - + Open %1 in browser %1 im Browser öffnen - + Calculating quota... Kontingent wird berechnet … - + Unknown status Unbekannter Status - + Settings... Einstellungen … - + Details... Details … - + Help Hilfe - + Quit %1 %1 beenden - + Sign in... Anmeldung … - + Sign out Abmeldung - + Quota n/a Kontingent unbekannt - + %1% of %2 in use %1% von %2 benutzt - + No items synced recently Keine kürzlich synchronisierten Elemente - + Discovering '%1' Entdecke '%1' - + Syncing %1 of %2 (%3 left) Synchronisiere %1 von %2 (%3 übrig) - + Syncing %1 (%2 left) Synchronisiere %1 (%2 übrig) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aktuell diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 3f4bf3759..e09ad4f7f 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -198,7 +198,7 @@ Discovering '%1' - + Εντοπισμός '%1' @@ -290,109 +290,109 @@ Total time left %5 Mirall::Folder - + Unable to create csync-context Αδυναμία δημιουργίας csync-context - + Local folder %1 does not exist. Δεν υπάρχει ο τοπικός φάκελος %1. - + %1 should be a directory but is not. Ο %1 θα έπρεπε να είναι κατάλογος αρχείων αλλά δεν είναι. - + %1 is not readable. Το %1 δεν είναι αναγνώσιμο. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. Το %1 και άλλα %2 αρχεία αφαιρέθηκαν. - + %1 has been removed. %1 names a file. Το %1 αφαιρέθηκε. - + %1 and %2 other files have been downloaded. %1 names a file. Το αρχείο %1 και άλλα %2 αρχεία έχουν ληφθεί. - + %1 has been downloaded. %1 names a file. Το %1 έχει ληφθεί. - + %1 and %2 other files have been updated. Το αρχείο %1 και %2 άλλα αρχεία έχουν ενημερωθεί. - + %1 has been updated. %1 names a file. Το %1 έχει ενημερωθεί. - + %1 has been renamed to %2 and %3 other files have been renamed. Το αρχείο %1 έχει μετονομαστεί σε %2 και άλλα %3 αρχεία έχουν μετονομαστεί. - + %1 has been renamed to %2. %1 and %2 name files. Το %1 έχει μετονομαστεί σε %2. - + %1 has been moved to %2 and %3 other files have been moved. Το αρχείο %1 έχει μετακινηθεί στο %2 και %3 άλλα αρχεία έχουν μετακινηθεί. - + %1 has been moved to %2. Το %1 έχει μετακινηθεί στο %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. - + %1 και %2 άλλα αρχεία δεν ήταν δυνατό να συγχρονιστούν εξαιτίας σφαλμάτων. Δείτε το αρχείο καταγραφής για λεπτομέρειες. - + %1 could not be synced due to an error. See the log for details. - + %1 δεν ήταν δυνατό να συγχρονιστεί εξαιτίας ενός σφάλματος. Δείτε το αρχείο καταγραφής για λεπτομέρειες. - + Sync Activity Δραστηριότητα Συγχρονισμού - + Could not read system exclude file Αδυναμία ανάγνωσης αρχείου αποκλεισμού συστήματος - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -401,17 +401,17 @@ Are you sure you want to perform this operation? Είστε σίγουροι ότι θέλετε να εκτελέσετε αυτή τη λειτουργία; - + Remove All Files? Αφαίρεση Όλων των Αρχείων; - + Remove all files Αφαίρεση όλων των αρχείων - + Keep files Διατήρηση αρχείων @@ -429,52 +429,52 @@ Are you sure you want to perform this operation? Βρέθηκε ένα παλαιότερο αρχείο συγχρονισμού '%1', αλλά δεν μπόρεσε να αφαιρεθεί. Παρακαλώ βεβαιωθείτε ότι καμμία εφαρμογή δεν το χρησιμοποιεί αυτή τη στιγμή. - + Undefined State. Απροσδιόριστη Κατάσταση. - + Waits to start syncing. Αναμονή έναρξης συγχρονισμού. - + Preparing for sync. Προετοιμασία για συγχρονισμό. - + Sync is running. Ο συγχρονισμός εκτελείται. - + Last Sync was successful. Ο τελευταίος συγχρονισμός ήταν επιτυχής. - + Last Sync was successful, but with warnings on individual files. Ο τελευταίος συγχρονισμός ήταν επιτυχής, αλλά υπήρχαν προειδοποιήσεις σε συγκεκριμένα αρχεία. - + Setup Error. Σφάλμα Ρύθμισης. - + User Abort. Ματαίωση από Χρήστη. - + Sync is paused. Παύση συγχρονισμού. - + %1 (Sync is paused) %1 (Παύση συγχρονισμού) @@ -1019,7 +1019,7 @@ for additional privileges during the process. Update status is unknown: Did not check for new updates. - + Η κατάσταση ενημέρωσης είναι άγνωστη: Δεν έγινε έλεγχος για για νέες ενημερώσεις. @@ -1045,22 +1045,17 @@ for additional privileges during the process. Σύνδεση... - - Your entire account will be synced to the local folder '%1'. - Ολόκληρος ο λογαριασμός σας θα συγχρονιστεί με τον τοπικό φάκελο '%1'. - - - + %1 folder '%2' is synced to local folder '%3' Ο %1 φάκελος '%2' είναι συγχρονισμένος με τον τοπικό φάκελο '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Προειδοποίηση:</strong> Επί του παρόντος έχετε ρυθμισμένους πολλαπλούς φακέλους. Εάν συνεχίσετε με τις παρούσες ρυθμίσεις, οι ρυθμίσεις φακέλων θα απορριφθούν και ένας μοναδικός φάκελος ρίζας για συγχρονισμό θα δημιουργηθεί!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Προειδοποίηση:</strong> Ο τοπικός κατάλογος αρχείων δεν είναι άδειος. Διαλέξτε μια λύση!</small></p> @@ -1141,8 +1136,8 @@ It is not advisable to use it. Αποτυχία μετονομασίας φακέλου - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Επιτυχής δημιουργία τοπικού φακέλου %1 για συγχρονισμό!</b></font> @@ -1538,22 +1533,36 @@ It is not advisable to use it. Currently no files are ignored because of previous errors. Προς το παρόν κανένα αρχείο δεν θα αγνοηθεί λόγω προηγούμενων σφαλμάτων. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 αρχεία θα ανγοηθούν λόγω προηγούμενων σφαλμάτων. -Προσπαθείστε να τα συγχρονίσετε ξανά. + %n αρχείο αγνοήθηκε λόγω προηγούμενων σφαλμάτων. +Προσπαθείστε να τα συγχρονίσετε ξανά.%n αρχεία αγνοήθηκαν λόγω προηγούμενων σφαλμάτων. +Προσπαθείστε να τα συγχρονίσετε ξανά. Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer + + Choose What to Sync + Επιλέξτε Τι θα Συγχρονιστεί + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + Mirall::SelectiveSyncTreeView + + + Loading ... + Φόρτωση ... + + Mirall::SettingsDialog @@ -1996,99 +2005,104 @@ It is not advisable to use it. Ματαιώθηκε από το χρήστη - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Συνέβη εσωτερικό σφάλμα με αριθμό %1. - + The item is not synced because of previous errors: %1 Το αντικείμενο δεν είναι συγχρονισμένο λόγω προηγούμενων σφαλμάτων: %1 - + Symbolic links are not supported in syncing. Οι συμβολικού σύνδεσμοι δεν υποστηρίζονται για το συγχρονισμό. - + Hard links are not supported in syncing. - + Οι συνδέσεις υλικού δεν υποστηρίζονται για συγχρονισμό. - + File is listed on the ignore list. Το αρχείο περιέχεται στη λίστα αρχείων προς αγνόηση. - + File contains invalid characters that can not be synced cross platform. Το αρχείο περιέχει άκυρους χαρακτήρες που δεν μπορούν να συγχρονιστούν σε όλα τα συστήματα. - + Unable to initialize a sync journal. Αδυναμία προετοιμασίας αρχείου συγχρονισμού. - + Cannot open the sync journal Αδυναμία ανοίγματος του αρχείου συγχρονισμού - - + + Ignored because of the "choose what to sync" blacklist - + Αγνοήθηκε εξαιτίας της μαύρης λίστας "διάλεξε τι να συγχρονιστεί" - + Not allowed because you don't have permission to add sub-directories in that directory Δεν επιτρέπεται επειδή δεν έχετε δικαιώματα να προσθέσετε υπο-καταλόγους σε αυτό τον κατάλογο - + Not allowed because you don't have permission to add parent directory Δεν επιτρέπεται επειδή δεν έχετε δικαιώματα να προσθέσετε στο γονεϊκό κατάλογο - + Not allowed because you don't have permission to add files in that directory Δεν επιτρέπεται επειδή δεν έχεται δικαιώματα να προσθέσετε αρχεία σε αυτόν τον κατάλογο - + Not allowed to upload this file because it is read-only on the server, restoring Δεν επιτρέπεται να μεταφορτώσετε αυτό το αρχείο επειδή είναι μόνο για ανάγνωση στο διακομιστή, αποκατάσταση σε εξέλιξη - - + + Not allowed to remove, restoring Δεν επιτρέπεται η αφαίρεση, αποκατάσταση σε εξέλιξη - + Local files and share folder removed. - + Οι τοπικοί φάκελοι και ο φάκελος κοινής χρήσης αφαιρέθηκαν. - + Move not allowed, item restored Η μετακίνηση δεν επιτρέπεται, το αντικείμενο αποκαταστάθηκε - + Move not allowed because %1 is read-only Η μετακίνηση δεν επιτρέπεται επειδή το %1 είναι μόνο για ανάγνωση - + the destination ο προορισμός - + the source η προέλευση @@ -2112,137 +2126,137 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in Παρκαλώ συνδεθείτε - + Disconnected from server Αποσύνδεση από το διακομιστή - + Folder %1: %2 Φάκελος %1: %2 - + No sync folders configured. Δεν έχουν οριστεί φάκελοι συγχρονισμού. - + There are no sync folders configured. Δεν έχουν ρυθμιστεί φάκελοι συγχρονισμού. - + None. Κανένας. - + Recent Changes Πρόσφατες Αλλαγές - + Open %1 folder Άνοιγμα %1 φακέλου - + Managed Folders: Φάκελοι υπό Διαχείριση: - + Open folder '%1' Άνοιγμα φακέλου '%1' - + Open %1 in browser Άνοιγμα %1 στον περιηγητή - + Calculating quota... Υπολογισμός μεριδίου χώρου αποθήκευσης... - + Unknown status Άγνωστη κατάσταση - + Settings... Ρυθμίσεις... - + Details... Λεπτομέρειες... - + Help Βοήθεια - + Quit %1 Κλείσιμο %1 - + Sign in... Σύνδεση... - + Sign out Αποσύνδεση - + Quota n/a Μερίδιο χώρου αποθήκευσης μ/δ - + %1% of %2 in use %1% από %2 σε χρήση - + No items synced recently Κανένα στοιχείο δεν συγχρονίστηκε πρόσφατα - + Discovering '%1' - + Εντοπισμός '%1' - + Syncing %1 of %2 (%3 left) Συγχρονισμός %1 από %2 (%3 απομένουν) - + Syncing %1 (%2 left) Συγχρονισμός %1 (%2 απομένουν) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ενημερωμένο @@ -2252,7 +2266,7 @@ It is not advisable to use it. <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, Olivier Goffart, Markus Götz and others.<br/>Based on Mirall by Duncan Mac-Vicar P.</small></p><p>Copyright ownCloud, Inc.</p><p>Licensed under the GNU General Public License (GPL) Version 2.0<br/>ownCloud and the ownCloud Logo are registered trademarks of ownCloud, Inc. in the United States, other countries, or both.</p> - + <p>Έκδοση %2. Για περισσότερες πληροφορίες επισκεφθείτε <a href="%3">%4</a></p><p><small>Των Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, Olivier Goffart, Markus Götz και άλλων.<br/>Βασισμένο στο Mirall του Duncan Mac-Vicar P.</small></p><p>Πνευματικά δικαιώματα ownCloud, Inc.</p><p>Αδειοδότηση υπό την GNU General Public License (GPL) Η Έκδοση 2.0<br/>του ownCloud και το λογότυπο ownCloud είναι σήματα κατατεθέντα της ownCloud, Inc. στις Η.Π.Α., σε άλλες χώρες ή όλες</p> diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index 8fe88a920..944b3f8a9 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -290,126 +290,126 @@ Total time left %5 Mirall::Folder - + Unable to create csync-context - + Local folder %1 does not exist. - + %1 should be a directory but is not. - + %1 is not readable. - + %1: %2 - + %1 and %2 other files have been removed. %1 names a file. - + %1 has been removed. %1 names a file. - + %1 and %2 other files have been downloaded. %1 names a file. - + %1 has been downloaded. %1 names a file. - + %1 and %2 other files have been updated. - + %1 has been updated. %1 names a file. - + %1 has been renamed to %2 and %3 other files have been renamed. - + %1 has been renamed to %2. %1 and %2 name files. - + %1 has been moved to %2 and %3 other files have been moved. - + %1 has been moved to %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity - + Could not read system exclude file - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? - + Remove All Files? - + Remove all files - + Keep files @@ -427,52 +427,52 @@ Are you sure you want to perform this operation? - + Undefined State. - + Waits to start syncing. - + Preparing for sync. - + Sync is running. - + Last Sync was successful. - + Last Sync was successful, but with warnings on individual files. - + Setup Error. - + User Abort. - + Sync is paused. - + %1 (Sync is paused) @@ -1040,22 +1040,17 @@ for additional privileges during the process. - - Your entire account will be synced to the local folder '%1'. - - - - + %1 folder '%2' is synced to local folder '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> @@ -1135,8 +1130,8 @@ It is not advisable to use it. - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> @@ -1532,18 +1527,34 @@ It is not advisable to use it. Currently no files are ignored because of previous errors. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - + + + + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer + + Choose What to Sync + + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... @@ -1987,99 +1998,104 @@ It is not advisable to use it. - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + Hard links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Local files and share folder removed. - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2103,137 +2119,137 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in - + Disconnected from server - + Folder %1: %2 - + No sync folders configured. - + There are no sync folders configured. - + None. - + Recent Changes - + Open %1 folder - + Managed Folders: - + Open folder '%1' - + Open %1 in browser - + Calculating quota... - + Unknown status - + Settings... - + Details... - + Help - + Quit %1 - + Sign in... - + Sign out - + Quota n/a - + %1% of %2 in use - + No items synced recently - + Discovering '%1' - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 57ba0fc7d..124d35791 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -289,109 +289,109 @@ Tiempo restante %5 Mirall::Folder - + Unable to create csync-context Imposible crear csync-context - + Local folder %1 does not exist. Carpeta local %1 no existe. - + %1 should be a directory but is not. %1 debería ser un directorio, pero no lo es. - + %1 is not readable. %1 es ilegible. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 y %2 otros archivos han sido eliminados. - + %1 has been removed. %1 names a file. %1 ha sido eliminado. - + %1 and %2 other files have been downloaded. %1 names a file. %1 y %2 otros archivos han sido descargados. - + %1 has been downloaded. %1 names a file. %1 ha sido descargado. - + %1 and %2 other files have been updated. %1 y %2 otros archivos han sido actualizados. - + %1 has been updated. %1 names a file. %1 ha sido actualizado. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 ha sido renombrado a %2 y %3 otros archivos han sido renombrados. - + %1 has been renamed to %2. %1 and %2 name files. %1 ha sido renombrado a %2. - + %1 has been moved to %2 and %3 other files have been moved. %1 ha sido movido a %2 y %3 otros archivos han sido movidos. - + %1 has been moved to %2. %1 ha sido movido a %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. %1 y otros %2 archivos no pudieron ser sincronizados debido a errores. Para más detalles, vea el registro. - + %1 could not be synced due to an error. See the log for details. %1 no pudo ser sincronizado debido a un error. Para más detalles, vea el registro. - + Sync Activity Actividad en la Sincronización - + Could not read system exclude file No se pudo leer el archivo de exclusión del sistema - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Esto se puede deber a que la carpeta fue reconfigurada de forma silenciosa o a q Está seguro de que desea realizar esta operación? - + Remove All Files? Eliminar todos los archivos? - + Remove all files Eliminar todos los archivos - + Keep files Conservar archivos @@ -428,52 +428,52 @@ Está seguro de que desea realizar esta operación? Un antiguo registro (journal) de sincronización '%1' se ha encontrado, pero no se ha podido eliminar. Por favor asegúrese que ninguna aplicación la está utilizando. - + Undefined State. Estado no definido. - + Waits to start syncing. Esperando el inicio de la sincronización. - + Preparing for sync. Preparándose para sincronizar. - + Sync is running. Sincronización en funcionamiento. - + Last Sync was successful. La última sincronización fue exitosa. - + Last Sync was successful, but with warnings on individual files. La última sincronización fue exitosa pero con advertencias para archivos individuales. - + Setup Error. Error de configuración. - + User Abort. Interrumpir. - + Sync is paused. La sincronización está en pausa. - + %1 (Sync is paused) %1 (Sincronización en pausa) @@ -1044,22 +1044,17 @@ pida privilegios adicionales durante el proceso. Conectar... - - Your entire account will be synced to the local folder '%1'. - Su cuenta completa será sincronizada a la carpeta local '%1'. - - - + %1 folder '%2' is synced to local folder '%3' La carpeta %1 '%2' está sincronizada con la carpeta local '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Advertencia:</strong>Tiene actualmente múltiples carpetas configuradas. Si continua con los ajustes actuales, la carpeta de configuración se descartará y se creará una única carpeta principal!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Advertencia:</strong>El directorio local no está vacío. ¡Seleccione otra!</small></p> @@ -1140,8 +1135,8 @@ No se recomienda usarlo. Error Renombrando Carpeta - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Carpeta de sincronización local %1 creada con éxito</b></font> @@ -1537,20 +1532,34 @@ No se recomienda usarlo. Currently no files are ignored because of previous errors. Actualmente no hay ficheros ignorados por errores previos. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 de los archivos fueron ignorados debido a errores previos. -Intente sincronizar los archivos nuevamente. + %n archivo ha sido ignorado por causa de errores previos. + Intente volver a sincronizarlo.%n archivos han sido ignorados por causa de errores previos. + Intente volver a sincronizarlos. Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer - Las carpetas sin marcar no seran sincronizadas con esta compuradora + + Choose What to Sync + Escoja qué sincronizar + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Cargando... @@ -1995,99 +2004,104 @@ Intente sincronizar los archivos nuevamente. Interrumpido por el usuario - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Ha ocurrido un error interno número %1. - + The item is not synced because of previous errors: %1 El elemento no está sincronizado por errores previos: %1 - + Symbolic links are not supported in syncing. Los enlaces simbolicos no estan sopertados. - + Hard links are not supported in syncing. Los enlaces duros no están permitidos en la sincronización. - + File is listed on the ignore list. El fichero está en la lista de ignorados - + File contains invalid characters that can not be synced cross platform. El fichero contiene caracteres inválidos que no pueden ser sincronizados con la plataforma. - + Unable to initialize a sync journal. No se pudo inicializar un registro (journal) de sincronización. - + Cannot open the sync journal No es posible abrir el diario de sincronización - - + + Ignored because of the "choose what to sync" blacklist Ignorado por que se encuentra en la lista negra de "elige que vas a sincronizar" - + Not allowed because you don't have permission to add sub-directories in that directory No está permitido, porque no tiene permisos para añadir subcarpetas en este directorio. - + Not allowed because you don't have permission to add parent directory No está permitido porque no tiene permisos para añadir un directorio - + Not allowed because you don't have permission to add files in that directory No está permitido, porque no tiene permisos para crear archivos en este directorio - + Not allowed to upload this file because it is read-only on the server, restoring No está permitido subir este archivo porque es de solo lectura en el servidor, restaurando. - - + + Not allowed to remove, restoring No está permitido borrar, restaurando. - + Local files and share folder removed. Se eliminaron los archivos locales y la carpeta compartida. - + Move not allowed, item restored No está permitido mover, elemento restaurado. - + Move not allowed because %1 is read-only No está permitido mover, porque %1 es solo lectura. - + the destination destino - + the source origen @@ -2111,137 +2125,137 @@ Intente sincronizar los archivos nuevamente. Mirall::ownCloudGui - + Please sign in Por favor Registrese - + Disconnected from server Desconectado del servidor - + Folder %1: %2 Archivo %1: %2 - + No sync folders configured. No hay carpetas de sincronización configuradas. - + There are no sync folders configured. No hay carpetas configuradas para sincronizar. - + None. Ninguno. - + Recent Changes Cambios recientes - + Open %1 folder Abrir carpeta %1 - + Managed Folders: Carpetas administradas: - + Open folder '%1' Abrir carpeta '%1' - + Open %1 in browser Abrir %1 en el navegador - + Calculating quota... Calculando cuota... - + Unknown status Estado desconocido - + Settings... Configuraciones... - + Details... Detalles... - + Help Ayuda - + Quit %1 Salir de %1 - + Sign in... Registrarse... - + Sign out Cerrar sesión - + Quota n/a Cuota no disponible - + %1% of %2 in use %1% de %2 en uso - + No items synced recently No se han sincronizado elementos recientemente - + Discovering '%1' Descubriendo '%1' - + Syncing %1 of %2 (%3 left) Sincronizando %1 de %2 (quedan %3) - + Syncing %1 (%2 left) Sincronizando %1 (quedan %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Actualizado diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index 01c91ed2f..9f3af5498 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -288,109 +288,109 @@ Total time left %5 Mirall::Folder - + Unable to create csync-context Imposible crear csync-context - + Local folder %1 does not exist. El directorio local %1 no existe. - + %1 should be a directory but is not. %1 debería ser un directorio, pero no lo es. - + %1 is not readable. No se puede leer %1. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. - + %1 has been removed. %1 names a file. - + %1 and %2 other files have been downloaded. %1 names a file. - + %1 has been downloaded. %1 names a file. - + %1 and %2 other files have been updated. - + %1 has been updated. %1 names a file. - + %1 has been renamed to %2 and %3 other files have been renamed. - + %1 has been renamed to %2. %1 and %2 name files. - + %1 has been moved to %2 and %3 other files have been moved. - + %1 has been moved to %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity Actividad de Sync - + Could not read system exclude file - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -399,17 +399,17 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o ¿Estás seguro de que querés realizar esta operación? - + Remove All Files? ¿Borrar todos los archivos? - + Remove all files Borrar todos los archivos - + Keep files Conservar archivos @@ -427,52 +427,52 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Una antigua sincronización con journaling '%1' fue encontrada, pero no se pudo eliminar. Por favor, asegurate que ninguna aplicación la está utilizando. - + Undefined State. Estado no definido. - + Waits to start syncing. Esperando el comienzo de la sincronización. - + Preparing for sync. Preparando la sincronización. - + Sync is running. Sincronización en funcionamiento. - + Last Sync was successful. La última sincronización fue exitosa. - + Last Sync was successful, but with warnings on individual files. El último Sync fue exitoso, pero hubo advertencias en archivos individuales. - + Setup Error. Error de configuración. - + User Abort. Interrumpir. - + Sync is paused. La sincronización está en pausa. - + %1 (Sync is paused) %1 (Sincronización en pausa) @@ -1042,22 +1042,17 @@ for additional privileges during the process. Conectar... - - Your entire account will be synced to the local folder '%1'. - Tu cuenta completa va a ser sincronizada en el directorio local '%1'. - - - + %1 folder '%2' is synced to local folder '%3' El directorio %1 '%2' está sincronizado con el directorio local '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Advertencia:</strong>Actualmente tenés múltiples directorios configurados. ¡Si seguís con la configuración actual, el directorio de configuración será descartado y se creará un único directorio raíz!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Advertencia:</strong>El directorio local no está vacío. ¡Seleccioná otro!</small></p> @@ -1137,8 +1132,8 @@ It is not advisable to use it. Error Al Renombrar Directorio - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Directorio local %1 creado</b></font> @@ -1534,21 +1529,33 @@ It is not advisable to use it. Currently no files are ignored because of previous errors. Actualmente ningún archivo es ignorado por errores previos. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 archivos fueron ignorados por errores previos. -Intente sincronizar estos nuevamente. + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer + + Choose What to Sync + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Cargando... + Mirall::SettingsDialog @@ -1990,99 +1997,104 @@ Intente sincronizar estos nuevamente. Interrumpido por el usuario - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. Los vínculos simbólicos no está soportados al sincronizar. - + Hard links are not supported in syncing. - + File is listed on the ignore list. El archivo está en la lista de ignorados. - + File contains invalid characters that can not be synced cross platform. El archivo contiene caracteres inválidos que no pueden ser sincronizados entre plataforma. - + Unable to initialize a sync journal. Imposible inicializar un diario de sincronización. - + Cannot open the sync journal - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Local files and share folder removed. - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2106,137 +2118,137 @@ Intente sincronizar estos nuevamente. Mirall::ownCloudGui - + Please sign in Por favor, inicie sesión - + Disconnected from server - + Folder %1: %2 Directorio %1: %2 - + No sync folders configured. Los directorios de sincronización no están configurados. - + There are no sync folders configured. - + None. Ninguno. - + Recent Changes Cambios recientes - + Open %1 folder Abrir directorio %1 - + Managed Folders: Directorios administrados: - + Open folder '%1' Abrir carpeta '%1' - + Open %1 in browser Abrir %1 en el navegador... - + Calculating quota... Calculando cuota... - + Unknown status Estado desconocido - + Settings... Configuraciones... - + Details... Detalles... - + Help Ayuda - + Quit %1 Cancelar %1 - + Sign in... Iniciando sesión... - + Sign out Salir - + Quota n/a Cuota no disponible - + %1% of %2 in use %1% de %2 en uso - + No items synced recently No se sincronizaron elementos recientemente - + Discovering '%1' - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date actualizado diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 0932017dd..3f2616c83 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -289,109 +289,109 @@ Aega kokku jäänud %5 Mirall::Folder - + Unable to create csync-context Ei suuda luua csync-konteksti - + Local folder %1 does not exist. Kohalikku kausta %1 pole olemas. - + %1 should be a directory but is not. %1 peaks olema kataloog, kuid pole seda mitte. - + %1 is not readable. %1 pole loetav. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 ja %2 teist faili eemaldati. - + %1 has been removed. %1 names a file. %1 on eemaldatud. - + %1 and %2 other files have been downloaded. %1 names a file. %1 ja %2 teist faili on alla laaditud. - + %1 has been downloaded. %1 names a file. %1 on alla laaditud. - + %1 and %2 other files have been updated. %1 ja %2 teist faili on uuendatud. - + %1 has been updated. %1 names a file. %1 on uuendatud. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 on ümber nimetatud %2 ja %3 muud faili on samuti ümber nimetatud - + %1 has been renamed to %2. %1 and %2 name files. %1 on ümber nimetatud %2. - + %1 has been moved to %2 and %3 other files have been moved. %1 on tõstetud %2 ning %3 muud faili on samuti liigutatud. - + %1 has been moved to %2. %1 on tõstetud %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. %1 ja veel %2 muu faili sünkroniseerimine ebaõnnestus tõrgete tõttu. Vaata üksikasju. - + %1 could not be synced due to an error. See the log for details. %1 sünkroniseerimine ebaõnnestus tõrke tõttu. Lisainfot vaata logist. - + Sync Activity Sünkroniseerimise tegevus - + Could not read system exclude file Süsteemi väljajätmiste faili lugemine ebaõnnestus - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ See võib olla põhjustatud kataloogi ümberseadistusest või on toimunud kõiki Oled kindel, et soovid seda operatsiooni teostada? - + Remove All Files? Kustutada kõik failid? - + Remove all files Kustutada kõik failid - + Keep files Säilita failid @@ -428,52 +428,52 @@ Oled kindel, et soovid seda operatsiooni teostada? Leiti vana sünkroniseeringu zurnaal '%1', kuid selle eemaldamine ebaõnnenstus. Palun veendu, et seda kasutaks ükski programm. - + Undefined State. Määramata staatus. - + Waits to start syncing. Ootab sünkroniseerimise alustamist. - + Preparing for sync. Valmistun sünkroniseerima. - + Sync is running. Sünkroniseerimine on käimas. - + Last Sync was successful. Viimane sünkroniseerimine oli edukas. - + Last Sync was successful, but with warnings on individual files. Viimane sünkroniseering oli edukas, kuid mõned failid põhjustasid tõrkeid. - + Setup Error. Seadistamise viga. - + User Abort. Kasutaja tühistamine. - + Sync is paused. Sünkroniseerimine on peatatud. - + %1 (Sync is paused) %1 (Sünkroniseerimine on peatatud) @@ -1044,22 +1044,17 @@ täiendavaid õigusi protsessi käigus. Ühenda... - - Your entire account will be synced to the local folder '%1'. - Kogu su konto sünkroniseeritakse kohalikku kataloogi '%1'. - - - + %1 folder '%2' is synced to local folder '%3' %1 kataloog '%2' on sünkroniseeritud kohalikku kataloogi '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Hoiatus:</strong>Sul on seadistatud mitu kataloogi. Kui sa jätkad olemasoleva seadistusega, siis kataloogide seadistus hüljatakse ning selle asemel luuakse üks peakataloogi sünkroniseering!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Hoiatus:</strong> Kohalik kataloog ei ole tühi. Vali lahendus!</small></p> @@ -1140,8 +1135,8 @@ Selle kasutamine pole soovitatav. Kataloogi ümbernimetamine ebaõnnestus - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Kohalik kataloog %1 edukalt loodud!</b></font> @@ -1537,20 +1532,32 @@ Selle kasutamine pole soovitatav. Currently no files are ignored because of previous errors. Hetkel ei ignoreerita ühtegi faili eelnenud vigade tõttu. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 faili on ignoreeritud eelnenud vigade tõttu. -Proovi neid uuesti sünkroniseerida. + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer - Valimata kaustasid selle arvutiga ei sünkroniseerita. + + Choose What to Sync + Vali, mida sünkroniseerida + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Laadimine ... @@ -1995,99 +2002,104 @@ Proovi neid uuesti sünkroniseerida. Kasutaja poolt tühistatud - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Tekkis sisemine viga number %1. - + The item is not synced because of previous errors: %1 Üksust ei sünkroniseeritud eelnenud vigade tõttu: %1 - + Symbolic links are not supported in syncing. Sümboolsed lingid ei ole sünkroniseerimisel toetatud. - + Hard links are not supported in syncing. Jäigad lingid ei ole sünkroniseerimisel toetatud. - + File is listed on the ignore list. Fail on märgitud ignoreeritavate nimistus. - + File contains invalid characters that can not be synced cross platform. Fail sisaldab sobimatuid sümboleid, mida ei saa sünkroniseerida erinevate platvormide vahel. - + Unable to initialize a sync journal. Ei suuda lähtestada sünkroniseeringu zurnaali. - + Cannot open the sync journal Ei suuda avada sünkroniseeringu zurnaali - - + + Ignored because of the "choose what to sync" blacklist "Vali, mida sünkroniseerida" musta nimekirja tõttu vahele jäetud - + Not allowed because you don't have permission to add sub-directories in that directory Pole lubatud, kuna sul puuduvad õigused lisada sellesse kataloogi lisada alam-kataloogi - + Not allowed because you don't have permission to add parent directory Pole lubatud, kuna sul puuduvad õigused lisada ülemkataloog - + Not allowed because you don't have permission to add files in that directory Pole lubatud, kuna sul puuduvad õigused sellesse kataloogi faile lisada - + Not allowed to upload this file because it is read-only on the server, restoring Pole lubatud üles laadida, kuna tegemist on ainult-loetava serveriga, taastan - - + + Not allowed to remove, restoring Eemaldamine pole lubatud, taastan - + Local files and share folder removed. Kohalikud failid ja jagatud kaustad eemaldatud. - + Move not allowed, item restored Liigutamine pole lubatud, üksus taastatud - + Move not allowed because %1 is read-only Liigutamien pole võimalik kuna %1 on ainult lugemiseks - + the destination sihtkoht - + the source allikas @@ -2111,137 +2123,137 @@ Proovi neid uuesti sünkroniseerida. Mirall::ownCloudGui - + Please sign in Palun logi sisse - + Disconnected from server Serverist lahtiühendatud - + Folder %1: %2 Kaust %1: %2 - + No sync folders configured. Sünkroniseeritavaid kaustasid pole seadistatud. - + There are no sync folders configured. Sünkroniseeritavaid kaustasid pole määratud. - + None. Pole. - + Recent Changes Hiljutised muudatused - + Open %1 folder Ava kaust %1 - + Managed Folders: Hallatavad kaustad: - + Open folder '%1' Ava kaust '%1' - + Open %1 in browser Ava %1 veebilehitsejas - + Calculating quota... Mahupiiri arvutamine... - + Unknown status Tundmatu staatus - + Settings... Seaded... - + Details... Üksikasjad... - + Help Abiinfo - + Quit %1 Lõpeta %1 - + Sign in... Logi sisse... - + Sign out Logi välja - + Quota n/a Mahupiir n/a - + %1% of %2 in use Kasutusel %1% / %2 - + No items synced recently Ühtegi üksust pole hiljuti sünkroniseeritud - + Discovering '%1' '%1' avastamine - + Syncing %1 of %2 (%3 left) Sünkroniseerin %1 %2-st (%3 veel) - + Syncing %1 (%2 left) Sünkroniseerin %1 (%2 veel) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ajakohane diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 262c7478a..8cbac255c 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -289,109 +289,109 @@ Geratzen den denbora %5 Mirall::Folder - + Unable to create csync-context Ezin da csync-context sortu - + Local folder %1 does not exist. Bertako %1 karpeta ez da existitzen. - + %1 should be a directory but is not. %1 karpeta bat izan behar zen baina ez da. - + %1 is not readable. %1 ezin da irakurri. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 eta beste %2 fitxategi ezabatu dira. - + %1 has been removed. %1 names a file. %1 ezabatua izan da. - + %1 and %2 other files have been downloaded. %1 names a file. %1 eta beste %2 fitxategi deskargatu dira. - + %1 has been downloaded. %1 names a file. %1 deskargatu da. - + %1 and %2 other files have been updated. %1 eta beste %2 fitxategi kargatu dira. - + %1 has been updated. %1 names a file. %1 kargatu da. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 %2-(e)ra berrizendatu da eta beste %3 fitxategi berrizendatu dira. - + %1 has been renamed to %2. %1 and %2 name files. %1 %2-(e)ra berrizendatu da. - + %1 has been moved to %2 and %3 other files have been moved. %1 %2-(e)ra berrizendatu da eta beste %3 fitxategi mugitu dira. - + %1 has been moved to %2. %1 %2-(e)ra mugitu da. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity Sinkronizazio Jarduerak - + Could not read system exclude file - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Izan daiteke karpeta isilpean birkonfiguratu delako edo fitxategi guztiak eskuz Ziur zaude eragiketa hau egin nahi duzula? - + Remove All Files? Ezabatu Fitxategi Guztiak? - + Remove all files Ezabatu fitxategi guztiak - + Keep files Mantendu fitxategiak @@ -428,52 +428,52 @@ Ziur zaude eragiketa hau egin nahi duzula? Aurkitu da '%1' sinkronizazio erregistro zaharra, baina ezin da ezabatu. Ziurtatu aplikaziorik ez dela erabiltzen ari. - + Undefined State. Definitu gabeko egoera. - + Waits to start syncing. Itxoiten sinkronizazioa hasteko. - + Preparing for sync. Sinkronizazioa prestatzen. - + Sync is running. Sinkronizazioa martxan da. - + Last Sync was successful. Azkeneko sinkronizazioa ongi burutu zen. - + Last Sync was successful, but with warnings on individual files. Azkenengo sinkronizazioa ongi burutu zen, baina banakako fitxategi batzuetan abisuak egon dira. - + Setup Error. Konfigurazio errorea. - + User Abort. Erabiltzaileak bertan behera utzi. - + Sync is paused. Sinkronizazioa pausatuta dago. - + %1 (Sync is paused) %1 (Sinkronizazioa pausatuta dago) @@ -1044,22 +1044,17 @@ for additional privileges during the process. Konektatu... - - Your entire account will be synced to the local folder '%1'. - Zure kontu osoa '%1' karpeta lokalera sinkronizatuko da. - - - + %1 folder '%2' is synced to local folder '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> @@ -1140,8 +1135,8 @@ Ez da gomendagarria erabltzea. Karpetaren berrizendatzeak huts egin du - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Bertako sinkronizazio %1 karpeta ongi sortu da!</b></font> @@ -1537,21 +1532,33 @@ Ez da gomendagarria erabltzea. Currently no files are ignored because of previous errors. Oraintxe ez da fitxategirik baztertzen aurreko erroreak direla eta. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 fitxategi baztertu dira aurreko erroreak direla eta. -Saiatu horiek berriz sinkronizatzen. + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer + + Choose What to Sync + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Kargatzen... + Mirall::SettingsDialog @@ -1993,99 +2000,104 @@ Saiatu horiek berriz sinkronizatzen. Erabiltzaileak bertan behera utzita - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. Esteka sinbolikoak ezin dira sinkronizatu. - + Hard links are not supported in syncing. - + File is listed on the ignore list. Fitxategia baztertutakoen zerrendan dago. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. Ezin izan da sinkronizazio egunerokoa hasieratu. - + Cannot open the sync journal - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Local files and share folder removed. - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2109,137 +2121,137 @@ Saiatu horiek berriz sinkronizatzen. Mirall::ownCloudGui - + Please sign in Mesedez saioa hasi - + Disconnected from server - + Folder %1: %2 - + No sync folders configured. Ez dago sinkronizazio karpetarik definituta. - + There are no sync folders configured. - + None. Bat ere ez. - + Recent Changes Azkenengo Aldaketak - + Open %1 folder Ireki %1 karpeta - + Managed Folders: Kudeatutako karpetak: - + Open folder '%1' Ireki '%1' karpeta - + Open %1 in browser Ireki %1 arakatzailean - + Calculating quota... - + Unknown status Egoera ezezaguna - + Settings... Ezarpenak... - + Details... Xehetasunak... - + Help Laguntza - + Quit %1 %1etik Irten - + Sign in... Saioa hasi... - + Sign out Saioa bukatu - + Quota n/a - + %1% of %2 in use %2tik %%1 erabilita - + No items synced recently Ez da azken aldian ezer sinkronizatu - + Discovering '%1' - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Eguneratua diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index ce80b016e..a333afe1b 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -288,126 +288,126 @@ Total time left %5 Mirall::Folder - + Unable to create csync-context - + Local folder %1 does not exist. پوشه محلی %1 موجود نیست. - + %1 should be a directory but is not. %1 باید یک پوشه باشد اما نیست. - + %1 is not readable. %1 قابل خواندن نیست. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. - + %1 has been removed. %1 names a file. %1 حذف شده است. - + %1 and %2 other files have been downloaded. %1 names a file. - + %1 has been downloaded. %1 names a file. %1 بارگزاری شد. - + %1 and %2 other files have been updated. - + %1 has been updated. %1 names a file. - + %1 has been renamed to %2 and %3 other files have been renamed. - + %1 has been renamed to %2. %1 and %2 name files. - + %1 has been moved to %2 and %3 other files have been moved. - + %1 has been moved to %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity فعالیت همگام سازی - + Could not read system exclude file - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? - + Remove All Files? - + Remove all files - + Keep files نگه داشتن فایل ها @@ -425,52 +425,52 @@ Are you sure you want to perform this operation? - + Undefined State. موقعیت تعریف نشده - + Waits to start syncing. صبر کنید تا همگام سازی آغاز شود - + Preparing for sync. - + Sync is running. همگام سازی در حال اجراست - + Last Sync was successful. آخرین همگام سازی موفقیت آمیز بود - + Last Sync was successful, but with warnings on individual files. - + Setup Error. خطا در پیکر بندی. - + User Abort. خارج کردن کاربر. - + Sync is paused. همگام سازی فعلا متوقف شده است - + %1 (Sync is paused) @@ -1038,22 +1038,17 @@ for additional privileges during the process. - - Your entire account will be synced to the local folder '%1'. - - - - + %1 folder '%2' is synced to local folder '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> @@ -1133,8 +1128,8 @@ It is not advisable to use it. تغییر نام پوشه ناموفق بود - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b> پوشه همگام سازی محلی %1 با موفقیت ساخته شده است!</b></font> @@ -1530,20 +1525,33 @@ It is not advisable to use it. Currently no files are ignored because of previous errors. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer + + Choose What to Sync + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + درحال بارگذاری... + Mirall::SettingsDialog @@ -1985,99 +1993,104 @@ It is not advisable to use it. - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + Hard links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Local files and share folder removed. - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2101,137 +2114,137 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in - + Disconnected from server - + Folder %1: %2 پوشه %1: %2 - + No sync folders configured. هیچ پوشه ای همگام سازی شده‌ای تنظیم نشده است - + There are no sync folders configured. - + None. - + Recent Changes - + Open %1 folder بازکردن %1 پوشه - + Managed Folders: پوشه های مدیریت شده: - + Open folder '%1' - + Open %1 in browser - + Calculating quota... - + Unknown status - + Settings... - + Details... - + Help راه‌نما - + Quit %1 - + Sign in... - + Sign out - + Quota n/a - + %1% of %2 in use - + No items synced recently - + Discovering '%1' - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date تا تاریخ diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index f910a7498..1b2fefc12 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -289,126 +289,126 @@ Aikaa jäljellä yhteensä %5 Mirall::Folder - + Unable to create csync-context - + Local folder %1 does not exist. Paikallista kansiota %1 ei ole olemassa. - + %1 should be a directory but is not. Kohteen %1 pitäisi olla kansio, mutta se ei kuitenkaan ole kansio. - + %1 is not readable. %1 ei ole luettavissa. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 ja %2 muuta tiedostoa on poistettu. - + %1 has been removed. %1 names a file. %1 on poistettu. - + %1 and %2 other files have been downloaded. %1 names a file. %1 ja %2 muuta tiedostoa on ladattu. - + %1 has been downloaded. %1 names a file. %1 on ladattu. - + %1 and %2 other files have been updated. %1 ja %2 muuta tiedostoa on päivitetty. - + %1 has been updated. %1 names a file. %1 on päivitetty. - + %1 has been renamed to %2 and %3 other files have been renamed. - + %1 has been renamed to %2. %1 and %2 name files. %1 on nimetty uudeelleen muotoon %2. - + %1 has been moved to %2 and %3 other files have been moved. - + %1 has been moved to %2. %1 on siirretty kohteeseen %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity Synkronointiaktiviteetti - + Could not read system exclude file - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? - + Remove All Files? Poistetaanko kaikki tiedostot? - + Remove all files Poista kaikki tiedostot - + Keep files Säilytä tiedostot @@ -426,52 +426,52 @@ Are you sure you want to perform this operation? - + Undefined State. Määrittelemätön tila. - + Waits to start syncing. Odottaa synkronoinnin alkamista. - + Preparing for sync. Valmistellaan synkronointia. - + Sync is running. Synkronointi on meneillään. - + Last Sync was successful. Viimeisin synkronointi suoritettiin onnistuneesti. - + Last Sync was successful, but with warnings on individual files. Viimeisin synkronointi onnistui, mutta yksittäisten tiedostojen kanssa ilmeni varoituksia. - + Setup Error. Asetusvirhe. - + User Abort. - + Sync is paused. Synkronointi on keskeytetty. - + %1 (Sync is paused) %1 (Synkronointi on keskeytetty) @@ -1040,22 +1040,17 @@ saattaa kysyä lisäoikeuksia toimenpiteen aikana. Yhdistä... - - Your entire account will be synced to the local folder '%1'. - Koko tilisi synkronoidaan paikalliseen kansioon '%1'. - - - + %1 folder '%2' is synced to local folder '%3' %1-kansio '%2' on synkronoitu paikalliseen kansioon '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Varoitus:</strong> Paikallinen kansio ei ole tyhjä. Valitse ratkaisu!</small></p> @@ -1136,8 +1131,8 @@ Osoitteen käyttäminen ei ole suositeltavaa. Kansion nimen muuttaminen epäonnistui - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Paikallinen synkronointikansio %1 luotu onnistuneesti!</b></font> @@ -1533,21 +1528,34 @@ Osoitteen käyttäminen ei ole suositeltavaa. Currently no files are ignored because of previous errors. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer + + Choose What to Sync + Valitse synkronoitavat tiedot + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + Mirall::SelectiveSyncTreeView + + + Loading ... + Ladataan... + + Mirall::SettingsDialog @@ -1990,99 +1998,104 @@ Osoitteen käyttäminen ei ole suositeltavaa. Keskeytetty käyttäjän toimesta - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Ilmeni sisäinen virhe, jonka numero on %1. - + The item is not synced because of previous errors: %1 Kohdetta ei synkronoitu aiempien virheiden vuoksi: %1 - + Symbolic links are not supported in syncing. Symboliset linkit eivät ole tuettuja synkronoinnissa. - + Hard links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. Tiedosto sisältää virheellisiä merkkejä, joiden vuoksi sitä voi synkronoida eri käyttöjärjestelmien välillä. - + Unable to initialize a sync journal. - + Cannot open the sync journal - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory Ei sallittu, koska sinulla ei ole oikeutta lisätä tiedostoja kyseiseen kansioon - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring Poistaminen ei ole sallittua, palautetaan - + Local files and share folder removed. Paikalliset tiedostot ja jakokansio poistettu. - + Move not allowed, item restored Siirtäminen ei ole sallittua, kohde palautettu - + Move not allowed because %1 is read-only Siirto ei ole sallittu, koska %1 on "vain luku"-tilassa - + the destination kohde - + the source lähde @@ -2106,137 +2119,137 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::ownCloudGui - + Please sign in Kirjaudu sisään - + Disconnected from server Yhteys palvelimeen katkaistu - + Folder %1: %2 Kansio %1: %2 - + No sync folders configured. Synkronointikansioita ei ole määritetty. - + There are no sync folders configured. Synkronointikansioita ei ole määritelty. - + None. - + Recent Changes Viimeisimmät muutokset - + Open %1 folder Avaa %1-kansio - + Managed Folders: Hallitut kansiot: - + Open folder '%1' Avaa kansio '%1' - + Open %1 in browser Avaa %1 selaimeen - + Calculating quota... Lasketaan kiintiötä... - + Unknown status Tuntematon tila - + Settings... Asetukset... - + Details... Tiedot... - + Help Ohje - + Quit %1 Lopeta %1 - + Sign in... Kirjaudu sisään... - + Sign out Kirjaudu ulos - + Quota n/a - + %1% of %2 in use %1%/%2 käytössä - + No items synced recently Kohteita ei ole synkronoitu äskettäin - + Discovering '%1' - + Syncing %1 of %2 (%3 left) Synkronoidaan %1/%2 (%3 jäljellä) - + Syncing %1 (%2 left) Synkronoidaan %1 (%2 jäljellä) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ajan tasalla diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 8dff41a22..12e2cc07e 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -289,109 +289,109 @@ Temps restant total %5 Mirall::Folder - + Unable to create csync-context Impossible de créer le contexte csync - + Local folder %1 does not exist. Le dossier local %1 n'existe pas. - + %1 should be a directory but is not. %1 doit être un répertoire, mais ce n'en ai pas un. - + %1 is not readable. %1 ne peut pas être lu. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 et %2 autres fichiers ont été supprimés. - + %1 has been removed. %1 names a file. %1 a été supprimé. - + %1 and %2 other files have been downloaded. %1 names a file. %1 et %2 autres fichiers ont été téléchargés. - + %1 has been downloaded. %1 names a file. %1 a été téléchargé. - + %1 and %2 other files have been updated. %1 et %2 autres fichiers ont été mis à jour. - + %1 has been updated. %1 names a file. %1 a été mis à jour. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 a été renommé en %2 et %3 autres fichiers ont été renommés. - + %1 has been renamed to %2. %1 and %2 name files. %1 a été renommé en %2. - + %1 has been moved to %2 and %3 other files have been moved. %1 a été déplacé vers %2 et %3 autres fichiers ont été déplacés. - + %1 has been moved to %2. %1 a été déplacé vers %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. %1 et %2 autres fichiers n'ont pu être synchronisés pour cause d'erreur. Consultez les logs pour les détails. - + %1 could not be synced due to an error. See the log for details. %1 n'a pu être synchronisé pour cause d'erreur. Consultez les logs pour les détails. - + Sync Activity Activité de synchronisation - + Could not read system exclude file Impossible de lire le fichier d'exclusion du système - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Cela est peut-être du à une reconfiguration silencieuse du dossier, ou parce q Voulez-vous réellement effectuer cette opération ? - + Remove All Files? Supprimer tous les fichiers ? - + Remove all files Supprimer tous les fichiers - + Keep files Garder les fichiers @@ -428,52 +428,52 @@ Voulez-vous réellement effectuer cette opération ? Une synchronisation antérieure du journal de %1 a été trouvée, mais ne peut être supprimée. Veuillez vous assurer qu’aucune application n'est utilisée en ce moment. - + Undefined State. Statut indéfini. - + Waits to start syncing. En attente de synchronisation. - + Preparing for sync. Préparation de la synchronisation. - + Sync is running. La synchronisation est en cours. - + Last Sync was successful. Dernière synchronisation effectuée avec succès - + Last Sync was successful, but with warnings on individual files. La dernière synchronisation s'est achevée avec succès mais avec des messages d'avertissement sur des fichiers individuels. - + Setup Error. Erreur d'installation. - + User Abort. Abandon par l'utilisateur. - + Sync is paused. La synchronisation est en pause. - + %1 (Sync is paused) %1 (Synchronisation en pause) @@ -1044,22 +1044,17 @@ peut demander des privilèges additionnels durant le processus. Connexion… - - Your entire account will be synced to the local folder '%1'. - Votre compte sera entièrement synchronisé vers le dossier local '%1'. - - - + %1 folder '%2' is synced to local folder '%3' %1 le dossier '%2' est synchronisé vers le dossier local '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Attention :</strong> Vous avez de multiples dossiers configurés. Si vous continuez avec les paramètres courants, les configurations du dossier seront perdues et seule la racine des dossiers synchronisés sera créée !</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Attention :</strong> Le dossier local n'est pas vide. Résolvez d'abord ce point !</small></p> @@ -1140,8 +1135,8 @@ Il est déconseillé de l'utiliser. Echec du renommage du dossier - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Dossier de synchronisation local %1 créé avec succès !</b></font> @@ -1537,20 +1532,34 @@ Il est déconseillé de l'utiliser. Currently no files are ignored because of previous errors. Actuellement aucun fichier n'a été ignoré en raison d'erreurs précédentes. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 fichiers ont été ignorés en raison des erreurs précédentes. - Essayez à nouveau de les synchroniser. + %n fichier a été ignoré à cause de précédentes erreurs. +Essayez de le synchroniser à nouveau.%n fichiers ont été ignorés à cause de précédentes erreurs. +Essayez de les synchroniser à nouveau. Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer - Les dossiers non sélectionnés ne seront pas synchronisés sur cet ordinateur + + Choose What to Sync + Choisir le contenu à synchroniser + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Chargement… @@ -1995,99 +2004,104 @@ Il est déconseillé de l'utiliser. Interrompu par l'utilisateur - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Une erreur interne numéro %1 s'est produite. - + The item is not synced because of previous errors: %1 Cet élément n'a pas été synchronisé en raison des erreurs précédentes : %1 - + Symbolic links are not supported in syncing. Les liens symboliques ne sont pas pris en charge par la synchronisation. - + Hard links are not supported in syncing. Les liens durs (hard links) ne sont pas pris en charge par la synchronisation. - + File is listed on the ignore list. Le fichier est dans la liste des fichiers à ignorer. - + File contains invalid characters that can not be synced cross platform. Le fichier contient des caractères non valides qui ne peuvent être synchronisés entre plate-formes. - + Unable to initialize a sync journal. Impossible d'initialiser un journal de synchronisation. - + Cannot open the sync journal Impossible d'ouvrir le journal de synchronisation - - + + Ignored because of the "choose what to sync" blacklist Ignoré à cause de la liste noire du contenu à synchroniser. - + Not allowed because you don't have permission to add sub-directories in that directory Non autorisé car vous n'avez pas la permission d'ajouter des sous-dossiers dans ce dossier - + Not allowed because you don't have permission to add parent directory Non autorisé car vous n'avez pas la permission d'ajouter des dossiers parents - + Not allowed because you don't have permission to add files in that directory Non autorisé car vous n'avez pas la permission d'ajouter des fichiers dans ce dossier - + Not allowed to upload this file because it is read-only on the server, restoring Non autorisé à envoyer ce fichier car il est en lecture seule sur le serveur. Restauration - - + + Not allowed to remove, restoring Non autorisé à supprimer. Restauration - + Local files and share folder removed. Fichiers locaux et répertoire de partage supprimés. - + Move not allowed, item restored Déplacement non autorisé, élément restauré - + Move not allowed because %1 is read-only Déplacement non autorisé car %1 est en mode lecture seule - + the destination la destination - + the source la source @@ -2111,137 +2125,137 @@ Il est déconseillé de l'utiliser. Mirall::ownCloudGui - + Please sign in Veuillez vous connecter - + Disconnected from server Déconnecté du serveur - + Folder %1: %2 Dossier %1 : %2 - + No sync folders configured. Aucun répertoire synchronisé n'est configuré. - + There are no sync folders configured. Aucun répertoire à synchroniser n'est configuré. - + None. Aucun. - + Recent Changes Modifications récentes - + Open %1 folder Ouvrir le répertoire %1 - + Managed Folders: Répertoires suivis : - + Open folder '%1' Ouvrir le dossier '%1' - + Open %1 in browser Ouvrir %1 dans le navigateur - + Calculating quota... Calcul du quota en cours... - + Unknown status Statut inconnu - + Settings... Paramètres... - + Details... Détails... - + Help Aide - + Quit %1 Quitter %1 - + Sign in... Se connecter... - + Sign out Se déconnecter - + Quota n/a Quota n/a - + %1% of %2 in use %1% sur %2 utilisés - + No items synced recently Aucun item synchronisé récemment - + Discovering '%1' Découverte de '%1' - + Syncing %1 of %2 (%3 left) Synchronisation %1 de %2 (%3 restant) - + Syncing %1 (%2 left) Synchronisation %1 (%2 restant) - + %1 (%2, %3) %1 (%2, %3) - + Up to date À jour diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index 578074c1b..b9f62cc17 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -289,109 +289,109 @@ Tempo total restante %5 Mirall::Folder - + Unable to create csync-context Non é posíbel crear o contexto csync - + Local folder %1 does not exist. O cartafol local %1 non existe. - + %1 should be a directory but is not. %1 debería ser un directorio e non o é. - + %1 is not readable. %1 non é lexíbel. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. O ficheiro %1 e outros %2 foron retirados satisfactoriamente. - + %1 has been removed. %1 names a file. %1 foi retirado satisfactoriamente. - + %1 and %2 other files have been downloaded. %1 names a file. O ficheiro %1 e outros %2 foron descargados satisfactoriamente. - + %1 has been downloaded. %1 names a file. %1 foi descargado satisfactoriamente. - + %1 and %2 other files have been updated. O ficheiro %1 e outros %2 foron enviados satisfactoriamente. - + %1 has been updated. %1 names a file. %1 foi enviado satisfactoriamente. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 foi renomeado satisfactoriamente a %2 e outros %3 tamén foron renomeados satisfactoriamente. - + %1 has been renamed to %2. %1 and %2 name files. %1 foi renomeado satisfactoriamente a %2 - + %1 has been moved to %2 and %3 other files have been moved. %1 foi movido satisfactoriamente a %2 e outros %3 tamén foron movidos satisfactoriamente. - + %1 has been moved to %2. %1 foi movido satisfactoriamente a %2 - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity Actividade de sincronización - + Could not read system exclude file - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Isto podería ser debido a que o cartafol foi reconfigurado en silencio, ou a qu Confirma que quere realizar esta operación? - + Remove All Files? Retirar todos os ficheiros? - + Remove all files Retirar todos os ficheiros - + Keep files Manter os ficheiros @@ -428,52 +428,52 @@ Confirma que quere realizar esta operación? Atopouse un rexistro de sincronización antigo en «%1» máis non pode ser retirado. Asegúrese de que non o está a usar ningunha aplicación. - + Undefined State. Estado sen definir. - + Waits to start syncing. Agardando polo comezo da sincronización. - + Preparing for sync. Preparando para sincronizar. - + Sync is running. Estase sincronizando. - + Last Sync was successful. A última sincronización fíxose correctamente. - + Last Sync was successful, but with warnings on individual files. A última sincronización fíxose correctamente, mais con algún aviso en ficheiros individuais. - + Setup Error. Erro de configuración. - + User Abort. Interrompido polo usuario. - + Sync is paused. Sincronización en pausa. - + %1 (Sync is paused) %1 (sincronización en pausa) @@ -1044,22 +1044,17 @@ actualización pode pedir privilexios adicionais durante o proceso.Conectar... - - Your entire account will be synced to the local folder '%1'. - Toda a súa conta vai seren sincronizada co cartafol local «%1». - - - + %1 folder '%2' is synced to local folder '%3' O cartafol %1 «%2» está sincronizado co cartafol local «%3» - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Aviso:</strong> Actualmente ten varios cartafoles configurados. Se continúa cos axustes actuais, desbotaranse as configuracións dos cartafoles e crearase un único cartafol raíz de sincronización!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Aviso:</strong> O directorio local non está baleiro. Escolla unha resolución!</small></p> @@ -1140,8 +1135,8 @@ Recomendámoslle que non o use. Non foi posíbel renomear o cartafol - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>O cartafol local de sincronización %1 creouse correctamente!</b></font> @@ -1537,21 +1532,33 @@ Recomendámoslle que non o use. Currently no files are ignored because of previous errors. Actualmente non hai ficheiros ignorados por mor de erros anteriores. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 ficheiros foron ignorados por mor de erros anteriores. -Tente sincronizalos de novo. + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer + + Choose What to Sync + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Cargando ... + Mirall::SettingsDialog @@ -1995,99 +2002,104 @@ Tente sincronizalos de novo. Interrompido polo usuario - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Produciuse un erro interno número %1 - + The item is not synced because of previous errors: %1 Este elemento non foi sincronizado por mor de erros anteriores: %1 - + Symbolic links are not supported in syncing. As ligazóns simbolicas non son admitidas nas sincronizacións - + Hard links are not supported in syncing. - + File is listed on the ignore list. O ficheiro está na lista de ignorados. - + File contains invalid characters that can not be synced cross platform. O ficheiro conten caracteres incorrectos que non poden sincronizarse entre distintas plataformas. - + Unable to initialize a sync journal. Non é posíbel iniciar un rexistro de sincronización. - + Cannot open the sync journal Non foi posíbel abrir o rexistro de sincronización - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add sub-directories in that directory Non está permitido xa que non ten permiso para engadir subdirectorios nese directorio - + Not allowed because you don't have permission to add parent directory Non está permitido xa que non ten permiso para engadir un directorio pai - + Not allowed because you don't have permission to add files in that directory Non está permitido xa que non ten permiso para engadir ficheiros nese directorio - + Not allowed to upload this file because it is read-only on the server, restoring Non está permitido o envío xa que o ficheiro é só de lectura no servidor, restaurando - - + + Not allowed to remove, restoring Non está permitido retiralo, restaurando - + Local files and share folder removed. - + Move not allowed, item restored Nos está permitido movelo, elemento restaurado - + Move not allowed because %1 is read-only Bon está permitido movelo xa que %1 é só de lectura - + the destination o destino - + the source a orixe @@ -2111,137 +2123,137 @@ Tente sincronizalos de novo. Mirall::ownCloudGui - + Please sign in Ten que rexistrarse - + Disconnected from server Desconectado do servidor - + Folder %1: %2 Cartafol %1: %2 - + No sync folders configured. Non se configuraron cartafoles de sincronización. - + There are no sync folders configured. - + None. Nada. - + Recent Changes Cambios recentes - + Open %1 folder Abrir o cartafol %1 - + Managed Folders: Cartafoles xestionados: - + Open folder '%1' Abrir o cartafol «%1» - + Open %1 in browser Abrir %1 nun navegador - + Calculating quota... Calculando a cota... - + Unknown status Estado descoñecido - + Settings... Axustes... - + Details... Detalles... - + Help Axuda - + Quit %1 Saír de %1 - + Sign in... Rexistrarse... - + Sign out Saír - + Quota n/a Cota n/d - + %1% of %2 in use Usado %1% de %2 - + No items synced recently Non hai elementos sincronizados recentemente - + Discovering '%1' - + Syncing %1 of %2 (%3 left) Sincronizando %1 of %2 (restan %3) - + Syncing %1 (%2 left) Sincronizando %1 (restan %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Actualizado diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index 35a420c7e..1d33c4fa2 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -288,126 +288,126 @@ Total time left %5 Mirall::Folder - + Unable to create csync-context - + Local folder %1 does not exist. %1 helyi mappa nem létezik. - + %1 should be a directory but is not. %1 könyvtár kell legyen, de nem az. - + %1 is not readable. %1 nem olvasható. - + %1: %2 - + %1 and %2 other files have been removed. %1 names a file. - + %1 has been removed. %1 names a file. - + %1 and %2 other files have been downloaded. %1 names a file. - + %1 has been downloaded. %1 names a file. - + %1 and %2 other files have been updated. - + %1 has been updated. %1 names a file. - + %1 has been renamed to %2 and %3 other files have been renamed. - + %1 has been renamed to %2. %1 and %2 name files. - + %1 has been moved to %2 and %3 other files have been moved. - + %1 has been moved to %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity - + Could not read system exclude file - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? - + Remove All Files? El legyen távolítva az összes fájl? - + Remove all files Összes fájl eltávolítása - + Keep files Fájlok megtartása @@ -425,52 +425,52 @@ Are you sure you want to perform this operation? - + Undefined State. Ismeretlen állapot. - + Waits to start syncing. Várakozás a szinkronizálás elindítására. - + Preparing for sync. Előkészítés szinkronizációhoz. - + Sync is running. Szinkronizálás fut. - + Last Sync was successful. Legutolsó szinkronizálás sikeres volt. - + Last Sync was successful, but with warnings on individual files. - + Setup Error. Beállítás hiba. - + User Abort. - + Sync is paused. Szinkronizálás megállítva. - + %1 (Sync is paused) @@ -1038,22 +1038,17 @@ for additional privileges during the process. Kapcsolódás... - - Your entire account will be synced to the local folder '%1'. - - - - + %1 folder '%2' is synced to local folder '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> @@ -1133,8 +1128,8 @@ It is not advisable to use it. A mappa átnevezése nem sikerült - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Helyi %1 szinkronizációs mappa sikeresen létrehozva!</b></font> @@ -1530,20 +1525,33 @@ It is not advisable to use it. Currently no files are ignored because of previous errors. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer + + Choose What to Sync + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Betöltés ... + Mirall::SettingsDialog @@ -1985,99 +1993,104 @@ It is not advisable to use it. - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + Hard links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Local files and share folder removed. - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2101,137 +2114,137 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in Belépés szükséges - + Disconnected from server - + Folder %1: %2 Mappa %1: %2 - + No sync folders configured. Nincsenek megadva szinkronizálandó mappák. - + There are no sync folders configured. - + None. Nincs - + Recent Changes Legutóbbi változások - + Open %1 folder %1 mappa megnyitása - + Managed Folders: Kezelt mappák: - + Open folder '%1' - + Open %1 in browser - + Calculating quota... Kvóta kiszámítása... - + Unknown status Ismeretlen állapot - + Settings... Beállítások... - + Details... Részletek... - + Help Súgó - + Quit %1 - + Sign in... Belépés... - + Sign out Kilépés - + Quota n/a Kvóta n/a - + %1% of %2 in use - + No items synced recently - + Discovering '%1' - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date Frissítve diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 26fefcaab..d7185cbf5 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -289,109 +289,109 @@ Totale tempo rimanente %5 Mirall::Folder - + Unable to create csync-context Impossibile creare il contesto csync - + Local folder %1 does not exist. La cartella locale %1 non esiste. - + %1 should be a directory but is not. %1 dovrebbe essere una cartella. - + %1 is not readable. %1 non è leggibile. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 e %2 altri file sono stati rimossi. - + %1 has been removed. %1 names a file. %1 è stato rimosso. - + %1 and %2 other files have been downloaded. %1 names a file. %1 e %2 altri file sono stati scaricati. - + %1 has been downloaded. %1 names a file. %1 è stato scaricato. - + %1 and %2 other files have been updated. %1 e %2 altri file sono stati aggiornati. - + %1 has been updated. %1 names a file. %1 è stato aggiornato. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 è stato rinominato in %2 e %3 altri file sono stati rinominati. - + %1 has been renamed to %2. %1 and %2 name files. %1 è stato rinominato in %2. - + %1 has been moved to %2 and %3 other files have been moved. %1 è stato spostato in %2 e %3 altri file sono stati spostati. - + %1 has been moved to %2. %1 è stato spostato in %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. 1% e altri %2 file non sono stati sincronizzati a causa di errori. Controlla il log per i dettagli. - + %1 could not be synced due to an error. See the log for details. %1 non può essere sincronizzato a causa di un errore. Controlla il log per i dettagli. - + Sync Activity Sincronizza attività - + Could not read system exclude file Impossibile leggere il file di esclusione di sistema - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Ciò potrebbe accadere in caso di riconfigurazione della cartella o di rimozione Sei sicuro di voler eseguire questa operazione? - + Remove All Files? Vuoi rimuovere tutti i file? - + Remove all files Rimuovi tutti i file - + Keep files Mantieni i file @@ -428,52 +428,52 @@ Sei sicuro di voler eseguire questa operazione? È stato trovato un vecchio registro di sincronizzazione '%1', ma non può essere rimosso. Assicurati che nessuna applicazione lo stia utilizzando. - + Undefined State. Stato non definito. - + Waits to start syncing. Attende l'inizio della sincronizzazione. - + Preparing for sync. Preparazione della sincronizzazione. - + Sync is running. La sincronizzazione è in corso. - + Last Sync was successful. L'ultima sincronizzazione è stato completata correttamente. - + Last Sync was successful, but with warnings on individual files. Ultima sincronizzazione avvenuta, ma con avvisi relativi a singoli file. - + Setup Error. Errore di configurazione. - + User Abort. Interrotto dall'utente. - + Sync is paused. La sincronizzazione è sospesa. - + %1 (Sync is paused) %1 (La sincronizzazione è sospesa) @@ -1043,22 +1043,17 @@ for additional privileges during the process. Connetti... - - Your entire account will be synced to the local folder '%1'. - L'intero account sarà sincronizzato con la cartella locale '%1'. - - - + %1 folder '%2' is synced to local folder '%3' La cartella '%2' di %1 è sincronizzata con la cartella locale '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Avviso:</strong> attualmente hai configurato più cartelle. Se procedi con le impostazioni attuali, le configurazioni delle cartelle saranno scartate, mentre sarà creata un'unica cartella radice di sincronizzazione.</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Avviso:</strong> la cartella locale non è vuota. Scegli una soluzione.</small></p> @@ -1139,8 +1134,8 @@ Non è consigliabile utilizzarlo. Rinomina cartella non riuscita - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Cartella locale %1 creta correttamente!</b></font> @@ -1536,20 +1531,34 @@ Non è consigliabile utilizzarlo. Currently no files are ignored because of previous errors. Attualmente nessun file è ignorato a causa di errori precedenti. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 file sono ignorati a causa di errori precedenti. -Prova a sincronizzare nuovamente. + %n file sono ignorati a causa di errori precedenti. +Prova a sincronizzare nuovamente.%n file sono ignorati a causa di errori precedenti. +Prova a sincronizzare nuovamente. Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer - Le caselle non marcate non saranno sincronizzate con questo computer + + Choose What to Sync + Scegli cosa sincronizzare + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Caricamento in corso... @@ -1994,99 +2003,104 @@ Prova a sincronizzare nuovamente. Interrotto dall'utente - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. SI è verificato un errore interno numero %1. - + The item is not synced because of previous errors: %1 L'elemento non è sincronizzato a causa dell'errore precedente: %1 - + Symbolic links are not supported in syncing. I collegamenti simbolici non sono supportati dalla sincronizzazione. - + Hard links are not supported in syncing. Gli hard link non sono supportati dalla sincronizzazione. - + File is listed on the ignore list. Il file è stato aggiunto alla lista ignorati. - + File contains invalid characters that can not be synced cross platform. Il file contiene caratteri non validi che non possono essere sincronizzati su diverse piattaforme. - + Unable to initialize a sync journal. Impossibile inizializzare il registro di sincronizzazione. - + Cannot open the sync journal Impossibile aprire il registro di sincronizzazione - - + + Ignored because of the "choose what to sync" blacklist Ignorato in base alla lista nera per la scelta di cosa sincronizzare - + Not allowed because you don't have permission to add sub-directories in that directory Non consentito poiché non disponi dei permessi per aggiungere sottocartelle in quella cartella - + Not allowed because you don't have permission to add parent directory Non consentito poiché non disponi dei permessi per aggiungere la cartella superiore - + Not allowed because you don't have permission to add files in that directory Non consentito poiché non disponi dei permessi per aggiungere file in quella cartella - + Not allowed to upload this file because it is read-only on the server, restoring Il caricamento di questo file non è consentito poiché è in sola lettura sul server, ripristino - - + + Not allowed to remove, restoring Rimozione non consentita, ripristino - + Local files and share folder removed. I file locali e la cartella condivisa sono stati rimossi. - + Move not allowed, item restored Spostamento non consentito, elemento ripristinato - + Move not allowed because %1 is read-only Spostamento non consentito poiché %1 è in sola lettura - + the destination la destinazione - + the source l'origine @@ -2110,137 +2124,137 @@ Prova a sincronizzare nuovamente. Mirall::ownCloudGui - + Please sign in Accedi - + Disconnected from server Disconnesso dal server - + Folder %1: %2 Cartella %1: %2 - + No sync folders configured. Nessuna cartella configurata per la sincronizzazione. - + There are no sync folders configured. Non è stata configurata alcuna cartella per la sincronizzazione. - + None. Nessuna. - + Recent Changes Modifiche recenti - + Open %1 folder Apri la cartella %1 - + Managed Folders: Cartelle gestite: - + Open folder '%1' Apri la cartella '%1' - + Open %1 in browser Apri %1 nel browser... - + Calculating quota... Calcolo quota in corso... - + Unknown status Stato sconosciuto - + Settings... Impostazioni... - + Details... Dettagli... - + Help Aiuto - + Quit %1 Esci da %1 - + Sign in... Accedi... - + Sign out Esci - + Quota n/a Quota n/d - + %1% of %2 in use %1% di %2 utilizzati - + No items synced recently Nessun elemento sincronizzato di recente - + Discovering '%1' Rilevamento '%1' - + Syncing %1 of %2 (%3 left) Sincronizzazione di %1 di %2 (%3 rimanenti) - + Syncing %1 (%2 left) Sincronizzazione di %1 (%2 rimanenti) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aggiornato diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index dc776c0b9..53de8630e 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -168,7 +168,7 @@ %1 (%3%) of %2 server space in use. - %1 (%3%) / %2 使用中のサーバー領域 + 使用中のサーバー領域: %1 (%3%) / %2 @@ -221,7 +221,7 @@ Total time left %5 Connected to <a href="%1">%2</a> as <i>%3</i>. - <a href="%1">%2</a> に <i>%3</i> として接続 + <a href="%1">%2</a> に<i>%3</i>として接続 @@ -289,109 +289,109 @@ Total time left %5 Mirall::Folder - + Unable to create csync-context csync-context を作成できません - + Local folder %1 does not exist. ローカルフォルダー %1 は存在しません。 - + %1 should be a directory but is not. %1 はディレクトリのはずですが、そうではないようです。 - + %1 is not readable. %1 は読み込み可能ではありません。 - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 と他 %2 個のファイルが削除されました。 - + %1 has been removed. %1 names a file. %1 は削除されました。 - + %1 and %2 other files have been downloaded. %1 names a file. %1 と他 %2 個のファイルがダウンロードされました。 - + %1 has been downloaded. %1 names a file. %1 はダウンロードされました。 - + %1 and %2 other files have been updated. %1 と他 %2 個のファイルが更新されました。 - + %1 has been updated. %1 names a file. %1 が更新されました。 - + %1 has been renamed to %2 and %3 other files have been renamed. %1 の名前が %2 に変更され、他 %3 個のファイルの名前が変更されました。 - + %1 has been renamed to %2. %1 and %2 name files. %1 の名前が %2 に変更されました。 - + %1 has been moved to %2 and %3 other files have been moved. %1 が %2 に移され、他 %3 個のファイルが移されました。 - + %1 has been moved to %2. %1 は %2 に移されました。 - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. エラーにより、%1 や %2 等のファイルが同期できませんでした。ログで詳細を確認してください。 - + %1 could not be synced due to an error. See the log for details. エラーにより %1 が未同期です。ログで詳細を確認してください。 - + Sync Activity 同期アクティビティ - + Could not read system exclude file システム上の除外ファイルを読み込めません - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Are you sure you want to perform this operation? 本当にこの操作を実行しますか? - + Remove All Files? すべてのファイルを削除しますか? - + Remove all files すべてのファイルを削除 - + Keep files ファイルを残す @@ -428,52 +428,52 @@ Are you sure you want to perform this operation? 古い同期ジャーナル '%1' が見つかりましたが、削除できませんでした。それを現在使用しているアプリケーションが存在しないか確認してください。 - + Undefined State. 未定義の状態。 - + Waits to start syncing. 同期開始を待機中 - + Preparing for sync. 同期の準備中。 - + Sync is running. 同期を実行中です。 - + Last Sync was successful. 最後の同期は成功しました。 - + Last Sync was successful, but with warnings on individual files. 最新の同期は成功しました。しかし、いくつかのファイルで問題がありました。 - + Setup Error. 設定エラー。 - + User Abort. ユーザーによる中止。 - + Sync is paused. 同期を一時停止しました。 - + %1 (Sync is paused) %1 (同期を一時停止) @@ -1043,22 +1043,17 @@ for additional privileges during the process. 接続... - - Your entire account will be synced to the local folder '%1'. - すべてのアカウントはローカルフォルダー '%1' と同期されます。 - - - + %1 folder '%2' is synced to local folder '%3' %1 フォルダー '%2' はローカルフォルダー '%3' と同期しています - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>警告:</strong> 現在、複数のフォルダーを設定しています。現在の設定で続けた場合、フォルダー設定は無視され、単一のルートフォルダーの同期が生成されます!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>警告:</strong> ローカルディレクトリは空ではありません。拡張設定で解決方法を選択してください!</small></p> @@ -1138,8 +1133,8 @@ It is not advisable to use it. フォルダー名の変更に失敗しました。 - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>ローカルの同期フォルダー %1 は正常に作成されました!</b></font> @@ -1535,20 +1530,32 @@ It is not advisable to use it. Currently no files are ignored because of previous errors. 処理前にエラーが発生したため、ファイルは何も除外されていません。 - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - 処理前にエラーが発生したため、%1 個のファイルが除外されました。 -これらの同期をもう一度実行してください。 + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer - チェックを外したフォルダは、このパソコンへの同期対象外になります。 + + Choose What to Sync + 同期フォルダーを選択 + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + 読込中 ... @@ -1993,99 +2000,104 @@ It is not advisable to use it. ユーザーによって中止されました - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. 内部エラー番号 %1 が発生しました。 - + The item is not synced because of previous errors: %1 - このアイテムは、以前にエラーが発生していたため同期させません: %1 + このアイテムは以前にエラーが発生したため同期しません: %1 - + Symbolic links are not supported in syncing. 同期機能は、シンボリックリンクをサポートしていません。 - + Hard links are not supported in syncing. 同期機能は、ハードリンクをサポートしていません。 - + File is listed on the ignore list. ファイルは除外リストに登録されています。 - + File contains invalid characters that can not be synced cross platform. ファイルに無効な文字が含まれているため、クロスプラットフォーム環境での同期ができません。 - + Unable to initialize a sync journal. 同期ジャーナルの初期化ができません。 - + Cannot open the sync journal 同期ジャーナルを開くことができません - - + + Ignored because of the "choose what to sync" blacklist "同期対象先" ブラックリストにより無視されました。 - + Not allowed because you don't have permission to add sub-directories in that directory そのディレクトリにサブディレクトリを追加する権限がありません - + Not allowed because you don't have permission to add parent directory 親ディレクトリを追加する権限がありません - + Not allowed because you don't have permission to add files in that directory そのディレクトリにファイルを追加する権限がありません - + Not allowed to upload this file because it is read-only on the server, restoring サーバーでは読み取り専用となっているため、このファイルをアップロードすることはできません、復元しています - - + + Not allowed to remove, restoring 削除できません、復元しています - + Local files and share folder removed. ローカルファイルと共有フォルダが削除されました。 - + Move not allowed, item restored 移動できません、項目を復元しました - + Move not allowed because %1 is read-only %1 は読み取り専用のため移動できません - + the destination 移動先 - + the source 移動元 @@ -2109,137 +2121,137 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in サインインしてください - + Disconnected from server サーバーから切断しました - + Folder %1: %2 フォルダー %1: %2 - + No sync folders configured. 同期フォルダーが設定されていません。 - + There are no sync folders configured. 同期するフォルダーがありません。 - + None. なし - + Recent Changes 最近変更されたファイル - + Open %1 folder %1 フォルダーを開く - + Managed Folders: 管理フォルダー: - + Open folder '%1' フォルダー ’%1’ を開く - + Open %1 in browser %1をブラウザーで開く - + Calculating quota... クォータを計算中... - + Unknown status 不明な状態 - + Settings... 設定 - + Details... 詳細... - + Help ヘルプ - + Quit %1 %1 を終了 - + Sign in... サインイン... - + Sign out サインアウト - + Quota n/a クォータ n/a - + %1% of %2 in use %2 のうち %1% を使用中 - + No items synced recently 最近同期されたアイテムはありません。 - + Discovering '%1' - + Syncing %1 of %2 (%3 left) 同期中 %2 中 %1 (残り %3) - + Syncing %1 (%2 left) 同期中 %1 (残り %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date 最新です @@ -2276,7 +2288,7 @@ It is not advisable to use it. Sync everything from server - サーバーから全てのファイルを同期 + サーバーからすべてのファイルを同期 diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 32207eb72..2d6cc81e3 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -289,109 +289,109 @@ Totaal resterende tijd %5 Mirall::Folder - + Unable to create csync-context Onmogelijk om een csync-context te maken - + Local folder %1 does not exist. Lokale map %1 bestaat niet. - + %1 should be a directory but is not. %1 zou een map moeten zijn, maar is dit niet. - + %1 is not readable. %1 is niet leesbaar. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 en %2 andere bestanden zijn verwijderd. - + %1 has been removed. %1 names a file. %1 is verwijderd. - + %1 and %2 other files have been downloaded. %1 names a file. %1 en %2 andere bestanden zijn gedownloaded. - + %1 has been downloaded. %1 names a file. %1 is gedownloaded. - + %1 and %2 other files have been updated. %1 en %2 andere bestanden zijn bijgewerkt. - + %1 has been updated. %1 names a file. %1 is bijgewerkt. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 is hernoemd naar %2 en %3 andere bestanden zijn ook hernoemd. - + %1 has been renamed to %2. %1 and %2 name files. %1 is hernoemd naar %2. - + %1 has been moved to %2 and %3 other files have been moved. %1 is verplaatst naar %2 en %3 andere bestanden zijn ook verplaatst. - + %1 has been moved to %2. %1 is verplaatst naar %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. %1 en %2 andere bestanden konden niet worden gesynchroniseerd door fouten. Bekijk het log voor details. - + %1 could not be synced due to an error. See the log for details. %1 kon niet worden gesynchroniseerd door een fout. Bekijk het log voor details. - + Sync Activity Synchronisatie-activiteit - + Could not read system exclude file Kon het systeem-uitsluitingsbestand niet lezen - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Dit kan komen doordat de map ongemerkt opnieuw geconfigureerd is of doordat alle Weet u zeker dat u deze bewerking wilt uitvoeren? - + Remove All Files? Verwijder alle bestanden? - + Remove all files Verwijder alle bestanden - + Keep files Bewaar bestanden @@ -428,52 +428,52 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Een oud synchronisatieverslag '%1' is gevonden maar kan niet worden verwijderd. Zorg ervoor dat geen applicatie dit bestand gebruikt. - + Undefined State. Ongedefiniëerde staat - + Waits to start syncing. In afwachting van synchronisatie. - + Preparing for sync. Synchronisatie wordt voorbereid - + Sync is running. Bezig met synchroniseren. - + Last Sync was successful. Laatste synchronisatie was succesvol. - + Last Sync was successful, but with warnings on individual files. Laatste synchronisatie geslaagd, maar met waarschuwingen over individuele bestanden. - + Setup Error. Installatiefout. - + User Abort. Afgebroken door gebruiker. - + Sync is paused. Synchronisatie gepauzeerd. - + %1 (Sync is paused) %1 (Synchronisatie onderbroken) @@ -1044,22 +1044,17 @@ vragen om extra autorisaties tijdens installatie. Verbinden... - - Your entire account will be synced to the local folder '%1'. - Uw volledige account zal worden gesynchroniseerd met de lokale map '%1'. - - - + %1 folder '%2' is synced to local folder '%3' %1 map '%2' is gesynchroniseerd naar de lokale map '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Waarschuwing:</strong> U heeft momenteel meerdere mappen geconfigureerd. Als u doorgaat met de huidige instellingen, zullen de map-configuraties ongedaan worden gemaakt en zal een enkele rootmap worden gemaakt!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Waarschuwing:</strong> De lokale map is niet leeg. Maak een keuze!</small></p> @@ -1140,8 +1135,8 @@ We adviseren deze site niet te gebruiken. Hernoemen map mislukt - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokale synch map %1 is succesvol aangemaakt!</b></font> @@ -1537,20 +1532,34 @@ We adviseren deze site niet te gebruiken. Currently no files are ignored because of previous errors. Er zijn nu geen bestanden genegeerd vanwege eerdere fouten. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 bestanden zijn genegeerd vanwege eerdere fouten. -Probeer opnieuw te synchroniseren. + %1 bestand genegeerd vanwege eerdere fouten. +Probeer opnieuw te synchroniseren.%1 bestanden zijn genegeerd vanwege eerdere fouten. +Probeer opnieuw te synchroniseren. Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer - Niet geselecteerde mappen worden niet gesynched naar deze computer + + Choose What to Sync + Kies wat moet worden gesynchroniseerd + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Laden ... @@ -1995,99 +2004,104 @@ Probeer opnieuw te synchroniseren. Afgebroken door de gebruiker - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Interne fout nummer %1 opgetreden. - + The item is not synced because of previous errors: %1 Dit onderwerp is niet gesynchroniseerd door eerdere fouten: %1 - + Symbolic links are not supported in syncing. Symbolic links worden niet ondersteund bij het synchroniseren. - + Hard links are not supported in syncing. Harde links worden niet ondersteund bij synchronisatie. - + File is listed on the ignore list. De file is opgenomen op de negeerlijst. - + File contains invalid characters that can not be synced cross platform. Bestand bevat ongeldige karakters die niet tussen platformen gesynchroniseerd kunnen worden. - + Unable to initialize a sync journal. Niet in staat om een synchornisatie journaal te starten. - + Cannot open the sync journal Kan het sync journal niet openen - - + + Ignored because of the "choose what to sync" blacklist Genegeerd vanwege de "kies wat te synchen" zwarte lijst - + Not allowed because you don't have permission to add sub-directories in that directory Niet toegestaan, omdat u geen rechten hebt om sub-directories aan te maken in die directory - + Not allowed because you don't have permission to add parent directory Niet toegestaan, omdat u geen rechten hebt om een bovenliggende directories toe te voegen - + Not allowed because you don't have permission to add files in that directory Niet toegestaan, omdat u geen rechten hebt om bestanden in die directory toe te voegen - + Not allowed to upload this file because it is read-only on the server, restoring Niet toegestaan om dit bestand te uploaden, omdat het alleen-lezen is op de server, herstellen - - + + Not allowed to remove, restoring Niet toegestaan te verwijderen, herstellen - + Local files and share folder removed. Lokale bestanden en share-map verwijderd. - + Move not allowed, item restored Verplaatsen niet toegestaan, object hersteld - + Move not allowed because %1 is read-only Verplaatsen niet toegestaan omdat %1 alleen-lezen is - + the destination bestemming - + the source bron @@ -2111,137 +2125,137 @@ Probeer opnieuw te synchroniseren. Mirall::ownCloudGui - + Please sign in Log alstublieft in - + Disconnected from server Verbinding met server verbroken - + Folder %1: %2 Map %1: %2 - + No sync folders configured. Geen synchronisatie-mappen geconfigureerd. - + There are no sync folders configured. - Er zijn geen sync mappen geconfigureerd. + Er zijn geen synchronisatie-mappen geconfigureerd. - + None. Geen. - + Recent Changes Recente wijzigingen - + Open %1 folder Open %1 map - + Managed Folders: Beheerde mappen: - + Open folder '%1' Open map '%1' - + Open %1 in browser Open %1 in browser - + Calculating quota... Quota worden berekend ... - + Unknown status Onbekende status - + Settings... Instellingen... - + Details... Details ... - + Help Help - + Quit %1 %1 afsluiten - + Sign in... Inloggen... - + Sign out Uitloggen - + Quota n/a Quota niet beschikbaar - + %1% of %2 in use %1% van %2 gebruikt - + No items synced recently Recent niets gesynchroniseerd - + Discovering '%1' '%1' onderzoeken - + Syncing %1 of %2 (%3 left) Sync %1 van %2 (%3 over) - + Syncing %1 (%2 left) Sync %1 (%2 over) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Bijgewerkt @@ -2251,7 +2265,7 @@ Probeer opnieuw te synchroniseren. <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, Olivier Goffart, Markus Götz and others.<br/>Based on Mirall by Duncan Mac-Vicar P.</small></p><p>Copyright ownCloud, Inc.</p><p>Licensed under the GNU General Public License (GPL) Version 2.0<br/>ownCloud and the ownCloud Logo are registered trademarks of ownCloud, Inc. in the United States, other countries, or both.</p> - <p>Versie %2. Bezoek voor meer informatie bezoek <a href="%3">%4</a>.</p><p><small>Door Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, Olivier Goffart, Markus Götz en anderen.<br>Gebaseerd op MIrall door Duncan Mac-Vicar P.</small></p><p>Copyright ownCloud, Inc.</p><p>Gelicenseerd onder de GNU Genertal Public License (GPL) Versie 2.0<br>ownCloud en het ownCloud logo zijn geregistreerde handelsmerken van ownCloud, Inc. in de Verenigde Staten, andere landen, of beide.</p> + <p>Versie %2. Bezoek voor meer informatie <a href="%3">%4</a>.</p><p><small>Door Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, Olivier Goffart, Markus Götz en anderen.<br>Gebaseerd op MIrall door Duncan Mac-Vicar P.</small></p><p>Copyright ownCloud, Inc.</p><p>Gelicenseerd onder de GNU Genertal Public License (GPL) Versie 2.0<br>ownCloud en het ownCloud logo zijn geregistreerde handelsmerken van ownCloud, Inc. in de Verenigde Staten, andere landen, of beide.</p> diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index 47f8764b6..19d112d00 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -289,109 +289,109 @@ Pozostało czasu %5 Mirall::Folder - + Unable to create csync-context Nie można utworzyć kontekstu csync - + Local folder %1 does not exist. Folder lokalny %1 nie istnieje. - + %1 should be a directory but is not. %1 powinien być katalogiem, ale nie jest. - + %1 is not readable. %1 jest nie do odczytu. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 i %2 inne pliki zostały usunięte. - + %1 has been removed. %1 names a file. %1 został usunięty. - + %1 and %2 other files have been downloaded. %1 names a file. %1 i %2 pozostałe pliki zostały ściągnięte. - + %1 has been downloaded. %1 names a file. %1 został ściągnięty. - + %1 and %2 other files have been updated. %1 i %2 inne pliki zostały zaktualizowane. - + %1 has been updated. %1 names a file. %1 został uaktualniony. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 zmienił nazwę na %2 i %3 inne pliki mają zmienione nazwy. - + %1 has been renamed to %2. %1 and %2 name files. %1 zmienił nazwę na %2. - + %1 has been moved to %2 and %3 other files have been moved. %1 został zmieniony na %2 i %3 inne pliku zostały przeniesione. - + %1 has been moved to %2. %1 został przeniesiony do %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. %1 i %2 inne pliki nie mogą zostać zsynchronizowane z powodu błędów. Zobacz szczegóły w logu. - + %1 could not be synced due to an error. See the log for details. %1 nie może zostać zsynchronizowany z powodu błędu. Zobacz szczegóły w logu. - + Sync Activity Aktywności synchronizacji - + Could not read system exclude file Nie można przeczytać pliku wyłączeń - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Mogło się tak zdarzyć z powodu niezauważonej rekonfiguracji folderu, lub te Czy jesteś pewien/pewna, że chcesz wykonać tę operację? - + Remove All Files? Usunąć wszystkie pliki? - + Remove all files Usuń wszystkie pliki - + Keep files Pozostaw pliki @@ -428,52 +428,52 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Stary sync journal '%1' został znaleziony, lecz nie mógł być usunięty. Proszę się upewnić, że żaden program go obecnie nie używa. - + Undefined State. Niezdefiniowany stan - + Waits to start syncing. Czekają na uruchomienie synchronizacji. - + Preparing for sync. Przygotowuję do synchronizacji - + Sync is running. Synchronizacja w toku - + Last Sync was successful. Ostatnia synchronizacja zakończona powodzeniem. - + Last Sync was successful, but with warnings on individual files. Ostatnia synchronizacja udana, ale istnieją ostrzeżenia z pojedynczymi plikami. - + Setup Error. Błąd ustawień. - + User Abort. Użytkownik anulował. - + Sync is paused. Synchronizacja wstrzymana - + %1 (Sync is paused) %1 (Synchronizacja jest zatrzymana) @@ -1044,22 +1044,17 @@ poprosić o dodatkowe uprawnienia podczas tego procesu. Połącz... - - Your entire account will be synced to the local folder '%1'. - Twoje całe konto zostanie zsynchronizowane z twoim lokalnym katalogiem '%1'. - - - + %1 folder '%2' is synced to local folder '%3' %1 katalog '%2' jest zsynchronizowany do katalogu lokalnego '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Uwaga:</strong> Masz obecnie skonfigurowane wielokrotne katalogi . Jeśli będziesz kontynuować z obecnymi ustawieniami, konfiguracje katalogów będą odrzucone i pojedyncza synchronizacja głównego katalogu będzie utworzona!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Uwaga:</strong> Lokalny katalog nie jest pusty. Wybierz rozważnie!</small></p> @@ -1140,8 +1135,8 @@ Niezalecane jest jego użycie. Zmiana nazwy folderu nie powiodła się - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Utworzenie lokalnego folderu synchronizowanego %1 zakończone pomyślnie!</b></font> @@ -1537,22 +1532,34 @@ Niezalecane jest jego użycie. Currently no files are ignored because of previous errors. Obecnie nie ma plików, które są ignorowane z powodu wcześniejszych błędów. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 pliki są ignorowane z powodu błędów. - Spróbuj zsynchronizować ponownie. + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer + + Choose What to Sync + Wybierz co synchronizować + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + Mirall::SelectiveSyncTreeView + + + Loading ... + Wczytuję ... + + Mirall::SettingsDialog @@ -1995,99 +2002,104 @@ Niezalecane jest jego użycie. Anulowane przez użytkownika - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Wystąpił błąd wewnętrzny numer %1. - + The item is not synced because of previous errors: %1 Ten element nie jest zsynchronizowane z powodu poprzednich błędów: %1 - + Symbolic links are not supported in syncing. Linki symboliczne nie są wspierane przy synchronizacji. - + Hard links are not supported in syncing. Linki stałe nie są wspierane podczas synchronizacji. - + File is listed on the ignore list. Plik jest na liście plików ignorowanych. - + File contains invalid characters that can not be synced cross platform. Plik zawiera nieprawidłowe znaki, które nie mogą być synchronizowane wieloplatformowo. - + Unable to initialize a sync journal. Nie można zainicjować synchronizacji dziennika. - + Cannot open the sync journal Nie można otworzyć dziennika synchronizacji - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add sub-directories in that directory Nie masz uprawnień do dodawania podkatalogów w tym katalogu. - + Not allowed because you don't have permission to add parent directory Nie masz uprawnień by dodać katalog nadrzędny - + Not allowed because you don't have permission to add files in that directory Nie masz uprawnień by dodać pliki w tym katalogu - + Not allowed to upload this file because it is read-only on the server, restoring Wgrywanie niedozwolone, ponieważ plik jest tylko do odczytu na serwerze, przywracanie - - + + Not allowed to remove, restoring Brak uprawnień by usunąć, przywracanie - + Local files and share folder removed. - + Move not allowed, item restored Przenoszenie niedozwolone, obiekt przywrócony - + Move not allowed because %1 is read-only Przenoszenie niedozwolone, ponieważ %1 jest tylko do odczytu - + the destination docelowy - + the source źródło @@ -2111,137 +2123,137 @@ Niezalecane jest jego użycie. Mirall::ownCloudGui - + Please sign in Proszę się zalogować - + Disconnected from server Rozłączono z serwerem - + Folder %1: %2 Folder %1: %2 - + No sync folders configured. Nie skonfigurowano synchronizowanych folderów. - + There are no sync folders configured. Nie skonfigurowano żadnych folderów synchronizacji. - + None. Brak. - + Recent Changes Ostatnie zmiany - + Open %1 folder Otwórz folder %1 - + Managed Folders: Zarządzane foldery: - + Open folder '%1' Otwórz katalog '%1' - + Open %1 in browser Otwórz %1 w przeglądarce - + Calculating quota... Obliczam quote... - + Unknown status Nieznany status - + Settings... Ustawienia... - + Details... Szczegóły... - + Help Pomoc - + Quit %1 Wyjdź %1 - + Sign in... Loguję... - + Sign out Wyloguj - + Quota n/a Quota n/a - + %1% of %2 in use %1% z %2 w użyciu - + No items synced recently Brak ostatnich synchronizacji - + Discovering '%1' - + Syncing %1 of %2 (%3 left) Synchronizacja %1 z %2 (%3 pozostało) - + Syncing %1 (%2 left) Synchronizuję %1 (%2 pozostało) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aktualne diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 707ef6fe8..1cb6ccc07 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -289,109 +289,109 @@ Total time left %5 Mirall::Folder - + Unable to create csync-context Impossível criar 'csync-context' - + Local folder %1 does not exist. A pasta local %1 não existe. - + %1 should be a directory but is not. %1 devia de ser um directório mas não é - + %1 is not readable. Não é possível ler %1 - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 e %2 outros ficheiros foram removidos. - + %1 has been removed. %1 names a file. %1 foi removido. - + %1 and %2 other files have been downloaded. %1 names a file. Foi feito o download de outros ficheiros %1 e %2. - + %1 has been downloaded. %1 names a file. Fez o download de %1 - + %1 and %2 other files have been updated. Os ficheiros %1 e %2 foram actualizados. - + %1 has been updated. %1 names a file. %1 foi actualizado. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 foi renomeado para %2 e %3 outros ficheiros foram renomeados. - + %1 has been renamed to %2. %1 and %2 name files. %1 foi renomeado para %2 - + %1 has been moved to %2 and %3 other files have been moved. %1 foi movido para %2 e %3 outros ficheiros foram movidos. - + %1 has been moved to %2. %1 foi movido para %2 - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. %1 e %2 outros ficheiros não sincronizaram devido a erros. Verifica o log para mais detalhes. - + %1 could not be synced due to an error. See the log for details. %1 não sincronizou devido a um erro. Verifica o log para mais detalhes. - + Sync Activity Actividade de sincronicação - + Could not read system exclude file Não foi possível ler o ficheiro system exclude - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -399,17 +399,17 @@ Are you sure you want to perform this operation? Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha "Manter os ficheiros". Se quer apagar os seus dados, escolha "Remover todos os ficheiros". - + Remove All Files? Remover todos os ficheiros? - + Remove all files Remover todos os ficheiros - + Keep files Manter os ficheiros @@ -427,52 +427,52 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Não foi possível remover o antigo 'journal sync' '%1'. Por favor certifique-se que nenhuma aplicação o está a utilizar. - + Undefined State. Estado indefinido. - + Waits to start syncing. A aguardar o inicio da sincronização. - + Preparing for sync. A preparar para sincronização. - + Sync is running. A sincronização está a correr. - + Last Sync was successful. A última sincronização foi efectuada com sucesso. - + Last Sync was successful, but with warnings on individual files. A última sincronização foi efectuada com sucesso, mas existem avisos sobre alguns ficheiros. - + Setup Error. Erro na instalação. - + User Abort. Cancelado pelo utilizador. - + Sync is paused. A sincronização está em pausa. - + %1 (Sync is paused) %1 (Sincronização em pausa) @@ -1042,22 +1042,17 @@ for additional privileges during the process. Ligar... - - Your entire account will be synced to the local folder '%1'. - A sua conta vai ser sincronizada para a pasta local '%1'. - - - + %1 folder '%2' is synced to local folder '%3' %1 pasta '%2' sincronizada para pasta '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Aviso:</strong> Tem várias pastas configuradas. Se prosseguir com as definições actuais, a configuração das pastas será rejeotada e será criada uma pasta raiz de sincronização!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Aviso:</strong> A pasta local não está vazia. Faça a sua escolha!</small></p> @@ -1137,8 +1132,8 @@ It is not advisable to use it. Erro ao renomear a pasta - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Pasta de sincronização local %1 criada com sucesso!</b></font> @@ -1534,20 +1529,34 @@ It is not advisable to use it. Currently no files are ignored because of previous errors. Devido a erros anteriores, nenhum ficheiro é ignorado. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 ficheiros ignorados devido a erros anteriore. -Por favor tente sincronizar novamente. + %n ficheiros são ignorados devido a erros anteriores. +Tente sincronizá-los novamente.%n ficheiros são ignorados devido a erros anteriores. +Tente sincronizá-los novamente. Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer - Pastas não seleccionadas não irão sincronizar com este computador + + Choose What to Sync + Escolher o que sincronizar + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + A carregar... @@ -1993,99 +2002,104 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n Cancelado pelo utilizador - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Ocorreu um erro interno número %1. - + The item is not synced because of previous errors: %1 O item não está sincronizado devido a erros anteriores: %1 - + Symbolic links are not supported in syncing. Hiperligações simbólicas não são suportadas em sincronização. - + Hard links are not supported in syncing. Hard links não são suportados em sincronização. - + File is listed on the ignore list. O ficheiro está na lista de ficheiros a ignorar. - + File contains invalid characters that can not be synced cross platform. O ficheiro contém caracteres inválidos que não podem ser sincronizados pelas várias plataformas. - + Unable to initialize a sync journal. Impossível inicializar sincronização 'journal'. - + Cannot open the sync journal Impossível abrir o jornal de sincronismo - - + + Ignored because of the "choose what to sync" blacklist Ignorado devido à blacklist de escolha para sincronização - + Not allowed because you don't have permission to add sub-directories in that directory Não permitido, porque não tem permissão para adicionar sub-directórios ao directório - + Not allowed because you don't have permission to add parent directory Não permitido, porque não tem permissão para adicionar o directório principal - + Not allowed because you don't have permission to add files in that directory Não permitido, porque não tem permissão para adicionar ficheiros no directório - + Not allowed to upload this file because it is read-only on the server, restoring Não é permitido fazer o envio deste ficheiro porque é só de leitura no servidor, restaurando - - + + Not allowed to remove, restoring Não autorizado para remoção, restaurando - + Local files and share folder removed. Ficheiros locais e pasta partilhada removidos. - + Move not allowed, item restored Mover não foi permitido, item restaurado - + Move not allowed because %1 is read-only Mover não foi autorizado porque %1 é só de leitura - + the destination o destino - + the source a origem @@ -2109,137 +2123,137 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n Mirall::ownCloudGui - + Please sign in Por favor inicie a sessão - + Disconnected from server Desligar do servidor - + Folder %1: %2 Pasta %1: %2 - + No sync folders configured. Nenhuma pasta de sincronização configurada. - + There are no sync folders configured. Não há pastas de sincronização configurado. - + None. Nada. - + Recent Changes Alterações recentes - + Open %1 folder Abrir a pasta %1 - + Managed Folders: Pastas Geridas: - + Open folder '%1' Abrir pasta '%1' - + Open %1 in browser Abrir %1 no browser - + Calculating quota... A calcular quota... - + Unknown status Estado desconhecido - + Settings... Configurações... - + Details... Detalhes... - + Help Ajuda - + Quit %1 Sair do %1 - + Sign in... Entrar... - + Sign out Sair - + Quota n/a Quota não disponível - + %1% of %2 in use %1% de %2 utilizado - + No items synced recently Sem itens sincronizados recentemente - + Discovering '%1' Descobrindo '%1' - + Syncing %1 of %2 (%3 left) Sincronizar %1 de %2 (%3 faltando) - + Syncing %1 (%2 left) Sincronizando %1 (%2 faltando) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Actualizado diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 63b588a12..12e473c01 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -289,109 +289,109 @@ Total de tempo que falta 5% Mirall::Folder - + Unable to create csync-context Não é possível criar csync-context - + Local folder %1 does not exist. A pasta local %1 não existe. - + %1 should be a directory but is not. %1 deveria ser uma pasta, mas não é. - + %1 is not readable. %1 não pode ser lido. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 e %2 outros arquivos foram removidos. - + %1 has been removed. %1 names a file. %1 foi removido. - + %1 and %2 other files have been downloaded. %1 names a file. %1 e %2 outros arquivos foram baixados. - + %1 has been downloaded. %1 names a file. %1 foi baixado. - + %1 and %2 other files have been updated. %1 e %2 outros arquivos foram atualizados. - + %1 has been updated. %1 names a file. %1 foi atualizado. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 foi renomeado para %2 e %3 outros três arquivos foram renomeados. - + %1 has been renamed to %2. %1 and %2 name files. %1 foi renomeado para %2. - + %1 has been moved to %2 and %3 other files have been moved. %1 foi movido para %2 e %3 outros arquivos foram movidos. - + %1 has been moved to %2. %1 foi movido para %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. %1 e %2 outros arquivos não puderam ser sincronizados devido a erros. Veja o log para obter detalhes. - + %1 could not be synced due to an error. See the log for details. %1 não pode ser sincronizado devido a um erro. Veja o log para obter detalhes. - + Sync Activity Atividade de Sincronização - + Could not read system exclude file Não foi possível ler o sistema de arquivo de exclusão - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Isso pode ser porque a pasta foi silenciosamente reconfigurada, ou todos os arqu Você tem certeza que quer executar esta operação? - + Remove All Files? Deseja Remover Todos os Arquivos? - + Remove all files Remover todos os arquivos - + Keep files Manter arquivos @@ -428,52 +428,52 @@ Você tem certeza que quer executar esta operação? Uma velha revista de sincronização '%1' foi encontrada, mas não pôde ser removida. Por favor, certifique-se de que nenhuma aplicação está a usá-la. - + Undefined State. Estado indefinido. - + Waits to start syncing. Aguardando o inicio da sincronização. - + Preparing for sync. Preparando para sincronização. - + Sync is running. A sincronização está ocorrendo. - + Last Sync was successful. A última sincronização foi feita com sucesso. - + Last Sync was successful, but with warnings on individual files. A última sincronização foi executada com sucesso, mas com advertências em arquivos individuais. - + Setup Error. Erro de Configuração. - + User Abort. Usuário Abortou - + Sync is paused. Sincronização pausada. - + %1 (Sync is paused) %1 (Pausa na Sincronização) @@ -1043,22 +1043,17 @@ for additional privileges during the process. Conectar... - - Your entire account will be synced to the local folder '%1'. - Toda a sua conta será sincronizado com a pasta local '%1'. - - - + %1 folder '%2' is synced to local folder '%3' %1 Pasta '% 2' está sincronizada com pasta local '% 3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong> Atenção: </strong> Você está atualmente com várias pastas configuradas. Se você continuar com as configurações atuais, as configurações de pasta serão descartadas e uma única sincronizaçãoda pasta raiz será criada! </small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Atenção:</strong> O diretório local não está vazio. Escolha a resolução!</small></p> @@ -1138,8 +1133,8 @@ It is not advisable to use it. Falha no nome da pasta - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Pasta de sincronização local %1 criada com sucesso!</b></font> @@ -1535,20 +1530,32 @@ It is not advisable to use it. Currently no files are ignored because of previous errors. Correntemente nenhum arquivo será ignorado por causa de erros prévios. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 arquivos são ignorados por causa de erros prévios. -Tente sincronizar novamente. + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer - Pastas não selecionadas não serão sincronizada com este computador + + Choose What to Sync + Escolher o que Sincronizar + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Carregando... @@ -1993,99 +2000,104 @@ Tente sincronizar novamente. Abortado pelo usuário - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Ocorreu um erro interno de número %1. - + The item is not synced because of previous errors: %1 O item não está sincronizado devido a erros anteriores: %1 - + Symbolic links are not supported in syncing. Linques simbólicos não são suportados em sincronização. - + Hard links are not supported in syncing. Links físicos não são compatíveis com a sincronização. - + File is listed on the ignore list. O arquivo está listado na lista de ignorados. - + File contains invalid characters that can not be synced cross platform. Arquivos que contém caracteres inválidos não podem ser sincronizados através de plataformas. - + Unable to initialize a sync journal. Impossibilitado de iniciar a sincronização. - + Cannot open the sync journal Não é possível abrir o arquivo de sincronização - - + + Ignored because of the "choose what to sync" blacklist Ignorado por causa da lista negra "escolher o que sincronizar" - + Not allowed because you don't have permission to add sub-directories in that directory Não permitido porque você não tem permissão de criar sub-pastas nesta pasta - + Not allowed because you don't have permission to add parent directory Não permitido porque você não tem permissão de criar pastas mãe - + Not allowed because you don't have permission to add files in that directory Não permitido porque você não tem permissão de adicionar arquivos a esta pasta - + Not allowed to upload this file because it is read-only on the server, restoring Não é permitido fazer o upload deste arquivo porque ele é somente leitura no servidor, restaurando - - + + Not allowed to remove, restoring Não é permitido remover, restaurando - + Local files and share folder removed. Arquivos locais e pasta compartilhada removida. - + Move not allowed, item restored Não é permitido mover, item restaurado - + Move not allowed because %1 is read-only Não é permitido mover porque %1 é somente para leitura - + the destination o destino - + the source a fonte @@ -2109,137 +2121,137 @@ Tente sincronizar novamente. Mirall::ownCloudGui - + Please sign in Favor conectar - + Disconnected from server Desconectado do servidor - + Folder %1: %2 Pasta %1: %2 - + No sync folders configured. Pastas de sincronização não configuradas. - + There are no sync folders configured. Não há pastas de sincronização configuradas. - + None. Nenhum. - + Recent Changes Alterações Recentes - + Open %1 folder Abrir pasta %1 - + Managed Folders: Pastas Gerenciadas: - + Open folder '%1' Abrir pasta '%1' - + Open %1 in browser Abrir %1 no navegador - + Calculating quota... Calculando cota... - + Unknown status Status desconhecido - + Settings... Configurações... - + Details... Detalhes... - + Help Ajuda - + Quit %1 Sair %1 - + Sign in... Conectar em... - + Sign out Sair - + Quota n/a Cota n/a - + %1% of %2 in use %1% de %2 em uso - + No items synced recently Não há itens sincronizados recentemente - + Discovering '%1' Descobrir '%1' - + Syncing %1 of %2 (%3 left) Sincronizar %1 de %2 (%3 faltando) - + Syncing %1 (%2 left) Sincronizando %1 (%2 faltando) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Até a data diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 680723569..8347aece2 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -289,109 +289,109 @@ Total time left %5 Mirall::Folder - + Unable to create csync-context Невозможно создать контекст csync - + Local folder %1 does not exist. Локальный каталог %1 не существует. - + %1 should be a directory but is not. %1 должен быть каталогом, но не является таковым. - + %1 is not readable. %1 не читается. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. '%1' и ещё %2 других файлов были удалены. - + %1 has been removed. %1 names a file. '%1' был удалён - + %1 and %2 other files have been downloaded. %1 names a file. '%1' и ещё %2 других файлов были загружены. - + %1 has been downloaded. %1 names a file. %1 был загружен. - + %1 and %2 other files have been updated. %1 и ещё %2 других файла были обновлены. - + %1 has been updated. %1 names a file. %1 был обновлён. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 был переименован в %2 и ещё %3 других файлов были переименованы. - + %1 has been renamed to %2. %1 and %2 name files. %1 был переименован в %2. - + %1 has been moved to %2 and %3 other files have been moved. %1 был перемещён в %2 и ещё %3 других файлов были перемещены. - + %1 has been moved to %2. %1 был перемещён в %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. %1 и %2 другие файлы не могут быть синхронизированы из-за ошибок. Смотрите детали в журнале. - + %1 could not be synced due to an error. See the log for details. %1 не может быть синхронизировано из-за ошибки. Смотрите детали в журнале. - + Sync Activity Журнал синхронизации - + Could not read system exclude file Невозможно прочесть исключенный системный файл - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Are you sure you want to perform this operation? Вы уверены, что хотите выполнить операцию? - + Remove All Files? Удалить все файлы? - + Remove all files Удалить все файлы - + Keep files Сохранить файлы @@ -428,52 +428,52 @@ Are you sure you want to perform this operation? Найден старый журнал синхронизации '%1', и он не может быть удалён. Пожалуйста убедитесь что он не открыт в каком-либо приложении. - + Undefined State. Неопределенное состояние. - + Waits to start syncing. Ожидает, чтобы начать синхронизацию. - + Preparing for sync. Подготовка к синхронизации. - + Sync is running. Идет синхронизация. - + Last Sync was successful. Последняя синхронизация прошла успешно. - + Last Sync was successful, but with warnings on individual files. Последняя синхронизация прошла успешно, но были предупреждения о нескольких файлах. - + Setup Error. Ошибка установки. - + User Abort. Отмена пользователем. - + Sync is paused. Синхронизация приостановлена. - + %1 (Sync is paused) %! (синхронизация приостановлена) @@ -1044,22 +1044,17 @@ for additional privileges during the process. Соединение... - - Your entire account will be synced to the local folder '%1'. - Вся ваша учётная запись будет синхронизирована с локальной папкой '%1'. - - - + %1 folder '%2' is synced to local folder '%3' %1 папка '%2' синхронизирована с локальной папкой '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Внимание:</strong> У вас настроено несколько папок. Если вы продолжите с текущими настройками, настройки папок будут отменены и будет создана одна корневая папка!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Внимание:</strong> Локальная папка не пуста. Выберите разрешение</small></p> @@ -1140,8 +1135,8 @@ It is not advisable to use it. Ошибка переименования папки - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Локальная папка для синхронизации %1 успешно создана!</b></font> @@ -1537,20 +1532,32 @@ It is not advisable to use it. Currently no files are ignored because of previous errors. На данный момент файлы, игнорируемые из-за ошибок, отсутствуют. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 файлов проигнорировано из-за ошибок. -Повторить попытку синхронизации. + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer - Не отмеченные папки не будут синхронизированы с этим компьютером + + Choose What to Sync + Выберите то, что хотите Синхронизировать + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Загружается... @@ -1995,99 +2002,104 @@ It is not advisable to use it. Прервано пользователем - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Произошла внутренняя ошибка номер %1. - + The item is not synced because of previous errors: %1 Путь не синхронизируется из-за произошедших ошибок: %1 - + Symbolic links are not supported in syncing. Синхронизация символических ссылок не поддерживается. - + Hard links are not supported in syncing. Синхронизация жёстких ссылок не поддерживаются. - + File is listed on the ignore list. Файл присутствует в списке игнорируемых. - + File contains invalid characters that can not be synced cross platform. Файл содержит недопустимые символы, которые невозможно синхронизировать между платформами. - + Unable to initialize a sync journal. Не удалось инициализировать журнал синхронизации. - + Cannot open the sync journal Не удаётся открыть журнал синхронизации - - + + Ignored because of the "choose what to sync" blacklist Игнорируется из-за черного списка в "выбрать что синхронизировать" - + Not allowed because you don't have permission to add sub-directories in that directory Недопустимо из-за отсутствия у вас разрешений на добавление подпапок в этой папке - + Not allowed because you don't have permission to add parent directory Недопустимо из-за отсутствия у вас разрешений на добавление родительской папки - + Not allowed because you don't have permission to add files in that directory Недопустимо из-за отсутствия у вас разрешений на добавление файлов в эту папку - + Not allowed to upload this file because it is read-only on the server, restoring Недопустимо отправить этот файл поскольку на севрере он помечен только для чтения, восстанавливаем - - + + Not allowed to remove, restoring Недопустимо удалить, восстанавливаем - + Local files and share folder removed. Локальные файлы и папки, добавленные в общий доступ, удалены. - + Move not allowed, item restored Перемещение недопустимо, элемент восстановлен - + Move not allowed because %1 is read-only Перемещение недопустимо, поскольку %1 помечен только для чтения - + the destination Назначение - + the source Источник @@ -2111,137 +2123,137 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in Пожалуйста войдите в учётную запись - + Disconnected from server Отсоединен от сервера - + Folder %1: %2 Папка %1: %2 - + No sync folders configured. Нет папок для синхронизации. - + There are no sync folders configured. Нет настроенных папок для синхронизации - + None. Пусто - + Recent Changes Недавние изменения - + Open %1 folder Открыть %1 папку - + Managed Folders: Управляемые папки: - + Open folder '%1' Открыть папку '%1' - + Open %1 in browser Открыть %1 в браузере - + Calculating quota... Расчёт квоты... - + Unknown status Неизвестный статус - + Settings... Настройки... - + Details... Детали... - + Help Помощь - + Quit %1 Закрыть %1 - + Sign in... Войти... - + Sign out - Выйти + Выйти из аккаунта - + Quota n/a Квота недоступна - + %1% of %2 in use Используется %1% из %2. - + No items synced recently Недавно ничего не синхронизировалсь - + Discovering '%1' - + Syncing %1 of %2 (%3 left) Синхронизация %1 из %2 (%3 осталось) - + Syncing %1 (%2 left) Синхронизация %1 (%2 осталось) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Актуальная версия diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index 60a7b164f..7976abfc6 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -289,109 +289,109 @@ Celkom zostáva %5 Mirall::Folder - + Unable to create csync-context Nemožno vytvoriť "csync-kontext" - + Local folder %1 does not exist. Lokálny priečinok %1 neexistuje. - + %1 should be a directory but is not. %1 by mal byť priečinok, avšak nie je. - + %1 is not readable. %1 nie je čitateľný. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 a %2 ďalších súborov bolo zmazaných. - + %1 has been removed. %1 names a file. %1 bol zmazaný. - + %1 and %2 other files have been downloaded. %1 names a file. %1 a %2 ďalších súborov bolo stiahnutých. - + %1 has been downloaded. %1 names a file. %1 bol stiahnutý. - + %1 and %2 other files have been updated. %1 a %2 ďalších súborov bolo aktualizovaných. - + %1 has been updated. %1 names a file. %1 bol aktualizovaný. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 bol premenovaný na %2 a %3 ďalších súborov bolo premenovaných. - + %1 has been renamed to %2. %1 and %2 name files. %1 bol premenovaný na %2. - + %1 has been moved to %2 and %3 other files have been moved. %1 bol presunutý do %2 a %3 ďalších súborov bolo presunutých. - + %1 has been moved to %2. %1 bol presunutý do %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity Aktivita synchronizácie - + Could not read system exclude file - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Toto môže byť kvôli tichej rekonfigurácii priečinka, prípadne boli všetk Ste si istý, že chcete uskutočniť danú operáciu? - + Remove All Files? Odstrániť všetky súbory? - + Remove all files Odstrániť všetky súbory - + Keep files Ponechať súbory @@ -428,52 +428,52 @@ Ste si istý, že chcete uskutočniť danú operáciu? Starý synchronizačný žurnál '%1' nájdený, avšak neodstrániteľný. Prosím uistite sa, že žiadna aplikácia ho práve nevyužíva. - + Undefined State. Nedefinovaný stav. - + Waits to start syncing. Čakanie na štart synchronizácie. - + Preparing for sync. Príprava na synchronizáciu. - + Sync is running. Synchronizácia prebieha. - + Last Sync was successful. Posledná synchronizácia sa úspešne skončila. - + Last Sync was successful, but with warnings on individual files. Posledná synchronizácia bola úspešná, ale z varovaniami pre individuálne súbory. - + Setup Error. Chyba pri inštalácii. - + User Abort. Zrušené používateľom. - + Sync is paused. Synchronizácia je pozastavená. - + %1 (Sync is paused) %1 (Synchronizácia je pozastavená) @@ -1044,22 +1044,17 @@ si počas procesu aktualizácie môže vyžiadať dodatočné práva.Pripojiť... - - Your entire account will be synced to the local folder '%1'. - Celý váš účet bude zosynchronizovaný do lokálneho priečinka '%1'. - - - + %1 folder '%2' is synced to local folder '%3' %1 priečinok '%2' je zosynchronizovaný do lokálneho priečinka '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Varovanie:</strong> V súčasnosti máte nakonfigurovaných viac priečinkov. Pokiaľ budete pokračovať z danými nastaveniami, konfigurácie priečinkov budú zabudnuté a jednotný koreňový priečinok bude následne vytvorený!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Varovanie:</strong> Lokálny priečinok nie je prázdny. Vyberte riešenie!</small></p> @@ -1140,8 +1135,8 @@ Nie je vhodné ju používať. Premenovanie priečinka zlyhalo - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokálny synchronizačný priečinok %1 bol úspešne vytvorený!</b></font> @@ -1537,21 +1532,34 @@ Nie je vhodné ju používať. Currently no files are ignored because of previous errors. V súčastnosti nie sú na čiernej listine žiadne súbory kvôli predchádzajúcim chybovým stavom. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 súborov je na čiernej listine kvôli predchádzajúcim chybovým stavom. + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer + + Choose What to Sync + Vybrať čo synchronizovať + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + Mirall::SelectiveSyncTreeView + + + Loading ... + Nahrávam... + + Mirall::SettingsDialog @@ -1994,99 +2002,104 @@ Nie je vhodné ju používať. Zrušené používateľom - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Vyskytla sa vnútorná chyba číslo %1. - + The item is not synced because of previous errors: %1 Položka nebola synchronizovaná kvôli predchádzajúcej chybe: %1 - + Symbolic links are not supported in syncing. Symbolické odkazy nie sú podporované pri synchronizácii. - + Hard links are not supported in syncing. - + File is listed on the ignore list. Súbor je zapísaný na zozname ignorovaných. - + File contains invalid characters that can not be synced cross platform. Súbor obsahuje neplatné znaky, ktoré nemôžu byť zosynchronizované medzi platformami. - + Unable to initialize a sync journal. Nemôžem inicializovať synchronizačný žurnál. - + Cannot open the sync journal Nemožno otvoriť sync žurnál - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add sub-directories in that directory Nie je dovolené, pretože nemáte oprávnenie pridávať do tohto adresára podadresáre. - + Not allowed because you don't have permission to add parent directory Nie je dovolené, pretože nemáte oprávnenie pridať nadradený adresár. - + Not allowed because you don't have permission to add files in that directory Nie je dovolené, pretože nemáte oprávnenie pridávať do tohto adresára súbory. - + Not allowed to upload this file because it is read-only on the server, restoring Nie je dovolené tento súbor nahrať, pretože je na serveri iba na čítanie. Obnovuje sa. - - + + Not allowed to remove, restoring Nie je dovolené odstrániť. Obnovuje sa. - + Local files and share folder removed. - + Move not allowed, item restored Presunutie nie je dovolené. Položka obnovená. - + Move not allowed because %1 is read-only Presunutie nie je dovolené, pretože %1 je na serveri iba na čítanie - + the destination cieľ - + the source zdroj @@ -2110,137 +2123,137 @@ Nie je vhodné ju používať. Mirall::ownCloudGui - + Please sign in Prihláste sa prosím - + Disconnected from server Odpojený od servera - + Folder %1: %2 Priečinok %1: %2 - + No sync folders configured. Nie sú nastavené žiadne synchronizačné priečinky. - + There are no sync folders configured. - + None. Žiaden. - + Recent Changes Nedávne zmeny - + Open %1 folder Otvoriť %1 priečinok - + Managed Folders: Spravované priečinky: - + Open folder '%1' Otvoriť priečinok '%1' - + Open %1 in browser Otvoriť %1 v prehliadači - + Calculating quota... Počítanie kvóty... - + Unknown status Neznámy stav - + Settings... Nastavenia... - + Details... Podrobnosti... - + Help Pomoc - + Quit %1 Ukončiť %1 - + Sign in... Prihlásiť do... - + Sign out Odhlásiť - + Quota n/a Kvóta n/a - + %1% of %2 in use %1% z %2 sa používa - + No items synced recently Žiadne nedávno synchronizované položky - + Discovering '%1' - + Syncing %1 of %2 (%3 left) Synchronizuje sa %1 z %2 (zostáva %3) - + Syncing %1 (%2 left) Synchronizuje sa %1 (zostáva %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Až do dnešného dňa diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index d51b14715..5fc9b15e9 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -198,19 +198,20 @@ Discovering '%1' - + Poteka preučevanje %1 %1 %2 (%3 of %4) %5 left at a rate of %6/s Example text: "uploading foobar.png (1MB of 2MB) time left 2 minutes at a rate of 24Kb/s" - + %1 %2 (%3 od %4) preostaja še %5 pri hitrosti %6/s %1 of %2, file %3 of %4 Total time left %5 - + %1 od %2, datoteka %3 od %4 +Skupaj še %5 @@ -288,109 +289,109 @@ Total time left %5 Mirall::Folder - + Unable to create csync-context Ni mogoče ustvariti vsebine csync-context - + Local folder %1 does not exist. Krajevna mapa %1 ne obstaja. - + %1 should be a directory but is not. %1 bi morala biti mapa, vendar ni. - + %1 is not readable. %1 ni mogoče brati. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. Datoteka %1 in %2 drugih datotek je odstranjenih. - + %1 has been removed. %1 names a file. Datoteka %1 je odstranjena. - + %1 and %2 other files have been downloaded. %1 names a file. Datoteka %1 in %2 drugih datotek je prejetih. - + %1 has been downloaded. %1 names a file. Datoteka %1 je prejeta. - + %1 and %2 other files have been updated. %1 in %2 drugih datotek je posodobljenih. - + %1 has been updated. %1 names a file. Datoteka %1 je posodobljena. - + %1 has been renamed to %2 and %3 other files have been renamed. Datoteka %1 je preimenovana v %2. Preimenovanih je bilo še %3 datotek. - + %1 has been renamed to %2. %1 and %2 name files. Datoteka %1 je preimenovana v %2. - + %1 has been moved to %2 and %3 other files have been moved. Datoteka %1 je premaknjena v %2. Premaknjenih je bilo še %3 datotek. - + %1 has been moved to %2. Datoteka %1 je premaknjena v %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. - + %1 in %2 drugih datotek ni mogoče uskladiti zaradi napake. Več podrobnosti je zabeleženih v dnevniški datoteki. - + %1 could not be synced due to an error. See the log for details. - + %1 ni mogoče uskladiti zaradi napake. Več podrobnosti je zabeleženih v dnevniški datoteki. - + Sync Activity Dejavnost usklajevanja - + Could not read system exclude file - + Ni mogoče prebrati sistemske izločitvene datoteke - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -399,17 +400,17 @@ Mapa je bila morda odstranjena ali pa so bile nastavitve spremenjene. Ali sta prepričani, da želite izvesti to opravilo? - + Remove All Files? Ali naj bodo odstranjene vse datoteke? - + Remove all files Odstrani vse datoteke - + Keep files Ohrani datoteke @@ -427,52 +428,52 @@ Ali sta prepričani, da želite izvesti to opravilo? Obstaja starejši dnevnik usklajevanja '%1', vendar ga ni mogoče odstraniti. Preverite, da datoteka ni v uporabi. - + Undefined State. Nedoločeno stanje. - + Waits to start syncing. V čakanju na začetek usklajevanja. - + Preparing for sync. Poteka priprava za usklajevanje. - + Sync is running. Usklajevanje je v teku. - + Last Sync was successful. Zadnje usklajevanje je bilo uspešno končano. - + Last Sync was successful, but with warnings on individual files. Zadnje usklajevanje je bilo sicer uspešno, vendar z opozorili za posamezne datoteke. - + Setup Error. Napaka nastavitve. - + User Abort. Uporabniška prekinitev. - + Sync is paused. Usklajevanje je začasno v premoru. - + %1 (Sync is paused) %1 (usklajevanje je v premoru) @@ -1043,22 +1044,17 @@ zahteva skrbniška dovoljenja za dokončanje opravila. Vzpostavi povezavo ... - - Your entire account will be synced to the local folder '%1'. - Celoten račun bo usklajen s krajevno mapo '%1'. - - - + %1 folder '%2' is synced to local folder '%3' %1 mapa '%2' je usklajena s krajevno mapo '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Opozorilo:</strong> Trenutno je nastavljenih več map. Če kolikor ta nastavitev ne bo popravljena, bo nastavitev prepisana, uporabljena pa bo nastavitev enojne korenske mape za usklajevanje!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Opozorilo:</strong> krajevna mapa ni prazna. Kaj storiti?</small></p> @@ -1139,8 +1135,8 @@ Uporaba ni priporočljiva. Preimenovanje mape je spodletelo - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Krajevno usklajena mapa %1 je uspešno ustvarjena!</b></font> @@ -1536,22 +1532,38 @@ Uporaba ni priporočljiva. Currently no files are ignored because of previous errors. Trenutno zaradi predhodnih napak ni prezrta nobena datoteka. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 datotek je prezrtih zaradi predhodnih napak. -Te je treba uskladiti znova. + %n datoteka je prezrta zaradi predhodnih napak. +Datoteko poskusite uskladiti znova.%n datoteki sta prezrti zaradi predhodnih napak. +Datoteki poskusite uskladiti znova.%n datoteke so prezrte zaradi predhodnih napak. +Datoteke poskusite uskladiti znova.%n datotek je prezrtih zaradi predhodnih napak. +Datoteke poskusite uskladiti znova. Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer + + Choose What to Sync + Izbor datotek za usklajevanje + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + Mirall::SelectiveSyncTreeView + + + Loading ... + Nalaganje ... + + Mirall::SettingsDialog @@ -1994,99 +2006,104 @@ Te je treba uskladiti znova. Opravilo je bilo prekinjeno s strani uporabnika - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Prišlo je do notranje napake številka %1. - + The item is not synced because of previous errors: %1 Predmet ni usklajen zaradi predhodne napake: %1 - + Symbolic links are not supported in syncing. Usklajevanje simbolnih povezav ni podprto. - + Hard links are not supported in syncing. Usklajevanje ne podpira trdih povezav. - + File is listed on the ignore list. Datoteka je na seznamu prezrtih datotek. - + File contains invalid characters that can not be synced cross platform. Ime datoteke vsebuje neveljavne znake, ki niso podprti na vseh okoljih. - + Unable to initialize a sync journal. Dnevnika usklajevanja ni mogoče začeti. - + Cannot open the sync journal Ni mogoče odpreti dnevnika usklajevanja - - + + Ignored because of the "choose what to sync" blacklist - - - Not allowed because you don't have permission to add sub-directories in that directory - - + Not allowed because you don't have permission to add sub-directories in that directory + Ni ustreznih dovoljenj za dodajanje podmap v izbrano mapo. + + + Not allowed because you don't have permission to add parent directory - + Ni ustreznih dovoljenj za dodajanje nadrejene mape. - + Not allowed because you don't have permission to add files in that directory - + Ni ustreznih dovoljenj za dodajanje datotek v izbrano mapo. - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring Odstranitev ni dovoljena, datoteka bo obnovljena. - + Local files and share folder removed. - + Krajevne datoteke in mape v souporabi so odstranjene. - + Move not allowed, item restored Premikanje ni dovoljeno, datoteka bo obnovljena. - + Move not allowed because %1 is read-only Premikanje ni dovoljeno, ker je nastavljeno določilo %1 le za branje. - + the destination cilj - + the source vir @@ -2104,143 +2121,143 @@ Te je treba uskladiti znova. <p>Version %1 For more information please visit <a href='%2'>%3</a>.</p><p>Copyright ownCloud, Inc.</p><p>Distributed by %4 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%5 and the %5 logo are registered trademarks of %4 in the United States, other countries, or both.</p> - + <p>Različica %1. Več podrobnosti je zabeleženih na <a href='%2'>%3</a>.</p><p>Avtorske pravice ownCloud, Inc.<p><p>Programski paket objavlja %4 z dovoljenjem GNU General Public License (GPL) Version 2.0.<br>%5 in logotip %5 sta blagovni znamki %4 v <br>Združenih državah, drugih državah ali oboje.</p> Mirall::ownCloudGui - + Please sign in Pred nadaljevanjem je zahtevana prijava - + Disconnected from server Povezava s strežnikom je prekinjena - + Folder %1: %2 Mapa %1: %2 - + No sync folders configured. Ni nastavljenih map za usklajevanje. - + There are no sync folders configured. Ni nastavljenih map za usklajevanje. - + None. Brez - + Recent Changes Nedavne spremembe - + Open %1 folder Odpri %1 mapo - + Managed Folders: Upravljane mape: - + Open folder '%1' Odpri mapo '%1' - + Open %1 in browser Odpri %1 v brskalniku - + Calculating quota... Preračunavanje količinske omejitve ... - + Unknown status Neznano stanje - + Settings... Nastavitve ... - + Details... Podrobnosti ... - + Help Pomoč - + Quit %1 Končaj %1 - + Sign in... Prijava ... - + Sign out Odjava - + Quota n/a Količinska omejitev ni na voljo - + %1% of %2 in use %1% od %2 v uporabi - + No items synced recently Ni nedavno usklajenih predmetov - + Discovering '%1' - + Poteka preučevanje %1 - + Syncing %1 of %2 (%3 left) Poteka usklajevanje %1 od %2 (preostaja %3) - + Syncing %1 (%2 left) Usklajevanje %1 (%2 do konca) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ni posodobitev @@ -2250,7 +2267,8 @@ Te je treba uskladiti znova. <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, Olivier Goffart, Markus Götz and others.<br/>Based on Mirall by Duncan Mac-Vicar P.</small></p><p>Copyright ownCloud, Inc.</p><p>Licensed under the GNU General Public License (GPL) Version 2.0<br/>ownCloud and the ownCloud Logo are registered trademarks of ownCloud, Inc. in the United States, other countries, or both.</p> - + <p>Različica %1. Več podrobnosti je zabeleženih na <a href='%3'>%4</a>.</p><p><small>Avtorstvo: Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, Olivier Goffart, Markus Götz in drugi.<br/>Zasnovano na programu Mirall avtorja Duncana Mac-Vicara P.</small> +Avtorske pravice ownCloud, Inc.<p><p>Programski paket je objavljen z dovoljenjem GNU General Public License (GPL) Version 2.0.<br>ownCloud in logotip ownCloud sta blagovni znamki ownCloud v Združenih državah, drugih državah ali oboje.</p> @@ -2277,12 +2295,12 @@ Te je treba uskladiti znova. Sync everything from server - + Uskladi vse datoteke s strežnika Choose what to sync - + Izbor datotek za usklajevanje @@ -2292,7 +2310,7 @@ Te je treba uskladiti znova. &Start a clean sync (Erases the local folder!) - + &Začni s svežim usklajevanjem (v celoti izbriše krajevne mape!). diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 400b21730..07321d2e3 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -289,109 +289,109 @@ Total tid kvar %5 Mirall::Folder - + Unable to create csync-context Kan inte skapa csync-context - + Local folder %1 does not exist. Den lokala mappen %1 finns inte. - + %1 should be a directory but is not. %1 ska vara en mapp, men är inte det. - + %1 is not readable. %1 är inte läsbar. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 och %2 andra filer har tagits bort. - + %1 has been removed. %1 names a file. %1 har tagits bort. - + %1 and %2 other files have been downloaded. %1 names a file. %1 och %2 andra filer har laddats ner. - + %1 has been downloaded. %1 names a file. %1 har laddats ner. - + %1 and %2 other files have been updated. %1 och %2 andra filer har uppdaterats. - + %1 has been updated. %1 names a file. %1 har uppdaterats. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 har döpts om till %2 och %3 andra filer har bytt namn. - + %1 has been renamed to %2. %1 and %2 name files. %1 har döpts om till %2. - + %1 has been moved to %2 and %3 other files have been moved. %1 har flyttats till %2 och %3 andra filer har tagits bort. - + %1 has been moved to %2. %1 har flyttats till %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. %1 och %2 andra filer kunde inte synkroniseras på grund av ett fel. Kolla loggen för ytterligare detaljer. - + %1 could not be synced due to an error. See the log for details. %1 kunde inte synkroniseras på grund av ett fel. Kolla loggen för ytterligare detaljer. - + Sync Activity Synk aktivitet - + Could not read system exclude file - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Är du säker på att du vill fortsätta? - + Remove All Files? Ta bort alla filer? - + Remove all files Ta bort alla filer - + Keep files Behåll filer @@ -428,52 +428,52 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file En gammal synkroniseringsjournal '%1' hittades, men kunde inte raderas. Vänligen se till att inga program för tillfället använder den. - + Undefined State. Okänt tillstånd. - + Waits to start syncing. Väntar på att starta synkronisering. - + Preparing for sync. Förbereder synkronisering - + Sync is running. Synkronisering pågår. - + Last Sync was successful. Senaste synkronisering lyckades. - + Last Sync was successful, but with warnings on individual files. Senaste synkning lyckades, men det finns varningar för vissa filer! - + Setup Error. Inställningsfel. - + User Abort. Användare Avbryt - + Sync is paused. Synkronisering är pausad. - + %1 (Sync is paused) %1 (Synk är stoppad) @@ -1044,22 +1044,17 @@ efter ytterligare privilegier under processen. Anslut... - - Your entire account will be synced to the local folder '%1'. - Alla filer kommer att synkroniseras till den lokala mappen '%1'. - - - + %1 folder '%2' is synced to local folder '%3' %1 mappen '%2' är synkroniserad mot den lokala mappen '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Varning:</strong> Du har för närvarande flera mappar konfigurerade. Om du fortsätter med nuvarande inställningar så kommer inställningarna för synkronisering av mapparna att tas bort och ersättas med en enda synkronisering av själva rot-mappen!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Varning:</strong> Den lokala mappen är inte tom. Välj en lösning!</small></p> @@ -1140,8 +1135,8 @@ Det är inte lämpligt använda den. Omdöpning av mapp misslyckades - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokal synkmapp %1 skapad!</b></font> @@ -1537,20 +1532,32 @@ Det är inte lämpligt använda den. Currently no files are ignored because of previous errors. För närvarande ignoreras inga filer på grund av föregående fel. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 filer ignoreras på grund av föregående fel. -Försök att synka dessa igen. + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer - Mappar som inte är valda kommer inte att synkas till den här datorn + + Choose What to Sync + Välj vad som ska synkas + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Laddar ... @@ -1995,99 +2002,104 @@ Försök att synka dessa igen. Avbruten av användare - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Ett internt fel hände. nummer %1 - + The item is not synced because of previous errors: %1 Objektet kunde inte synkas på grund av tidigare fel: %1 - + Symbolic links are not supported in syncing. Symboliska länkar stöds ej i synkningen. - + Hard links are not supported in syncing. - + File is listed on the ignore list. Filen är listad i ignorerings listan. - + File contains invalid characters that can not be synced cross platform. Filen innehåller ogiltiga tecken som inte kan synkas oberoende av plattform. - + Unable to initialize a sync journal. Kan inte initialisera en synk journal. - + Cannot open the sync journal Kunde inte öppna synk journalen - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add sub-directories in that directory Går ej att genomföra då du saknar rättigheter att lägga till underkataloger i den katalogen - + Not allowed because you don't have permission to add parent directory Går ej att genomföra då du saknar rättigheter att lägga till någon moderkatalog - + Not allowed because you don't have permission to add files in that directory Går ej att genomföra då du saknar rättigheter att lägga till filer i den katalogen - + Not allowed to upload this file because it is read-only on the server, restoring Inte behörig att ladda upp denna fil då den är skrivskyddad på servern, återställer - - + + Not allowed to remove, restoring Inte behörig att radera, återställer - + Local files and share folder removed. Lokala filer och mappar som är delade är borttagna. - + Move not allowed, item restored Det gick inte att genomföra flytten, objektet återställs - + Move not allowed because %1 is read-only Det gick inte att genomföra flytten då %1 är skrivskyddad - + the destination destinationen - + the source källan @@ -2111,137 +2123,137 @@ Försök att synka dessa igen. Mirall::ownCloudGui - + Please sign in Vänliga logga in - + Disconnected from server Bortkopplad från servern - + Folder %1: %2 Mapp %1: %2 - + No sync folders configured. Ingen synkroniseringsmapp är konfigurerad. - + There are no sync folders configured. Det finns inga synkmappar konfigurerade. - + None. Ingen. - + Recent Changes Senaste ändringar - + Open %1 folder Öppna %1 mappen - + Managed Folders: Hanterade mappar: - + Open folder '%1' Öppna mapp '%1' - + Open %1 in browser Öppna %1 i webbläsaren - + Calculating quota... Beräknar kvot... - + Unknown status Okänd status - + Settings... Inställningar... - + Details... Detaljer... - + Help Hjälp - + Quit %1 Avsluta %1 - + Sign in... Logga in... - + Sign out Logga ut - + Quota n/a Kvot n/a - + %1% of %2 in use %1% av %2 används - + No items synced recently Inga filer har synkroniseras nyligen - + Discovering '%1' - + Syncing %1 of %2 (%3 left) Synkroniserar %1 av %2 (%3 kvar) - + Syncing %1 (%2 left) Synkroniserar %1 (%2 kvar) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aktuell version diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index 95113051f..6292e4b2a 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -288,126 +288,126 @@ Total time left %5 Mirall::Folder - + Unable to create csync-context - + Local folder %1 does not exist. โฟลเดอร์ในเครื่อง %1 ไม่มีอยู่ - + %1 should be a directory but is not. %1 ควรเป็นไดเร็กทอรี่แต่ไม่ได้เป็น - + %1 is not readable. ไม่สามารถอ่านข้อมูล %1 ได้ - + %1: %2 - + %1 and %2 other files have been removed. %1 names a file. - + %1 has been removed. %1 names a file. - + %1 and %2 other files have been downloaded. %1 names a file. - + %1 has been downloaded. %1 names a file. - + %1 and %2 other files have been updated. - + %1 has been updated. %1 names a file. - + %1 has been renamed to %2 and %3 other files have been renamed. - + %1 has been renamed to %2. %1 and %2 name files. - + %1 has been moved to %2 and %3 other files have been moved. - + %1 has been moved to %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity - + Could not read system exclude file - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? - + Remove All Files? - + Remove all files - + Keep files @@ -425,52 +425,52 @@ Are you sure you want to perform this operation? - + Undefined State. สถานะที่ยังไม่ได้ถูกกำหนด - + Waits to start syncing. รอการเริ่มต้นซิงค์ข้อมูล - + Preparing for sync. - + Sync is running. การซิงค์ข้อมูลกำลังทำงาน - + Last Sync was successful. การซิงค์ข้อมูลครั้งล่าสุดเสร็จเรียบร้อยแล้ว - + Last Sync was successful, but with warnings on individual files. - + Setup Error. เกิดข้อผิดพลาดในการติดตั้ง - + User Abort. - + Sync is paused. การซิงค์ข้อมูลถูกหยุดไว้ชั่วคราว - + %1 (Sync is paused) @@ -1038,22 +1038,17 @@ for additional privileges during the process. - - Your entire account will be synced to the local folder '%1'. - - - - + %1 folder '%2' is synced to local folder '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> @@ -1133,8 +1128,8 @@ It is not advisable to use it. - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>โฟลเดอร์ภายในเครื่องสำหรับผสานข้อมูล %1 ได้ถูกสร้างขึ้นเรียบร้อยแล้ว!</b></font> @@ -1530,18 +1525,31 @@ It is not advisable to use it. Currently no files are ignored because of previous errors. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer + + Choose What to Sync + + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... @@ -1985,99 +1993,104 @@ It is not advisable to use it. - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + Hard links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Local files and share folder removed. - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2101,137 +2114,137 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in - + Disconnected from server - + Folder %1: %2 - + No sync folders configured. ยังไม่มีการกำหนดค่าโฟลเดอร์ที่ต้องการซิงค์ข้อมูล - + There are no sync folders configured. - + None. - + Recent Changes - + Open %1 folder เปิดโฟลเดอร์ %1 - + Managed Folders: โฟลเดอร์ที่มีการจัดการแล้ว: - + Open folder '%1' - + Open %1 in browser - + Calculating quota... - + Unknown status - + Settings... - + Details... - + Help ช่วยเหลือ - + Quit %1 - + Sign in... - + Sign out - + Quota n/a - + %1% of %2 in use - + No items synced recently - + Discovering '%1' - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index 002e1aab2..610206bfb 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -289,109 +289,109 @@ Toplam kalan süre: %5 Mirall::Folder - + Unable to create csync-context csync-context oluşturma başarısız - + Local folder %1 does not exist. %1 yerel klasörü mevcut değil. - + %1 should be a directory but is not. %1 bir dizin olmalı, ancak değil. - + %1 is not readable. %1 okunabilir değil. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 ve diğer %2 dosya kaldırıldı. - + %1 has been removed. %1 names a file. %1 kaldırıldı. - + %1 and %2 other files have been downloaded. %1 names a file. %1 ve diğer %2 dosya indirildi. - + %1 has been downloaded. %1 names a file. %1 indirildi. - + %1 and %2 other files have been updated. %1 ve diğer %2 dosya güncellendi. - + %1 has been updated. %1 names a file. %1 güncellendi. - + %1 has been renamed to %2 and %3 other files have been renamed. %1, %2 olarak ve diğer %3 dosya adlandırıldı. - + %1 has been renamed to %2. %1 and %2 name files. %1, %2 olarak adlandırıldı. - + %1 has been moved to %2 and %3 other files have been moved. %1, %2 konumuna ve diğer %3 dosya taşındı. - + %1 has been moved to %2. %1, %2 konumuna taşındı. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. %1 ve diğer %2 dosya hatalar nedeniyle eşitlenemedi. Ayrıntılar için günlüğe bakın. - + %1 could not be synced due to an error. See the log for details. %1 bir hata nedeniyle eşitlenemedi. Ayrıntılar için günlüğe bakın. - + Sync Activity Eşitleme Etkinliği - + Could not read system exclude file Sistem hariç tutulma dosyası okunamadı - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Bu, klasörün sessizce yeniden yapılandırılması veya tüm dosyaların el il Bu işlemi gerçekleştirmek istediğinize emin misiniz? - + Remove All Files? Tüm Dosyalar Kaldırılsın mı? - + Remove all files Tüm dosyaları kaldır - + Keep files Dosyaları koru @@ -428,52 +428,52 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Eski eşitleme günlüğü '%1' bulundu ancak kaldırılamadı. Başka bir uygulama tarafından kullanılmadığından emin olun. - + Undefined State. Tanımlanmamış Durum. - + Waits to start syncing. Eşitleme başlatmak için bekleniyor. - + Preparing for sync. Eşitleme için hazırlanıyor. - + Sync is running. Eşitleme çalışıyor. - + Last Sync was successful. Son Eşitleme başarılı oldu. - + Last Sync was successful, but with warnings on individual files. Son eşitleme başarılıydı, ancak tekil dosyalarda uyarılar vardı. - + Setup Error. Kurulum Hatası. - + User Abort. Kullanıcı İptal Etti. - + Sync is paused. Eşitleme duraklatıldı. - + %1 (Sync is paused) %1 (Eşitleme duraklatıldı) @@ -1044,22 +1044,17 @@ bu süreç sırasında ek yetki talebinde bulunabilir. Bağlan... - - Your entire account will be synced to the local folder '%1'. - Tüm hesabınız yerel '%1' klasörü ile eşitlenecek. - - - + %1 folder '%2' is synced to local folder '%3' %1 klasörü '%2', yerel '%3' klasörü ile eşitlendi - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Uyarı:</strong> Şu anda birden fazla yapılandırılmış klasörünüz var. Eğer geçerli ayarlarla devam ederseniz, klasör yapılandırmaları silinecek ve tek bir kök klasör eşitlemesi oluşturulacak!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Uyarı:</strong> Yerel klasör boş değil. Bir çözüm seçin!</small></p> @@ -1140,8 +1135,8 @@ Kullanmanız önerilmez. Klasör adlandırma başarısız - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Yerel eşitleme klasörü %1 başarıyla oluşturuldu!</b></font> @@ -1537,20 +1532,34 @@ Kullanmanız önerilmez. Currently no files are ignored because of previous errors. Önceki hata koşullarından dolayı yoksayılmış dosya yok. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - Önceki hata koşullarından dolayı %1 dosya yoksayıldı. -Bu dosyaları tekrar eşitlemeyi deneyin. + %n dosya önceki hatalar nedeniyle yoksayıldı. +Tekrar eşitleyi deneyin.em.%n dosya önceki hatalar nedeniyle yoksayıldı. +Tekrar eşitleyi deneyin.em. Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer - İşareti kaldırılan klasörler, bu bilgisayarla eşitlenmeyecektir + + Choose What to Sync + Ne Eşitleneceğini Seçin + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Yükleniyor... @@ -1995,99 +2004,104 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Kullanıcı tarafından iptal edildi - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. %1 numaralı bir hata oluştu. - + The item is not synced because of previous errors: %1 Bu öge önceki hatalar koşullarından dolayı eşitlenemiyor: %1 - + Symbolic links are not supported in syncing. Sembolik bağlantılar eşitlemede desteklenmiyor. - + Hard links are not supported in syncing. Sabit bağlantılar eşitlemede desteklenmemektedir. - + File is listed on the ignore list. Dosya yoksayma listesinde. - + File contains invalid characters that can not be synced cross platform. Dosya, çapraz platform arasında eşitlenemeyecek karakterler içeriyor. - + Unable to initialize a sync journal. Bir eşitleme günlüğü başlatılamadı. - + Cannot open the sync journal Eşitleme günlüğü açılamıyor - - + + Ignored because of the "choose what to sync" blacklist "Eşitlenecekleri seçin" kara listesinde olduğundan yoksayıldı. - + Not allowed because you don't have permission to add sub-directories in that directory Bu dizine alt dizin ekleme yetkiniz olmadığından izin verilmedi - + Not allowed because you don't have permission to add parent directory Üst dizin ekleme yetkiniz olmadığından izin verilmedi - + Not allowed because you don't have permission to add files in that directory Bu dizine dosya ekleme yetkiniz olmadığından izin verilmedi - + Not allowed to upload this file because it is read-only on the server, restoring Sunucuda salt okunur olduğundan, bu dosya yüklenemedi, geri alınıyor - - + + Not allowed to remove, restoring Kaldırmaya izin verilmedi, geri alınıyor - + Local files and share folder removed. Yerel dosyalar ve paylaşım klasörü kaldırıldı. - + Move not allowed, item restored Taşımaya izin verilmedi, öge geri alındı - + Move not allowed because %1 is read-only %1 salt okunur olduğundan taşımaya izin verilmedi - + the destination hedef - + the source kaynak @@ -2111,137 +2125,137 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::ownCloudGui - + Please sign in Lütfen oturum açın - + Disconnected from server Sunucu bağlantısı kesildi - + Folder %1: %2 Klasör %1: %2 - + No sync folders configured. Yapılandırılmış eşitleme klasörü yok. - + There are no sync folders configured. Yapılandırılmış eşitleme klasörü yok. - + None. Hiçbir şey. - + Recent Changes Son Değişiklikler - + Open %1 folder %1 klasörünü aç - + Managed Folders: Yönetilen Klasörler: - + Open folder '%1' '%1' klasörünü aç - + Open %1 in browser %1'ı tarayıcıda aç - + Calculating quota... Kota hesaplanıyor... - + Unknown status Bilinmeyen durum - + Settings... Ayarlar... - + Details... Ayrıntılar... - + Help Yardım - + Quit %1 %1'tan çık - + Sign in... Oturum aç... - + Sign out Oturumu kapat - + Quota n/a Kota kullanılamıyor - + %1% of %2 in use %2'ın % %1 kısmı kullanımda - + No items synced recently Yakın zamanda eşitlenen öge yok - + Discovering '%1' Ortaya çıkarılan: %1 - + Syncing %1 of %2 (%3 left) Eşitlenen %1/%2 (%3 kaldı) - + Syncing %1 (%2 left) Eşitlenen %1 (%2 kaldı) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Güncel diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 1212bbd8b..5496d8011 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -289,109 +289,109 @@ Total time left %5 Mirall::Folder - + Unable to create csync-context Неможливо створити csync-контекст - + Local folder %1 does not exist. Локальна тека %1 не існує. - + %1 should be a directory but is not. %1 повинна бути текою, але нею не є. - + %1 is not readable. %1 не читається. - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. %1 та %2 інших файлів було видалено. - + %1 has been removed. %1 names a file. %1 видалено. - + %1 and %2 other files have been downloaded. %1 names a file. %1 та %2 інших файлів було завантажено. - + %1 has been downloaded. %1 names a file. %1 завантажено. - + %1 and %2 other files have been updated. %1 та %2 інших файлів було оновлено. - + %1 has been updated. %1 names a file. %1 оновлено. - + %1 has been renamed to %2 and %3 other files have been renamed. %1 перейменовано в %2 та ще %3 інших файлів перейменовано. - + %1 has been renamed to %2. %1 and %2 name files. %1 перейменовано на %2 - + %1 has been moved to %2 and %3 other files have been moved. %1 переміщено до %2 та ще %3 інших файлів. - + %1 has been moved to %2. %1 переміщено в %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. %1 та %2 інші файли не можуть синхронізуватися через помилки. Дивіться деталі в журналі. - + %1 could not be synced due to an error. See the log for details. %1 не може синхронізуватися через помилки. Дивіться деталі в журналі. - + Sync Activity Журнал синхронізації - + Could not read system exclude file Неможливо прочитати виключений системний файл - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -400,17 +400,17 @@ Are you sure you want to perform this operation? Ви дійсно бажаєте продовжити цю операцію? - + Remove All Files? Видалити усі файли? - + Remove all files Видалити усі файли - + Keep files Зберегти файли @@ -428,52 +428,52 @@ Are you sure you want to perform this operation? Знайдено старий журнал синхронізації '%1', його неможливо видалити. Будь ласка, впевніться що він не відкритий в іншій програмі. - + Undefined State. Невизначений стан. - + Waits to start syncing. Очікування початку синхронізації. - + Preparing for sync. Підготовка до синхронізації - + Sync is running. Синхронізація запущена. - + Last Sync was successful. Остання синхронізація була успішною. - + Last Sync was successful, but with warnings on individual files. Остання синхронізація пройшла вдало, але були зауваження про деякі файли. - + Setup Error. Помилка установки. - + User Abort. Відмінено користувачем. - + Sync is paused. Синхронізація призупинена. - + %1 (Sync is paused) %1 (Синхронізація призупинена) @@ -1044,22 +1044,17 @@ for additional privileges during the process. Підключення ... - - Your entire account will be synced to the local folder '%1'. - Ваш запис цілком синхронізовано із локальною текою '%1'. - - - + %1 folder '%2' is synced to local folder '%3' %1 тека '%2' синхронізована з локальним каталогом '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> <p><small><strong>Увага:</strong> У вас налаштовано декілька каталогів. Якщо ви продовжите з цими налаштуваннями, налаштування тек будуть відкинуті та буде створена одна батьківська тека!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>Увага:</strong> Локальна тека не пуста. Оберіть рішення!</small></p> @@ -1140,8 +1135,8 @@ It is not advisable to use it. Не вдалося перейменувати теку - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Локальна тека синхронізації %1 успішно створена!</b></font> @@ -1537,20 +1532,32 @@ It is not advisable to use it. Currently no files are ignored because of previous errors. На даний час, проігноровані файли відсутні через помилки. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - %1 проігноровано через помилки. -Спробуйте повторити синхронізацію. + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer - Не відмічені теки не будуть синхронізовані на цьому компь'ютері + + Choose What to Sync + Оберіть, що хочете синхронізувати + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + Завантаження ... @@ -1995,99 +2002,104 @@ It is not advisable to use it. Перервано користувачем - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. Виникла внутрішня помилка за номером %1. - + The item is not synced because of previous errors: %1 Шлях не синхронізується через помилки: %1 - + Symbolic links are not supported in syncing. Синхронізація символічних посилань не підтримується. - + Hard links are not supported in syncing. Синхронізація жорстких посилань не підтримується. - + File is listed on the ignore list. Файл присутній у списку ігноруємих. - + File contains invalid characters that can not be synced cross platform. Файл містить недопустимі символи, через це синхронізація між платформами неможлива. - + Unable to initialize a sync journal. Не вдалося ініціалізувати протокол синхронізації. - + Cannot open the sync journal Не вдається відкрити протокол синхронізації - - + + Ignored because of the "choose what to sync" blacklist Ігнорується через чорний список в "обрати що синхронізувати" - + Not allowed because you don't have permission to add sub-directories in that directory Не дозволено через відсутність прав на додавання підкаталогів в цій теці. - + Not allowed because you don't have permission to add parent directory Не дозволено через відсутність прав на додавання батьківської теки. - + Not allowed because you don't have permission to add files in that directory Не дозволено через відсутність прав на додавання файлів в цю теку. - + Not allowed to upload this file because it is read-only on the server, restoring Не дозволено завантажувати цей файл, оскільки він має дозвіл лише на перегляд, відновлюємо - - + + Not allowed to remove, restoring Не дозволено видаляти, відновлюємо - + Local files and share folder removed. Локальні файли та теки в загальному доступі було видалено. - + Move not allowed, item restored Переміщення не дозволено, елемент відновлено - + Move not allowed because %1 is read-only Переміщення не дозволено, оскільки %1 помічений тільки для перегляду - + the destination призначення - + the source джерело @@ -2111,137 +2123,137 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in Будь ласка ввійдіть в обліковий запис - + Disconnected from server Від'єднано від серверу - + Folder %1: %2 Тека %1: %2 - + No sync folders configured. Жодна тека не налаштована для синхронізації. - + There are no sync folders configured. Немає налаштованих тек для синхронізації. - + None. Пусто. - + Recent Changes Недавні зміни - + Open %1 folder Відкрити %1 каталог - + Managed Folders: Керовані теки: - + Open folder '%1' Відкрити теку '%1' - + Open %1 in browser Відкрити %1 в браузері - + Calculating quota... Підрахунок квоти... - + Unknown status Невідомий статус - + Settings... Налаштування... - + Details... Деталі... - + Help Допомога - + Quit %1 Закрити %1 - + Sign in... Ввійти... - + Sign out Вийти - + Quota n/a Квота недоступна - + %1% of %2 in use Використовується %1% з %2. - + No items synced recently Нещодавно нічого не синхронізувалося - + Discovering '%1' Виявлення '%1' - + Syncing %1 of %2 (%3 left) Синхронізовано %1 з %2 (залишилося %3) - + Syncing %1 (%2 left) Синхронізовано %1 (залишилося %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Оновлено diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 20339002d..b12b39cea 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -288,109 +288,109 @@ Total time left %5 Mirall::Folder - + Unable to create csync-context 不能生成 csync-context - + Local folder %1 does not exist. 本地文件夹 %1 不存在。 - + %1 should be a directory but is not. %1 应为目录但并不是。 - + %1 is not readable. %1 不可读。 - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. - + %1 has been removed. %1 names a file. %1 已移除。 - + %1 and %2 other files have been downloaded. %1 names a file. - + %1 has been downloaded. %1 names a file. %1 已下载。 - + %1 and %2 other files have been updated. %1 和 %2 个其它文件已更新。 - + %1 has been updated. %1 names a file. %1 已更新。 - + %1 has been renamed to %2 and %3 other files have been renamed. - + %1 has been renamed to %2. %1 and %2 name files. - + %1 has been moved to %2 and %3 other files have been moved. - + %1 has been moved to %2. %1 已移动至 %2。 - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity 同步活动 - + Could not read system exclude file - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? @@ -399,17 +399,17 @@ Are you sure you want to perform this operation? 你确定执行该操作吗? - + Remove All Files? 删除所有文件? - + Remove all files 删除所有文件 - + Keep files 保持所有文件 @@ -427,52 +427,52 @@ Are you sure you want to perform this operation? 一个旧的同步日志 '%1' 被找到,但是不能被移除。请确定没有应用程序正在使用它。 - + Undefined State. 未知状态。 - + Waits to start syncing. 等待启动同步。 - + Preparing for sync. 准备同步。 - + Sync is running. 同步正在运行。 - + Last Sync was successful. 最后一次同步成功。 - + Last Sync was successful, but with warnings on individual files. 上次同步已成功,不过一些文件出现了警告。 - + Setup Error. 安装失败 - + User Abort. 用户撤销。 - + Sync is paused. 同步已暂停。 - + %1 (Sync is paused) %1 (同步已暂停) @@ -1042,22 +1042,17 @@ for additional privileges during the process. 连接... - - Your entire account will be synced to the local folder '%1'. - 您的整个账户将被同步到本地文件夹 %1。 - - - + %1 folder '%2' is synced to local folder '%3' %1 文件夹 '%2' 将被同步到本地文件夹 '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> 警告:当前设置了多个文件夹。如果继续当前操作,文件夹设置将丢失,且一个根文件夹会被建立并同步。 - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> <p><small><strong>警告:</strong> 本地目录非空。选择一个操作!</small></p> @@ -1137,8 +1132,8 @@ It is not advisable to use it. 文件夹更名失败 - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>本地同步目录 %1 已成功创建</b></font> @@ -1534,20 +1529,33 @@ It is not advisable to use it. Currently no files are ignored because of previous errors. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer + + Choose What to Sync + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + 加载中... + Mirall::SettingsDialog @@ -1991,99 +1999,104 @@ It is not advisable to use it. 用户撤销 - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. 符号链接不被同步支持。 - + Hard links are not supported in syncing. - + File is listed on the ignore list. 文件在忽略列表中。 - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. 无法初始化同步日志 - + Cannot open the sync journal 无法打开同步日志 - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Local files and share folder removed. - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2107,137 +2120,137 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in 请登录 - + Disconnected from server 已从服务器断开 - + Folder %1: %2 文件夹 %1: %2 - + No sync folders configured. 没有已配置的同步文件夹。 - + There are no sync folders configured. - + None. 无。 - + Recent Changes 最近修改 - + Open %1 folder 打开 %1 目录 - + Managed Folders: 管理的文件夹: - + Open folder '%1' 打开文件夹“%1” - + Open %1 in browser 在浏览器中打开%1 - + Calculating quota... 计算配额.... - + Unknown status 未知状态 - + Settings... 设置... - + Details... 细节... - + Help 帮助 - + Quit %1 退出 %1 - + Sign in... 登录... - + Sign out 注销 - + Quota n/a 配额无限制 - + %1% of %2 in use 已使用 %2,总计 %1% - + No items synced recently - + Discovering '%1' - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date 更新 diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index 4e871bf65..c0ea66d84 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -288,126 +288,126 @@ Total time left %5 Mirall::Folder - + Unable to create csync-context - + Local folder %1 does not exist. 本地資料夾 %1 不存在 - + %1 should be a directory but is not. 資料夾不存在, %1 必須是資料夾 - + %1 is not readable. %1 是不可讀的 - + %1: %2 %1: %2 - + %1 and %2 other files have been removed. %1 names a file. - + %1 has been removed. %1 names a file. - + %1 and %2 other files have been downloaded. %1 names a file. - + %1 has been downloaded. %1 names a file. - + %1 and %2 other files have been updated. - + %1 has been updated. %1 names a file. - + %1 has been renamed to %2 and %3 other files have been renamed. - + %1 has been renamed to %2. %1 and %2 name files. - + %1 has been moved to %2 and %3 other files have been moved. - + %1 has been moved to %2. - + %1 and %2 other files could not be synced due to errors. See the log for details. %1 names a file. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity 同步啟用 - + Could not read system exclude file - + This sync would remove all the files in the sync folder '%1'. This might be because the folder was silently reconfigured, or that all the file were manually removed. Are you sure you want to perform this operation? - + Remove All Files? 移除所有檔案? - + Remove all files 移除所有檔案 - + Keep files 保留檔案 @@ -425,52 +425,52 @@ Are you sure you want to perform this operation? 發現較舊的同步處理日誌'%1',但無法移除。請確認沒有應用程式正在使用它。 - + Undefined State. 未知狀態 - + Waits to start syncing. 等待啟動同步 - + Preparing for sync. 正在準備同步。 - + Sync is running. 同步執行中 - + Last Sync was successful. 最後一次同步成功 - + Last Sync was successful, but with warnings on individual files. - + Setup Error. 安裝失敗 - + User Abort. 使用者中斷。 - + Sync is paused. 同步已暫停 - + %1 (Sync is paused) %1 (同步暫停) @@ -1038,22 +1038,17 @@ for additional privileges during the process. 連線中... - - Your entire account will be synced to the local folder '%1'. - - - - + %1 folder '%2' is synced to local folder '%3' - + <p><small><strong>Warning:</strong> You currently have multiple folders configured. If you continue with the current settings, the folder configurations will be discarded and a single root folder sync will be created!</small></p> - + <p><small><strong>Warning:</strong> The local directory is not empty. Pick a resolution!</small></p> @@ -1133,8 +1128,8 @@ It is not advisable to use it. 重新命名資料夾失敗 - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>本地同步資料夾 %1 建立成功!</b></font> @@ -1530,20 +1525,33 @@ It is not advisable to use it. Currently no files are ignored because of previous errors. - + - %1 files are ignored because of previous errors. + %n files are ignored because of previous errors. Try to sync these again. - + Mirall::SelectiveSyncDialog - - Unchecked folders will not be sync to this computer + + Choose What to Sync + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + + + + + Mirall::SelectiveSyncTreeView + + + Loading ... + 載入中… + Mirall::SettingsDialog @@ -1985,99 +1993,104 @@ It is not advisable to use it. - + + The mounted directory is temporary not available on the server + + + + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + Hard links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. - + Unable to initialize a sync journal. - + Cannot open the sync journal - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add sub-directories in that directory - + Not allowed because you don't have permission to add parent directory - + Not allowed because you don't have permission to add files in that directory - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Local files and share folder removed. - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2101,137 +2114,137 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in 請登入 - + Disconnected from server - + Folder %1: %2 資料夾 %1: %2 - + No sync folders configured. 尚未指定同步資料夾 - + There are no sync folders configured. - + None. 無。 - + Recent Changes - + Open %1 folder 開啟%1資料夾 - + Managed Folders: 管理的資料夾: - + Open folder '%1' 開啟 %1 資料夾 - + Open %1 in browser 瀏覽器中開啟 %1 - + Calculating quota... - + Unknown status 未知狀態 - + Settings... 設定… - + Details... 細節… - + Help 說明 - + Quit %1 離開 %1 - + Sign in... 登入中... - + Sign out 登出 - + Quota n/a 無配額 - + %1% of %2 in use - + No items synced recently - + Discovering '%1' - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date 最新的