From ade92d8ac1096d070a4c6f8aa14f12c8feb40ca4 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 17 Jun 2014 10:41:36 +0200 Subject: [PATCH 001/190] csync test: fix warning --- csync/tests/csync_tests/check_csync_create.c | 1 - 1 file changed, 1 deletion(-) diff --git a/csync/tests/csync_tests/check_csync_create.c b/csync/tests/csync_tests/check_csync_create.c index bf4e5c8f1..90caab695 100644 --- a/csync/tests/csync_tests/check_csync_create.c +++ b/csync/tests/csync_tests/check_csync_create.c @@ -38,7 +38,6 @@ static void check_csync_destroy_null(void **state) static void check_csync_create(void **state) { CSYNC *csync; - char confdir[1024] = {0}; int rc; (void) state; /* unused */ From b83f6c0b3ae01ebf991ecfc8c15ee2271cdf78dd Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Sat, 7 Jun 2014 11:49:46 +0200 Subject: [PATCH 002/190] sync engine: try to respect permission This is still Work in progress --- src/mirall/owncloudpropagator.cpp | 10 +- src/mirall/owncloudpropagator.h | 10 +- src/mirall/syncengine.cpp | 185 ++++++++++++++++++++++++++++++ src/mirall/syncengine.h | 7 ++ src/mirall/syncfileitem.h | 3 +- 5 files changed, 210 insertions(+), 5 deletions(-) diff --git a/src/mirall/owncloudpropagator.cpp b/src/mirall/owncloudpropagator.cpp index 0003b0ed8..8644d6fc1 100644 --- a/src/mirall/owncloudpropagator.cpp +++ b/src/mirall/owncloudpropagator.cpp @@ -43,7 +43,15 @@ static int maximumActiveJob() { void PropagateItemJob::done(SyncFileItem::Status status, const QString &errorString) { - _item._errorString = errorString; + if (_item._isRestoration) { + if( status == SyncFileItem::Success || status == SyncFileItem::Conflict) { + status = SyncFileItem::SoftError; + } else { + _item._errorString += tr("; Restoration Failed: ") + errorString; + } + } else { + _item._errorString = errorString; + } _item._status = status; // Blacklisting diff --git a/src/mirall/owncloudpropagator.h b/src/mirall/owncloudpropagator.h index 33146aa50..ab99ef2dc 100644 --- a/src/mirall/owncloudpropagator.h +++ b/src/mirall/owncloudpropagator.h @@ -139,11 +139,15 @@ protected: * set a custom restore job message that is used if the restore job succeeded. * It is displayed in the activity view. */ - QString restoreJobMsg() const { return _restoreJobMsg; } - void setRestoreJobMsg( const QString& msg = QString() ) { _restoreJobMsg = msg; } + QString restoreJobMsg() const { + return _item._isRestoration ? _item._errorString : QString(); + } + void setRestoreJobMsg( const QString& msg = QString() ) { + _item._isRestoration = true; + _item._errorString = msg; + } SyncFileItem _item; - QString _restoreJobMsg; protected slots: void slotRestoreJobCompleted(const SyncFileItem& ); diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index 65267d186..3d391aae8 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -526,6 +526,7 @@ void SyncEngine::slotUpdateFinished(int updateResult) handleSyncError(_csync_ctx, "csync_reconcile"); return; } + _stopWatch.addLapTime(QLatin1String("Reconcile Finished")); _progressInfo = Progress::Info(); @@ -548,6 +549,9 @@ void SyncEngine::slotUpdateFinished(int updateResult) it->_file = adjustRenamedPath(it->_file); } + // make sure everything is allowed + checkForPermission(); + // Sanity check if (!_journal->isConnected()) { qDebug() << "Bailing out, DB failure"; @@ -698,6 +702,187 @@ QString SyncEngine::adjustRenamedPath(const QString& original) return original; } +void SyncEngine::checkForPermission() +{ + for (SyncFileItemVector::iterator it = _syncedItems.begin(); it != _syncedItems.end(); ++it) { + + if (it->_direction != SyncFileItem::Up) { + // Currently we only check server-side permissions + continue; + } + + switch(it->_instruction) { + case CSYNC_INSTRUCTION_NEW: { + int slashPos = it->_file.lastIndexOf('/'); + QString parentDir = slashPos <= 0 ? "" : it->_file.mid(0, slashPos); + const QByteArray perms = getPermissions(parentDir); + if (perms.isNull()) { + // No permissions set + break; + } else if (it->_isDirectory && !perms.contains("K")) { + qDebug() << "checkForPermission: ERROR" << it->_file; + it->_instruction = CSYNC_INSTRUCTION_ERROR; + it->_status = SyncFileItem::NormalError; + it->_errorString = tr("Not allowed because you don't have permission to add sub-directories in that directory"); + + const QString path = it->_file + QLatin1Char('/'); + for (SyncFileItemVector::iterator it_next = it + 1; it_next != _syncedItems.end() && it_next->_file.startsWith(path); ++it_next) { + it = it_next; + it->_instruction = CSYNC_INSTRUCTION_ERROR; + it->_status = SyncFileItem::NormalError; + it->_errorString = tr("Not allowed because you don't have permission to add parent directory"); + } + + } else if (!it->_isDirectory && !perms.contains("C")) { + qDebug() << "checkForPermission: ERROR" << it->_file; + it->_instruction = CSYNC_INSTRUCTION_ERROR; + it->_status = SyncFileItem::NormalError; + it->_errorString = tr("Not allowed because you don't have permission to add files in that directory"); + } + break; + } + case CSYNC_INSTRUCTION_SYNC: { + const QByteArray perms = getPermissions(it->_file); + if (perms.isNull()) { + // No permissions set + break; + } if (!it->_isDirectory && !perms.contains("W")) { + qDebug() << "checkForPermission: RESTORING" << it->_file; + it->_instruction = CSYNC_INSTRUCTION_CONFLICT; + it->_direction = SyncFileItem::Down; + it->_isRestoration = true; + it->_errorString = tr("Not allowed to upload this file because it is read-only on the server, restoring"); + continue; + } + break; + } + case CSYNC_INSTRUCTION_REMOVE: { + const QByteArray perms = getPermissions(it->_file); + if (perms.isNull()) { + // No permissions set + break; + } if (!perms.contains("D")) { + qDebug() << "checkForPermission: RESTORING" << it->_file; + it->_instruction = CSYNC_INSTRUCTION_NEW; + it->_direction = SyncFileItem::Down; + it->_isRestoration = true; + it->_errorString = tr("Not allowed to remove, restoring"); + + if (it->_isDirectory) { + // restore all sub items + const QString path = it->_file + QLatin1Char('/'); + for (SyncFileItemVector::iterator it_next = it + 1; + it_next != _syncedItems.end() && it_next->_file.startsWith(path); ++it_next) { + it = it_next; + + if (it->_instruction != CSYNC_INSTRUCTION_REMOVE) { + qWarning() << "non-removed job within a removed directory" + << it->_file << it->_instruction; + continue; + } + + qDebug() << "checkForPermission: RESTORING" << it->_file; + + it->_instruction = CSYNC_INSTRUCTION_NEW; + it->_direction = SyncFileItem::Down; + it->_isRestoration = true; + it->_errorString = tr("Not allowed to remove, restoring"); + } + } + } + break; + } + + case CSYNC_INSTRUCTION_RENAME: { + + int slashPos = it->_renameTarget.lastIndexOf('/'); + const QString parentDir = slashPos <= 0 ? "" : it->_renameTarget.mid(0, slashPos-1); + const QByteArray destPerms = getPermissions(parentDir); + const QByteArray filePerms = getPermissions(it->_file); + + //true when it is just a rename in the same directory. (not a move) + bool isRename = it->_file.startsWith(parentDir) && it->_file.lastIndexOf('/') == slashPos; + + + // Check if we are allowed to move to the destination. + bool destinationOK = true; + if (isRename || destPerms.isNull()) { + // no need to check for the destination dir permission + destinationOK = true; + } else if (it->_isDirectory && !destPerms.contains("K")) { + destinationOK = false; + } else if (!it->_isDirectory && !destPerms.contains("C")) { + destinationOK = false; + } + + // check if we are allowed to move from the source + bool sourceOK = true; + if (!filePerms.isNull() + && ((isRename && !filePerms.contains("N")) + || (!isRename && !filePerms.contains("M")))) { + + // We are not allowed to move or rename this file + sourceOK = false; + + if (filePerms.contains("D") && destinationOK) { + // but we are allowed to delete it + // TODO! simulate delete & upload + } + } + + if (!sourceOK && !destinationOK) { + // Both the source and the destination won't allow move. Move back to the original + std::swap(it->_file, it->_renameTarget); + it->_direction = SyncFileItem::Down; + it->_errorString = tr("Move not allowed, item restored"); + it->_isRestoration = true; + qDebug() << "checkForPermission: MOVING BACK" << it->_file; + } else if (!sourceOK || !destinationOK) { + // One of them is not possible, just throw an error + it->_instruction = CSYNC_INSTRUCTION_ERROR; + it->_status = SyncFileItem::NormalError; + const QString errorString = tr("Move not allowed because %1 is read-only").arg( + sourceOK ? tr("the destination") : tr("the source")); + it->_errorString = errorString; + + qDebug() << "checkForPermission: ERROR MOVING" << it->_file << errorString; + + if (it->_isDirectory) { + const QString path = it->_file + QLatin1Char('/'); + for (SyncFileItemVector::iterator it_next = it + 1; + it_next != _syncedItems.end() && it_next->_file.startsWith(path); ++it_next) { + it = it_next; + it->_instruction = CSYNC_INSTRUCTION_ERROR; + it->_status = SyncFileItem::NormalError; + it->_errorString = errorString; + qDebug() << "checkForPermission: ERROR MOVING" << it->_file; + } + } + } + break; + } + default: + break; + } + } +} + +QByteArray SyncEngine::getPermissions(const QString& file) +{ + //FIXME; + static bool isTest = qgetenv("OWNCLOUD_TEST_PERMISSIONS").toInt(); + if (isTest) { + QRegExp rx("_PERM_([^_]*)_[^/]*$"); + if (rx.indexIn(file) != -1) { + qDebug() << Q_FUNC_INFO << file << rx.cap(1); + return rx.cap(1).toLatin1(); + } + } + qDebug() << Q_FUNC_INFO << file << "*" << isTest; + return QByteArray(); +} + + void SyncEngine::abort() { csync_request_abort(_csync_ctx); diff --git a/src/mirall/syncengine.h b/src/mirall/syncengine.h index 6aeb384ec..cb45f325b 100644 --- a/src/mirall/syncengine.h +++ b/src/mirall/syncengine.h @@ -126,6 +126,13 @@ private: QHash _renamedFolders; QString adjustRenamedPath(const QString &original); + /** + * check if we are allowed to propagate everything, and if we are not, adjust the instructions + * to recover + */ + void checkForPermission(); + QByteArray getPermissions(const QString& file); + bool _hasFiles; // true if there is at least one file that is not ignored or removed int _uploadLimit; diff --git a/src/mirall/syncfileitem.h b/src/mirall/syncfileitem.h index b869a3dd3..2dc882ac0 100644 --- a/src/mirall/syncfileitem.h +++ b/src/mirall/syncfileitem.h @@ -51,7 +51,7 @@ public: SyncFileItem() : _type(UnknownType), _direction(None), _instruction(CSYNC_INSTRUCTION_NONE), _size(0), _should_update_etag(false), _blacklistedInDb(false), - _status(NoStatus), _httpErrorCode(0), _requestDuration(0) {} + _status(NoStatus), _httpErrorCode(0), _requestDuration(0), _isRestoration(false) {} friend bool operator==(const SyncFileItem& item1, const SyncFileItem& item2) { return item1._file == item2._file; @@ -97,6 +97,7 @@ public: int _httpErrorCode; QString _responseTimeStamp; quint64 _requestDuration; + bool _isRestoration; // The original operation was forbidden, and this is a restoration struct { quint64 _size; From c759e8bb8f35630cae401db9d950caf70e4ab7d6 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 17 Jun 2014 14:50:24 +0200 Subject: [PATCH 003/190] permission: read them from the tree --- src/mirall/syncengine.cpp | 11 +++++++---- src/mirall/syncengine.h | 5 ++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index 3d391aae8..bb8f5cab2 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -395,6 +395,11 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) item.log._other_size = file->other.size; _syncedItems.append(item); + + if (remote && file->remotePerm) { + _remotePerms[item._file] = file->remotePerm; + } + emit syncItemDiscovered(item); return re; } @@ -867,19 +872,17 @@ void SyncEngine::checkForPermission() } } -QByteArray SyncEngine::getPermissions(const QString& file) +QByteArray SyncEngine::getPermissions(const QString& file) const { //FIXME; static bool isTest = qgetenv("OWNCLOUD_TEST_PERMISSIONS").toInt(); if (isTest) { QRegExp rx("_PERM_([^_]*)_[^/]*$"); if (rx.indexIn(file) != -1) { - qDebug() << Q_FUNC_INFO << file << rx.cap(1); return rx.cap(1).toLatin1(); } } - qDebug() << Q_FUNC_INFO << file << "*" << isTest; - return QByteArray(); + return _remotePerms.value(file); } diff --git a/src/mirall/syncengine.h b/src/mirall/syncengine.h index cb45f325b..7447ff304 100644 --- a/src/mirall/syncengine.h +++ b/src/mirall/syncengine.h @@ -131,12 +131,15 @@ private: * to recover */ void checkForPermission(); - QByteArray getPermissions(const QString& file); + QByteArray getPermissions(const QString& file) const; bool _hasFiles; // true if there is at least one file that is not ignored or removed int _uploadLimit; int _downloadLimit; + + // hash containing the permissions on the remote directory + QHash _remotePerms; }; From b91967f4d9720ec134e6cbb0341000a160157906 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Tue, 17 Jun 2014 14:53:06 +0200 Subject: [PATCH 004/190] Fix regression over 1.5: Fix non-fba auth for Shib IdPs --- src/creds/shibboleth/shibbolethwebview.cpp | 19 ------------------- src/creds/shibboleth/shibbolethwebview.h | 1 - src/creds/shibbolethcredentials.cpp | 21 +++++++++++++++++++++ src/creds/shibbolethcredentials.h | 3 +++ 4 files changed, 24 insertions(+), 20 deletions(-) diff --git a/src/creds/shibboleth/shibbolethwebview.cpp b/src/creds/shibboleth/shibbolethwebview.cpp index c641d22c8..8a9f6d9db 100644 --- a/src/creds/shibboleth/shibbolethwebview.cpp +++ b/src/creds/shibboleth/shibbolethwebview.cpp @@ -18,10 +18,8 @@ #include #include #include -#include #include -#include "creds/shibboleth/authenticationdialog.h" #include "creds/shibboleth/shibbolethwebview.h" #include "creds/shibbolethcredentials.h" #include "mirall/account.h" @@ -106,23 +104,6 @@ void ShibbolethWebView::slotLoadFinished(bool success) } } -void ShibbolethWebView::slotHandleAuthentication(QNetworkReply *reply, QAuthenticator *authenticator) -{ - Q_UNUSED(reply) - QUrl url = reply->url(); - // show only scheme, host and port - QUrl reducedUrl; - reducedUrl.setScheme(url.scheme()); - reducedUrl.setHost(url.host()); - reducedUrl.setPort(url.port()); - - AuthenticationDialog dialog(authenticator->realm(), reducedUrl.toString(), this); - if (dialog.exec() == QDialog::Accepted) { - authenticator->setUser(dialog.user()); - authenticator->setPassword(dialog.password()); - } -} - void ShibbolethWebView::accept() { _accepted = true; diff --git a/src/creds/shibboleth/shibbolethwebview.h b/src/creds/shibboleth/shibbolethwebview.h index 1999dfde9..37b58c8cb 100644 --- a/src/creds/shibboleth/shibbolethwebview.h +++ b/src/creds/shibboleth/shibbolethwebview.h @@ -47,7 +47,6 @@ private Q_SLOTS: void onNewCookiesForUrl(const QList& cookieList, const QUrl& url); void slotLoadStarted(); void slotLoadFinished(bool success); - void slotHandleAuthentication(QNetworkReply*,QAuthenticator*); protected: void accept(); diff --git a/src/creds/shibbolethcredentials.cpp b/src/creds/shibbolethcredentials.cpp index 6c01efc53..d9e3217f2 100644 --- a/src/creds/shibbolethcredentials.cpp +++ b/src/creds/shibbolethcredentials.cpp @@ -16,9 +16,11 @@ #include #include #include +#include #include #include "creds/shibbolethcredentials.h" +#include "creds/shibboleth/authenticationdialog.h" #include "creds/shibboleth/shibbolethwebview.h" #include "creds/shibboleth/shibbolethrefresher.h" #include "creds/shibbolethcredentials.h" @@ -154,6 +156,8 @@ QNetworkAccessManager* ShibbolethCredentials::getQNAM() const QNetworkAccessManager* qnam(new MirallAccessManager); connect(qnam, SIGNAL(finished(QNetworkReply*)), this, SLOT(slotReplyFinished(QNetworkReply*))); + connect(qnam, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)), + SLOT(slotHandleAuthentication(QNetworkReply*,QAuthenticator*))); return qnam; } @@ -298,6 +302,23 @@ void ShibbolethCredentials::invalidateAndFetch(Account* account) job->start(); } +void ShibbolethCredentials::slotHandleAuthentication(QNetworkReply *reply, QAuthenticator *authenticator) +{ + Q_UNUSED(reply) + QUrl url = reply->url(); + // show only scheme, host and port + QUrl reducedUrl; + reducedUrl.setScheme(url.scheme()); + reducedUrl.setHost(url.host()); + reducedUrl.setPort(url.port()); + + AuthenticationDialog dialog(authenticator->realm(), reducedUrl.toString()); + if (dialog.exec() == QDialog::Accepted) { + authenticator->setUser(dialog.user()); + authenticator->setPassword(dialog.password()); + } +} + void ShibbolethCredentials::slotInvalidateAndFetchInvalidateDone(QKeychain::Job* job) { Account *account = qvariant_cast(job->property("account")); diff --git a/src/creds/shibbolethcredentials.h b/src/creds/shibbolethcredentials.h index fe23ab208..85efe51ad 100644 --- a/src/creds/shibbolethcredentials.h +++ b/src/creds/shibbolethcredentials.h @@ -26,6 +26,8 @@ namespace QKeychain { class Job; } +class QAuthenticator; + namespace Mirall { @@ -58,6 +60,7 @@ public: public Q_SLOTS: void invalidateAndFetch(Account *account); + void slotHandleAuthentication(QNetworkReply*,QAuthenticator*); private Q_SLOTS: void onShibbolethCookieReceived(const QNetworkCookie&, Account*); From b71881d3003ba89a9e5a19dd538238edee514e9d Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 17 Jun 2014 16:29:38 +0200 Subject: [PATCH 005/190] SyncEngine: Use QSet for the seenFiles rather than QHash. We can save some memory here as the seenFiles list can be long. --- src/mirall/syncengine.cpp | 3 ++- src/mirall/syncengine.h | 3 ++- src/mirall/syncjournaldb.cpp | 2 +- src/mirall/syncjournaldb.h | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index 3e5c6c9c7..b5f4fcc3b 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -265,7 +265,7 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) item._fileId = file->file_id; // record the seen files to be able to clean the journal later - _seenFiles[item._file] = QString(); + _seenFiles.insert(item._file); switch(file->error_status) { case CSYNC_STATUS_OK: @@ -655,6 +655,7 @@ void SyncEngine::slotFinished() if( ! _journal->postSyncCleanup( _seenFiles ) ) { qDebug() << "Cleaning of synced "; } + _journal->commit("All Finished.", false); emit treeWalkResult(_syncedItems); finalize(); diff --git a/src/mirall/syncengine.h b/src/mirall/syncengine.h index 5f9c6e1dd..691c1c5f8 100644 --- a/src/mirall/syncengine.h +++ b/src/mirall/syncengine.h @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -115,7 +116,7 @@ private: SyncJournalDb *_journal; QScopedPointer _propagator; QString _lastDeleted; // if the last item was a path and it has been deleted - QHash _seenFiles; + QSet _seenFiles; QThread _thread; Progress::Info _progressInfo; diff --git a/src/mirall/syncjournaldb.cpp b/src/mirall/syncjournaldb.cpp index 143637c84..956766937 100644 --- a/src/mirall/syncjournaldb.cpp +++ b/src/mirall/syncjournaldb.cpp @@ -491,7 +491,7 @@ SyncJournalFileRecord SyncJournalDb::getFileRecord( const QString& filename ) return rec; } -bool SyncJournalDb::postSyncCleanup(const QHash &items ) +bool SyncJournalDb::postSyncCleanup(const QSet &items ) { QMutexLocker locker(&_mutex); diff --git a/src/mirall/syncjournaldb.h b/src/mirall/syncjournaldb.h index 097c29788..6663df83f 100644 --- a/src/mirall/syncjournaldb.h +++ b/src/mirall/syncjournaldb.h @@ -79,7 +79,7 @@ public: */ void avoidReadFromDbOnNextSync(const QString& fileName); - bool postSyncCleanup( const QHash& items ); + bool postSyncCleanup( const QSet& items ); /* Because sqlite transactions is really slow, we encapsulate everything in big transactions * Commit will actually commit the transaction and create a new one. From 0a953b91f9efdf6969efe6b30bea0c720f86b8ae Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 17 Jun 2014 16:40:38 +0200 Subject: [PATCH 006/190] csync_vio_local: fix memory leak on windows --- csync/src/vio/csync_vio_local.c | 1 + 1 file changed, 1 insertion(+) diff --git a/csync/src/vio/csync_vio_local.c b/csync/src/vio/csync_vio_local.c index ce2b257d0..1d51f0cbb 100644 --- a/csync/src/vio/csync_vio_local.c +++ b/csync/src/vio/csync_vio_local.c @@ -260,6 +260,7 @@ int csync_vio_local_stat(const char *uri, csync_vio_file_stat_t *buf) { buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_CTIME; } + c_free_locale_string(wuri); CloseHandle(h); return 0; From 0880444e37a992068c5d8b04143bb484accb0a06 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 18 Jun 2014 15:04:55 +0200 Subject: [PATCH 007/190] Syncengine: Wait for the neon thead to be finished before destroying the Propagator and calling csync_commit The legacy job might still need the neon session and the propagator. We need to make sure the thread exits before. This fixes crash when pausing a sync made with the legacy jobs (for example when there is network limitation) This should fix https://github.com/owncloud/enterprise/issues/200 --- src/mirall/syncengine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index b5f4fcc3b..eacfd0821 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -663,14 +663,14 @@ void SyncEngine::slotFinished() void SyncEngine::finalize() { + _thread.quit(); + _thread.wait(); csync_commit(_csync_ctx); qDebug() << "CSync run took " << _stopWatch.addLapTime(QLatin1String("Sync Finished")); _stopWatch.stop(); _propagator.reset(0); - _thread.quit(); - _thread.wait(); _syncRunning = false; emit finished(); } From 646eafb05da8f751780834a5191b2b2c7d46efd3 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 18 Jun 2014 15:09:19 +0200 Subject: [PATCH 008/190] Legacy propagator jobs: Do not limit bandwidth when aborting When aborting, we want the last job to be as fast as possible as it blocks the UI. So don't limit the bandwidth in that case --- src/mirall/propagator_legacy.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mirall/propagator_legacy.cpp b/src/mirall/propagator_legacy.cpp index 6d3ffd5ce..34ae55d03 100644 --- a/src/mirall/propagator_legacy.cpp +++ b/src/mirall/propagator_legacy.cpp @@ -305,6 +305,11 @@ bool PropagateNeonJob::updateMTimeAndETag(const char* uri, time_t mtime) void PropagateNeonJob::limitBandwidth(qint64 progress, qint64 bandwidth_limit) { + if (_propagator->_abortRequested.fetchAndAddRelaxed(0)) { + // Do not limit bandwidth when aborting to speed up the current transfer + return; + } + if (bandwidth_limit > 0) { int64_t diff = _lastTime.nsecsElapsed() / 1000; int64_t len = progress - _lastProgress; From e5b3363ecf5aa1f3a28da44ee41526a548b96478 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 18 Jun 2014 15:40:26 +0200 Subject: [PATCH 009/190] csync_statedb: remove noisy output --- csync/src/csync_statedb.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/csync/src/csync_statedb.c b/csync/src/csync_statedb.c index 4c254cf7c..db56ae49a 100644 --- a/csync/src/csync_statedb.c +++ b/csync/src/csync_statedb.c @@ -316,8 +316,6 @@ static int _csync_file_stat_from_metadata_table( csync_file_stat_t **st, sqlite3 (char*) sqlite3_column_text(stmt, 11), sizeof((*st)->remotePerm)); } - CSYNC_LOG(CSYNC_LOG_PRIORITY_ERROR, "%s %s",sqlite3_column_text(stmt, 10),sqlite3_column_text(stmt, 11) ); - } } return rc; From 38254125c99d97360e1ac0ca21d5324bcadb6bf0 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 18 Jun 2014 15:56:13 +0200 Subject: [PATCH 010/190] csync: fix the size in strncpy for the remote perms We must only do strncpy with size one smaller than the size of the buffer in order to leave at least one '\0' at the end --- csync/src/csync_statedb.c | 2 +- csync/src/csync_update.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/csync/src/csync_statedb.c b/csync/src/csync_statedb.c index db56ae49a..4272df08b 100644 --- a/csync/src/csync_statedb.c +++ b/csync/src/csync_statedb.c @@ -314,7 +314,7 @@ static int _csync_file_stat_from_metadata_table( csync_file_stat_t **st, sqlite3 if(column_count > 11 && sqlite3_column_text(stmt,11)) { strncpy((*st)->remotePerm, (char*) sqlite3_column_text(stmt, 11), - sizeof((*st)->remotePerm)); + REMOTE_PERM_BUF_SIZE); } } } diff --git a/csync/src/csync_update.c b/csync/src/csync_update.c index adc778594..504e680e2 100644 --- a/csync/src/csync_update.c +++ b/csync/src/csync_update.c @@ -390,7 +390,7 @@ out: st->directDownloadCookies = c_strdup(fs->directDownloadCookies); } if (fs->fields & CSYNC_VIO_FILE_STAT_FIELDS_PERM) { - strncpy(st->remotePerm, fs->remotePerm, sizeof(st->remotePerm)); + strncpy(st->remotePerm, fs->remotePerm, REMOTE_PERM_BUF_SIZE); } fastout: /* target if the file information is read from database into st */ From 02355696ff22f2ee06c560d6970e803ae312a0b3 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 18 Jun 2014 16:15:14 +0200 Subject: [PATCH 011/190] engine: When restoring the file, use the mtime and fileid from the server Important to switch the things around as we are going to write them in the DB --- src/mirall/syncengine.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index bb8f5cab2..6a792a86a 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -756,6 +756,10 @@ void SyncEngine::checkForPermission() it->_instruction = CSYNC_INSTRUCTION_CONFLICT; it->_direction = SyncFileItem::Down; it->_isRestoration = true; + // take the things to write to the db from the "other" node (i.e: info from server) + it->_modtime = it->log._other_modtime; + it->_fileId = it->log._other_fileId; + it->_etag = it->log._other_etag; it->_errorString = tr("Not allowed to upload this file because it is read-only on the server, restoring"); continue; } From f4ea34e63bc31686b05e3a76383f7f4a30ccd8b5 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 19 Jun 2014 14:27:04 +0200 Subject: [PATCH 012/190] SyncJournalDb: use QByteArray for etag and fileid --- src/mirall/syncjournaldb.cpp | 4 ++-- src/mirall/syncjournalfilerecord.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mirall/syncjournaldb.cpp b/src/mirall/syncjournaldb.cpp index edb88d572..4abf3407c 100644 --- a/src/mirall/syncjournaldb.cpp +++ b/src/mirall/syncjournaldb.cpp @@ -482,8 +482,8 @@ SyncJournalFileRecord SyncJournalDb::getFileRecord( const QString& filename ) rec._mode = _getFileRecordQuery->value(4).toInt(&ok); rec._modtime = Utility::qDateTimeFromTime_t(_getFileRecordQuery->value(5).toLongLong(&ok)); rec._type = _getFileRecordQuery->value(6).toInt(&ok); - rec._etag = _getFileRecordQuery->value(7).toString(); - rec._fileId = _getFileRecordQuery->value(8).toString(); + rec._etag = _getFileRecordQuery->value(7).toByteArray(); + rec._fileId = _getFileRecordQuery->value(8).toByteArray(); rec._remotePerm = _getFileRecordQuery->value(9).toByteArray(); _getFileRecordQuery->finish(); diff --git a/src/mirall/syncjournalfilerecord.h b/src/mirall/syncjournalfilerecord.h index 8ac7513e9..7ba8c3b45 100644 --- a/src/mirall/syncjournalfilerecord.h +++ b/src/mirall/syncjournalfilerecord.h @@ -35,8 +35,8 @@ public: quint64 _inode; QDateTime _modtime; int _type; - QString _etag; // FIXME Why not QByteArray? - QString _fileId; // FIXME Why not QByteArray? + QByteArray _etag; + QByteArray _fileId; QByteArray _remotePerm; int _mode; }; From 71a901a24e4ff5564337e91c6a62177d764e64b9 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Thu, 19 Jun 2014 13:34:15 +0200 Subject: [PATCH 013/190] TokenCredentials: Fix cookie behaviour parseCookies did not work as expected. Now we just hard-set the token credentials into the Cookie header for QNAM jobs. This is the same behaviour as for neon jobs. (cherry picked from commit 855a8c0a335f76b82b8e647a8c5a4ae692065d3b) --- src/creds/tokencredentials.cpp | 41 +++++++++++++--------------------- src/creds/tokencredentials.h | 3 +-- 2 files changed, 16 insertions(+), 28 deletions(-) diff --git a/src/creds/tokencredentials.cpp b/src/creds/tokencredentials.cpp index e2607e0da..7e9a56238 100644 --- a/src/creds/tokencredentials.cpp +++ b/src/creds/tokencredentials.cpp @@ -79,15 +79,16 @@ public: : MirallAccessManager(parent), _cred(cred) {} protected: QNetworkReply *createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData) { - QByteArray credHash = QByteArray(_cred->user().toUtf8()+":"+_cred->password().toUtf8()).toBase64(); - QNetworkRequest req(request); - req.setRawHeader(QByteArray("Authorization"), QByteArray("Basic ") + credHash); - //qDebug() << "Request for " << req.url() << "with authorization" << QByteArray::fromBase64(credHash); + if (_cred->user().isEmpty() || _cred->password().isEmpty() || _cred->_token.isEmpty()) { + qWarning() << Q_FUNC_INFO << "Empty user/password/token provided!"; + } - // Append token cookie - QList cookies = request.header(QNetworkRequest::CookieHeader).value >(); - cookies.append(QNetworkCookie::parseCookies(_cred->_token.toUtf8())); - req.setHeader(QNetworkRequest::CookieHeader, QVariant::fromValue(cookies)); + QNetworkRequest req(request); + + QByteArray credHash = QByteArray(_cred->user().toUtf8()+":"+_cred->password().toUtf8()).toBase64(); + req.setRawHeader(QByteArray("Authorization"), QByteArray("Basic ") + credHash); + + req.setRawHeader("Cookie", _cred->_token.toUtf8()); // analogous to neon in syncContextPreStart return MirallAccessManager::createRequest(op, req, outgoingData); } @@ -161,12 +162,6 @@ bool TokenCredentials::ready() const return _ready; } -QString TokenCredentials::fetchUser(Account* account) -{ - _user = account->credentialSetting(QLatin1String(userC)).toString(); - return _user; -} - void TokenCredentials::fetch(Account *account) { if( !account ) { @@ -174,10 +169,11 @@ void TokenCredentials::fetch(Account *account) } Q_EMIT fetched(); } + bool TokenCredentials::stillValid(QNetworkReply *reply) { return ((reply->error() != QNetworkReply::AuthenticationRequiredError) - // returned if user or password is incorrect + // returned if user/password or token are incorrect && (reply->error() != QNetworkReply::OperationCanceledError || !reply->property(authenticationFailedC).toBool())); } @@ -189,19 +185,12 @@ QString TokenCredentials::queryPassword(bool *ok) void TokenCredentials::invalidateToken(Account *account) { - _password = QString(); + qDebug() << Q_FUNC_INFO; _ready = false; - - // User must be fetched from config file to generate a valid key - fetchUser(account); - - const QString kck = keychainKey(account->url().toString(), _user); - if( kck.isEmpty() ) { - qDebug() << "InvalidateToken: User is empty, bailing out!"; - return; - } - account->clearCookieJar(); + _token = QString(); + _user = QString(); + _password = QString(); } void TokenCredentials::persist(Account *account) diff --git a/src/creds/tokencredentials.h b/src/creds/tokencredentials.h index 7b593d56c..d44fb2049 100644 --- a/src/creds/tokencredentials.h +++ b/src/creds/tokencredentials.h @@ -53,7 +53,6 @@ public: QString password() const; QString queryPassword(bool *ok); void invalidateToken(Account *account); - QString fetchUser(Account *account); private Q_SLOTS: void slotAuthentication(QNetworkReply*, QAuthenticator*); @@ -61,7 +60,7 @@ private Q_SLOTS: private: QString _user; QString _password; - QString _token; + QString _token; // the cookies bool _ready; }; From db2c198feb0bec4bd870db5e370b5c4cdcbf4dba Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 19 Jun 2014 15:02:27 +0200 Subject: [PATCH 014/190] SocketAPI: Merge command_RETRIEVE_FOLDER_STATUS and command_RETRIEVE_FILE_STATUS They do the same thing because fileStatus calls recursiveFolderStatus for directories anyway --- src/mirall/socketapi.cpp | 54 +++------------------------------------- 1 file changed, 3 insertions(+), 51 deletions(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 8150962b4..3d8d38b7b 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -292,58 +292,10 @@ void SocketApi::broadcastMessage(const QString& message) void SocketApi::command_RETRIEVE_FOLDER_STATUS(const QString& argument, QLocalSocket* socket) { + // This command is the same as RETRIEVE_FILE_STATUS + qDebug() << Q_FUNC_INFO << argument; - QString statusString; - - if( !socket ) { - qDebug() << "No valid socket object."; - return; - } - - Folder* folder = FolderMan::instance()->folderForPath( QUrl::fromLocalFile(argument) ); - // this can happen in offline mode e.g.: nothing to worry about - if (!folder) { - DEBUG << "folder offline or not watched:" << argument; - statusString = QLatin1String("NOP"); - } - - QDir dir(argument); - if( statusString.isEmpty() ) { - const QStringList fileEntries = dir.entryList( QDir::Files ); - foreach(const QString file, fileEntries) { - const QString absoluteFilePath = dir.absoluteFilePath(file); - SyncFileStatus fileStatus = SocketApiHelper::fileStatus(folder, absoluteFilePath.mid(folder->path().length()) ); - if( fileStatus == FILE_STATUS_STAT_ERROR ) { - qDebug() << "XXXXXXXXXXXX FileStatus is STAT ERROR for " << absoluteFilePath; - } - if( fileStatus != FILE_STATUS_SYNC ) { - qDebug() << "SyncFileStatus for " << absoluteFilePath << " is " << fileStatus; - // we found something that is not in sync - statusString = QLatin1String("NEED_SYNC"); - break; - } - } - } - - if( statusString.isEmpty() ) { // if it is still empty, we check the dirs recursively. - const QStringList dirEntries = dir.entryList( QDir::AllDirs | QDir::NoDotAndDotDot ); - - foreach(const QString entry, dirEntries) { - QString absoluteFilePath = dir.absoluteFilePath(entry); - SyncFileStatus sfs = SocketApiHelper::recursiveFolderStatus(folder, absoluteFilePath.mid(folder->path().length()) ); - if( sfs != FILE_STATUS_SYNC ) { - statusString = QLatin1String("NEED_SYNC"); - break; - } - } - } - - if( statusString.isEmpty() ) { - statusString = QLatin1String("OK"); - } - - QString message = QLatin1String("STATUS:")+statusString+QLatin1Char(':')+argument; - sendMessage(socket, message); + command_RETRIEVE_FILE_STATUS(argument, socket); } void SocketApi::command_RETRIEVE_FILE_STATUS(const QString& argument, QLocalSocket* socket) From 1e306012ec5475156933c740b7f3616defbbee89 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 19 Jun 2014 15:25:30 +0200 Subject: [PATCH 015/190] SocketApi: Fix recursiveFolderStatus If only one file is EVAL or NEW, this mean the folder need to be sync --- src/mirall/socketapi.cpp | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 3d8d38b7b..f859aeb23 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -72,6 +72,8 @@ SyncFileStatus recursiveFolderStatus(Folder *folder, const QString& fileName ) const QStringList dirEntries = dir.entryList( QDir::AllEntries | QDir::NoDotAndDotDot ); + SyncFileStatus result = FILE_STATUS_SYNC; + foreach( const QString entry, dirEntries ) { QFileInfo fi(entry); SyncFileStatus sfs; @@ -88,12 +90,11 @@ SyncFileStatus recursiveFolderStatus(Folder *folder, const QString& fileName ) if( sfs == FILE_STATUS_STAT_ERROR || sfs == FILE_STATUS_ERROR ) { return FILE_STATUS_ERROR; - } - if( sfs != FILE_STATUS_SYNC) { - return FILE_STATUS_EVAL; + } else if( sfs == FILE_STATUS_EVAL || sfs == FILE_STATUS_NEW) { + result = FILE_STATUS_EVAL; } } - return FILE_STATUS_SYNC; + return result; } /** @@ -154,16 +155,13 @@ SyncFileStatus fileStatus(Folder *folder, const QString& fileName ) SyncJournalFileRecord rec = folder->journalDb()->getFileRecord(fileName); if( !rec.isValid() ) { stat = FILE_STATUS_NEW; - } - - // file was locally modified. - if( stat == FILE_STATUS_NONE && fi.lastModified() != rec._modtime ) { + } else if( stat == FILE_STATUS_NONE && fi.lastModified() != rec._modtime ) { + // file was locally modified. stat = FILE_STATUS_EVAL; + } else { + stat = FILE_STATUS_SYNC; } } - if( stat == FILE_STATUS_NONE ) { - stat = FILE_STATUS_SYNC; - } } return stat; } From 458645101b64d0903e073ed844a702bce21be304 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 19 Jun 2014 15:35:29 +0200 Subject: [PATCH 016/190] SocketApi: query the database for the Shared flag --- src/mirall/folder.h | 3 +- src/mirall/socketapi.cpp | 92 +++++++++++++++++++++------------------- 2 files changed, 50 insertions(+), 45 deletions(-) diff --git a/src/mirall/folder.h b/src/mirall/folder.h index 9e14bdb23..f2a8c3097 100644 --- a/src/mirall/folder.h +++ b/src/mirall/folder.h @@ -54,7 +54,8 @@ enum SyncFileStatus { FILE_STATUS_SYNC, FILE_STATUS_STAT_ERROR, FILE_STATUS_ERROR, - FILE_STATUS_UPDATED + FILE_STATUS_UPDATED, + FILE_STATUS_SHARED }; class OWNCLOUDSYNC_EXPORT Folder : public QObject diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index f859aeb23..bc193ae37 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -102,22 +102,7 @@ SyncFileStatus recursiveFolderStatus(Folder *folder, const QString& fileName ) */ SyncFileStatus fileStatus(Folder *folder, const QString& fileName ) { - /* - STATUS_NONE, - + STATUS_EVAL, - STATUS_REMOVE, (invalid for this case because it asks for local files) - STATUS_RENAME, - + STATUS_NEW, - STATUS_CONFLICT,(probably also invalid as we know the conflict only with server involvement) - + STATUS_IGNORE, - + STATUS_SYNC, - + STATUS_STAT_ERROR, - STATUS_ERROR, - STATUS_UPDATED - */ - // FIXME: Find a way for STATUS_ERROR - SyncFileStatus stat = FILE_STATUS_NONE; QString file = fileName; if( folder->path() != QLatin1String("/") ) { @@ -127,42 +112,44 @@ SyncFileStatus fileStatus(Folder *folder, const QString& fileName ) QFileInfo fi(file); if( !fi.exists() ) { - stat = FILE_STATUS_STAT_ERROR; // not really possible. + return FILE_STATUS_STAT_ERROR; } // file is ignored? if( fi.isSymLink() ) { - stat = FILE_STATUS_IGNORE; + return FILE_STATUS_IGNORE; } int type = CSYNC_FTW_TYPE_FILE; if( fi.isDir() ) { type = CSYNC_FTW_TYPE_DIR; } - if( stat == FILE_STATUS_NONE ) { - CSYNC_EXCLUDE_TYPE excl = csync_excluded(folder->csyncContext(), file.toUtf8(), type); + CSYNC_EXCLUDE_TYPE excl = csync_excluded(folder->csyncContext(), file.toUtf8(), type); + if( excl != CSYNC_NOT_EXCLUDED ) { + return FILE_STATUS_IGNORE; + } - if( excl != CSYNC_NOT_EXCLUDED ) { - stat = FILE_STATUS_IGNORE; - } + SyncFileStatus stat = FILE_STATUS_NONE; + SyncJournalFileRecord rec = folder->journalDb()->getFileRecord(fileName); + if( !rec.isValid() ) { + return FILE_STATUS_NEW; } if( type == CSYNC_FTW_TYPE_DIR ) { // compute recursive status of the directory stat = recursiveFolderStatus( folder, fileName ); + } else if(fi.lastModified() != rec._modtime ) { + // file was locally modified. + stat = FILE_STATUS_EVAL; } else { - if( stat == FILE_STATUS_NONE ) { - SyncJournalFileRecord rec = folder->journalDb()->getFileRecord(fileName); - if( !rec.isValid() ) { - stat = FILE_STATUS_NEW; - } else if( stat == FILE_STATUS_NONE && fi.lastModified() != rec._modtime ) { - // file was locally modified. - stat = FILE_STATUS_EVAL; - } else { - stat = FILE_STATUS_SYNC; - } - } + stat = FILE_STATUS_SYNC; } + + if (rec._remotePerm.contains("S")) { + // FIXME! that should be an additional flag + stat = FILE_STATUS_SHARED; + } + return stat; } @@ -316,18 +303,35 @@ void SocketApi::command_RETRIEVE_FILE_STATUS(const QString& argument, QLocalSock if( statusString.isEmpty() ) { SyncFileStatus fileStatus = SocketApiHelper::fileStatus(folder, argument.mid(folder->path().length()) ); - if( fileStatus == FILE_STATUS_STAT_ERROR ) { - qDebug() << "XXXXXXXXXXXX FileStatus is STAT ERROR for " << argument; - } - if( fileStatus != FILE_STATUS_SYNC ) { - qDebug() << "SyncFileStatus for " << argument << " is " << fileStatus; - // we found something that is not in sync - statusString = QLatin1String("NEED_SYNC"); - } - } - if( statusString.isEmpty() ) { - statusString = QLatin1String("OK"); + switch(fileStatus) + { + case FILE_STATUS_NONE: + statusString = QLatin1String("NONE"); + break; + case FILE_STATUS_EVAL: + case FILE_STATUS_NEW: + statusString = QLatin1String("NEED_SYNC"); + break; + case FILE_STATUS_IGNORE: + statusString = QLatin1String("IGNORE"); + break; + case FILE_STATUS_SYNC: + case FILE_STATUS_UPDATED: + statusString = QLatin1String("OK"); + break; + case FILE_STATUS_STAT_ERROR: + case FILE_STATUS_ERROR: + statusString = QLatin1String("ERROR"); + break; + case FILE_STATUS_SHARED: + statusString = QLatin1String("SHARED"); + break; + default: + qWarning() << "This status should not be there" << fileStatus; + Q_ASSERT(false); + statusString = QLatin1String("NONE"); + } } QString message = QLatin1String("STATUS:")+statusString+QLatin1Char(':')+argument; From 817f89d5867d0c67259d27a72dec89bbce6879f3 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Fri, 20 Jun 2014 01:25:21 -0400 Subject: [PATCH 017/190] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 42 ++++++++++++++++++------------------ translations/mirall_cs.ts | 42 ++++++++++++++++++------------------ translations/mirall_de.ts | 42 ++++++++++++++++++------------------ translations/mirall_el.ts | 42 ++++++++++++++++++------------------ translations/mirall_en.ts | 42 ++++++++++++++++++------------------ translations/mirall_es.ts | 42 ++++++++++++++++++------------------ translations/mirall_es_AR.ts | 42 ++++++++++++++++++------------------ translations/mirall_et.ts | 42 ++++++++++++++++++------------------ translations/mirall_eu.ts | 42 ++++++++++++++++++------------------ translations/mirall_fa.ts | 42 ++++++++++++++++++------------------ translations/mirall_fi.ts | 42 ++++++++++++++++++------------------ translations/mirall_fr.ts | 42 ++++++++++++++++++------------------ translations/mirall_gl.ts | 42 ++++++++++++++++++------------------ translations/mirall_hu.ts | 42 ++++++++++++++++++------------------ translations/mirall_it.ts | 42 ++++++++++++++++++------------------ translations/mirall_ja.ts | 42 ++++++++++++++++++------------------ translations/mirall_nl.ts | 42 ++++++++++++++++++------------------ translations/mirall_pl.ts | 42 ++++++++++++++++++------------------ translations/mirall_pt.ts | 42 ++++++++++++++++++------------------ translations/mirall_pt_BR.ts | 42 ++++++++++++++++++------------------ translations/mirall_ru.ts | 42 ++++++++++++++++++------------------ translations/mirall_sk.ts | 42 ++++++++++++++++++------------------ translations/mirall_sl.ts | 42 ++++++++++++++++++------------------ translations/mirall_sv.ts | 42 ++++++++++++++++++------------------ translations/mirall_th.ts | 42 ++++++++++++++++++------------------ translations/mirall_tr.ts | 42 ++++++++++++++++++------------------ translations/mirall_uk.ts | 42 ++++++++++++++++++------------------ translations/mirall_zh_CN.ts | 42 ++++++++++++++++++------------------ translations/mirall_zh_TW.ts | 42 ++++++++++++++++++------------------ 29 files changed, 609 insertions(+), 609 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index b43192d53..5b33cce51 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -262,100 +262,100 @@ 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. - + Sync Activity Activitat de sincronització - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Aquesta sincronització eliminarà tots els fitxers a la carpeta local de sincronització '%1'. Si vós o l'administrador heu reinicialitzat el compte en el servidor, escolliu "Mantenir fitxers". Si voleueliminar les dades, escolliu "Esborra tots els fitxers". - + 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? @@ -364,17 +364,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 diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 5f5c1b29d..2ed20cdc8 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -262,100 +262,100 @@ 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. - + Sync Activity Průběh synchronizace - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Tato synchronizace by smazala všechny soubory v místní složce '%1' Pokud jste vy nebo váš správce zresetovali účet na serveru, zvolte "Ponechat soubory". Pokud chcete místní data odstranit, zvolte "Odstranit všechny soubory". - + 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? @@ -364,17 +364,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 diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index 24011040f..51ced2eb5 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -263,100 +263,100 @@ 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. - + Sync Activity Synchronisierungsaktivität - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Dieser Synchronisationsvorgang würde alle Dateien in dem lokalen Ordner '%1' entfernen. Wenn Sie oder Ihr Administrator Ihr Konto auf dem Server zurückgesetzt haben, wählen Sie "Dateien behalten". Wenn Sie ihre Daten löschen wollen, wählen Sie "Alle Dateien entfernen". - + 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? @@ -365,17 +365,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 diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 1a170688b..7dd55bce1 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -261,100 +261,100 @@ 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. - + Sync Activity Δραστηριότητα Συγχρονισμού - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Αυτός ο συγχρονισμός θα αφαιρέσει όλα τα αρχεία στον τοπικό φάκελο συγχρονισμού '%1'. Εάν εσείς ή ο διαχειριστής σας επαναφέρατε τον λογαριασμό σας στο διακομιστή, επιλέξτε "Διατήρηση αρχείων". Εάν θέλετε να αφαιρεθούν τα δεδομένα σας, επιλέξτε "Αφαίρεση όλων των αρχείων". - + 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? @@ -363,17 +363,17 @@ Are you sure you want to perform this operation? Είστε σίγουροι ότι θέλετε να πραγματοποιήσετε αυτή εντολή; - + Remove All Files? Αφαίρεση Όλων των Αρχείων; - + Remove all files Αφαίρεση όλων των αρχείων - + Keep files Διατήρηση αρχείων diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index 195ffffd5..650dc0dbb 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -263,116 +263,116 @@ 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. - + Sync Activity - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + 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 diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 91ae39d66..78d23ca34 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -262,100 +262,100 @@ 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. - + Sync Activity Actividad en la Sincronización - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Esta sincronización eliminaría todos los archivos en la carpeta local de sincronización '%1'. Si ud. o su administrador han restablecido su cuenta en el servidor, elija "Conservar Archivos". Si desea eliminar toda su información, elija "Eliminar todos los archivos". - + 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? @@ -364,17 +364,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 diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index 10faf47ba..53e4f76a3 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -261,100 +261,100 @@ 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. - + Sync Activity Actividad de Sync - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Esta sincronización borraría todos los archivos en la carpeta local de sincronización '%1'. Si vos o el administrador resetearon tu cuenta en el servidor, elegí "Conservar Archivos". Si querés borrar toda tu información, elegí "Borrar todos los archivos". - + 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? @@ -363,17 +363,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 diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index fec8d7634..330e0e837 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -262,100 +262,100 @@ 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. - + Sync Activity Sünkroniseerimise tegevus - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". See sünkroniseering kustutab kõik failid kohalikust kataloogist '%1'.⏎ Kui sina või adminstraator on sinu konto serveris algseadistanud, siis vali "Säilita failid". Kui soovid oma andmed kustutada, vali "Kustuta kõik failid". - + 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? @@ -364,17 +364,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 diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 5d8e7fa8e..d736cfaef 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -261,116 +261,116 @@ Total time left %5 Mirall::Folder - + Unable to create csync-context - + 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 has been removed. %1 names a file. %1 ezabatua izan da. - + %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 %2-(e)ra mugitu da. - + Sync Activity Sinkronizazio Jarduerak - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + 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? Ezabatu Fitxategi Guztiak? - + Remove all files Ezabatu fitxategi guztiak - + Keep files Mantendu fitxategiak diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index b095373a0..9b40bb03d 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -261,116 +261,116 @@ 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. - + Sync Activity - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + 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 diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 56cb91d43..5bf768842 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -262,116 +262,116 @@ 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 has been removed. %1 names a file. %1 on poistettu. - + %1 and %2 other files have been downloaded. %1 names a file. - + %1 has been downloaded. %1 names a file. %1 on ladattu. - + %1 and %2 other files have been updated. - + %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. - + Sync Activity Synkronointiaktiviteetti - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + 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 diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index d80fdc063..4ace8a12e 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -261,100 +261,100 @@ Total time left %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. - + Sync Activity Activité de synchronisation - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Cette synchronisation supprimerait tous les fichiers du dossier local de synchronisation '%1'. Si vous-même ou votre administrateur avez réinitialisé votre compte sur le serveur, choisissez "Garder les fichiers". Si vous voulez que vos données soient supprimées, choisissez "Supprimer tous les fichiers". - + 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? @@ -363,17 +363,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 diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index 812c2fc65..9bce16ff3 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -262,100 +262,100 @@ 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 - + Sync Activity Actividade de sincronización - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Esta sincronización retirará todos os ficheiros do cartafol local de sincronización «%1». Se vostede, ou o administrador, restabeleceu a súa conta no servidor, escolla «Manter os ficheiros». Se quere que os seus datos sexan eliminados, escolla «Retirar todos os ficheiros». - + 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? @@ -364,17 +364,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 diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index f71c03f74..1ef9c1787 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -261,116 +261,116 @@ 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. - + Sync Activity - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + 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 diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 2ec8fa3eb..7917d7eb8 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -261,100 +261,100 @@ Total time left %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. - + Sync Activity Sincronizza attività - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Questa sincronizzazione rimuoverà tutti i file nella cartella di sincronizzazione locale '%1'. Se tu o il tuo amministratore avete ripristinato il tuo account sul server, scegli "Mantieni i file". Se desideri che i dati siano rimossi, scegli "Rimuovi tutti i 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? @@ -363,17 +363,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 diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index fa16f0ac6..c41c157e5 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -261,100 +261,100 @@ 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 に移されました。 - + Sync Activity 同期アクティビティ - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". この同期により、ローカルの同期フォルダー '%1'にある全ファイルが削除されます。 あなた、または管理者がサーバー上のアカウントをリセットした場合、「ファイルを残す」を選んでください。データを削除したい場合は、「すべてのファイルを削除」を選んでください。 - + 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? @@ -363,17 +363,17 @@ Are you sure you want to perform this operation? 本当にこの操作を実行しますか? - + Remove All Files? すべてのファイルを削除しますか? - + Remove all files すべてのファイルを削除 - + Keep files ファイルを残す diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 7bd39c66f..53e5acb64 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -261,100 +261,100 @@ Total time left %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. - + Sync Activity Synchronisatie-activiteit - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Deze synchronisatie verwijdert alle bestanden in lokale synchronisatiemap '%1'. Als u of uw beheerder uw account op de server heeft gereset, kies dan "Bewaar bestanden". Als u uw bestanden wilt verwijderen, kies dan "Verwijder alle bestanden". - + 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? @@ -363,17 +363,17 @@ Dit kan komen doordat de map ongemerkt gereconfigureerd is of doordat alle besta 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 diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index 4e3fc63a1..863d28a60 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -261,100 +261,100 @@ Total time left %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. - + Sync Activity Aktywności synchronizacji - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Ta synchronizacja usunie wszystkie pliku z lokalnego folderu synchronizacji '%1'. Jeśli Ty lub Twój administrator zresetowali Twoje konto na serwerze, wybierz "Zachowaj pliki". Jeśli chcesz aby Twoje dane zostały usunięte, wybierz "Usuń wszystkie pliki". - + 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? @@ -363,17 +363,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 diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index b100502bb..12c4d80fb 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -261,100 +261,100 @@ 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 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 has been moved to %2. %1 foi movido para %2 - + Sync Activity Actividade de sincronicação - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Esta sincronização irá remover todos os ficheiros sincronizados na pasta local '%1'. 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". - + 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? @@ -362,17 +362,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 diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 849d40f47..32fc15863 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -262,100 +262,100 @@ Total de tempo que falta 5% Mirall::Folder - + Unable to create csync-context Não é possível criar csync-contexto - + 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. - + Sync Activity Atividade de Sincronização - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Esta sincronização irá remover todos os arquivos na pasta de sincronização local '%1'. Se você ou o administrador tiver que redefinir a sua conta no servidor, escolha "Manter arquivos". Se você deseja que seus dados sejam removidos, escolha "Remover todos os arquivos". - + 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? @@ -364,17 +364,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 diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index bf288cace..9ed6cd7b6 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -261,100 +261,100 @@ 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 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. - + Sync Activity Журнал синхронизации - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Это действие может удалить все файлы в локальной папке '%1'. Если вы или ваш администратор заново создали вашу учётную запись на сервере, выберите "Сохранить файлы". Если вы хотите стереть всё - выберите "Удалить все файлы". - + 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? @@ -363,17 +363,17 @@ Are you sure you want to perform this operation? Вы уверены, что хотите выполнить операцию? - + Remove All Files? Удалить все файлы? - + Remove all files Удалить все файлы - + Keep files Сохранить файлы diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index 529b316ff..9b8f82f38 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -261,100 +261,100 @@ Total time left %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. - + Sync Activity Aktivita synchronizácie - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Táto synchronizácia odstráni všetky súbory v lokálnom synchronizačnom priečinku '%1'. Pokiaľ vy alebo váš správca zresetoval váš účet na serveri, vyberte možnosť "Ponechať súbory". Pokiaľ chcete odstrániť vaše dáta, vyberte možnosť "Odstrániť všetky súbory". - + 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? @@ -363,17 +363,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 diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 40216dbcf..13601b685 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -261,100 +261,100 @@ 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. - + Sync Activity Dejavnost usklajevanja - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Z usklajevanjem bodo odstranjene vse krajevne datoteke v mapi '%1'. Če je bil račun na strežniku kakorkoli ponastavljen, izberite možnost "Ohrani datoteke", če pa želite datoteke res odstraniti, izberite drugo možnost. - + 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? @@ -363,17 +363,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 diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 30d280720..7ba3bf21e 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -261,100 +261,100 @@ Total time left %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. - + Sync Activity Synk aktivitet - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Denna synk skulle radera alla filer i den lokala mappen '%1'. Om systemadministratören har återställt ditt konto på servern, välj "Behåll filer". Om du vill att dina filer ska raderas, välj "Radera alla filer". - + 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? @@ -363,17 +363,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 diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index 25c269930..a56dce9d3 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -261,116 +261,116 @@ 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. - + Sync Activity - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + 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 diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index 1e45da34d..a6aca2809 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -262,100 +262,100 @@ 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ı. - + Sync Activity Eşitleme Etkinliği - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Bu eşitleme, yerel eşitleme klasörü '%1' içindeki tüm dosyaları kaldıracak. Eğer siz veya yöneticiniz sunucudaki hesabınızı sıfırlamışsa, "Dosyaları koru" seçin. Eğer verinizin kaldırılmasını istiyorsanız, "Tüm dosyaları kaldır" seçin. - + 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? @@ -364,17 +364,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 diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 69956d7bf..0fafb7a60 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -261,116 +261,116 @@ 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. - + Sync Activity - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + 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 diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index bb423fd70..9eff236c4 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -261,100 +261,100 @@ 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。 - + Sync Activity 同步活动 - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". 这个同步将会移除本地同步文件夹 %1 下的所有文件。 如果你或者你的管理员在服务器上重置了你的帐号,请选择“保持文件”。如果你想移除你的数据,请选择“移除全部文件”。 - + 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? @@ -363,17 +363,17 @@ Are you sure you want to perform this operation? 你确定执行该操作吗? - + Remove All Files? 删除所有文件? - + Remove all files 删除所有文件 - + Keep files 保持所有文件 diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index 7cc0008da..c523a5375 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -261,116 +261,116 @@ 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. - + Sync Activity - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + 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 From 9ee86cf06b709c370ded89f19b932cc876eb7452 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 20 Jun 2014 10:25:00 +0200 Subject: [PATCH 018/190] Fix resource leak in win32 code path, added free of locale filename. This fixes Coverity CID 12901 --- csync/src/csync_util.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/csync/src/csync_util.c b/csync/src/csync_util.c index ffcdafbe5..74d24a0f7 100644 --- a/csync/src/csync_util.c +++ b/csync/src/csync_util.c @@ -113,12 +113,12 @@ void csync_win32_set_file_hidden( const char *file, bool h ) { fileName = c_utf8_to_locale( file ); dwAttrs = GetFileAttributesW(fileName); - if (dwAttrs==INVALID_FILE_ATTRIBUTES) return; - - if (h && !(dwAttrs & FILE_ATTRIBUTE_HIDDEN)) { - SetFileAttributesW(fileName, dwAttrs | FILE_ATTRIBUTE_HIDDEN ); - } else if (!h && (dwAttrs & FILE_ATTRIBUTE_HIDDEN)) { - SetFileAttributesW(fileName, dwAttrs & ~FILE_ATTRIBUTE_HIDDEN ); + if (dwAttrs != INVALID_FILE_ATTRIBUTES) { + if (h && !(dwAttrs & FILE_ATTRIBUTE_HIDDEN)) { + SetFileAttributesW(fileName, dwAttrs | FILE_ATTRIBUTE_HIDDEN ); + } else if (!h && (dwAttrs & FILE_ATTRIBUTE_HIDDEN)) { + SetFileAttributesW(fileName, dwAttrs & ~FILE_ATTRIBUTE_HIDDEN ); + } } c_free_locale_string(fileName); From d0c992c991064f9b5e1162848f8b9d79bf26ef29 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 20 Jun 2014 10:41:01 +0200 Subject: [PATCH 019/190] Updater: Free tmp variable that might point to temp malloced memory This fixes Coverity CID 12900 --- csync/src/csync_update.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/csync/src/csync_update.c b/csync/src/csync_update.c index 3ec6b194d..455800b6e 100644 --- a/csync/src/csync_update.c +++ b/csync/src/csync_update.c @@ -274,6 +274,9 @@ static int _csync_detect_update(CSYNC *ctx, const char *file, } else { enum csync_vio_file_type_e tmp_vio_type = CSYNC_VIO_FILE_TYPE_UNKNOWN; + /* tmp might point to malloc mem, so free it here before reusing tmp */ + SAFE_FREE(tmp); + /* check if it's a file and has been renamed */ if (ctx->current == LOCAL_REPLICA) { CSYNC_LOG(CSYNC_LOG_PRIORITY_TRACE, "Checking for rename based on inode # %" PRId64 "", (uint64_t) fs->inode); From 6b041b084612ff3759eefc19da85c86318d4053c Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 10:34:07 +0200 Subject: [PATCH 020/190] Fix use-after-free in QNAM propagator This fixes Coverity CID 12929 --- src/mirall/propagator_qnam.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/mirall/propagator_qnam.cpp b/src/mirall/propagator_qnam.cpp index 589f6b824..303034dad 100644 --- a/src/mirall/propagator_qnam.cpp +++ b/src/mirall/propagator_qnam.cpp @@ -231,10 +231,9 @@ void PropagateUploadFileQNAM::startNextChunk() connect(_job, SIGNAL(uploadProgress(qint64,qint64)), this, SLOT(slotUploadProgress(qint64,qint64))); _job->start(); } else { - delete device; - qDebug() << "ERR: Could not open upload file: " << device->errorString(); done( SyncFileItem::NormalError, device->errorString() ); + delete device; return; } } From f9710cc1d521248232a20662cd65f64a09f663ea Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 10:39:13 +0200 Subject: [PATCH 021/190] c_time: Fix resource leak in error case This fixes Coverity CID 12903 --- csync/src/std/c_time.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/csync/src/std/c_time.c b/csync/src/std/c_time.c index 62d43c899..cf57a5e57 100644 --- a/csync/src/std/c_time.c +++ b/csync/src/std/c_time.c @@ -135,7 +135,8 @@ int c_utimes(const char *uri, const struct timeval *times) { if(!SetFileTime(hFile, NULL, &LastAccessTime, &LastModificationTime)) { //can this happen? errno=ENOENT; - CloseHandle(hFile); + CloseHandle(hFile); + c_free_locale_string(wuri); return -1; } From bec66c85d4a6abc33f186d20cfd173987e823a27 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 10:45:06 +0200 Subject: [PATCH 022/190] Fix potential memory leak This fixes Coverity CID 12893 --- csync/src/csync_exclude.c | 1 + 1 file changed, 1 insertion(+) diff --git a/csync/src/csync_exclude.c b/csync/src/csync_exclude.c index 0c33988ac..2ae23dba2 100644 --- a/csync/src/csync_exclude.c +++ b/csync/src/csync_exclude.c @@ -264,6 +264,7 @@ CSYNC_EXCLUDE_TYPE csync_excluded(CSYNC *ctx, const char *path, int filetype) { if (bname == NULL || dname == NULL) { match = CSYNC_NOT_EXCLUDED; + SAFE_FREE(pattern_stored); goto out; } From df8553e878b6bba1865884b86f028fc96206cc35 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 10:47:36 +0200 Subject: [PATCH 023/190] httpbf.c: Fix resource leak This fixes Coverity CID 12902 --- csync/src/httpbf/src/httpbf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csync/src/httpbf/src/httpbf.c b/csync/src/httpbf/src/httpbf.c index 9201afd90..eb19c222d 100644 --- a/csync/src/httpbf/src/httpbf.c +++ b/csync/src/httpbf/src/httpbf.c @@ -536,8 +536,8 @@ Hbf_State hbf_transfer( ne_session *session, hbf_transfer_t *transfer, const cha } else { state = HBF_MEMORY_FAIL; } - free( transfer_url ); } + free( transfer_url ); } /* do the source file validation finally (again). */ From c263c38cdf2b2630037449e8920dda2b46535954 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 10:57:57 +0200 Subject: [PATCH 024/190] statedb.c: fix potential memory leak on win32 This fixes coverity issue 12898 --- csync/src/csync_statedb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/csync/src/csync_statedb.c b/csync/src/csync_statedb.c index f62adcb05..c593b423d 100644 --- a/csync/src/csync_statedb.c +++ b/csync/src/csync_statedb.c @@ -69,12 +69,13 @@ static void _csync_win32_hide_file( const char *file ) { fileName = c_utf8_to_locale( file ); dwAttrs = GetFileAttributesW(fileName); - if (dwAttrs==INVALID_FILE_ATTRIBUTES) return; + if (dwAttrs==INVALID_FILE_ATTRIBUTES) goto cleanup; if (!(dwAttrs & FILE_ATTRIBUTE_HIDDEN)) { SetFileAttributesW(fileName, dwAttrs | FILE_ATTRIBUTE_HIDDEN ); } +cleanup: c_free_locale_string(fileName); #else (void) file; From e4f8a136f1172a60f1882edf82e7289b0d0a82a5 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 20 Jun 2014 10:56:34 +0200 Subject: [PATCH 025/190] StateDB: Free locale string also if attribs are invalid. This fixes Coverity CID 12898 --- csync/src/csync_statedb.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/csync/src/csync_statedb.c b/csync/src/csync_statedb.c index c593b423d..0caf21c81 100644 --- a/csync/src/csync_statedb.c +++ b/csync/src/csync_statedb.c @@ -69,13 +69,11 @@ static void _csync_win32_hide_file( const char *file ) { fileName = c_utf8_to_locale( file ); dwAttrs = GetFileAttributesW(fileName); - if (dwAttrs==INVALID_FILE_ATTRIBUTES) goto cleanup; - - if (!(dwAttrs & FILE_ATTRIBUTE_HIDDEN)) { - SetFileAttributesW(fileName, dwAttrs | FILE_ATTRIBUTE_HIDDEN ); + if (dwAttrs != INVALID_FILE_ATTRIBUTES) { + if (!(dwAttrs & FILE_ATTRIBUTE_HIDDEN)) { + SetFileAttributesW(fileName, dwAttrs | FILE_ATTRIBUTE_HIDDEN ); + } } - -cleanup: c_free_locale_string(fileName); #else (void) file; From 85cdbd1f1def0608f69f00835071a61f59b2b451 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 20 Jun 2014 11:02:29 +0200 Subject: [PATCH 026/190] stateDB: Close the file descriptor even if stat failed. This fixes Coverity CID 12897 --- csync/src/csync_statedb.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/csync/src/csync_statedb.c b/csync/src/csync_statedb.c index 0caf21c81..dd2659aff 100644 --- a/csync/src/csync_statedb.c +++ b/csync/src/csync_statedb.c @@ -155,6 +155,8 @@ static int _csync_statedb_check(const char *statedb) { } } } + } else { + close(fd); } /* if it comes here, the database is broken and should be recreated. */ _tunlink(wstatedb); From 5225fe07e0dff8c48e3707f3046fc37ab7c74ae7 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 20 Jun 2014 11:10:55 +0200 Subject: [PATCH 027/190] csync_owncloud_recursive_propfind: "fix" possible memory leak This was only leaking memory if ne_path_parent returns 0, which should never happen This fixes coverity issue 12897 --- csync/src/csync_owncloud_recursive_propfind.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/csync/src/csync_owncloud_recursive_propfind.c b/csync/src/csync_owncloud_recursive_propfind.c index 29abd199f..f7319d592 100644 --- a/csync/src/csync_owncloud_recursive_propfind.c +++ b/csync/src/csync_owncloud_recursive_propfind.c @@ -236,13 +236,12 @@ static void propfind_results_recursive(void *userdata, } /* DEBUG_WEBDAV("results_recursive Added child %s to collection %s", newres->uri, element->self->uri); */ - } else { - /* DEBUG_WEBDAV("results_recursive No parent %s found for child %s", parentPath, newres->uri); */ - resource_free(newres); - newres = NULL; + return; } } + resource_free(newres); + newres = NULL; } void fetch_resource_list_recursive(const char *uri, const char *curi) From b144a5bbf9f2f41df216b188435496f1e2366103 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 20 Jun 2014 11:14:08 +0200 Subject: [PATCH 028/190] csync_exclude: Add a missing free of path components. This fixes Coverity CID 12895 --- csync/src/csync_exclude.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/csync/src/csync_exclude.c b/csync/src/csync_exclude.c index 2ae23dba2..f0e9e8282 100644 --- a/csync/src/csync_exclude.c +++ b/csync/src/csync_exclude.c @@ -264,6 +264,8 @@ CSYNC_EXCLUDE_TYPE csync_excluded(CSYNC *ctx, const char *path, int filetype) { if (bname == NULL || dname == NULL) { match = CSYNC_NOT_EXCLUDED; + SAFE_FREE(bname); + SAFE_FREE(dname); SAFE_FREE(pattern_stored); goto out; } From 4d4a0148e4be0469409a6ecbfd126f7c6fe632bd Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 20 Jun 2014 11:20:37 +0200 Subject: [PATCH 029/190] owncloudgui: use QUrl::fromLocalFile --- src/mirall/owncloudgui.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/mirall/owncloudgui.cpp b/src/mirall/owncloudgui.cpp index 5999a5b8b..5ea9c693c 100644 --- a/src/mirall/owncloudgui.cpp +++ b/src/mirall/owncloudgui.cpp @@ -326,10 +326,9 @@ void ownCloudGui::slotShowOptionalTrayMessage(const QString &title, const QStrin void ownCloudGui::slotFolderOpenAction( const QString& alias ) { Folder *f = FolderMan::instance()->folder(alias); - qDebug() << "opening local url " << f->path(); if( f ) { - QUrl url(f->path(), QUrl::TolerantMode); - url.setScheme( QLatin1String("file") ); + qDebug() << "opening local url " << f->path(); + QUrl url = QUrl::fromLocalFile(f->path); #ifdef Q_OS_WIN // work around a bug in QDesktopServices on Win32, see i-net From 2e5172185145ba237c2c9f137d7a89218b6efac9 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 20 Jun 2014 11:26:41 +0200 Subject: [PATCH 030/190] owncloudgui: Fix compilation --- src/mirall/owncloudgui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mirall/owncloudgui.cpp b/src/mirall/owncloudgui.cpp index 5ea9c693c..cadb5a8c8 100644 --- a/src/mirall/owncloudgui.cpp +++ b/src/mirall/owncloudgui.cpp @@ -328,7 +328,7 @@ void ownCloudGui::slotFolderOpenAction( const QString& alias ) Folder *f = FolderMan::instance()->folder(alias); if( f ) { qDebug() << "opening local url " << f->path(); - QUrl url = QUrl::fromLocalFile(f->path); + QUrl url = QUrl::fromLocalFile(f->path()); #ifdef Q_OS_WIN // work around a bug in QDesktopServices on Win32, see i-net From 83171bf02513d7650a92e856c65d0b34832aaeca Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 20 Jun 2014 11:27:37 +0200 Subject: [PATCH 031/190] accountsettings: remove unused function It was moved into owncloudgui before And it was broken (bad use of QUrl and use of null pointer --- src/mirall/accountsettings.cpp | 22 ---------------------- src/mirall/accountsettings.h | 1 - 2 files changed, 23 deletions(-) diff --git a/src/mirall/accountsettings.cpp b/src/mirall/accountsettings.cpp index 5200d0204..6ab404403 100644 --- a/src/mirall/accountsettings.cpp +++ b/src/mirall/accountsettings.cpp @@ -416,28 +416,6 @@ void AccountSettings::setFolderList( const Folder::Map &folders ) } -// move from Application -void AccountSettings::slotFolderOpenAction( const QString& alias ) -{ - Folder *f = FolderMan::instance()->folder(alias); - qDebug() << "opening local url " << f->path(); - if( f ) { - QUrl url(f->path(), QUrl::TolerantMode); - url.setScheme( QLatin1String("file") ); - -#ifdef Q_OS_WIN - // work around a bug in QDesktopServices on Win32, see i-net - QString filePath = f->path(); - - if (filePath.startsWith(QLatin1String("\\\\")) || filePath.startsWith(QLatin1String("//"))) - url.setUrl(QDir::toNativeSeparators(filePath)); - else - url = QUrl::fromLocalFile(filePath); -#endif - QDesktopServices::openUrl(url); - } -} - void AccountSettings::slotEnableCurrentFolder() { QModelIndex selected = ui->_folderList->selectionModel()->currentIndex(); diff --git a/src/mirall/accountsettings.h b/src/mirall/accountsettings.h index fd36a2f24..4e64ea25e 100644 --- a/src/mirall/accountsettings.h +++ b/src/mirall/accountsettings.h @@ -60,7 +60,6 @@ public slots: void slotOpenOC(); void slotUpdateFolderState( Folder* ); void slotDoubleClicked( const QModelIndex& ); - void slotFolderOpenAction( const QString& ); void slotSetProgress(const QString& folder, const Progress::Info& progress); void slotButtonsSetEnabled(); From 1e788d3d60bf5288e5554655258f34044a50c29e Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 20 Jun 2014 11:29:28 +0200 Subject: [PATCH 032/190] folderwizard: fix possible use of null pointer Coverity issue 12907 --- src/mirall/folderwizard.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mirall/folderwizard.cpp b/src/mirall/folderwizard.cpp index d11100dc5..7b6fa73d5 100644 --- a/src/mirall/folderwizard.cpp +++ b/src/mirall/folderwizard.cpp @@ -170,8 +170,8 @@ bool FolderWizardLocalPath::isComplete() const bool goon = true; while( goon && i != map.constEnd() ) { Folder *f = i.value(); - qDebug() << "Checking local alias: " << f->alias(); if( f ) { + qDebug() << "Checking local alias: " << f->alias(); if( f->alias() == alias ) { warnStrings.append( tr("The alias %1 is already in use. Please pick another alias.").arg(alias) ); isOk = false; From f04c80dd0e63aa7e5e6e4a623c68543ac6956b59 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 20 Jun 2014 11:33:29 +0200 Subject: [PATCH 033/190] httpbf: silent coverity issue 12905 --- csync/src/httpbf/src/httpbf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csync/src/httpbf/src/httpbf.c b/csync/src/httpbf/src/httpbf.c index eb19c222d..f914655c1 100644 --- a/csync/src/httpbf/src/httpbf.c +++ b/csync/src/httpbf/src/httpbf.c @@ -204,9 +204,9 @@ void hbf_free_transfer( hbf_transfer_t *transfer ) { for( cnt = 0; cnt < transfer->block_cnt; cnt++ ) { hbf_block_t *block = transfer->block_arr[cnt]; + if( !block ) continue; if( block->http_error_msg ) free( block->http_error_msg ); if( block->etag ) free( block->etag ); - if( block ) free(block); } free( transfer->block_arr ); free( transfer->url ); From 407b3bebfeb8f9f0493382c9f9cd2216e134107e Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 20 Jun 2014 11:38:24 +0200 Subject: [PATCH 034/190] csync file util: Remove compare file function, not needed anymore. This also fixes Coverity CID 12890 and CID 12898 --- csync/src/std/c_file.c | 84 ------------------------------------------ csync/src/std/c_file.h | 10 ----- 2 files changed, 94 deletions(-) diff --git a/csync/src/std/c_file.c b/csync/src/std/c_file.c index 61984b3b6..7745a34e5 100644 --- a/csync/src/std/c_file.c +++ b/csync/src/std/c_file.c @@ -260,87 +260,3 @@ int c_rename( const char *src, const char *dst ) { return rc; } - -int c_compare_file( const char *f1, const char *f2 ) { - mbchar_t *wf1, *wf2; - int fd1 = -1, fd2 = -1; - size_t size1, size2; - char buffer1[BUFFER_SIZE]; - char buffer2[BUFFER_SIZE]; - csync_stat_t stat1; - csync_stat_t stat2; - - int rc = -1; - - if(f1 == NULL || f2 == NULL) return -1; - - wf1 = c_utf8_to_locale(f1); - if(wf1 == NULL) { - return -1; - } - - wf2 = c_utf8_to_locale(f2); - if(wf2 == NULL) { - c_free_locale_string(wf1); - return -1; - } - -#ifdef _WIN32 - _fmode = _O_BINARY; -#endif - - fd1 = _topen(wf1, O_RDONLY); - if(fd1 < 0) { - rc = -1; - goto out; - } - - fd2 = _topen(wf2, O_RDONLY); - if(fd2 < 0) { - rc = -1; - goto out; - } - - /* compare size first. */ - rc = _tfstat(fd1, &stat1); - if (rc < 0) { - goto out; - } - - rc = _tfstat(fd2, &stat2); - if (rc < 0) { - goto out; - } - - /* if sizes are different, the files can not be equal. */ - if (stat1.st_size != stat2.st_size) { - rc = 0; - goto out; - } - - while( (size1 = read(fd1, buffer1, BUFFER_SIZE)) > 0 ) { - size2 = read( fd2, buffer2, BUFFER_SIZE ); - - if( size1 != size2 ) { - rc = 0; - goto out; - } - if(memcmp(buffer1, buffer2, size1) != 0) { - /* buffers are different */ - rc = 0; - goto out; - } - } - - rc = 1; - -out: - - if(fd1 > -1) close(fd1); - if(fd2 > -1) close(fd2); - - c_free_locale_string( wf1 ); - c_free_locale_string( wf2 ); - return rc; - -} diff --git a/csync/src/std/c_file.h b/csync/src/std/c_file.h index d952b3976..1a32249a6 100644 --- a/csync/src/std/c_file.h +++ b/csync/src/std/c_file.h @@ -75,16 +75,6 @@ int c_isfile(const char *path); */ int c_copy(const char *src, const char *dst, mode_t mode); -/** - * @brief Compare the content of two files byte by byte. - * @param f1 Path of file 1 - * @param f2 Path of file 2 - * - * @return 0 if the files differ, 1 if the files are equal or -1 on - * error with errno set. - */ -int c_compare_file( const char *f1, const char *f2 ); - /** * @brief move a file from source to destination. * From 61ad376bf44723892a9ac659c83b7f43e6e00c60 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 20 Jun 2014 11:39:48 +0200 Subject: [PATCH 035/190] accountsettings: silent coverity warning 12884 We use f anyway, so if we are going to test if it's null we can as well return --- src/mirall/accountsettings.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mirall/accountsettings.cpp b/src/mirall/accountsettings.cpp index 6ab404403..e0e60d10f 100644 --- a/src/mirall/accountsettings.cpp +++ b/src/mirall/accountsettings.cpp @@ -432,7 +432,11 @@ void AccountSettings::slotEnableCurrentFolder() // this sets the folder status to disabled but does not interrupt it. Folder *f = folderMan->folder( alias ); - if( f && folderEnabled ) { + if (!f) { + return; + } + + if( folderEnabled ) { // check if a sync is still running and if so, ask if we should terminate. if( f->isBusy() ) { // its still running #if defined(Q_OS_MAC) From b7c9fa6d5ffc95118eeacc9b5d488d6e031d5daa Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 20 Jun 2014 11:43:25 +0200 Subject: [PATCH 036/190] csync_owncloud: silent CID 12883 --- csync/src/csync_owncloud.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csync/src/csync_owncloud.c b/csync/src/csync_owncloud.c index bfe1a63b9..8aabc16ed 100644 --- a/csync/src/csync_owncloud.c +++ b/csync/src/csync_owncloud.c @@ -696,7 +696,7 @@ static struct listdir_context *fetch_resource_list(const char *uri, int depth) ret = NE_CONNECT; set_error_message(req_status->reason_phrase); } - DEBUG_WEBDAV("Simple propfind result code %d.", req_status->code); + DEBUG_WEBDAV("Simple propfind result code %d.", req_status ? req_status->code : -1); } else { if( ret == NE_ERROR && req_status->code == 404) { errno = ENOENT; From b34afa1afcf022b66b37fd1317b6c4edade7b756 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 20 Jun 2014 11:49:33 +0200 Subject: [PATCH 037/190] reconcile: use the proper enum type thankfully the value hapenned to be the same, but the type is of CSYNC_FTW_.. and not CSYNC_VIO_FILE_TYPE Detected by coverity (CID 12887) --- csync/src/csync_reconcile.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/csync/src/csync_reconcile.c b/csync/src/csync_reconcile.c index 140117ba1..621afcf4e 100644 --- a/csync/src/csync_reconcile.c +++ b/csync/src/csync_reconcile.c @@ -238,8 +238,8 @@ static int _csync_merge_algorithm_visitor(void *obj, void *data) { /* file on other replica is changed or new */ case CSYNC_INSTRUCTION_NEW: case CSYNC_INSTRUCTION_EVAL: - if (other->type == CSYNC_VIO_FILE_TYPE_DIRECTORY && - cur->type == CSYNC_VIO_FILE_TYPE_DIRECTORY) { + if (other->type == CSYNC_FTW_TYPE_DIR && + cur->type == CSYNC_FTW_TYPE_DIR) { is_equal_files = (other->modtime == cur->modtime); } else { is_equal_files = ((other->size == cur->size) && (other->modtime == cur->modtime)); From f80816d88f35f36bdebaa51dfb51b80b3b2d334d Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 20 Jun 2014 11:36:25 +0200 Subject: [PATCH 038/190] SyncEngine: silence coverity issue 12885 It was complaining that we use the context later in the function but the csync context should never be null anyway --- src/mirall/syncengine.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index 65267d186..7da259c42 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -432,9 +432,7 @@ void SyncEngine::startSync() Q_ASSERT(!_syncRunning); _syncRunning = true; - if( ! _csync_ctx ) { - qDebug() << "XXXXXXXXXXXXXXXX FAIL: do not have csync_ctx!"; - } + Q_ASSERT(_csync_ctx); _syncedItems.clear(); _needsUpdate = false; From 4a9ad14e116724ad75142af77428955998e8a6d8 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 20 Jun 2014 12:01:20 +0200 Subject: [PATCH 039/190] Folder: remove unused variable CID 12914 --- src/mirall/folder.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mirall/folder.h b/src/mirall/folder.h index f2a8c3097..db5fd0be6 100644 --- a/src/mirall/folder.h +++ b/src/mirall/folder.h @@ -199,7 +199,6 @@ private: QString _remotePath; QString _alias; QString _configFile; - QFileSystemWatcher *_pathWatcher; bool _enabled; SyncResult _syncResult; QScopedPointer _engine; From 3e916cfbb91831bcf0b871e4664ee681adaf7d7a Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 20 Jun 2014 12:03:07 +0200 Subject: [PATCH 040/190] remove unused member CID 12915 CID 12926 --- src/mirall/folderstatusmodel.h | 2 -- src/mirall/folderwizard.h | 2 -- src/wizard/owncloudsetuppage.cpp | 2 -- src/wizard/owncloudsetuppage.h | 3 --- 4 files changed, 9 deletions(-) diff --git a/src/mirall/folderstatusmodel.h b/src/mirall/folderstatusmodel.h index 7db24f698..31ef4b1a9 100644 --- a/src/mirall/folderstatusmodel.h +++ b/src/mirall/folderstatusmodel.h @@ -57,8 +57,6 @@ class FolderStatusDelegate : public QStyledItemDelegate bool editorEvent( QEvent* event, QAbstractItemModel* model, const QStyleOptionViewItem& option, const QModelIndex& index ); -private: - bool _addProgressSpace; }; } // namespace Mirall diff --git a/src/mirall/folderwizard.h b/src/mirall/folderwizard.h index 658524f69..95862a029 100644 --- a/src/mirall/folderwizard.h +++ b/src/mirall/folderwizard.h @@ -86,8 +86,6 @@ protected slots: private: void recursiveInsert(QTreeWidgetItem *parent, QStringList pathTrail, QString path); Ui_FolderWizardTargetPage _ui; - ownCloudInfo *_ownCloudDirCheck; - bool _dirChecked; bool _warnWasVisible; }; diff --git a/src/wizard/owncloudsetuppage.cpp b/src/wizard/owncloudsetuppage.cpp index abe63bd6d..da1e54a83 100644 --- a/src/wizard/owncloudsetuppage.cpp +++ b/src/wizard/owncloudsetuppage.cpp @@ -255,8 +255,6 @@ void OwncloudSetupPage::stopSpinner() void OwncloudSetupPage::setConfigExists( bool config ) { - _configExists = config; - if (config == true) { setSubTitle(WizardCommon::subTitleTemplate().arg(tr("Update %1 server") .arg(Theme::instance()->appNameGUI()))); diff --git a/src/wizard/owncloudsetuppage.h b/src/wizard/owncloudsetuppage.h index 546e6a0ba..7161a3665 100644 --- a/src/wizard/owncloudsetuppage.h +++ b/src/wizard/owncloudsetuppage.h @@ -68,12 +68,9 @@ private: QString _ocUser; bool _authTypeKnown; bool _checking; - bool _configExists; - bool _multipleFoldersExist; WizardCommon::AuthType _authType; QProgressIndicator* _progressIndi; - QButtonGroup* _selectiveSyncButtons; QString _remoteFolder; }; From 1dd58a537ed04996ed5c45261bbbac21e2e59df1 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 20 Jun 2014 12:34:15 +0200 Subject: [PATCH 041/190] owncloudcmd: Fix structurally dead code. This fixes Coverity CID 12928 --- src/owncloudcmd/owncloudcmd.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/owncloudcmd/owncloudcmd.cpp b/src/owncloudcmd/owncloudcmd.cpp index a1746f9c3..23a110fe3 100644 --- a/src/owncloudcmd/owncloudcmd.cpp +++ b/src/owncloudcmd/owncloudcmd.cpp @@ -177,7 +177,6 @@ int main(int argc, char **argv) { if( csync_init( _csync_ctx ) < 0 ) { qFatal("Could not initialize csync!"); return EXIT_FAILURE; - _csync_ctx = 0; } csync_set_module_property(_csync_ctx, "csync_context", _csync_ctx); From 3217e42a0fdcce5510413528d68b645940754834 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 20 Jun 2014 12:37:49 +0200 Subject: [PATCH 042/190] SyncJournalDB: Initialize size member properly with 0 This fixes Coverity CID 12924 --- src/mirall/syncjournaldb.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mirall/syncjournaldb.h b/src/mirall/syncjournaldb.h index 6663df83f..bf11f11c6 100644 --- a/src/mirall/syncjournaldb.h +++ b/src/mirall/syncjournaldb.h @@ -57,7 +57,7 @@ public: bool _valid; }; struct UploadInfo { - UploadInfo() : _chunk(0), _transferid(0), _errorCount(0), _valid(false) {} + UploadInfo() : _chunk(0), _transferid(0), _size(0), _errorCount(0), _valid(false) {} int _chunk; int _transferid; quint64 _size; //currently unused From d995d1190fb5663ab35e168722b8bb57d31e57a7 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 20 Jun 2014 12:54:46 +0200 Subject: [PATCH 043/190] SyncFileItem: Some more proper member initializations. This fixes a Coverity CID --- src/mirall/syncfileitem.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mirall/syncfileitem.h b/src/mirall/syncfileitem.h index e062cae07..b4b6e1ef8 100644 --- a/src/mirall/syncfileitem.h +++ b/src/mirall/syncfileitem.h @@ -49,8 +49,9 @@ public: FileIgnored ///< The file is in the ignored list }; - SyncFileItem() : _type(UnknownType), _direction(None), _instruction(CSYNC_INSTRUCTION_NONE), - _size(0), _should_update_etag(false), _blacklistedInDb(false), + SyncFileItem() : _type(UnknownType), _direction(None), _isDirectory(false), + _instruction(CSYNC_INSTRUCTION_NONE), _modtime(0), + _size(0), _inode(0), _should_update_etag(false), _blacklistedInDb(false), _status(NoStatus), _httpErrorCode(0), _requestDuration(0) {} friend bool operator==(const SyncFileItem& item1, const SyncFileItem& item2) { From db3d2eed5fcd63e0a14b99ad7f7162bd42a3b562 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 20 Jun 2014 13:08:03 +0200 Subject: [PATCH 044/190] csync core: Remove logically dead code: Can never be reached. This fixes Coverity CID 12881 --- csync/src/csync.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/csync/src/csync.c b/csync/src/csync.c index 065d4e13c..73bff401f 100644 --- a/csync/src/csync.c +++ b/csync/src/csync.c @@ -277,11 +277,6 @@ int csync_update(CSYNC *ctx) { c_secdiff(finish, start), c_rbtree_size(ctx->local.tree)); csync_memstat_check(); - if (rc < 0) { - ctx->status_code = CSYNC_STATUS_TREE_ERROR; - return -1; - } - /* update detection for remote replica */ if( ! ctx->options.local_only_mode ) { csync_gettime(&start); From 73ab2804c4127df1b1c4477d8ed07c8471e8246f Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 12:34:57 +0200 Subject: [PATCH 045/190] owncloudwizard: properly initialize _account memember This fixes Coverity CID 12927 --- src/wizard/owncloudwizard.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/wizard/owncloudwizard.cpp b/src/wizard/owncloudwizard.cpp index 7635e2f08..94e3559ca 100644 --- a/src/wizard/owncloudwizard.cpp +++ b/src/wizard/owncloudwizard.cpp @@ -36,6 +36,7 @@ namespace Mirall OwncloudWizard::OwncloudWizard(QWidget *parent) : QWizard(parent), + _account(0), _setupPage(new OwncloudSetupPage), _httpCredsPage(new OwncloudHttpCredsPage), _shibbolethCredsPage(new OwncloudShibbolethCredsPage), From 6d13b5cc43dbc77e3b8fe6e83b5d8b5bda1a7005 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 12:38:40 +0200 Subject: [PATCH 046/190] wizard setuppage: Clean up and properly initialize members This fixes Coverity CID 12926 --- src/wizard/owncloudsetuppage.cpp | 2 ++ src/wizard/owncloudsetuppage.h | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/wizard/owncloudsetuppage.cpp b/src/wizard/owncloudsetuppage.cpp index abe63bd6d..06cfbe6e0 100644 --- a/src/wizard/owncloudsetuppage.cpp +++ b/src/wizard/owncloudsetuppage.cpp @@ -35,6 +35,8 @@ OwncloudSetupPage::OwncloudSetupPage() _ocUser(), _authTypeKnown(false), _checking(false), + _configExists(false), + _multipleFoldersExist(false), _authType(WizardCommon::HttpCreds), _progressIndi(new QProgressIndicator (this)) { diff --git a/src/wizard/owncloudsetuppage.h b/src/wizard/owncloudsetuppage.h index 546e6a0ba..af99f636a 100644 --- a/src/wizard/owncloudsetuppage.h +++ b/src/wizard/owncloudsetuppage.h @@ -73,7 +73,6 @@ private: WizardCommon::AuthType _authType; QProgressIndicator* _progressIndi; - QButtonGroup* _selectiveSyncButtons; QString _remoteFolder; }; From 6ff38d80053e469ee0a5d11498555d5a2fd913c0 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 12:44:24 +0200 Subject: [PATCH 047/190] Cleanup member initialization in Theme This fixes coverity issue 12925 --- src/mirall/owncloudtheme.cpp | 3 ++- src/mirall/theme.cpp | 8 ++++++++ src/mirall/theme.h | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/mirall/owncloudtheme.cpp b/src/mirall/owncloudtheme.cpp index a58b630fc..f73aa7c55 100644 --- a/src/mirall/owncloudtheme.cpp +++ b/src/mirall/owncloudtheme.cpp @@ -31,7 +31,8 @@ namespace Mirall { -ownCloudTheme::ownCloudTheme() +ownCloudTheme::ownCloudTheme() : + Theme() { // qDebug() << " ** running ownCloud theme!"; } diff --git a/src/mirall/theme.cpp b/src/mirall/theme.cpp index 8628508cb..f69d327ab 100644 --- a/src/mirall/theme.cpp +++ b/src/mirall/theme.cpp @@ -36,6 +36,7 @@ Theme* Theme::_instance = 0; Theme* Theme::instance() { if (!_instance) { _instance = new THEME_CLASS; + // some themes may not call the base ctor _instance->_mono = false; } return _instance; @@ -151,6 +152,13 @@ QIcon Theme::themeIcon( const QString& name, bool sysTray ) const } return icon; } + +Theme::Theme() : + QObject(0) + ,_mono(false) +{ + +} #endif // if this option return true, the client only supports one folder to sync. diff --git a/src/mirall/theme.h b/src/mirall/theme.h index 6e40b9f52..7f8166e6c 100644 --- a/src/mirall/theme.h +++ b/src/mirall/theme.h @@ -181,7 +181,7 @@ public: protected: QIcon themeIcon(const QString& name, bool sysTray = false) const; - Theme() {} + Theme(); signals: void systrayUseMonoIconsChanged(bool); From bbf8b9f8dd391ff6e4645485b544f19216bb0885 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 13:25:39 +0200 Subject: [PATCH 048/190] syncengine: properly initialize all members in ctor This fixes Coverity CID 12922 --- src/mirall/syncengine.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index eacfd0821..fdb6b5c07 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -55,12 +55,17 @@ void csyncLogCatcher(int /*verbosity*/, bool SyncEngine::_syncRunning = false; SyncEngine::SyncEngine(CSYNC *ctx, const QString& localPath, const QString& remoteURL, const QString& remotePath, Mirall::SyncJournalDb* journal) + : _csync_ctx(ctx) + , _needsUpdate(false) + , _localPath(localPath) + , _remoteUrl(remoteURL) + , _remotePath(remotePath) + , _journal(journal) + , _hasFiles(false) + , _downloadLimit(0) + , _uploadLimit(0) + { - _localPath = localPath; - _remotePath = remotePath; - _remoteUrl = remoteURL; - _csync_ctx = ctx; - _journal = journal; qRegisterMetaType("SyncFileItem"); qRegisterMetaType("SyncFileItem::Status"); qRegisterMetaType("Progress::Info"); From 88776770f7c065745d472ff726cae8dbea58a009 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 13:36:15 +0200 Subject: [PATCH 049/190] Legacy Propagator: Properly initialize members This fixes coverity CID 12919 --- src/mirall/propagator_legacy.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mirall/propagator_legacy.h b/src/mirall/propagator_legacy.h index 813b8c56d..a624064b7 100644 --- a/src/mirall/propagator_legacy.h +++ b/src/mirall/propagator_legacy.h @@ -23,7 +23,8 @@ class PropagateUploadFileLegacy: public PropagateNeonJob { Q_OBJECT public: explicit PropagateUploadFileLegacy(OwncloudPropagator* propagator,const SyncFileItem& item) - : PropagateNeonJob(propagator, item), _previousFileSize(0) {} + : PropagateNeonJob(propagator, item) + , _chunked_done(0), _chunked_total_size(0), _previousFileSize(0) {} void start(); private: // Log callback for httpbf From 31469d6a3ee7b938700acbe879096f0ed3309694 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 13:38:36 +0200 Subject: [PATCH 050/190] Folderwizard: Properly initialize all members This fixes coverity CID 12916 --- src/mirall/folderwizard.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mirall/folderwizard.cpp b/src/mirall/folderwizard.cpp index 7b6fa73d5..1641ec1c6 100644 --- a/src/mirall/folderwizard.cpp +++ b/src/mirall/folderwizard.cpp @@ -224,7 +224,10 @@ void FolderWizardLocalPath::slotChooseLocalFolder() // ================================================================================= FolderWizardRemotePath::FolderWizardRemotePath() : FormatWarningsWizardPage() + , _ownCloudDirCheck(0) + , _dirChecked(false) ,_warnWasVisible(false) + { _ui.setupUi(this); _ui.warnFrame->hide(); From 1309dc27d999723c68249cddeef6e1b23daa82f8 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 13:40:55 +0200 Subject: [PATCH 051/190] Remove previously unused member This fixes Coverity CID 12915 --- src/mirall/folderstatusmodel.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/mirall/folderstatusmodel.h b/src/mirall/folderstatusmodel.h index 7db24f698..53a5c8594 100644 --- a/src/mirall/folderstatusmodel.h +++ b/src/mirall/folderstatusmodel.h @@ -56,9 +56,6 @@ class FolderStatusDelegate : public QStyledItemDelegate QSize sizeHint( const QStyleOptionViewItem&, const QModelIndex& ) const; bool editorEvent( QEvent* event, QAbstractItemModel* model, const QStyleOptionViewItem& option, const QModelIndex& index ); - -private: - bool _addProgressSpace; }; } // namespace Mirall From f3de6f46db0ac02ec08e7563d38482e38c99ad77 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 13:42:26 +0200 Subject: [PATCH 052/190] Folder: Removed unused member _pathWatcher This fixes Coverity CID 12914 --- src/mirall/folder.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mirall/folder.h b/src/mirall/folder.h index 90f47a926..4401b61dd 100644 --- a/src/mirall/folder.h +++ b/src/mirall/folder.h @@ -200,7 +200,6 @@ private: QString _remotePath; QString _alias; QString _configFile; - QFileSystemWatcher *_pathWatcher; bool _enabled; SyncResult _syncResult; QScopedPointer _engine; From 485a6926c50ac111c00840bb41354035cbaeb555 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 13:46:57 +0200 Subject: [PATCH 053/190] FancyLineEdit: initialize all members This fixes Coverity CID 12912 --- src/3rdparty/fancylineedit/fancylineedit.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/3rdparty/fancylineedit/fancylineedit.cpp b/src/3rdparty/fancylineedit/fancylineedit.cpp index cab09d4a7..84d9fa1b4 100644 --- a/src/3rdparty/fancylineedit/fancylineedit.cpp +++ b/src/3rdparty/fancylineedit/fancylineedit.cpp @@ -317,7 +317,7 @@ void FancyLineEdit::setButtonFocusPolicy(Side side, Qt::FocusPolicy policy) // IconButton - helper class to represent a clickable icon IconButton::IconButton(QWidget *parent) - : QAbstractButton(parent), m_autoHide(false) + : QAbstractButton(parent), m_iconOpacity(0), m_autoHide(false) { setCursor(Qt::ArrowCursor); setFocusPolicy(Qt::NoFocus); From b29a757b18e86eeb3b5ebfe676d2e8bb150a10c4 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 20 Jun 2014 14:29:43 +0200 Subject: [PATCH 054/190] Revert "csync file util: Remove compare file function, not needed anymore." This break the test. And the function is aleady gone in master anyway This reverts commit 407b3bebfeb8f9f0493382c9f9cd2216e134107e. --- csync/src/std/c_file.c | 84 ++++++++++++++++++++++++++++++++++++++++++ csync/src/std/c_file.h | 10 +++++ 2 files changed, 94 insertions(+) diff --git a/csync/src/std/c_file.c b/csync/src/std/c_file.c index 7745a34e5..61984b3b6 100644 --- a/csync/src/std/c_file.c +++ b/csync/src/std/c_file.c @@ -260,3 +260,87 @@ int c_rename( const char *src, const char *dst ) { return rc; } + +int c_compare_file( const char *f1, const char *f2 ) { + mbchar_t *wf1, *wf2; + int fd1 = -1, fd2 = -1; + size_t size1, size2; + char buffer1[BUFFER_SIZE]; + char buffer2[BUFFER_SIZE]; + csync_stat_t stat1; + csync_stat_t stat2; + + int rc = -1; + + if(f1 == NULL || f2 == NULL) return -1; + + wf1 = c_utf8_to_locale(f1); + if(wf1 == NULL) { + return -1; + } + + wf2 = c_utf8_to_locale(f2); + if(wf2 == NULL) { + c_free_locale_string(wf1); + return -1; + } + +#ifdef _WIN32 + _fmode = _O_BINARY; +#endif + + fd1 = _topen(wf1, O_RDONLY); + if(fd1 < 0) { + rc = -1; + goto out; + } + + fd2 = _topen(wf2, O_RDONLY); + if(fd2 < 0) { + rc = -1; + goto out; + } + + /* compare size first. */ + rc = _tfstat(fd1, &stat1); + if (rc < 0) { + goto out; + } + + rc = _tfstat(fd2, &stat2); + if (rc < 0) { + goto out; + } + + /* if sizes are different, the files can not be equal. */ + if (stat1.st_size != stat2.st_size) { + rc = 0; + goto out; + } + + while( (size1 = read(fd1, buffer1, BUFFER_SIZE)) > 0 ) { + size2 = read( fd2, buffer2, BUFFER_SIZE ); + + if( size1 != size2 ) { + rc = 0; + goto out; + } + if(memcmp(buffer1, buffer2, size1) != 0) { + /* buffers are different */ + rc = 0; + goto out; + } + } + + rc = 1; + +out: + + if(fd1 > -1) close(fd1); + if(fd2 > -1) close(fd2); + + c_free_locale_string( wf1 ); + c_free_locale_string( wf2 ); + return rc; + +} diff --git a/csync/src/std/c_file.h b/csync/src/std/c_file.h index 1a32249a6..d952b3976 100644 --- a/csync/src/std/c_file.h +++ b/csync/src/std/c_file.h @@ -75,6 +75,16 @@ int c_isfile(const char *path); */ int c_copy(const char *src, const char *dst, mode_t mode); +/** + * @brief Compare the content of two files byte by byte. + * @param f1 Path of file 1 + * @param f2 Path of file 2 + * + * @return 0 if the files differ, 1 if the files are equal or -1 on + * error with errno set. + */ +int c_compare_file( const char *f1, const char *f2 ); + /** * @brief move a file from source to destination. * From 36331512bcc15c969ff50326980cba77f1517b88 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 20 Jun 2014 14:41:28 +0200 Subject: [PATCH 055/190] doc: Updated package list for win32 build. --- doc/building.rst | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/doc/building.rst b/doc/building.rst index daa5bd3c8..3de7fbc8f 100644 --- a/doc/building.rst +++ b/doc/building.rst @@ -66,19 +66,17 @@ via YaST or ``zypper ar`` (adjust when using openSUSE 12.2 or 13.1):: zypper ar http://download.opensuse.org/repositories/windows:/mingw/openSUSE_13.1/windows:mingw.repo Next, install the cross-compiler packages and the cross-compiled dependencies:: - 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 \ - mingw32-dlfcn-devel mingw32-libssh2-devel kdewin-png2ico \ - mingw32-libqt4 mingw32-libqt4-devel mingw32-libgcrypt \ - mingw32-libgnutls mingw32-libneon-openssl mingw32-libneon-devel \ - mingw32-libbeecrypt mingw32-libopenssl mingw32-openssl \ - 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-libqt4-sql-sqlite mingw32-sqlite mingw32-sqlite-devel \ + mingw32-libssh2-devel kdewin-png2ico mingw32-libqt4 mingw32-libqt4-devel \ + mingw32-libgcrypt mingw32-libgnutls mingw32-libneon-openssl \ + mingw32-libneon-devel mingw32-libbeecrypt mingw32-libopenssl mingw32-openssl \ + mingw32-libpng-devel mingw32-libsqlite3-0 mingw32-qtkeychain \ + mingw32-qtkeychain-devel mingw32-libintl-devel mingw32-libneon-devel \ + mingw32-libopenssl-devel mingw32-libproxy-devel mingw32-libxml2-devel \ + mingw32-zlib-devel For the installer, the NSIS installer package is also required:: From 9ca82ba14d756f3b857eea576f0f2d5a86b072c3 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 14:58:05 +0200 Subject: [PATCH 056/190] NSIS: add libwinpthread dependency --- cmake/modules/NSIS.template.in | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in index 8c9c5dcef..667a6c3c7 100644 --- a/cmake/modules/NSIS.template.in +++ b/cmake/modules/NSIS.template.in @@ -448,6 +448,7 @@ Section "${APPLICATION_NAME}" SEC_APPLICATION ;MinGW stuff File "${MING_BIN}\libgcc_s_sjlj-1.dll" File "${MING_BIN}\libstdc++-6.dll" + File "${MING_BIN}\libwinpthread-1.dll" ; CSync configs File "${SOURCE_PATH}/sync-exclude.lst" From 041066a252e0cd5f9bcebacf0254b7b492a07955 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 20 Jun 2014 15:14:44 +0200 Subject: [PATCH 057/190] Exclude: Add a missing free in case of empty lines. This fixes Coverity CLT 12893 --- csync/src/csync_exclude.c | 1 + 1 file changed, 1 insertion(+) diff --git a/csync/src/csync_exclude.c b/csync/src/csync_exclude.c index f0e9e8282..7302202a0 100644 --- a/csync/src/csync_exclude.c +++ b/csync/src/csync_exclude.c @@ -229,6 +229,7 @@ CSYNC_EXCLUDE_TYPE csync_excluded(CSYNC *ctx, const char *path, int filetype) { type = CSYNC_FILE_EXCLUDE_LIST; if (strlen(pattern) < 1) { + SAFE_FREE(pattern_stored); continue; } /* Ecludes starting with ']' means it can be cleanup */ From ae5cbb8451b4d38dbf25eb392c78c7e4067feafd Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 20 Jun 2014 15:37:50 +0200 Subject: [PATCH 058/190] Version: Bumped to rc1 --- VERSION.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION.cmake b/VERSION.cmake index 88052f045..1427e65f0 100644 --- a/VERSION.cmake +++ b/VERSION.cmake @@ -4,7 +4,7 @@ set( MIRALL_VERSION_PATCH 1 ) set( MIRALL_SOVERSION 0 ) if ( NOT DEFINED MIRALL_VERSION_SUFFIX ) - set( MIRALL_VERSION_SUFFIX "pre") #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 ) From f593fc8e4db0c0ccf48c95dff81eb5eec089061e Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 15:50:37 +0200 Subject: [PATCH 059/190] NSIS: Bump required libpng version to 16 --- cmake/modules/NSIS.template.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in index 667a6c3c7..5cd1efab7 100644 --- a/cmake/modules/NSIS.template.in +++ b/cmake/modules/NSIS.template.in @@ -413,7 +413,7 @@ Section "${APPLICATION_NAME}" SEC_APPLICATION File "${QT_DLL_PATH}\Qt5Xml.dll" ;Qt deps - File "${MING_BIN}\libpng15-15.dll" + File "${MING_BIN}\libpng16-16.dll" File "${MING_BIN}\icudata51.dll" File "${MING_BIN}\icui18n51.dll" File "${MING_BIN}\icuuc51.dll" From c855b783d91cf1f87ae48d45177859a997a40d6a Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 15:53:10 +0200 Subject: [PATCH 060/190] NSIS: Remove duplicated entry --- cmake/modules/NSIS.template.in | 1 - 1 file changed, 1 deletion(-) diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in index 5cd1efab7..afbdc0c5c 100644 --- a/cmake/modules/NSIS.template.in +++ b/cmake/modules/NSIS.template.in @@ -421,7 +421,6 @@ Section "${APPLICATION_NAME}" SEC_APPLICATION File "${MING_BIN}\libGLESv2.dll" File "${MING_BIN}\libjpeg-8.dll" File "${MING_BIN}\libpcre16-0.dll" - File "${MING_BIN}\libpng15-15.dll" File "${MING_BIN}\libproxy.dll" File "${MING_BIN}\libqt5keychain.dll" File "${MING_BIN}\libsqlite3-0.dll" From b7b6cf4b3fb746a07c561d7de7de56dc01a6eab2 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 20 Jun 2014 15:18:38 +0200 Subject: [PATCH 061/190] Shibboleth: Always ask for the password if we are going to open the log window If we don't have the cookie in the keychain (e.g. the keychain is unavailable) but there is still session cookie in the cookie jar, showing the browser won't ask for authentication. --- src/creds/shibbolethcredentials.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/creds/shibbolethcredentials.cpp b/src/creds/shibbolethcredentials.cpp index d9e3217f2..bf8fea4fe 100644 --- a/src/creds/shibbolethcredentials.cpp +++ b/src/creds/shibbolethcredentials.cpp @@ -371,6 +371,13 @@ void ShibbolethCredentials::showLoginWindow(Account* account) // FIXME On OS X this does not raise properly return; } + + CookieJar *jar = static_cast(account->networkAccessManager()->cookieJar()); + // When opening a new window clear all the session cookie that might keep the user from logging in + // (or the session may already be open in the server, and there will not be redirect asking for the + // real long term cookie we want to store) + jar->clearSessionCookies(); + _browser = new ShibbolethWebView(account); connect(_browser, SIGNAL(shibbolethCookieReceived(QNetworkCookie, Account*)), this, SLOT(onShibbolethCookieReceived(QNetworkCookie, Account*)), Qt::QueuedConnection); From 603a238eb961e7a082903c8b9a1120c232f9f77f Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 16:27:43 +0200 Subject: [PATCH 062/190] Disable minimize button for Preferences on Mac --- src/mirall/settingsdialogmac.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mirall/settingsdialogmac.cpp b/src/mirall/settingsdialogmac.cpp index 87ba4b1c3..eae0be95b 100644 --- a/src/mirall/settingsdialogmac.cpp +++ b/src/mirall/settingsdialogmac.cpp @@ -23,6 +23,11 @@ namespace Mirall { SettingsDialogMac::SettingsDialogMac(ownCloudGui *gui, QWidget *parent) : MacPreferencesWindow(parent) { + // do not show minimize button. There is no use, and retoring the + // dialog from minimize is broken in MacPreferencesWindow + setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint | + Qt::WindowCloseButtonHint | Qt::WindowMaximizeButtonHint); + setObjectName("SettingsMac"); // required as group for saveGeometry call setWindowTitle(tr("%1").arg(Theme::instance()->appNameGUI())); From 7a8a3855b8d98f7f7704c21de5d464db1155cb49 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Fri, 20 Jun 2014 16:37:07 +0200 Subject: [PATCH 063/190] Mac: Make close the settings dialog again --- src/mirall/settingsdialogmac.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/mirall/settingsdialogmac.cpp b/src/mirall/settingsdialogmac.cpp index eae0be95b..23466c6b9 100644 --- a/src/mirall/settingsdialogmac.cpp +++ b/src/mirall/settingsdialogmac.cpp @@ -28,6 +28,13 @@ SettingsDialogMac::SettingsDialogMac(ownCloudGui *gui, QWidget *parent) setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint | Qt::WindowMaximizeButtonHint); + + // Emulate dialog behavior: Escape means close + QAction *closeWindowAction = new QAction(this); + closeWindowAction->setShortcut(QKeySequence(Qt::Key_Escape)); + connect(closeWindowAction, SIGNAL(triggered()), SLOT(close())); + addAction(closeWindowAction); + setObjectName("SettingsMac"); // required as group for saveGeometry call setWindowTitle(tr("%1").arg(Theme::instance()->appNameGUI())); From 5c7f3c164274715179d4038794bc7d251ae25458 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sat, 21 Jun 2014 01:25:26 -0400 Subject: [PATCH 064/190] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 6 +++--- translations/mirall_cs.ts | 6 +++--- translations/mirall_de.ts | 6 +++--- translations/mirall_el.ts | 6 +++--- translations/mirall_en.ts | 6 +++--- translations/mirall_es.ts | 6 +++--- translations/mirall_es_AR.ts | 6 +++--- translations/mirall_et.ts | 6 +++--- translations/mirall_eu.ts | 6 +++--- translations/mirall_fa.ts | 6 +++--- translations/mirall_fi.ts | 6 +++--- translations/mirall_fr.ts | 6 +++--- translations/mirall_gl.ts | 6 +++--- translations/mirall_hu.ts | 6 +++--- translations/mirall_it.ts | 6 +++--- translations/mirall_ja.ts | 6 +++--- translations/mirall_nl.ts | 6 +++--- translations/mirall_pl.ts | 6 +++--- translations/mirall_pt.ts | 6 +++--- translations/mirall_pt_BR.ts | 6 +++--- translations/mirall_ru.ts | 6 +++--- translations/mirall_sk.ts | 6 +++--- translations/mirall_sl.ts | 6 +++--- translations/mirall_sv.ts | 6 +++--- translations/mirall_th.ts | 6 +++--- translations/mirall_tr.ts | 6 +++--- translations/mirall_uk.ts | 6 +++--- translations/mirall_zh_CN.ts | 6 +++--- translations/mirall_zh_TW.ts | 6 +++--- 29 files changed, 87 insertions(+), 87 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index 5b33cce51..4d71e10a4 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -1078,7 +1078,7 @@ No és aconsellada usar-la. La connexió ha fallat - + Update %1 server Actualitza el servidor %1 @@ -1947,12 +1947,12 @@ Proveu de sincronitzar-los de nou. 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ó diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 2ed20cdc8..0c114562f 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -1078,7 +1078,7 @@ Nedoporučuje se jí používat. Spojení selhalo - + Update %1 server Upravit server %1 @@ -1948,12 +1948,12 @@ Zkuste provést novou synchronizaci. 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 diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index 51ced2eb5..1a4b16b82 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -1079,7 +1079,7 @@ Es ist nicht ratsam, diese zu benutzen. Verbindung fehlgeschlagen - + Update %1 server %1 Server aktualisieren @@ -1948,12 +1948,12 @@ Versuchen Sie diese nochmals zu synchronisieren. 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 diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 7dd55bce1..d51266b2e 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -1077,7 +1077,7 @@ It is not advisable to use it. Σύνδεση απέτυχε - + Update %1 server Ενημέρωση %1 διακομιστή @@ -1946,12 +1946,12 @@ It is not advisable to use it. Το αρχείο περιέχει άκυρους χαρακτήρες που δεν μπορούν να συγχρονιστούν σε όλα τα συστήματα. - + Unable to initialize a sync journal. Αδυναμία προετοιμασίας αρχείου συγχρονισμού. - + Cannot open the sync journal Αποτυχία ανοίγματος του ημερολογίου συγχρονισμού. diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index 650dc0dbb..c3a53b1e7 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -1072,7 +1072,7 @@ It is not advisable to use it. - + Update %1 server @@ -1938,12 +1938,12 @@ It is not advisable to use it. - + Unable to initialize a sync journal. - + Cannot open the sync journal diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 78d23ca34..6e445bd37 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -1078,7 +1078,7 @@ No se recomienda usarlo. La conexión falló - + Update %1 server Actualizar servidor %1 @@ -1947,12 +1947,12 @@ Intente sincronizar los archivos nuevamente. 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 diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index 53e4f76a3..137f676e3 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -1075,7 +1075,7 @@ It is not advisable to use it. Fallo de Conexión - + Update %1 server Actualizando servidor %1 @@ -1942,12 +1942,12 @@ Intente sincronizar estos nuevamente. 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 diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 330e0e837..a72b8a76e 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -1078,7 +1078,7 @@ Selle kasutamine pole soovitatav. Ühendus ebaõnnestus - + Update %1 server Uuenda %1 serverit @@ -1947,12 +1947,12 @@ Proovi neid uuesti sünkroniseerida. 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 diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index d736cfaef..419261805 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -1072,7 +1072,7 @@ It is not advisable to use it. Konexioak huts egin du - + Update %1 server Eguneratu %1 zerbitzaria @@ -1939,12 +1939,12 @@ Saiatu horiek berriz sinkronizatzen. - + Unable to initialize a sync journal. Ezin izan da sinkronizazio egunerokoa hasieratu. - + Cannot open the sync journal diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 9b40bb03d..2b0442b47 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -1070,7 +1070,7 @@ It is not advisable to use it. - + Update %1 server @@ -1936,12 +1936,12 @@ It is not advisable to use it. - + Unable to initialize a sync journal. - + Cannot open the sync journal diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 5bf768842..43b4595c0 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -1073,7 +1073,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Yhteys epäonnistui - + Update %1 server Päivitä %1-palvelin @@ -1941,12 +1941,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. - + Unable to initialize a sync journal. - + Cannot open the sync journal diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 4ace8a12e..d3a8a9bbe 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -1077,7 +1077,7 @@ Il est déconseillé de l'utiliser. Échec de la connexion - + Update %1 server Mettre à jour le serveur %1 @@ -1946,12 +1946,12 @@ Il est déconseillé de l'utiliser. Le fichier contient des caractères invalides 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 diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index 9bce16ff3..f83e12b9b 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -1078,7 +1078,7 @@ Recomendámoslle que non o use. Produciuse un fallo de conexión - + Update %1 server Actualizar o servidor %1 @@ -1947,12 +1947,12 @@ Tente sincronizalos de novo. 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 diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index 1ef9c1787..fe9bb2aaf 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -1070,7 +1070,7 @@ It is not advisable to use it. A kapcsolódás sikertelen - + Update %1 server @@ -1936,12 +1936,12 @@ It is not advisable to use it. - + Unable to initialize a sync journal. - + Cannot open the sync journal diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 7917d7eb8..9c97373e5 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -1076,7 +1076,7 @@ Non è consigliabile utilizzarlo. Connessione non riuscita - + Update %1 server Aggiorna il server %1 @@ -1945,12 +1945,12 @@ Prova a sincronizzare nuovamente. 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 diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index c41c157e5..18624ec3c 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -1075,7 +1075,7 @@ It is not advisable to use it. 接続に失敗 - + Update %1 server %1 サーバーをアップデート @@ -1944,12 +1944,12 @@ It is not advisable to use it. ファイルに無効な文字が含まれているため、クロスプラットフォーム環境での同期ができません。 - + Unable to initialize a sync journal. 同期ジャーナルの初期化ができません。 - + Cannot open the sync journal 同期ジャーナルを開くことができません diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 53e5acb64..7ae776581 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -1077,7 +1077,7 @@ We adviseren deze site niet te gebruiken. Verbinding mislukt - + Update %1 server Bijwerken %1 server @@ -1946,12 +1946,12 @@ Probeer opnieuw te synchroniseren. 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 diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index 863d28a60..766365929 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -1077,7 +1077,7 @@ Niezalecane jest jego użycie. Połączenie nie powiodło się - + Update %1 server Zaktualizuj serwer %1 @@ -1946,12 +1946,12 @@ Niezalecane jest jego użycie. 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 diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 12c4d80fb..c81874c52 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -1074,7 +1074,7 @@ It is not advisable to use it. A ligação falhou - + Update %1 server Actualizar servidor %1 @@ -1944,12 +1944,12 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n 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 diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 32fc15863..955ab0fa3 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -1076,7 +1076,7 @@ It is not advisable to use it. Conexão falhou - + Update %1 server Atualizar o servidor %1 @@ -1945,12 +1945,12 @@ Tente sincronizar novamente. 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 diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 9ed6cd7b6..2d13704ed 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -1077,7 +1077,7 @@ It is not advisable to use it. Сбой подключения - + Update %1 server Обновить %1 сервер @@ -1946,12 +1946,12 @@ It is not advisable to use it. Файл содержит недопустимые символы, которые невозможно синхронизировать между платформами. - + Unable to initialize a sync journal. Не удалось инициализировать журнал синхронизации. - + Cannot open the sync journal diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index 9b8f82f38..87de047fb 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -1077,7 +1077,7 @@ Nie je vhodné ju používať. Spojenie zlyhalo - + Update %1 server Updatovať server %1 @@ -1945,12 +1945,12 @@ Nie je vhodné ju používať. 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 diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 13601b685..a736aff4a 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -1077,7 +1077,7 @@ Uporaba ni priporočljiva. Povezava je spodletela - + Update %1 server Posodobi strežnik %1 @@ -1946,12 +1946,12 @@ Te je treba uskladiti znova. 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 diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 7ba3bf21e..9ab607513 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -1077,7 +1077,7 @@ Det är inte lämpligt använda den. Anslutningen misslyckades - + Update %1 server Uppdaterar %1 server @@ -1946,12 +1946,12 @@ Försök att synka dessa igen. 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 diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index a56dce9d3..4f7aa8272 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -1070,7 +1070,7 @@ It is not advisable to use it. - + Update %1 server @@ -1936,12 +1936,12 @@ It is not advisable to use it. - + Unable to initialize a sync journal. - + Cannot open the sync journal diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index a6aca2809..c9f97d650 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -1078,7 +1078,7 @@ Kullanmanız önerilmez. Bağlantı başarısız - + Update %1 server %1 sunucusunu güncelle @@ -1947,12 +1947,12 @@ Bu dosyaları tekrar eşitlemeyi deneyin. 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 diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 0fafb7a60..081f54273 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -1070,7 +1070,7 @@ It is not advisable to use it. - + Update %1 server @@ -1936,12 +1936,12 @@ It is not advisable to use it. - + Unable to initialize a sync journal. - + Cannot open the sync journal diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 9eff236c4..07efc8503 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -1075,7 +1075,7 @@ It is not advisable to use it. 连接失败 - + Update %1 server @@ -1941,12 +1941,12 @@ It is not advisable to use it. - + Unable to initialize a sync journal. 无法初始化同步日志 - + Cannot open the sync journal 无法打开同步日志 diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index c523a5375..579b7432b 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -1070,7 +1070,7 @@ It is not advisable to use it. - + Update %1 server @@ -1936,12 +1936,12 @@ It is not advisable to use it. - + Unable to initialize a sync journal. - + Cannot open the sync journal From 184e58f5e51beafc0dbd63e09a378219db50d6ed Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sun, 22 Jun 2014 01:25:22 -0400 Subject: [PATCH 065/190] [tx-robot] updated from transifex --- translations/mirall_el.ts | 187 +++++++++++++++++--------------------- translations/mirall_it.ts | 9 +- 2 files changed, 89 insertions(+), 107 deletions(-) diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index d51266b2e..6eba8ffdb 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -85,7 +85,7 @@ Connected with <server> as <user> - Συνδεδεμένοι με το <διακομιστή> ως <χρήστης> + Συνδεδεμένοι με το <server> ως <user> @@ -126,7 +126,7 @@ Confirm Folder Remove - Επιβεβαίωση αφαίρεσης φακέλου + Επιβεβαίωση Αφαίρεσης Φακέλου @@ -141,7 +141,7 @@ <p>Do you really want to reset folder <i>%1</i> and rebuild your client database?</p><p><b>Note:</b> This function is designed for maintenance purposes only. No files will be removed, but this can cause significant data traffic and take several minutes or hours to complete, depending on the size of the folder. Only use this option if advised by your administrator.</p> - <p>Θέλετε στ' αλήθεια να επαναφέρετε το φάκελο <i>%1</i> και να επαναδημιουργήσετε τη βάση δεδομένων του πελάτη;</p><p><b>Σημείωση:</b> Αυτή η λειτουργία έχει σχεδιαστεί αποκλειστικά για λόγους συντήρησης. Κανένα αρχείο δεν θα αφαιρεθεί, αλλά αυτό μπορεί να προκαλέσει σημαντική κίνηση δεδομένων και να πάρει αρκετά λεπτά ή ώρες μέχρι να ολοκληρωθεί, ανάλογα με το μέγεθος του φακέλου. Χρησιμοποιείστε αυτή την επιλογή μόνο εάν έχετε συμβουλευτεί αναλόγως από το διαχειριστή σας.</p> + <p>Θέλετε στ' αλήθεια να επαναφέρετε το φάκελο <i>%1</i> και να επαναδημιουργήσετε τη βάση δεδομένων του δέκτη;</p><p><b>Σημείωση:</b> Αυτή η λειτουργία έχει σχεδιαστεί αποκλειστικά για λόγους συντήρησης. Κανένα αρχείο δεν θα αφαιρεθεί, αλλά αυτό μπορεί να προκαλέσει σημαντική κίνηση δεδομένων και να πάρει αρκετά λεπτά ή ώρες μέχρι να ολοκληρωθεί, ανάλογα με το μέγεθος του φακέλου. Χρησιμοποιείστε αυτή την επιλογή μόνο εάν έχετε συμβουλευτεί αναλόγως από το διαχειριστή σας.</p> @@ -162,12 +162,12 @@ No %1 connection configured. - Δεν υπάρχει σύνδεση με το %1. + Δεν έχει ρυθμιστεί σύνδεση με το %1. Sync Running - Ο Συγχρονισμός Εκτελείται + Εκτελείται Συγχρονισμός @@ -177,19 +177,21 @@ The syncing operation is running.<br/>Do you want to terminate it? - Η λειτουργία συγχρονισμού λειτουργεί.<br/> Θέλετε να την τερματίσετε; + Η λειτουργία συγχρονισμού εκτελείται.<br/> Θέλετε να την τερματίσετε; %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 από %4) %5 απομένουν με ταχύτητα %6/s %1 of %2, file %3 of %4 Total time left %5 - + %1 από %2, αρχείο %3 από%4 + +Συνολικός χρόνος που απομένει %5 @@ -240,12 +242,12 @@ Total time left %5 The configured server for this client is too old - Ο ρυθμισμένος διακομιστής για αυτόν το δέκτη είναι πολύ παλιός + Ο ρυθμισμένος διακομιστής για αυτό το δέκτη είναι πολύ παλιός Please update to the latest server and restart the client. - Παρακαλώ ενημερώστε στον τελευταίο διακομιστή και επανεκκινήστε το δέκτη. + Παρακαλώ ενημερώστε το διακομιστή στη νεώτερη έκδοση και επανεκκινήστε το δέκτη. @@ -263,7 +265,7 @@ Total time left %5 Unable to create csync-context - Αδυναμία δημιουργίας πλαισίου csync + Αδυναμία δημιουργίας csync-context @@ -273,12 +275,12 @@ Total time left %5 %1 should be a directory but is not. - %1 επρεπε να ειναι χωρος αποθηκευσης αλλα δεν ειναι. + Ο %1 θα έπρεπε να είναι κατάλογος αρχείων αλλά δεν είναι. %1 is not readable. - %1 δεν είναι αναγνώσιμο. + Το %1 δεν είναι αναγνώσιμο. @@ -351,16 +353,16 @@ Total time left %5 This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Αυτός ο συγχρονισμός θα αφαιρέσει όλα τα αρχεία στον τοπικό φάκελο συγχρονισμού '%1'. -Εάν εσείς ή ο διαχειριστής σας επαναφέρατε τον λογαριασμό σας στο διακομιστή, επιλέξτε "Διατήρηση αρχείων". Εάν θέλετε να αφαιρεθούν τα δεδομένα σας, επιλέξτε "Αφαίρεση όλων των αρχείων". +Εάν εσείς ή ο διαχειριστής σας επαναφέρατε το λογαριασμό σας στο διακομιστή, επιλέξτε "Διατήρηση αρχείων". Εάν θέλετε να αφαιρεθούν τα δεδομένα σας, επιλέξτε "Αφαίρεση όλων των αρχείων". 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? - Αυτός ο συγχρονισμός θα αφαιρέσει όλα τα αρχεία από τον φάκελο συγχρονισμού '%1'. + Αυτός ο συγχρονισμός θα αφαιρέσει όλα τα αρχεία από το φάκελο συγχρονισμού '%1'. Αυτό μπορεί να συμβεί επειδή ο φάκελος επαναρυθμίστηκε σιωπηλά, ή επειδή όλα τα αρχεία αφαιρέθηκαν χειροκίνητα. -Είστε σίγουροι ότι θέλετε να πραγματοποιήσετε αυτή εντολή; +Είστε σίγουροι ότι θέλετε να εκτελέσετε αυτή τη λειτουργία; @@ -388,12 +390,12 @@ Are you sure you want to perform this operation? An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - Βρέθηκε ένα παλαιότερο αρχείο συγχρονισμού '%1', αλλά δεν μπόρεσε να αφαιρεθεί. Παρακαλώ βεβαιωθείτε ότι καμμια εφαρμογή δεν το χρησιμοποιεί αυτή τη στιγμή. + Βρέθηκε ένα παλαιότερο αρχείο συγχρονισμού '%1', αλλά δεν μπόρεσε να αφαιρεθεί. Παρακαλώ βεβαιωθείτε ότι καμμία εφαρμογή δεν το χρησιμοποιεί αυτή τη στιγμή. Undefined State. - Απροσδιόριστη κατάσταση. + Απροσδιόριστη Κατάσταση. @@ -443,7 +445,7 @@ Are you sure you want to perform this operation? %1 (Sync is paused) - %1 (Παύση συγχρονισμούς) + %1 (Παύση συγχρονισμού) @@ -627,12 +629,12 @@ Are you sure you want to perform this operation? Launch on System Startup - Εκκίνηση κατά την Έναρξη + Εκκίνηση κατά την Έναρξη του Συστήματος Show Desktop Notifications - Εμφάνιση Ειδοποιήσεων + Εμφάνιση Ειδοποιήσεων Επιφάνειας Εργασίας @@ -693,7 +695,7 @@ Are you sure you want to perform this operation? Checked items will also be deleted if they prevent a directory from being removed. This is useful for meta data. Αρχεία ή κατάλογοι αρχείων που ακολουθούν αυτό το πρότυπο δεν θα συγχρονιστούν. -Τα επιλεγμένα στοιχεία θα διαγράφονται εάν εμποδίζουν τη διαγραφή ενός καταλόγου αρχείων. Αυτό είναι χρήσιμο για μετα-δεδομένα. +Τα επιλεγμένα στοιχεία επίσης θα διαγράφονται εάν εμποδίζουν την αφαίρεση ενός καταλόγου αρχείων. Αυτό είναι χρήσιμο για μετα-δεδομένα. @@ -703,7 +705,7 @@ Checked items will also be deleted if they prevent a directory from being remove Cannot write changes to '%1'. - Αδυναμία αποθήκευσης αλλαγών στο '%1'. + Αδυναμία εγγραφής αλλαγών στο '%1'. @@ -736,7 +738,7 @@ Checked items will also be deleted if they prevent a directory from being remove Log Output - Καταγραφή εξόδου + Καταγραφή Εξόδου @@ -746,7 +748,7 @@ Checked items will also be deleted if they prevent a directory from being remove &Find - &Εύρεση + &Αναζήτηση @@ -766,7 +768,7 @@ Checked items will also be deleted if they prevent a directory from being remove Save the log file to a file on disk for debugging. - Αποθήκευση του αρχείου καταγραφών στον δίσκο, για αποσφαλμάτωση. + Αποθήκευση του αρχείου καταγραφών στο δίσκο για αποσφαλμάτωση. @@ -794,7 +796,7 @@ Checked items will also be deleted if they prevent a directory from being remove <nobr>File '%1'<br/>cannot be opened for writing.<br/><br/>The log output can <b>not</b> be saved!</nobr> - <nobr>Το αρχειο '%1'<br/>δεν μπορει να ανοιχθει για το γραψιμο.<br/><br/>Το αρχείο καταγραφής δεν <b>μπορεί</b> να αποθηκευτεί!</nobr> + <nobr>Το αρχείο '%1'<br/>δεν μπορεί να ανοιχθεί για εγγραφή.<br/><br/>Το αρχείο καταγραφής <b>δεν</b> μπορεί να αποθηκευτεί!</nobr> @@ -835,17 +837,17 @@ Checked items will also be deleted if they prevent a directory from being remove Proxy Settings - Ρυθμίσεις Διαμεσολαβητή + Ρυθμίσεις Ενδιάμεσου Διακομιστή No Proxy - Κανένας Διαμεσολαβητής + Χωρίς Ενδιάμεσο Διακομιστή Use system proxy - Χρήση διαμεσολαβητή συστήματος + Χρήση ενδιάμεσου διακομιστή συστήματος @@ -888,12 +890,12 @@ Checked items will also be deleted if they prevent a directory from being remove No limit - Χωρίς Όριο + Χωρίς όριο Upload Bandwidth - Ταχύτητα μεταφόρτωσης + Ταχύτητα Μεταφόρτωσης @@ -903,17 +905,17 @@ Checked items will also be deleted if they prevent a directory from being remove Hostname of proxy server - Όνομα συστήματος του διακομιστή διαμεσολάβησης + Όνομα συστήματος του ενδιάμεσου διακομιστή Username for proxy server - Όνομα χρήστη για τον διακομιστή διαμεσολάβησης + Όνομα χρήστη για τον ενδιάμεσο διακομιστή Password for proxy server - Συνθηματικό για τον διακομιστή διαμεσολάβησης + Κωδικός πρόσβασης για τον ενδιάμεσο διακομιστή @@ -1001,12 +1003,12 @@ for additional privileges during the process. %1 folder '%2' is synced to local folder '%3' - Ο φάκελος %1 '%2' είναι συγχρονισμένος με τον τοπικό φάκελο '%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>Προειδοποίηση:</strong> Επί του παρόντος έχετε ρυθμισμένους πολλαπλούς φακέλους. Εάν συνεχίσετε με τις παρούσες ρυθμίσεις, οι ρυθμίσεις φακέλων θα απορριφθούν και ένας μοναδικός φάκελος ρίζας για συγχρονισμό θα δημιουργηθεί!</small></p> @@ -1064,7 +1066,7 @@ It is not advisable to use it. This url is secure. You can use it. - Αυτό το url είναι ασφαλές. Μπορείτε να το χρησιμοποιήσετε. + Αυτή η url είναι ασφαλές. Μπορείτε να τη χρησιμοποιήσετε. @@ -1093,12 +1095,12 @@ 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> + <font color="green"><b>Επιτυχής δημιουργία τοπικού φακέλου %1 για συγχρονισμό!</b></font> Trying to connect to %1 at %2... - Προσπαθεια συνδεσης στο %1 για %2... + Προσπάθεια σύνδεσης στο %1 για %2... @@ -1113,12 +1115,12 @@ It is not advisable to use it. Local sync folder %1 already exists, setting it up for sync.<br/><br/> - Υπάρχει ήδη ο τοπικός κατάλογος %1 για συγχρονισμό, ρυθμίστε τον για συγχρονισμό.<br/><br/> + Ο τοπικός φάκελος συγχρονισμού %1 υπάρχει ήδη, ρύθμιση για συγχρονισμό.<br/><br/> Creating local sync folder %1... - Δημιουργία τοπικού καταλόγου %1 για συγχρονισμό... + Δημιουργία τοπικού φακέλου %1 για συγχρονισμό... @@ -1133,7 +1135,7 @@ It is not advisable to use it. Could not create local folder %1 - Δεν μπόρεσε να δημιουργήσει τοπικό φάκελλο %1 + Αδυναμία δημιουργίας τοπικού φακέλου %1 @@ -1149,12 +1151,12 @@ It is not advisable to use it. Error: %1 - Σφάλμα %1 + Σφάλμα: %1 creating folder on ownCloud: %1 - δημιουργία φακέλλου στο ownCloud % 1 + δημιουργία φακέλου στο ownCloud: %1 @@ -1164,7 +1166,7 @@ It is not advisable to use it. The remote folder %1 already exists. Connecting it for syncing. - Ο απομακρυσμένος φάκελος %1 υπάρχει ήδη. Πραγματοποιείται σύνδεση για ενημέρωση. + Ο απομακρυσμένος φάκελος %1 υπάρχει ήδη. Θα συνδεθεί για συγχρονισμό. @@ -1175,28 +1177,28 @@ It is not advisable to use it. The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> - Η δημιουργία απομακρυσμένου φακέλλου απέτυχε επειδή τα διαπιστευτήρια είναι λάθος! <br/> Παρακαλώ επιστρέψετε και ελέγξετε τα διαπιστευτήρια. + Η δημιουργία απομακρυσμένου φακέλλου απέτυχε επειδή τα διαπιστευτήρια είναι λάθος!<br/>Παρακαλώ επιστρέψετε και ελέγξετε τα διαπιστευτήριά σας.</p> <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> - <p><font color="red">Η απομακρυσμένη δημιουργία φακέλου απέτυχε, επειδή πιθανώς τα διαπιστευτήρια που δόθηκαν είναι λάθος.</font><br/>Παρακαλώ επιστρέψτε πίσω και ελέγξτε τα διαπιστευτήρια σας.</p> + <p><font color="red">Η δημιουργία απομακρυσμένου φακέλου απέτυχε, πιθανώς επειδή τα διαπιστευτήρια που δόθηκαν είναι λάθος.</font><br/>Παρακαλώ επιστρέψτε πίσω και ελέγξτε τα διαπιστευτήρια σας.</p> Remote folder %1 creation failed with error <tt>%2</tt>. - Η απομακρυσμένη δημιουργία φακέλου %1 απέτυχε με σφάλμα <tt>%2</tt>. + Η δημιουργία απομακρυσμένου φακέλου %1 απέτυχε με σφάλμα <tt>%2</tt>. A sync connection from %1 to remote directory %2 was set up. - Μια σύνδεση συγχρονισμού από τον κατάλογο %1 σε %2 έχει συσταθεί. + Μια σύνδεση συγχρονισμού από τον απομακρυσμένο κατάλογο %1 σε %2 έχει ρυθμιστεί. Successfully connected to %1! - Η συνδεση πετυχε με %1! + Επιτυχής σύνδεση με %1! @@ -1222,12 +1224,12 @@ It is not advisable to use it. Open %1 - Ανοικτό %1 + Άνοιγμα %1 Open Local Folder - Ανοίξτε το Τοπικό Φάκελλο + Άνοιγμα τοπικού φακέλου @@ -1237,7 +1239,7 @@ It is not advisable to use it. Your entire account is synced to the local folder <i>%1</i> - Ολος ο λογαριασμός σας έει συγχρονιστεί με τον τοπικό φάκελλο. + Ολόκληρος ο λογαριασμός σας έχει συγχρονιστεί με τον τοπικό φάκελλο <i>%1</i> @@ -1459,7 +1461,7 @@ It is not advisable to use it. Copied to clipboard - Αντιγραφθηκε στο clipboard + Αντιγράφηκε στο πρόχειρο @@ -1703,7 +1705,7 @@ It is not advisable to use it. Trust this certificate anyway - Εμπιστευθειτε αυτο το πιστοποιητικο + Προσθήκη αυτού του πιστοποιητικού στα έμπιστα παρ'όλα αυτά @@ -1719,7 +1721,7 @@ It is not advisable to use it. with Certificate %1 - με πιστοποιητικό: %1 + με Πιστοποιητικό: %1 @@ -2012,12 +2014,12 @@ It is not advisable to use it. Managed Folders: - Διαχείριση αρχείων: + Φάκελοι υπό Διαχείριση: Open folder '%1' - Άνοιγμα καταλόγου '%1' + Άνοιγμα φακέλου '%1' @@ -2067,7 +2069,7 @@ It is not advisable to use it. Quota n/a - Μερίδιο χώρου αποθήκευσης δεν είναι διαθέσιμο + Μερίδιο χώρου αποθήκευσης μ/δ @@ -2082,12 +2084,12 @@ It is not advisable to use it. Syncing %1 of %2 (%3 left) - + Συγχρονισμός %1 από %2 (%3 απομένουν) Syncing %1 (%2 left) - + Συγχρονισμός %1 (%2 απομένουν) @@ -2147,7 +2149,7 @@ It is not advisable to use it. <small>Erases the contents of the local folder before syncing using the new settings.</small> - <small>Διαγράφει τα περιεχόμενα του τοπικού φακέλου πριν το συγχρονισμό με τις νέες ρυθμίσεις.</small> + <small>Διαγράφει τα περιεχόμενα του τοπικού φακέλου πριν το συγχρονισμό υπό τις νέες ρυθμίσεις.</small> @@ -2170,12 +2172,12 @@ It is not advisable to use it. &Password - &Συνθηματικό + &Κωδικός Πρόσβασης Error Label - Εσφαλμένη Ετικέτα + Ετικέτα Σφάλματος @@ -2195,7 +2197,7 @@ It is not advisable to use it. Server &address: - &Διεύθυνση εξυπηρετητή: + &Διεύθυνση διακομιστή: @@ -2219,7 +2221,7 @@ It is not advisable to use it. &Username: - Όνομα &Χρήστη + &Όνομα Χρήστη @@ -2229,22 +2231,22 @@ It is not advisable to use it. &Password: - &Συνθηματικό: + &Κωδικός Πρόσβασης: Enter the ownCloud password. - Εισάγετε το συνθηματικό του ownCloud. + Εισάγετε τον κωδικό πρόσβασης του ownCloud. Do not allow the local storage of the password. - Να μην επιτρέπεται η τοπική αποθήκευση του συνθηματικού. + Να μην επιτρέπεται η τοπική αποθήκευση του κωδικού πρόσβασης. &Do not store password on local machine - &Μην αποθηκεύετε το συνθηματικό στον τοπικό υπολογιστή + &Να μην γίνει αποθήκευση του κωδικού πρόσβασης στον τοπικό υπολογιστή @@ -2259,17 +2261,17 @@ It is not advisable to use it. Server &Address - Διακομιστής και Διεύθυνση + Διακομιστής και &Διεύθυνση https://... - https://.. + https://... Error Label - Εσφαλμένη Ετικέτα + Ετικέτα Σφάλματος @@ -2287,13 +2289,13 @@ It is not advisable to use it. Your entire account is synced to the local folder - Ολος ο λογαριασμός συγχρονίζεται στον τοπικό φάκελλο. + Ολόκληρος ο λογαριασμός σας έχει συγχρονιστεί με τον τοπικό φάκελο PushButton - Πάτημα Κουμπιού + PushButton @@ -2334,7 +2336,7 @@ It is not advisable to use it. %1 requires on a working system tray. If you are running XFCE, please follow <a href="http://docs.xfce.org/xfce/xfce4-panel/systray">these instructions</a>. Otherwise, please install a system tray application such as 'trayer' and try again. - Το %1 απαιτεί μια μπάρα συστήματος σε λειτουργία. Εάν χρησιμοποιείτε XFCE, παρακαλώ ακολουθείστε <a href="http://docs.xfce.org/xfce/xfce4-panel/systray">αυτές τις οδηγίες</a>. Διαφορετικά, παρακαλώ εγκαταστείστε μια εφαρμογή μπάρας συστήματος όπως η 'trayer' και δοκιμάστε ξανά. + Το %1 απαιτεί μια μπάρα συστήματος σε λειτουργία. Εάν χρησιμοποιείτε το XFCE, παρακαλώ ακολουθείστε <a href="http://docs.xfce.org/xfce/xfce4-panel/systray">αυτές τις οδηγίες</a>. Διαφορετικά, παρακαλώ εγκαταστείστε μια εφαρμογή μπάρας συστήματος όπως η 'trayer' και δοκιμάστε ξανά. @@ -2343,7 +2345,7 @@ It is not advisable to use it. If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! - Εάν δεν έχετε ένα διακομιστή ownCloud, δείτε στην διεύθυνση <a href="https://owncloud.com">owncloud.com</a> για περισσότερες πληροφορίες. + Εάν δεν έχετε ένα διακομιστή ownCloud ακόμα, δείτε στην διεύθυνση <a href="https://owncloud.com">owncloud.com</a> για περισσότερες πληροφορίες. @@ -2356,29 +2358,8 @@ 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, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 - <p> - -Έκδοση %2. Για περισσότερες πληροφορίες επισκεφθείτε -<a href="%3"> - -%4 -</a> - -</p> - -<p> - -<small> - -Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc. -<br> - -Βασισμένη στο Mirall από τον Duncan Mac-Vicar P. -</small> - -</p> - -%7 + <p>Έκδοση %2. Για περισσότερες πληροφορίες επισκεφθείτε<a href="%3"> +%4</a></p><p><small>Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Βασισμένη στο Mirall από τον Duncan Mac-Vicar P.</small></p>%7 @@ -2477,7 +2458,7 @@ Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc. Sync is running - Ο Συγχρονισμός Εκτελείται + Ο συγχρονισμός εκτελείται @@ -2502,7 +2483,7 @@ Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc. The server is currently unavailable - Ο διακομιστής δεν είναι διαθέσιμος προς το παρόν. + Ο διακομιστής δεν είναι διαθέσιμος προς το παρόν diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 9c97373e5..10fd0485e 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -183,13 +183,14 @@ %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 in corso di %2 (%3 di %4). Tempo rimanente: %5 ad una velocità di %6/s + %1 %2 (%3 di %4). %5 rimanenti a una velocità di %6/s %1 of %2, file %3 of %4 Total time left %5 - + %1 di %2, file %3 di %4 +Totale tempo rimanente %5 @@ -2081,12 +2082,12 @@ Prova a sincronizzare nuovamente. Syncing %1 of %2 (%3 left) - + Sincronizzazione di %1 di %2 (%3 rimanenti) Syncing %1 (%2 left) - + Sincronizzazione di %1 (%2 rimanenti) From 4555d4bcbe14075ca9bdf30619007ae3e83b7aec Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Mon, 23 Jun 2014 01:25:24 -0400 Subject: [PATCH 066/190] [tx-robot] updated from transifex --- translations/mirall_ja.ts | 11 ++++++----- translations/mirall_pt.ts | 10 +++++----- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index 18624ec3c..6aa9c0e6d 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -183,13 +183,14 @@ %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 (%4 中 %3) 残り時間 %5 利用帯域 %6/s %1 of %2, file %3 of %4 Total time left %5 - + %2 のうち %1 , ファイル %4 のうち %3 +残り時間 %5 @@ -1379,7 +1380,7 @@ It is not advisable to use it. The local file was removed during sync. - + ローカルファイルを同期時に削除します。 @@ -2080,12 +2081,12 @@ It is not advisable to use it. Syncing %1 of %2 (%3 left) - + 同期中 %2 中 %1 (残り %3) Syncing %1 (%2 left) - + 同期中 %1 (残り %2) diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index c81874c52..f96a39f28 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -1648,7 +1648,7 @@ Por favor tente sincronizar novamente. SHA-256: - + SHA-256: @@ -1921,7 +1921,7 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n An internal error number %1 happened. - + Ocorreu um erro interno número %1. @@ -1980,7 +1980,7 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n Disconnected from server - + Desligar do servidor @@ -2387,7 +2387,7 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n Filesystem access error - + Erro ao acesso do sistema de ficheiros @@ -2423,7 +2423,7 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n ignoring - + ignorado From a7d251f8fcd7f317088f10b0e4ac5bcb177e196e Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 23 Jun 2014 11:06:04 +0200 Subject: [PATCH 067/190] Update changelog for 1.6.1 --- ChangeLog | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/ChangeLog b/ChangeLog index 341811555..bf537e7b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,26 @@ ChangeLog ========= +version 1.6.1 (release 2014-06-26 ) + * Fix 'precondition failed' bug with broken upload + * Fix openSSL problems for windows deployment + * Fix syncing a folder with '#' in the name + * Fix #1845: do not update parent directory etag before sub + directories are removed + * Fix reappearing directories if dirs are removed during its + upload + * Fix app version in settings dialog, General tab + * Fix crash in FolderWizard when going offline + * Shibboleth fixes + * More specific error messages (file remove during upload, open + local sync file) + * Use QSet rather than QHash in SyncEngine (save memory) + * Fix some memory leaks + * Fix some thread race problems, ie. wait for neon thread to finish + before the propagator is shut down + * Fix a lot of issues and warnings found by Coverity + * Fix Mac some settings dialog problems + + version 1.6.0 (release 2014-05-30 ) * Minor GUI improvements * Qt5 compile issues fixed From 4759429702174a6a1ccfc4ab153ab11640f93cce Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 23 Jun 2014 12:53:51 +0200 Subject: [PATCH 068/190] Fix compilation after merge Some initializer were added in 1.6 for variable that are gone in master --- src/mirall/folderwizard.cpp | 2 -- src/wizard/owncloudsetuppage.cpp | 2 -- 2 files changed, 4 deletions(-) diff --git a/src/mirall/folderwizard.cpp b/src/mirall/folderwizard.cpp index 1641ec1c6..e5792abe0 100644 --- a/src/mirall/folderwizard.cpp +++ b/src/mirall/folderwizard.cpp @@ -224,8 +224,6 @@ void FolderWizardLocalPath::slotChooseLocalFolder() // ================================================================================= FolderWizardRemotePath::FolderWizardRemotePath() : FormatWarningsWizardPage() - , _ownCloudDirCheck(0) - , _dirChecked(false) ,_warnWasVisible(false) { diff --git a/src/wizard/owncloudsetuppage.cpp b/src/wizard/owncloudsetuppage.cpp index a2f33dd9e..da1e54a83 100644 --- a/src/wizard/owncloudsetuppage.cpp +++ b/src/wizard/owncloudsetuppage.cpp @@ -35,8 +35,6 @@ OwncloudSetupPage::OwncloudSetupPage() _ocUser(), _authTypeKnown(false), _checking(false), - _configExists(false), - _multipleFoldersExist(false), _authType(WizardCommon::HttpCreds), _progressIndi(new QProgressIndicator (this)) { From e19214c3c4ca2ee59836798a422331afceca6d66 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 23 Jun 2014 13:35:34 +0200 Subject: [PATCH 069/190] permissions: record them even if the instruction is NONE when the instruction is NONE, we may return from this function before having registered the permission in the SyncEngine::_remotePerms hash. Move the code a bit up. --- src/mirall/syncengine.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index 562081a27..b65d075c6 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -280,6 +280,10 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) // record the seen files to be able to clean the journal later _seenFiles.insert(item._file); + if (remote && file->remotePerm) { + _remotePerms[item._file] = file->remotePerm; + } + switch(file->error_status) { case CSYNC_STATUS_OK: break; @@ -399,10 +403,6 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) _syncedItems.append(item); - if (remote && file->remotePerm) { - _remotePerms[item._file] = file->remotePerm; - } - emit syncItemDiscovered(item); return re; } @@ -882,7 +882,6 @@ void SyncEngine::checkForPermission() QByteArray SyncEngine::getPermissions(const QString& file) const { - //FIXME; static bool isTest = qgetenv("OWNCLOUD_TEST_PERMISSIONS").toInt(); if (isTest) { QRegExp rx("_PERM_([^_]*)_[^/]*$"); From 68c902e60b8df67e1dba8f605ffe0afb0b4e30fb Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 23 Jun 2014 13:56:17 +0200 Subject: [PATCH 070/190] propagator: Fix restoring directory If the result of a restored directory is SoftError, this prevent to sync the rest of the directory Therefore, we introduced a new status Restored, which means that the job was a success, but is a restoration and therefore should be seen as a warning --- src/mirall/owncloudpropagator.cpp | 9 ++++++--- src/mirall/progressdispatcher.cpp | 2 +- src/mirall/syncfileitem.h | 3 ++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/mirall/owncloudpropagator.cpp b/src/mirall/owncloudpropagator.cpp index 8644d6fc1..f769277e4 100644 --- a/src/mirall/owncloudpropagator.cpp +++ b/src/mirall/owncloudpropagator.cpp @@ -45,7 +45,7 @@ void PropagateItemJob::done(SyncFileItem::Status status, const QString &errorStr { if (_item._isRestoration) { if( status == SyncFileItem::Success || status == SyncFileItem::Conflict) { - status = SyncFileItem::SoftError; + status = SyncFileItem::Restoration; } else { _item._errorString += tr("; Restoration Failed: ") + errorString; } @@ -85,6 +85,7 @@ void PropagateItemJob::done(SyncFileItem::Status status, const QString &errorStr _propagator->_journal->updateBlacklistEntry( record ); break; case SyncFileItem::Success: + case SyncFileItem::Restoration: if( _item._blacklistedInDb ) { // wipe blacklist entry. _propagator->_journal->wipeBlacklistEntry(_item._file); @@ -161,7 +162,8 @@ void PropagateItemJob::slotRestoreJobCompleted(const SyncFileItem& item ) _restoreJob->setRestoreJobMsg(); } - if( item._status == SyncFileItem::Success || item._status == SyncFileItem::Conflict) { + if( item._status == SyncFileItem::Success || item._status == SyncFileItem::Conflict + || item._status == SyncFileItem::Restoration) { done( SyncFileItem::SoftError, msg); } else { done( item._status, tr("A file or directory was removed from a read only share, but restoring failed: %1").arg(item._errorString) ); @@ -388,7 +390,8 @@ void PropagateDirectory::start() void PropagateDirectory::slotSubJobFinished(SyncFileItem::Status status) { - if (status == SyncFileItem::FatalError || (_current == -1 && status != SyncFileItem::Success)) { + if (status == SyncFileItem::FatalError || + (_current == -1 && status != SyncFileItem::Success && status != SyncFileItem::Restoration)) { abort(); emit finished(status); return; diff --git a/src/mirall/progressdispatcher.cpp b/src/mirall/progressdispatcher.cpp index d14c4c47b..384b78d03 100644 --- a/src/mirall/progressdispatcher.cpp +++ b/src/mirall/progressdispatcher.cpp @@ -84,7 +84,7 @@ bool Progress::isWarningKind( SyncFileItem::Status kind) { return kind == SyncFileItem::SoftError || kind == SyncFileItem::NormalError || kind == SyncFileItem::FatalError || kind == SyncFileItem::FileIgnored - || kind == SyncFileItem::Conflict; + || kind == SyncFileItem::Conflict || kind == SyncFileItem::Restoration; } diff --git a/src/mirall/syncfileitem.h b/src/mirall/syncfileitem.h index 30d3c2730..4ce515f4a 100644 --- a/src/mirall/syncfileitem.h +++ b/src/mirall/syncfileitem.h @@ -46,7 +46,8 @@ public: Success, ///< The file was properly synced Conflict, ///< The file was properly synced, but a conflict was created - FileIgnored ///< The file is in the ignored list + FileIgnored, ///< The file is in the ignored list + Restoration ///< The file was restored because what should have been done was not allowed }; SyncFileItem() : _type(UnknownType), _direction(None), _isDirectory(false), From b735dc07d6b8f1ba277a84984ce640ffe92bd26e Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 23 Jun 2014 15:05:48 +0200 Subject: [PATCH 071/190] Permissions: Consider and empty remotePerms from csync as NULL Since remotePerm from csync is never NULL (as it is a buffer), we consider that if it is empty, there was no permission set (and therefore everything is allowed) csync will put a space in the permission if any permission was set --- src/mirall/syncengine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index b65d075c6..6352d4d00 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -273,14 +273,14 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) if (file->directDownloadCookies) { item._directDownloadCookies = QString::fromUtf8( file->directDownloadCookies ); } - if (file->remotePerm) { + if (file->remotePerm && file->remotePerm[0]) { item._remotePerm = QByteArray(file->remotePerm); } // record the seen files to be able to clean the journal later _seenFiles.insert(item._file); - if (remote && file->remotePerm) { + if (remote && file->remotePerm && file->remotePerm[0]) { _remotePerms[item._file] = file->remotePerm; } From f45dd8e94f72c1520a675b8617577d543922b3b5 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Tue, 24 Jun 2014 01:25:30 -0400 Subject: [PATCH 072/190] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 277 +++++++++++++++++------------ translations/mirall_cs.ts | 277 +++++++++++++++++------------ translations/mirall_de.ts | 277 +++++++++++++++++------------ translations/mirall_el.ts | 277 +++++++++++++++++------------ translations/mirall_en.ts | 277 +++++++++++++++++------------ translations/mirall_es.ts | 277 +++++++++++++++++------------ translations/mirall_es_AR.ts | 277 +++++++++++++++++------------ translations/mirall_et.ts | 277 +++++++++++++++++------------ translations/mirall_eu.ts | 277 +++++++++++++++++------------ translations/mirall_fa.ts | 277 +++++++++++++++++------------ translations/mirall_fi.ts | 277 +++++++++++++++++------------ translations/mirall_fr.ts | 288 +++++++++++++++++------------- translations/mirall_gl.ts | 277 +++++++++++++++++------------ translations/mirall_hu.ts | 277 +++++++++++++++++------------ translations/mirall_it.ts | 277 +++++++++++++++++------------ translations/mirall_ja.ts | 277 +++++++++++++++++------------ translations/mirall_nl.ts | 277 +++++++++++++++++------------ translations/mirall_pl.ts | 277 +++++++++++++++++------------ translations/mirall_pt.ts | 277 +++++++++++++++++------------ translations/mirall_pt_BR.ts | 277 +++++++++++++++++------------ translations/mirall_ru.ts | 333 ++++++++++++++++++++--------------- translations/mirall_sk.ts | 277 +++++++++++++++++------------ translations/mirall_sl.ts | 277 +++++++++++++++++------------ translations/mirall_sv.ts | 277 +++++++++++++++++------------ translations/mirall_th.ts | 277 +++++++++++++++++------------ translations/mirall_tr.ts | 277 +++++++++++++++++------------ translations/mirall_uk.ts | 277 +++++++++++++++++------------ translations/mirall_zh_CN.ts | 277 +++++++++++++++++------------ translations/mirall_zh_TW.ts | 277 +++++++++++++++++------------ 29 files changed, 4790 insertions(+), 3310 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index 4d71e10a4..12ee6bc4f 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -144,28 +144,28 @@ <p>Voleu reiniciar la carpeta <i>%1</i> i reconstruir la base de dades del client?</p><p><b>Nota:</b> Aquesta funció existeix només per tasques de manteniment. Cap fitxer no s'eliminarà, però podria provocar-se un transit de dades significant i podria trigar diversos minuts o hores en completar-se, depenent de la mida de la carpeta. Utilitzeu aquesta opció només si us ho recomana l'administrador.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) de %2 l'espai del servidor en ús. - + No connection to %1 at <a href="%2">%3</a>. No hi ha connexió amb %1 a <a href="%2">%3</a>. - + No %1 connection configured. La connexió %1 no està configurada. - + Sync Running S'està sincronitzant @@ -175,35 +175,35 @@ No hi ha cap compte configurat - + The syncing operation is running.<br/>Do you want to terminate it? S'està sincronitzant.<br/>Voleu parar-la? - + %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 de %4) %5 pendents a un ràtio de %6/s - + %1 of %2, file %3 of %4 Total time left %5 %1 de %2, fitxer %3 de %4 Temps restant total %5 - + Connected to <a href="%1">%2</a>. Connectat a <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Connectat a <a href="%1">%2</a> com a <i>%3</i>. - + Currently there is no storage usage information available. Actualment no hi ha informació disponible de l'ús d'emmagatzemament. @@ -469,8 +469,8 @@ Esteu segur que voleu executar aquesta operació? Mirall::FolderWizard - - + + Add Folder Afegeix una carpeta @@ -546,42 +546,42 @@ Esteu segur que voleu executar aquesta operació? Mirall::FolderWizardRemotePath - + Add Remote Folder Afegeix carpeta remota - + Enter the name of the new folder: Escriviu el nom de la carpeta nova: - + Folder was successfully created on %1. La carpeta s'ha creat correctament a %1. - + Failed to create the folder on %1. Please check manually. No s'ha pogut crear el directori en %1. Si us plau, comproveu-lo manualment. - + Choose this to sync the entire account Escolliu-ho per sincronitzar el compte sencer - + This folder is already being synced. Ja s'està sincronitzant aquest directori. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Ja esteu sincronitzant <i>%1</i>, que és una carpeta dins de <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Ja esteu sincronitzant tots els vostres fitxers. Sincronitzar una altra carpeta <b>no</b> està permes. Si voleu sincronitzar múltiples carpetes, elimineu la configuració de sincronització de la carpeta arrel. @@ -598,17 +598,17 @@ Esteu segur que voleu executar aquesta operació? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway No s'ha rebut cap E-Tag del servidor, comproveu el Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. Hem rebut un E-Tag diferent en la represa. Es comprovarà la pròxima vegada. - + Connection Timeout Temps de connexió excedit @@ -1213,7 +1213,7 @@ No és aconsellada usar-la. Mirall::OwncloudWizard - + %1 Connection Wizard Assistent de connexió %1 @@ -1257,22 +1257,22 @@ No és aconsellada usar-la. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. L'usuari ha aturat la sincronització. - + No E-Tag received from server, check Proxy/Gateway No s'ha rebut cap E-Tag del servidor, comproveu el Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. hem rebut un E-Tag diferent en la represa. Es comprovarà la pròxima vegada. - + File %1 can not be downloaded because of a local file name clash! El fitxer %1 no es pot baixar perquè hi ha un xoc amb el nom d'un fitxer local! @@ -1280,7 +1280,7 @@ No és aconsellada usar-la. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! El fitxer %1 no es pot baixar perquè hi ha un xoc amb el nom d'un fitxer local! @@ -1288,7 +1288,12 @@ No és aconsellada usar-la. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 S'ha eliminat un fitxer o carpeta de la compartició nómés de lectura, però la restauració ha fallat: %1 @@ -1375,22 +1380,22 @@ No és aconsellada usar-la. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. El fitxer s'ha editat localment però és part d'una compartició només de lectura. S'ha restaurat i la vostra edició és en el fitxer en conflicte. - + The local file was removed during sync. El fitxer local s'ha eliminat durant la sincronització. - + Local file changed during sync. El fitxer local ha canviat durant la sincronització. - + The server did not acknowledge the last chunk. (No e-tag were present) El servidor no ha reconegut l'últim fragment. (No hi havia e-Tag) @@ -1516,27 +1521,27 @@ Proveu de sincronitzar-los de nou. Mirall::SettingsDialogMac - + %1 %1 - + Account Compte - + Activity Activitat - + General General - + Network Xarxa @@ -1544,12 +1549,12 @@ Proveu de sincronitzar-los de nou. Mirall::ShibbolethCredentials - + Login Error Error d'accés - + You must sign in as user %1 Cal identificar-se com a usuari %1 @@ -1557,22 +1562,22 @@ Proveu de sincronitzar-los de nou. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autenticat - + Reauthentication required Es requereix nova acreditació - + Your session has expired. You need to re-login to continue to use the client. La vostra sessió ha vençut. Heu d'acreditar-vos de nou per continuar usant el client. - + %1 - %2 %1 - %2 @@ -1776,186 +1781,232 @@ Proveu de sincronitzar-los de nou. Mirall::SyncEngine - + Success. Èxit. - + CSync failed to create a lock file. CSync ha fallat en crear un fitxer de bloqueig. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync ha fallat en carregar o crear el fitxer de revista. Assegureu-vos que yeniu permisos de lectura i escriptura en la carpeta local de sincronització. - + CSync failed to write the journal file. CSync ha fallat en escriure el fitxer de revista - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>No s'ha pogut carregar el connector %1 per csync.<br/>Comproveu la instal·lació!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'hora del sistema d'aquest client és diferent de l'hora del sistema del servidor. Useu un servei de sincronització de temps (NTP) en el servidor i al client perquè l'hora sigui la mateixa. - + CSync could not detect the filesystem type. CSync no ha pogut detectar el tipus de fitxers del sistema. - + CSync got an error while processing internal trees. CSync ha patit un error mentre processava els àrbres interns. - + CSync failed to reserve memory. CSync ha fallat en reservar memòria. - + CSync fatal parameter error. Error fatal de paràmetre en CSync. - + CSync processing step update failed. El pas d'actualització del processat de CSync ha fallat. - + CSync processing step reconcile failed. El pas de reconciliació del processat de CSync ha fallat. - + CSync processing step propagate failed. El pas de propagació del processat de CSync ha fallat. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>La carpeta destí no existeix.</p><p>Comproveu la configuració de sincronització</p> - + A remote file can not be written. Please check the remote access. No es pot escriure el fitxer remot. Reviseu l'acces remot. - + The local filesystem can not be written. Please check permissions. No es pot escriure al sistema de fitxers local. Reviseu els permisos. - + CSync failed to connect through a proxy. CSync ha fallat en connectar a través d'un proxy. - + CSync could not authenticate at the proxy. CSync no s'ha pogut acreditar amb el proxy. - + CSync failed to lookup proxy or server. CSync ha fallat en cercar el proxy o el servidor. - + CSync failed to authenticate at the %1 server. L'autenticació de CSync ha fallat al servidor %1. - + CSync failed to connect to the network. CSync ha fallat en connectar-se a la xarxa. - + A network connection timeout happend. S'ha superat el temps d'espera de la connexió a la xarxa. - + A HTTP transmission error happened. S'ha produït un error en la transmissió HTTP. - + CSync failed due to not handled permission deniend. CSync ha fallat en no implementar el permís denegat. - + CSync failed to access CSync ha fallat en accedir - + CSync tried to create a directory that already exists. CSync ha intentat crear una carpeta que ja existeix. - + CSync: No space on %1 server available. CSync: No hi ha espai disponible al servidor %1. - + CSync unspecified error. Error inespecífic de CSync. - + Aborted by the user Aturat per l'usuari - + 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. - + 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ó + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1968,7 +2019,7 @@ Proveu de sincronitzar-los de nou. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Versió %1 Per més informació visiteu <a href='%2'>%3</a>.</p><p>Copyright ownCloud, Inc.<p><p>Distribuït per %4 i amb Llicència Pública General GNU (GPL) Versió 2.0.<br>%5 i el %5 logo són marques registrades de %4 als<br>Estats Units, altres països, o ambdós.</p> @@ -2021,82 +2072,82 @@ Proveu de sincronitzar-los de nou. 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 - + 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 @@ -2341,7 +2392,7 @@ Proveu de sincronitzar-los de nou. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Si encara no teniu un servidor ownCloud, mireu <a href="https://owncloud.com">owncloud.com</a> per més informació. @@ -2350,12 +2401,12 @@ Proveu de sincronitzar-los de nou. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Construit de la revisió Git <a href="%1">%2</a> a %3, %4 usant Qt %5.</small><p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Versió %2. Per més informació visiteu <a href="%3">%4</a></p><p><small>Per Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Basat en Mirall per Duncan Mac-Vicar P.</small></p>%7 @@ -2444,57 +2495,57 @@ Proveu de sincronitzar-los de nou. theme - + Status undefined Estat indefinit - + Waiting to start sync Pendent d'iniciar la sincronització - + Sync is running La sincronització s'està executant - + Sync Success Sincronització amb èxit - + Sync Success, some files were ignored. Sincronització realitzada amb èxit, alguns fitxers s'han ignorat. - + Sync Error Error de sincronització - + Setup Error Error de configuració - + The server is currently unavailable El servidor actualment no esta disponible - + Preparing to sync Preparant per sincronitzar - + Aborting... Cancel·lant... - + Sync is paused La incronització està pausada. diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 0c114562f..af65d9a26 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -144,28 +144,28 @@ <p>Skutečně chcete resetovat složku <i>%1</i> a znovu sestavit klientskou databázi?</p><p><b>Poznámka:</b> Tato funkce je určena pouze pro účely údržby. Žádné soubory nebudou smazány, ale může to způsobit velké datové přenosy a dokončení může trvat mnoho minut či hodin v závislosti na množství dat ve složce. Použijte tuto volbu pouze na pokyn správce.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) z %2 místa na disku použito. - + No connection to %1 at <a href="%2">%3</a>. Žádné spojení s %1 na <a href="%2">%3</a>. - + No %1 connection configured. Žádné spojení s %1 nenastaveno. - + Sync Running Synchronizace probíhá @@ -175,35 +175,35 @@ Žádný účet nenastaven. - + The syncing operation is running.<br/>Do you want to terminate it? Operace synchronizace právě probíhá.<br/>Přejete si ji ukončit? - + %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 z %4) zbývající čas %5 při rychlosti %6/s - + %1 of %2, file %3 of %4 Total time left %5 %1 z %2, soubor %3 ze %4 Celkový zbývající čas %5 - + Connected to <a href="%1">%2</a>. Připojeno k <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Připojeno k <a href="%1">%2</a> jako <i>%3</i>. - + Currently there is no storage usage information available. Momentálně nejsou k dispozici žádné informace o využití úložiště @@ -469,8 +469,8 @@ Opravdu chcete provést tuto akci? Mirall::FolderWizard - - + + Add Folder Přidat složku @@ -546,42 +546,42 @@ Opravdu chcete provést tuto akci? Mirall::FolderWizardRemotePath - + Add Remote Folder Přidat vzdálený adresář - + Enter the name of the new folder: Zadejte název nové složky: - + Folder was successfully created on %1. Složka byla úspěšně vytvořena na %1. - + Failed to create the folder on %1. Please check manually. Na %1 selhalo vytvoření složky. Zkontrolujte to, prosím, ručně. - + Choose this to sync the entire account Zvolte toto k provedení synchronizace celého účtu - + This folder is already being synced. Tato složka je již synchronizována. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Již synchronizujete složku <i>%1</i>, která je složce <i>%2</i> nadřazená. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Již synchronizujete všechny vaše soubory. Synchronizování další složky <b>není</b> podporováno. Pokud chcete synchronizovat více složek, odstraňte, prosím, synchronizaci aktuální kořenové složky. @@ -598,17 +598,17 @@ Opravdu chcete provést tuto akci? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ze serveru nebyl obdržen E-Tag, zkontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Obdrželi jsme jiný E-Tag pro pokračování. Zkusím znovu příště. - + Connection Timeout Spojení Vypršelo @@ -1213,7 +1213,7 @@ Nedoporučuje se jí používat. Mirall::OwncloudWizard - + %1 Connection Wizard %1 Průvodce spojením @@ -1257,22 +1257,22 @@ Nedoporučuje se jí používat. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synchronizace zrušena uživatelem. - + No E-Tag received from server, check Proxy/Gateway Ze serveru nebyl obdržen E-Tag, zkontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Obdrželi jsme jiný E-Tag pro pokračování. Zkusím znovu příště. - + File %1 can not be downloaded because of a local file name clash! Soubor %1 nemohl být stažen z důvodu kolize názvu se souborem v místním systému. @@ -1280,7 +1280,7 @@ Nedoporučuje se jí používat. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Soubor %1 nemohl být stažen z důvodu kolize názvu se souborem v místním systému. @@ -1288,7 +1288,12 @@ Nedoporučuje se jí používat. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 Soubor nebo adresář by odebrán ze sdílení pouze pro čtení, ale jeho obnovení selhalo: %1 @@ -1375,22 +1380,22 @@ Nedoporučuje se jí používat. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Soubor zde byl editován, ale je součástí sdílení pouze pro čtení. Původní soubor byl obnoven a editovaná verze je uložena v konfliktním souboru. - + The local file was removed during sync. Místní soubor byl odstraněn během synchronizace. - + Local file changed during sync. Místní soubor byl změněn během synchronizace. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1517,27 +1522,27 @@ Zkuste provést novou synchronizaci. Mirall::SettingsDialogMac - + %1 %1 - + Account Účet - + Activity Aktivita - + General Hlavní - + Network Síť @@ -1545,12 +1550,12 @@ Zkuste provést novou synchronizaci. Mirall::ShibbolethCredentials - + Login Error Chyba přihlášení - + You must sign in as user %1 Musíte se přihlásit jako uživatel %1 @@ -1558,22 +1563,22 @@ Zkuste provést novou synchronizaci. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - ověření - + Reauthentication required Je vyžadováno opětovné ověření. - + Your session has expired. You need to re-login to continue to use the client. Vaše sezení vypršelo. Chcete-li pokračovat v práci musíte se znovu přihlásit. - + %1 - %2 %1 - %2 @@ -1777,186 +1782,232 @@ Zkuste provést novou synchronizaci. Mirall::SyncEngine - + Success. Úspěch. - + CSync failed to create a lock file. CSync nemůže vytvořit soubor zámku. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync se nepodařilo načíst či vytvořit soubor žurnálu. Ujistěte se, že máte oprávnění pro čtení a zápis v místní synchronizované složce. - + CSync failed to write the journal file. CSync se nepodařilo zapsat do souboru žurnálu. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Plugin %1 pro csync nelze načíst.<br/>Zkontrolujte prosím instalaci!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systémový čas na klientovi je rozdílný od systémového času serveru. Použijte, prosím, službu synchronizace času (NTP) na serveru i klientovi, aby byl čas na obou strojích stejný. - + CSync could not detect the filesystem type. CSync nemohl detekovat typ souborového systému. - + CSync got an error while processing internal trees. CSync obdrželo chybu při zpracování vnitřních struktur. - + CSync failed to reserve memory. CSync se nezdařilo rezervovat paměť. - + CSync fatal parameter error. CSync: kritická chyba parametrů. - + CSync processing step update failed. CSync se nezdařilo zpracovat krok aktualizace. - + CSync processing step reconcile failed. CSync se nezdařilo zpracovat krok sladění. - + CSync processing step propagate failed. CSync se nezdařilo zpracovat krok propagace. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Cílový adresář neexistuje.</p><p>Zkontrolujte, prosím, nastavení synchronizace.</p> - + A remote file can not be written. Please check the remote access. Vzdálený soubor nelze zapsat. Ověřte prosím vzdálený přístup. - + The local filesystem can not be written. Please check permissions. Do místního souborového systému nelze zapisovat. Ověřte, prosím, přístupová práva. - + CSync failed to connect through a proxy. CSync se nezdařilo připojit skrze proxy. - + CSync could not authenticate at the proxy. CSync se nemohlo přihlásit k proxy. - + CSync failed to lookup proxy or server. CSync se nezdařilo najít proxy server nebo cílový server. - + CSync failed to authenticate at the %1 server. CSync se nezdařilo přihlásit k serveru %1. - + CSync failed to connect to the network. CSync se nezdařilo připojit k síti. - + A network connection timeout happend. Došlo k vypršení časového limitu síťového spojení. - + A HTTP transmission error happened. Nastala chyba HTTP přenosu. - + CSync failed due to not handled permission deniend. CSync selhalo z důvodu nezpracovaného odmítnutí práv. - + CSync failed to access CSync se nezdařil přístup - + CSync tried to create a directory that already exists. CSync se pokusilo vytvořit adresář, který již existuje. - + CSync: No space on %1 server available. CSync: Nedostatek volného místa na serveru %1. - + CSync unspecified error. Nespecifikovaná chyba CSync. - + Aborted by the user Zrušeno uživatelem - + 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1969,7 +2020,7 @@ Zkuste provést novou synchronizaci. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Verze %1. Pro více informací navštivte <a href='%2'>%3</a>.</p><p>Copyright ownCloud, Inc.<p><p>Distribuováno %4 a licencováno pod GNU General Public License (GPL) Version 2.0.<br>%5 a logo %5 jsou registrované obchodní známky %4 ve <br>Spojených státech, ostatních zemích nebo obojí.</p> @@ -2022,82 +2073,82 @@ Zkuste provést novou synchronizaci. 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 - + 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í @@ -2342,7 +2393,7 @@ Zkuste provést novou synchronizaci. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Pokud zatím nemáte ownCloud server, získáte více informací na <a href="https://owncloud.com">owncloud.com</a> @@ -2351,12 +2402,12 @@ Zkuste provést novou synchronizaci. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Sestaveno z Git revize <a href="%1">%2</a> na %3, %4 pomocí Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Verze %2. Pro více informací navštivte <a href="%3">%4</a></p><p><small>Vytvořili Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Založeno na Mirall od Duncan Mac-Vicar P.</small></p>%7 @@ -2445,57 +2496,57 @@ Zkuste provést novou synchronizaci. theme - + Status undefined Nedefinovaný stav - + Waiting to start sync Čekám na zahájení synchronizace - + Sync is running Synchronizace běží - + Sync Success Synchronizace úspěšná - + Sync Success, some files were ignored. Synchronizace úspěšná, některé soubory byly ignorovány. - + Sync Error Chyba synchronizace - + Setup Error Chyba nastavení - + The server is currently unavailable Server je momentálně nedostupný - + Preparing to sync Připravuji na synchronizaci - + Aborting... Ruším... - + Sync is paused Synchronizace pozastavena diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index 1a4b16b82..6927e013a 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -145,28 +145,28 @@ Diese Funktion ist nur für Wartungszwecke gedacht. Es werden keine Dateien entfernt, jedoch kann diese Aktion erheblichen Datenverkehr verursachen und je nach Umfang des Ordners mehrere Minuten oder Stunden in Anspruch nehmen. Verwenden Sie diese Funktion nur dann, wenn ihr Administrator dies ausdrücklich wünscht.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) von %2 Serverkapazität in Benutzung. - + No connection to %1 at <a href="%2">%3</a>. Keine Verbindung mit %1 zu <a href="%2">%3</a>. - + No %1 connection configured. Keine %1-Verbindung konfiguriert. - + Sync Running Synchronisation läuft @@ -176,35 +176,35 @@ Diese Funktion ist nur für Wartungszwecke gedacht. Es werden keine Dateien entf Kein Konto konfiguriert. - + The syncing operation is running.<br/>Do you want to terminate it? Die Synchronistation läuft gerade.<br/>Wollen Sie diese beenden? - + %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 von %4) %5 übrig bei einer Rate von %6/s - + %1 of %2, file %3 of %4 Total time left %5 %1 von %2, Datei %3 von %4 Gesamtzeit übrig %5 - + Connected to <a href="%1">%2</a>. Verbunden mit <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Verbunden mit <a href="%1">%2</a> als <i>%3</i>. - + Currently there is no storage usage information available. Derzeit sind keine Speichernutzungsinformationen verfügbar. @@ -470,8 +470,8 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::FolderWizard - - + + Add Folder Ordner hinzufügen @@ -547,42 +547,42 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::FolderWizardRemotePath - + Add Remote Folder Entfernten Ordner hinzufügen - + Enter the name of the new folder: Geben Sie den Namen des neuen Ordners ein: - + Folder was successfully created on %1. Order erfolgreich auf %1 erstellt. - + Failed to create the folder on %1. Please check manually. Die Erstellung des Ordners auf %1 ist fehlgeschlagen. Bitte prüfen Sie dies manuell. - + Choose this to sync the entire account Wählen Sie dies, um das gesamte Konto zu synchronisieren - + This folder is already being synced. Dieser Ordner wird bereits synchronisiert. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Sie synchronisieren bereits <i>%1</i>, das ein übergeordneten Ordner von <i>%2</i> ist. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Sie synchronisieren bereits alle Ihre Dateien. Die Synchronisation anderer Verzeichnisse wird <b>nicht</b> unterstützt. Wenn Sie mehrere Ordner synchronisieren möchten, entfernen Sie bitte das aktuell konfigurierte Wurzelverzeichnis zur Synchronisation. @@ -599,17 +599,17 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Kein E-Tag vom Server empfangen, bitte Proxy / Gateway überprüfen - + We received a different E-Tag for resuming. Retrying next time. Es wurde ein unterschiedlicher E-Tag zum Fortfahren empfangen. Bitte beim nächsten mal nochmal versuchen. - + Connection Timeout Zeitüberschreitung der Verbindung @@ -1214,7 +1214,7 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::OwncloudWizard - + %1 Connection Wizard %1 Verbindungsassistent @@ -1258,22 +1258,22 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synchronisation wurde durch den Nutzer abgebrochen. - + No E-Tag received from server, check Proxy/Gateway Kein E-Tag vom Server empfangen, bitte Proxy / Gateway überprüfen - + We received a different E-Tag for resuming. Retrying next time. Es wurde ein unterschiedlicher E-Tag zum Fortfahren empfangen. Bitte beim nächsten mal nochmal versuchen. - + File %1 can not be downloaded because of a local file name clash! Die Datei %1 kann aufgrund eines Konfliktes mit dem lokalen Dateinamen nicht herunter geladen werden! @@ -1281,7 +1281,7 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Die Datei %1 kann aufgrund eines Konfliktes mit dem lokalen Dateinamen nicht herunter geladen werden! @@ -1289,7 +1289,12 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 Eine Datei oder Verzeichnis wurde von einer Nur-Lese-Freigabe wiederhergestellt, aber die Wiederherstellung ist mit folgendem Fehler fehlgeschlagen: %1 @@ -1376,22 +1381,22 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Die Datei wurde von einer Nur-Lese-Freigabe lokal bearbeitet. Die Datei wurde wiederhergestellt und Ihre Bearbeitung ist in der Konflikte-Datei. - + The local file was removed during sync. Die lokale Datei wurde während der Synchronisation gelöscht. - + Local file changed during sync. Eine lokale Datei wurde während der Synchronisation geändert. - + The server did not acknowledge the last chunk. (No e-tag were present) Der Server hat den letzten Block nicht bestätigt. (Der E-Tag war nicht vorhanden) @@ -1517,27 +1522,27 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::SettingsDialogMac - + %1 %1 - + Account Nutzerkonto - + Activity Aktivität - + General Allgemein - + Network Netzwerk @@ -1545,12 +1550,12 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::ShibbolethCredentials - + Login Error Log-In Fehler - + You must sign in as user %1 Sie müssen sich als %1 einloggen @@ -1558,22 +1563,22 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Authentifikation - + Reauthentication required Erneute Authentifizierung erforderlich - + Your session has expired. You need to re-login to continue to use the client. Ihre Sitzung ist abgelaufen. Sie müssen sich zur weiteren Nutzung des Clients neu Anmelden. - + %1 - %2 %1 - %2 @@ -1777,186 +1782,232 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::SyncEngine - + Success. Erfolgreich - + CSync failed to create a lock file. CSync konnte keine lock-Datei erstellen. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync konnte den Synchronisationsbericht nicht laden oder erstellen. Stellen Sie bitte sicher, dass Sie Lese- und Schreibrechte auf das lokale Synchronisationsverzeichnis haben. - + CSync failed to write the journal file. CSync konnte den Synchronisationsbericht nicht schreiben. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Das %1-Plugin für csync konnte nicht geladen werden.<br/>Bitte überprüfen Sie die Installation!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Die Uhrzeit auf diesem Computer und dem Server sind verschieden. Bitte verwenden Sie ein Zeitsynchronisationsprotokolls (NTP) auf Ihrem Server und Klienten, damit die gleiche Uhrzeit verwendet wird. - + CSync could not detect the filesystem type. CSync konnte den Typ des Dateisystem nicht feststellen. - + CSync got an error while processing internal trees. CSync hatte einen Fehler bei der Verarbeitung von internen Strukturen. - + CSync failed to reserve memory. CSync konnte keinen Speicher reservieren. - + CSync fatal parameter error. CSync hat einen schwerwiegender Parameterfehler festgestellt. - + CSync processing step update failed. CSync Verarbeitungsschritt "Aktualisierung" fehlgeschlagen. - + CSync processing step reconcile failed. CSync Verarbeitungsschritt "Abgleich" fehlgeschlagen. - + CSync processing step propagate failed. CSync Verarbeitungsschritt "Übertragung" fehlgeschlagen. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Das Zielverzeichnis existiert nicht.</p><p>Bitte prüfen Sie die Synchronisationseinstellungen.</p> - + A remote file can not be written. Please check the remote access. Eine Remote-Datei konnte nicht geschrieben werden. Bitte den Remote-Zugriff überprüfen. - + The local filesystem can not be written. Please check permissions. Kann auf dem lokalen Dateisystem nicht schreiben. Bitte Berechtigungen überprüfen. - + CSync failed to connect through a proxy. CSync konnte sich nicht über einen Proxy verbinden. - + CSync could not authenticate at the proxy. CSync konnte sich nicht am Proxy authentifizieren. - + CSync failed to lookup proxy or server. CSync konnte den Proxy oder Server nicht auflösen. - + CSync failed to authenticate at the %1 server. CSync konnte sich nicht am Server %1 authentifizieren. - + CSync failed to connect to the network. CSync konnte sich nicht mit dem Netzwerk verbinden. - + A network connection timeout happend. Es ist zu einer Zeitüberschreitung der Netzwerkverbindung gekommen. - + A HTTP transmission error happened. Es hat sich ein HTTP-Übertragungsfehler ereignet. - + CSync failed due to not handled permission deniend. CSync wegen fehlender Berechtigung fehlgeschlagen. - + CSync failed to access CSync-Zugriff fehlgeschlagen - + CSync tried to create a directory that already exists. CSync versuchte, ein Verzeichnis zu erstellen, welches bereits existiert. - + CSync: No space on %1 server available. CSync: Kein Platz auf Server %1 frei. - + CSync unspecified error. CSync unbekannter Fehler. - + Aborted by the user Abbruch durch den Benutzer - + 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1969,7 +2020,7 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Version %1 Für weitere Informationen besuchen Sie bitte <a href='%2'>%3</a>.</p><p>Urheberrecht von ownCloud, Inc.<p><p>Zur Verfügung gestellt durch %4 und lizensiert unter der GNU General Public License (GPL) Version 2.0.<br>%5 und das %5 Logo sind eingetragene Warenzeichen von %4 in den <br>Vereinigten Staaten, anderen Ländern oder beides.</p> @@ -2022,82 +2073,82 @@ Versuchen Sie diese nochmals zu synchronisieren. Ordner '%1' öffnen - + Open %1 in browser %1 im Browser öffnen - + Calculating quota... Berechne Quote... - + Unknown status Unbekannter Status - + Settings... Einstellungen - + Details... Details... - + Help Hilfe - + Quit %1 %1 beenden - + Sign in... Anmeldung... - + Sign out Abmeldung - + Quota n/a Quote unbekannt - + %1% of %2 in use %1% von %2 benutzt - + No items synced recently Keine kürzlich synchronisierten Elemente - + 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 @@ -2342,7 +2393,7 @@ Versuchen Sie diese nochmals zu synchronisieren. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Wenn Sie noch keinen ownCloud-Server haben, informieren Sie sich unter <a href="https://owncloud.com">owncloud.com</a>. @@ -2351,12 +2402,12 @@ Versuchen Sie diese nochmals zu synchronisieren. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Erstellt aus Git-Revision <a href="%1">%2</a> vom %3, %4 mit Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Version %2. Für mehr Informationen besuchen Sie <a href="%3">%4</a></p><p><small> Von Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc., <br> Basierend auf Mirall von Duncan Mac-Vicar P.</small></p>%7 @@ -2445,57 +2496,57 @@ Versuchen Sie diese nochmals zu synchronisieren. theme - + Status undefined Status undefiniert - + Waiting to start sync Warte, um mit der Synchronistation zu beginnen - + Sync is running Sync läuft - + Sync Success Sync erfolgreich - + Sync Success, some files were ignored. Synchronisation abgeschlossen, einige Dateien wurden ignoriert. - + Sync Error Synchronisationsfehler - + Setup Error Setup-Fehler - + The server is currently unavailable Der Server ist vorübergehend nicht erreichbar. - + Preparing to sync Synchronisation wird vorbereitet - + Aborting... Abbrechen... - + Sync is paused Synchronisation wurde angehalten diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 6eba8ffdb..c3d2b3276 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -144,28 +144,28 @@ <p>Θέλετε στ' αλήθεια να επαναφέρετε το φάκελο <i>%1</i> και να επαναδημιουργήσετε τη βάση δεδομένων του δέκτη;</p><p><b>Σημείωση:</b> Αυτή η λειτουργία έχει σχεδιαστεί αποκλειστικά για λόγους συντήρησης. Κανένα αρχείο δεν θα αφαιρεθεί, αλλά αυτό μπορεί να προκαλέσει σημαντική κίνηση δεδομένων και να πάρει αρκετά λεπτά ή ώρες μέχρι να ολοκληρωθεί, ανάλογα με το μέγεθος του φακέλου. Χρησιμοποιείστε αυτή την επιλογή μόνο εάν έχετε συμβουλευτεί αναλόγως από το διαχειριστή σας.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. Χρησιμοποιούμενος χώρος στον διακομιστή: %1 (%3%) από %2 - + No connection to %1 at <a href="%2">%3</a>. Δεν υπάρχει σύνδεση με %1 στο <a href="%2">%3</a>. - + No %1 connection configured. Δεν έχει ρυθμιστεί σύνδεση με το %1. - + Sync Running Εκτελείται Συγχρονισμός @@ -175,18 +175,18 @@ Δεν ρυθμίστηκε λογαριασμός. - + The syncing operation is running.<br/>Do you want to terminate it? Η λειτουργία συγχρονισμού εκτελείται.<br/> Θέλετε να την τερματίσετε; - + %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 από %4) %5 απομένουν με ταχύτητα %6/s - + %1 of %2, file %3 of %4 Total time left %5 %1 από %2, αρχείο %3 από%4 @@ -194,17 +194,17 @@ Total time left %5 Συνολικός χρόνος που απομένει %5 - + Connected to <a href="%1">%2</a>. Συνδεδεμένοι με <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Συνδεδεμένοι με <a href="%1">%2</a> ως <i>%3</i>. - + Currently there is no storage usage information available. Προς το παρόν δεν υπάρχουν πληροφορίες χρήσης χώρου αποθήκευσης διαθέσιμες. @@ -470,8 +470,8 @@ Are you sure you want to perform this operation? Mirall::FolderWizard - - + + Add Folder Προσθήκη Φακέλου @@ -547,42 +547,42 @@ Are you sure you want to perform this operation? Mirall::FolderWizardRemotePath - + Add Remote Folder Προσθήκη Απομακρυσμένου Φακέλου - + Enter the name of the new folder: Εισάγετε το όνομα του νέου φακέλου: - + Folder was successfully created on %1. Επιτυχής δημιουργία καταλόγου στο %1. - + Failed to create the folder on %1. Please check manually. Αποτυχία δημιουργίας φακέλου στο %1. Παρακαλώ ελέγξτε χειροκίνητα. - + Choose this to sync the entire account Επιλέξτε να συγχρονίσετε ολόκληρο το λογαριασμό - + This folder is already being synced. Αυτός ο φάκελος συγχρονίζεται ήδη. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Ο φάκελος <i>%1</i> συγχρονίζεται ήδη, ο οποίος είναι γονικός φάκελος του <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Συγχρονίζετε ήδη όλα σας τα αρχεία. Ο συγχρονισμός ενός ακόμα φακέλου <b>δεν</b> υποστηρίζεται. Εάν θέλετε να συγχρονίσετε πολλαπλούς φακέλους, παρακαλώ αφαιρέστε την τρέχουσα ρύθμιση συχρονισμού του φακέλου ρίζας. @@ -599,17 +599,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Δεν ελήφθη E-Tag από τον διακομιστή, ελέγξτε τον διακομιστή μεσολάβησης/πύλη - + We received a different E-Tag for resuming. Retrying next time. Ελήφθη διαφορετικό E-Tag για συνέχιση. Επανάληψη την επόμενη φορά. - + Connection Timeout Χρονικό όριο σύνδεσης @@ -1214,7 +1214,7 @@ It is not advisable to use it. Mirall::OwncloudWizard - + %1 Connection Wizard %1 Οδηγός Σύνδεσης @@ -1258,22 +1258,22 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Ο συγχρονισμός ματαιώθηκε από το χρήστη. - + No E-Tag received from server, check Proxy/Gateway Δεν ελήφθη E-Tag από τον διακομιστή, ελέγξτε τον διακομιστή μεσολάβησης/πύλη - + We received a different E-Tag for resuming. Retrying next time. Ελήφθη διαφορετικό E-Tag για συνέχιση. Επανάληψη την επόμενη φορά. - + File %1 can not be downloaded because of a local file name clash! Το αρχείο %1 δεν είναι δυνατό να μεταφορτωθεί λόγω διένεξης με το όνομα ενός τοπικού ονόματος αρχείου! @@ -1281,7 +1281,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Το αρχείο %1 δεν είναι δυνατό να μεταφορτωθεί λόγω διένεξης με το όνομα ενός τοπικού ονόματος αρχείου! @@ -1289,7 +1289,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 Ένα αρχείο ή ένας κατάλογος αφαιρέθηκε από ένα διαμοιρασμένο κατάλογο μόνο για ανάγνωση, αλλά η επαναφορά απέτυχε: %1 @@ -1376,22 +1381,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Το αρχείο υπέστη επεξεργασία τοπικά αλλά είναι τμήμα ενός διαμοιρασμένου καταλόγου μόνο για ανάγνωση. Επαναφέρθηκε και η επεξεργασία σας βρίσκεται στο αρχείο συγκρούσεων. - + The local file was removed during sync. Το τοπικό αρχείο διαγράφηκε κατά τον συγχρονισμό. - + Local file changed during sync. Το τοπικό αρχείο τροποποιήθηκε κατά τον συγχρονισμό. - + The server did not acknowledge the last chunk. (No e-tag were present) Ο διακομιστής δεν επιβεβαίωσε το τελευταίο τμήμα. (Δεν υπήρχε E-Tag) @@ -1517,27 +1522,27 @@ It is not advisable to use it. Mirall::SettingsDialogMac - + %1 %1 - + Account Λογαριασμός - + Activity Δραστηριότητα - + General Γενικά - + Network Δίκτυο @@ -1545,12 +1550,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error Σφάλμα σύνδεσης - + You must sign in as user %1 Πρέπει να εισέλθετε σαν χρήστης %1 @@ -1558,22 +1563,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Πιστοποίηση - + Reauthentication required Απαιτείται επανάληψη πιστοποίησης - + Your session has expired. You need to re-login to continue to use the client. Η συνεδρία σας έληξε. Πρέπει να εισέλθετε ξανά για να συνεχίσετε να χρησιμοποιείτε το πρόγραμμα. - + %1 - %2 %1 - %2 @@ -1777,186 +1782,232 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Επιτυχία. - + CSync failed to create a lock file. Το CSync απέτυχε να δημιουργήσει ένα αρχείο κλειδώματος. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Το CSync απέτυχε να φορτώσει ή να δημιουργήσει το αρχείο καταλόγου. Βεβαιωθείτε ότι έχετε άδειες ανάγνωσης και εγγραφής στον τοπικό κατάλογο συγχρονισμού. - + CSync failed to write the journal file. Το CSync απέτυχε να εγγράψει στο αρχείο καταλόγου. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> Το πρόσθετο του %1 για το csync δεν μπόρεσε να φορτωθεί.<br/>Παρακαλούμε επαληθεύσετε την εγκατάσταση!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Η ώρα του συστήματος μεταξύ του τοπικού υπολογιστή και του διακομιστή διαφέρει πάρα πολύ. Παρακαλούμε χρησιμοποιήστε μια υπηρεσία συγχρονισμός του χρόνου (NTP) και στους δύο υπολογιστές. - + CSync could not detect the filesystem type. To CSync δεν μπορούσε να ανιχνεύσει τον τύπο του αρχείου συστήματος. - + CSync got an error while processing internal trees. Το CSync έλαβε κάποιο μήνυμα λάθους κατά την επεξεργασία της εσωτερικής διεργασίας. - + CSync failed to reserve memory. Το CSync απέτυχε να διατηρήσει τη μνήμη. - + CSync fatal parameter error. CSync μοιραίο σφαλμα παράμετρου. - + CSync processing step update failed. CSync ενημέρωση στάδιο επεξεργασίας απέτυχε. - + CSync processing step reconcile failed. CSync στάδιο επεξεργασίας συμφιλίωση απέτυχε. - + CSync processing step propagate failed. Η προώθηση του CSync απέτυχε. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Ο στοχευμένος κατάλογος δεν υπάρχει.</p><p>Παρακαλώ ελέγξτε τις ρυθμίσεις συγχρονισμού.</p> - + A remote file can not be written. Please check the remote access. Ένα απομακρυσμένο αρχείο δεν μπόρεσε να επεξεργαστεί. Παρακαλούμε ελέγξτε την απομακρυσμένη πρόσβαση. - + The local filesystem can not be written. Please check permissions. Το τοπικό σύστημα αρχείων δεν μπορεί να εγγράψει. Παρακαλούμε ελέγξτε τα δικαιώματα. - + CSync failed to connect through a proxy. Το CSync απέτυχε να συνδεθεί μέσω ενός proxy. - + CSync could not authenticate at the proxy. CSync αδυναμία ελέγχου ταυτότητας στο διακομιστή μεσολάβησης. - + CSync failed to lookup proxy or server. CSync απέτυχε να lookup μεσολάβησης ή διακομιστή. - + CSync failed to authenticate at the %1 server. CSync απέτυχε τον έλεγχο ταυτότητας στο 1% διακομιστή. - + CSync failed to connect to the network. Το CSync απέτυχε να συνδεθεί με το δίκτυο. - + A network connection timeout happend. Συνέβη ένα χρονικό όριο σύνδεσης δικτύου. - + A HTTP transmission error happened. Ένα σφάλμα μετάδοσης HTTP συνέβη. - + CSync failed due to not handled permission deniend. CSync απέτυχε λόγω μη γίνεται deniend άδεια. - + CSync failed to access Το CSync απέτυχε να αποκτήσει πρόσβαση - + CSync tried to create a directory that already exists. Το CSync προσπαθησε να δημιουργησει εναν χωρο αποθηκευσης που υπηρχε ηδη. - + CSync: No space on %1 server available. CSync: Δεν υπαρχει διαθεσιμος χωρος στον %1 διακομιστη. - + CSync unspecified error. CSync αγνωστο σφαλμα. - + Aborted by the user Ματαιώθηκε από το χρήστη - + 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. Οι συμβολικού σύνδεσμοι δεν υποστηρίζονται για το συγχρονισμό. - + 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 Αποτυχία ανοίγματος του ημερολογίου συγχρονισμού. + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1969,7 +2020,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Έκδοση %1 Για περισσότερες πληροφορίες, παρακαλώ επισκεφθείτε την ιστοσελίδα <a href='%2'>%3</a>.</p><p>Πνευματική ιδιοκτησία ownCloud, Inc.<p><p>Διανέμεται από %4 και αδειοδοτείται με την GNU General Public License (GPL) Έκδοση 2.0.<br>Το %5 και το λογότυπο %5 είναι σήμα κατατεθέν του %4 στις<br>Ηνωμένες Πολιτείες, άλλες χώρες ή όλες.</p> @@ -2022,82 +2073,82 @@ It is not advisable to use it. Άνοιγμα φακέλου '%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 Κανένα στοιχείο δεν συγχρονίστηκε πρόσφατα - + Syncing %1 of %2 (%3 left) Συγχρονισμός %1 από %2 (%3 απομένουν) - + Syncing %1 (%2 left) Συγχρονισμός %1 (%2 απομένουν) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ενημερωμένο @@ -2342,7 +2393,7 @@ It is not advisable to use it. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Εάν δεν έχετε ένα διακομιστή ownCloud ακόμα, δείτε στην διεύθυνση <a href="https://owncloud.com">owncloud.com</a> για περισσότερες πληροφορίες. @@ -2351,12 +2402,12 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Δημιουργήθηκε από την διασκευή Git <a href="%1">%2</a> στο %3, %4 χρησιμοποιώντας Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Έκδοση %2. Για περισσότερες πληροφορίες επισκεφθείτε<a href="%3"> %4</a></p><p><small>Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Βασισμένη στο Mirall από τον Duncan Mac-Vicar P.</small></p>%7 @@ -2446,57 +2497,57 @@ It is not advisable to use it. theme - + Status undefined Απροσδιόριστη κατάσταση - + Waiting to start sync Αναμονή έναρξης συγχρονισμού - + Sync is running Ο συγχρονισμός εκτελείται - + Sync Success Επιτυχημένος Συγχρονισμός - + Sync Success, some files were ignored. Επιτυχία Συγχρονισμού, κάποια αρχεία αγνοήθηκαν. - + Sync Error Σφάλμα Συγχρονισμού - + Setup Error Σφάλμα Ρυθμίσεων - + The server is currently unavailable Ο διακομιστής δεν είναι διαθέσιμος προς το παρόν - + Preparing to sync Προετοιμασία για συγχρονισμό - + Aborting... Ματαίωση σε εξέλιξη... - + Sync is paused Παύση συγχρονισμού diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index c3a53b1e7..57c31db74 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -146,28 +146,28 @@ - + %1 %2 Example text: "uploading foobar.png" - + %1 (%3%) of %2 server space in use. - + No connection to %1 at <a href="%2">%3</a>. - + No %1 connection configured. - + Sync Running @@ -177,34 +177,34 @@ - + The syncing operation is running.<br/>Do you want to terminate it? - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. - + Currently there is no storage usage information available. @@ -467,8 +467,8 @@ Are you sure you want to perform this operation? Mirall::FolderWizard - - + + Add Folder @@ -544,42 +544,42 @@ Are you sure you want to perform this operation? Mirall::FolderWizardRemotePath - + Add Remote Folder - + Enter the name of the new folder: - + Folder was successfully created on %1. - + Failed to create the folder on %1. Please check manually. - + Choose this to sync the entire account - + This folder is already being synced. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. @@ -596,17 +596,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1207,7 +1207,7 @@ It is not advisable to use it. Mirall::OwncloudWizard - + %1 Connection Wizard @@ -1251,22 +1251,22 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + File %1 can not be downloaded because of a local file name clash! @@ -1274,7 +1274,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1282,7 +1282,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1369,22 +1374,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1509,27 +1514,27 @@ It is not advisable to use it. Mirall::SettingsDialogMac - + %1 - + Account - + Activity - + General - + Network @@ -1537,12 +1542,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 @@ -1550,22 +1555,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 @@ -1767,186 +1772,232 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. - + CSync failed to create a lock file. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. - + CSync could not detect the filesystem type. - + CSync got an error while processing internal trees. - + CSync failed to reserve memory. - + CSync fatal parameter error. - + CSync processing step update failed. - + CSync processing step reconcile failed. - + CSync processing step propagate failed. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. - + The local filesystem can not be written. Please check permissions. - + CSync failed to connect through a proxy. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. - + CSync failed to authenticate at the %1 server. - + CSync failed to connect to the network. - + A network connection timeout happend. - + A HTTP transmission error happened. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. - + CSync: No space on %1 server available. - + CSync unspecified error. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1959,7 +2010,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> @@ -2012,82 +2063,82 @@ It is not advisable to use it. - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date @@ -2332,7 +2383,7 @@ It is not advisable to use it. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! @@ -2341,12 +2392,12 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 @@ -2435,57 +2486,57 @@ It is not advisable to use it. theme - + Status undefined - + Waiting to start sync - + Sync is running - + Sync Success - + Sync Success, some files were ignored. - + Sync Error - + Setup Error - + The server is currently unavailable - + Preparing to sync - + Aborting... - + Sync is paused diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 6e445bd37..1e8ed0411 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -144,28 +144,28 @@ <p>Realmente desea restablecer la carpeta <i>%1</i> y reconstruir la base de datos de cliente?</p><p><b>Nota:</b> Esta función es para mantenimiento únicamente. No se eliminarán archivos, pero se puede causar alto tráfico en la red y puede tomar varios minutos u horas para terminar, dependiendo del tamaño de la carpeta. Únicamente utilice esta opción si así lo indica su administrador.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) de %2 espacio usado en el servidor. - + No connection to %1 at <a href="%2">%3</a>. No hay conexión a %1 en <a href="%2">%3</a>. - + No %1 connection configured. No hay ninguna conexión de %1 configurada. - + Sync Running Sincronización en curso @@ -175,35 +175,35 @@ No se ha configurado la cuenta. - + The syncing operation is running.<br/>Do you want to terminate it? La sincronización está en curso.<br/>¿Desea interrumpirla? - + %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 de %4) quedan %5 a una velocidad de %6/s - + %1 of %2, file %3 of %4 Total time left %5 %1 de %2, archivo %3 de %4 Tiempo restante %5 - + Connected to <a href="%1">%2</a>. Conectado a <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Conectado a <a href="%1">%2</a> como <i>%3</i>. - + Currently there is no storage usage information available. Actualmente no hay información disponible sobre el uso de almacenamiento. @@ -469,8 +469,8 @@ Está seguro de que desea realizar esta operación? Mirall::FolderWizard - - + + Add Folder Añadir carpeta @@ -546,42 +546,42 @@ Está seguro de que desea realizar esta operación? Mirall::FolderWizardRemotePath - + Add Remote Folder Agregar carpeta remota - + Enter the name of the new folder: Introduzca el nombre de la nueva carpeta: - + Folder was successfully created on %1. Carpeta fue creada con éxito en %1. - + Failed to create the folder on %1. Please check manually. Fallo al crear la carpeta %1. Por favor revíselo manualmente. - + Choose this to sync the entire account Escoja esto para sincronizar la cuenta entera - + This folder is already being synced. Este directorio ya se ha soncronizado. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Ya ha sincronizado <i>%1</i>, el cual es la carpeta de <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Todavía se están sincronizando ficheros. La sincronización de de otras carpetas <b>no</b> está soportada. Si quieres sincronizar múltiples carpetas, por favor revisa la carpeta raíz configurada. @@ -598,17 +598,17 @@ Está seguro de que desea realizar esta operación? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway No se recibió ninguna e-tag del servidor, revisar el proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Se recibió una e-tag distinta para reanudar. Se intentará nuevamente. - + Connection Timeout Tiempo de espera de conexión agotado @@ -1213,7 +1213,7 @@ No se recomienda usarlo. Mirall::OwncloudWizard - + %1 Connection Wizard Asistente de Conexión %1 @@ -1257,22 +1257,22 @@ No se recomienda usarlo. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. La sincronización ha sido Interrumpida por el usuario - + No E-Tag received from server, check Proxy/Gateway No se recibió ninguna e-tag del servidor, revisar el proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Se recibió una e-tag distinta para reanudar. Se intentará nuevamente. - + File %1 can not be downloaded because of a local file name clash! ¡El fichero %1 no puede ser descargado debido al nombre de la clase de un fichero local! @@ -1280,7 +1280,7 @@ No se recomienda usarlo. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! ¡El fichero %1 no puede ser descargado debido al nombre de la clase de un fichero local! @@ -1288,7 +1288,12 @@ No se recomienda usarlo. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 Un archivo o directorio fue eliminado de una carpeta compartida en modo de solo lectura, pero la recuperación falló: %1 @@ -1375,22 +1380,22 @@ No se recomienda usarlo. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. El archivo fue modificado localmente, pero es parte de una carpeta compartida en modo de solo lectura. Ha sido recuperado y tu modificación está en el archivo de conflicto. - + The local file was removed during sync. El archivo local fue eliminado durante la sincronización. - + Local file changed during sync. Un archivo local fue modificado durante la sincronización. - + The server did not acknowledge the last chunk. (No e-tag were present) El servidor no reconoció la última parte. (No había una e-tag presente.) @@ -1516,27 +1521,27 @@ Intente sincronizar los archivos nuevamente. Mirall::SettingsDialogMac - + %1 %1 - + Account Cuenta - + Activity Actividad - + General General - + Network Red @@ -1544,12 +1549,12 @@ Intente sincronizar los archivos nuevamente. Mirall::ShibbolethCredentials - + Login Error Error al iniciar sesión - + You must sign in as user %1 Debe iniciar sesión como el usuario %1 @@ -1557,22 +1562,22 @@ Intente sincronizar los archivos nuevamente. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autenticar - + Reauthentication required Debe volver a autenticarse - + Your session has expired. You need to re-login to continue to use the client. Su sesión ha caducado. Necesita volver a iniciarla para continuar usando el cliente. - + %1 - %2 %1 - %2 @@ -1776,186 +1781,232 @@ Intente sincronizar los archivos nuevamente. Mirall::SyncEngine - + Success. Completado con éxito. - + CSync failed to create a lock file. CSync no pudo crear un fichero de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync falló al cargar o crear el archivo de diario. Asegúrese de tener permisos de lectura y escritura en el directorio local de sincronización. - + CSync failed to write the journal file. CSync falló al escribir el archivo de diario. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>El %1 complemente para csync no se ha podido cargar.<br/>Por favor, verifique la instalación</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. La hora del sistema en este cliente es diferente de la hora del sistema en el servidor. Por favor use un servicio de sincronización de hora (NTP) en los servidores y clientes para que las horas se mantengan idénticas. - + CSync could not detect the filesystem type. CSync no pudo detectar el tipo de sistema de archivos. - + CSync got an error while processing internal trees. CSync encontró un error mientras procesaba los árboles de datos internos. - + CSync failed to reserve memory. Fallo al reservar memoria para Csync - + CSync fatal parameter error. Error fatal de parámetro en CSync. - + CSync processing step update failed. El proceso de actualización de CSync ha fallado. - + CSync processing step reconcile failed. Falló el proceso de composición de CSync - + CSync processing step propagate failed. Error en el proceso de propagación de CSync - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>El directorio de destino no existe.</p><p>Por favor verifique la configuración de sincronización.</p> - + A remote file can not be written. Please check the remote access. No se pudo escribir en un archivo remoto. Por favor, compruebe el acceso remoto. - + The local filesystem can not be written. Please check permissions. No se puede escribir en el sistema de archivos local. Por favor, compruebe los permisos. - + CSync failed to connect through a proxy. CSync falló al realizar la conexión a través del proxy - + CSync could not authenticate at the proxy. CSync no pudo autenticar el proxy. - + CSync failed to lookup proxy or server. CSync falló al realizar la búsqueda del proxy - + CSync failed to authenticate at the %1 server. CSync: Falló la autenticación con el servidor %1. - + CSync failed to connect to the network. CSync: Falló la conexión con la red. - + A network connection timeout happend. Ha transcurrido el tiempo máximo de conexión a la red. - + A HTTP transmission error happened. Ha ocurrido un error de transmisión HTTP. - + CSync failed due to not handled permission deniend. CSync: Falló debido a un permiso denegado. - + CSync failed to access Error al acceder CSync - + CSync tried to create a directory that already exists. CSync trató de crear un directorio que ya existe. - + CSync: No space on %1 server available. CSync: No queda espacio disponible en el servidor %1. - + CSync unspecified error. Error no especificado de CSync - + Aborted by the user Interrumpido por el usuario - + 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1968,7 +2019,7 @@ Intente sincronizar los archivos nuevamente. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Versión %1 Para mayor información, visite <a href='%2'>%3</a>.</p><p>Derechos reservados ownCloud, Inc.<p><p>Distribuido por %4 y con licencia GNU General Public License (GPL) Versión 2.0.<br>%5 y el logo de %5 son marcas registradas %4 en los<br>Estados Unidos, otros países, o en ambos.</p> @@ -2021,82 +2072,82 @@ Intente sincronizar los archivos nuevamente. 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 Salir - + 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 - + 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 @@ -2341,7 +2392,7 @@ Intente sincronizar los archivos nuevamente. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Si aún no tiene un servidor ownCloud, visite <a href="https://owncloud.com">owncloud.com</a> para obtener más información. @@ -2350,12 +2401,12 @@ Intente sincronizar los archivos nuevamente. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Construido desde la revisión Git <a href="%1">%2</a> el %3, %4 usando Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Versión %2. Para más información visite <a href="%3">%4</a></p><p><small>Por Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Basado en Mirall por Duncan Mac-Vicar P.</small></p>%7 @@ -2444,57 +2495,57 @@ Intente sincronizar los archivos nuevamente. theme - + Status undefined Estado indefinido - + Waiting to start sync Esperando para comenzar la sincronización - + Sync is running Sincronización ejecutándose - + Sync Success Sincronización exitosa - + Sync Success, some files were ignored. Sincronización exitosa, algunos archivos fueron ignorados. - + Sync Error Error al sincronizar - + Setup Error Error de instalación - + The server is currently unavailable El servidor no se encuentra disponible actualmente. - + Preparing to sync Preparando para la sincronizacipon - + Aborting... Interrumpiendo... - + Sync is paused La sincronización se ha pausado diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index 137f676e3..a7374c068 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -144,28 +144,28 @@ <p>¿Realmente deseas resetear el directorio <i>%1</i> y reconstruir la base de datos del cliente?</p><p><b>Nota:</b> Esta función está designada para propósitos de mantenimiento solamente. Ningún archivo será eliminado, pero puede causar un tráfico de datos significante y tomar varios minutos o horas para completarse, dependiendo del tamaño del directorio. Sólo use esta opción si es aconsejado por su administrador.</p> - + %1 %2 Example text: "uploading foobar.png" - + %1 (%3%) of %2 server space in use. - + No connection to %1 at <a href="%2">%3</a>. - + No %1 connection configured. No hay ninguna conexión de %1 configurada. - + Sync Running Sincronización en curso @@ -175,34 +175,34 @@ No hay cuenta configurada. - + The syncing operation is running.<br/>Do you want to terminate it? La sincronización está en curso.<br/>¿Querés interrumpirla? - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. Conectado a <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Conectado a <a href="%1">%2</a> como <i>%3</i>. - + Currently there is no storage usage information available. Actualmente no hay información disponible acerca del uso del almacenamiento. @@ -468,8 +468,8 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::FolderWizard - - + + Add Folder gregar directorio @@ -545,42 +545,42 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::FolderWizardRemotePath - + Add Remote Folder Agregar directorio remoto - + Enter the name of the new folder: Ingresá el nombre del directorio nuevo: - + Folder was successfully created on %1. El directorio fue creado con éxito en %1. - + Failed to create the folder on %1. Please check manually. Fallo al crear el directorio en %1. Por favor chequee manualmente. - + Choose this to sync the entire account Seleccioná acá para sincronizar la cuenta completa - + This folder is already being synced. Este folder ya está siendo sincronizado. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Ya estás sincronizando <i>%1</i>, el cual es el directorio de <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. @@ -597,17 +597,17 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1210,7 +1210,7 @@ It is not advisable to use it. Mirall::OwncloudWizard - + %1 Connection Wizard %1 Asistente de Conexión @@ -1254,22 +1254,22 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Sincronizaciójn abortada por el usuario. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + File %1 can not be downloaded because of a local file name clash! @@ -1277,7 +1277,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1285,7 +1285,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1372,22 +1377,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1513,27 +1518,27 @@ Intente sincronizar estos nuevamente. Mirall::SettingsDialogMac - + %1 %1 - + Account Cuenta - + Activity Actividad - + General General - + Network Red @@ -1541,12 +1546,12 @@ Intente sincronizar estos nuevamente. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 @@ -1554,22 +1559,22 @@ Intente sincronizar estos nuevamente. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autenticarse - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 %1 - %2 @@ -1771,186 +1776,232 @@ Intente sincronizar estos nuevamente. Mirall::SyncEngine - + Success. Éxito. - + CSync failed to create a lock file. Se registró un error en CSync cuando se intentaba crear un archivo de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>No fue posible cargar el plugin de %1 para csync.<br/>Por favor, verificá la instalación</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. La hora del sistema en este cliente es diferente de la hora del sistema en el servidor. Por favor, usá un servicio de sincronización (NTP) de hora en las máquinas cliente y servidor para que las horas se mantengan iguales. - + CSync could not detect the filesystem type. CSync no pudo detectar el tipo de sistema de archivos. - + CSync got an error while processing internal trees. CSync tuvo un error mientras procesaba los árboles de datos internos. - + CSync failed to reserve memory. CSync falló al reservar memoria. - + CSync fatal parameter error. Error fatal de parámetro en CSync. - + CSync processing step update failed. Falló el proceso de actualización de CSync. - + CSync processing step reconcile failed. Falló el proceso de composición de CSync - + CSync processing step propagate failed. Proceso de propagación de CSync falló - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>El directorio de destino %1 no existe.</p> Por favor, comprobá la configuración de sincronización. </p> - + A remote file can not be written. Please check the remote access. No se puede escribir un archivo remoto. Revisá el acceso remoto. - + The local filesystem can not be written. Please check permissions. No se puede escribir en el sistema de archivos local. Revisá los permisos. - + CSync failed to connect through a proxy. CSync falló al tratar de conectarse a través de un proxy - + CSync could not authenticate at the proxy. CSync no pudo autenticar el proxy. - + CSync failed to lookup proxy or server. CSync falló al realizar la busqueda del proxy. - + CSync failed to authenticate at the %1 server. CSync: fallo al autenticarse en el servidor %1. - + CSync failed to connect to the network. CSync: fallo al conectarse a la red - + A network connection timeout happend. Ha transcurrido el tiempo máximo de conexión a la red. - + A HTTP transmission error happened. Ha ocurrido un error de transmisión HTTP. - + CSync failed due to not handled permission deniend. CSync: Falló debido a un permiso denegado. - + CSync failed to access CSync falló al acceder - + CSync tried to create a directory that already exists. Csync trató de crear un directorio que ya existía. - + CSync: No space on %1 server available. CSync: No hay más espacio disponible en el servidor %1. - + CSync unspecified error. Error no especificado de CSync - + Aborted by the user Interrumpido por el usuario - + 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1963,7 +2014,7 @@ Intente sincronizar estos nuevamente. Mirall::Theme - + <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<br>United States, other countries, or both.</p> @@ -2016,82 +2067,82 @@ Intente sincronizar estos nuevamente. 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date actualizado @@ -2337,7 +2388,7 @@ Intente sincronizar estos nuevamente. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Si todavía no tenés un servidor ownCloud, visitá <a href="https://owncloud.com">owncloud.com</a> para obtener más información. @@ -2346,12 +2397,12 @@ Intente sincronizar estos nuevamente. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Versión %2. Para más información visite <a href="%3">%4</a></p><p><small>Por Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Basado en Mirall por Duncan Mac-Vicar P.</small></p>%7 @@ -2440,57 +2491,57 @@ Intente sincronizar estos nuevamente. theme - + Status undefined Estado indefinido - + Waiting to start sync Esperando para comenzar sincronización - + Sync is running Sincronización en ejecución - + Sync Success Sincronización Exitosa - + Sync Success, some files were ignored. Syncronización exitosa, algunos archivos fueron ignorados. - + Sync Error Error de Sync - + Setup Error Error de instalación - + The server is currently unavailable El servidor no se encuentra disponible actualmente. - + Preparing to sync Preparando para la sincronizacipon - + Aborting... Abortando... - + Sync is paused Sincronización Pausada diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index a72b8a76e..f8d1d49ce 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -144,28 +144,28 @@ <p>Kas tõesti soovid kataloogi <i>%1</i> algseadistada ning uuesti luua oma kliendi andmebaasi?</p><p><b>See funktsioon on mõeldud peamiselt ainult hooldustöödeks. Märkus:</b>Kuigi ühtegi faili ei eemaldata, siis see võib põhjustada märkimisväärset andmeliiklust ja võtta mitu minutit või tundi, sõltuvalt kataloogi suurusest. Kasuta seda võimalust ainult siis kui seda soovitab süsteemihaldur.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) %2-st serveri mahust on kasutuses. - + No connection to %1 at <a href="%2">%3</a>. Ühendus puudub %1 <a href="%2">%3</a>. - + No %1 connection configured. Ühtegi %1 ühendust pole seadistatud. - + Sync Running Sünkroniseerimine on käimas @@ -175,35 +175,35 @@ Ühtegi kontot pole seadistatud - + The syncing operation is running.<br/>Do you want to terminate it? Sünkroniseerimine on käimas.<br/>Kas sa soovid seda lõpetada? - + %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 of %4) %5 jäänud kiirusel %6/s - + %1 of %2, file %3 of %4 Total time left %5 %1 of %2, fail %3 of %4 Aega kokku jäänud %5 - + Connected to <a href="%1">%2</a>. Ühendatud <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Ühendatud <a href="%1">%2</a> kui <i>%3</i>. - + Currently there is no storage usage information available. Hetkel pole mahu kasutuse info saadaval. @@ -469,8 +469,8 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::FolderWizard - - + + Add Folder Lisa kaust @@ -546,42 +546,42 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::FolderWizardRemotePath - + Add Remote Folder Lisa võrgukataloog - + Enter the name of the new folder: Sisesta uue kataloogi nimi: - + Folder was successfully created on %1. %1 - kaust on loodud. - + Failed to create the folder on %1. Please check manually. Kausta loomine ebaõnnestus - %1. Palun kontrolli käsitsi. - + Choose this to sync the entire account Vali see sünkroniseering tervele kontole - + This folder is already being synced. Seda kataloogi juba sünkroniseeritakse. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Sa juba sünkroniseerid <i>%1</i>, mis on <i>%2</i> ülemkataloog. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Sa juba sünkroniseerid kõiki oma faile. Teise kataloogi sünkroniseering <b>ei ole</b> toetatud. Kui soovid sünkroniseerida mitut kataloogi, palun eemalda hektel seadistatud sünkroniseeritav juurkataloog. @@ -598,17 +598,17 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ühtegi E-Silti ei saabunud serverist, kontrolli puhverserverit/lüüsi. - + We received a different E-Tag for resuming. Retrying next time. Saime jätkamiseks erineva E-Sildi. Proovin järgmine kord uuesti. - + Connection Timeout Ühenduse aegumine @@ -1213,7 +1213,7 @@ Selle kasutamine pole soovitatav. Mirall::OwncloudWizard - + %1 Connection Wizard %1 seadistamise juhendaja @@ -1257,22 +1257,22 @@ Selle kasutamine pole soovitatav. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Sünkroniseering katkestati kasutaja poolt. - + No E-Tag received from server, check Proxy/Gateway Ühtegi E-Silti ei saabunud serverist, kontrolli puhverserverit/lüüsi. - + We received a different E-Tag for resuming. Retrying next time. Saime jätkamiseks erineva E-Sildi. Proovin järgmine kord uuesti. - + File %1 can not be downloaded because of a local file name clash! Faili %1 ei saa alla laadida kuna on konflikt kohaliku faili nimega. @@ -1280,7 +1280,7 @@ Selle kasutamine pole soovitatav. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Faili %1 ei saa alla laadida kuna on konflikt kohaliku faili nimega. @@ -1288,7 +1288,12 @@ Selle kasutamine pole soovitatav. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 Fail või kataloog oli eemaldatud kirjutamisõiguseta jagamisest, kuid taastamine ebaõnnestus: %1 @@ -1375,22 +1380,22 @@ Selle kasutamine pole soovitatav. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Faili on lokaalselt muudetud, kuid see on osa kirjutamisõiguseta jagamisest. See on taastatud ning sinu muudatus on konfliktses failis. - + The local file was removed during sync. Kohalik fail on eemaldatud sünkroniseeringu käigus. - + Local file changed during sync. Kohalik fail muutus sünkroniseeringu käigus. - + The server did not acknowledge the last chunk. (No e-tag were present) Server ei tunnistanud viimast tükki. (E-silt puudus). @@ -1516,27 +1521,27 @@ Proovi neid uuesti sünkroniseerida. Mirall::SettingsDialogMac - + %1 %1 - + Account Konto - + Activity Toimingud - + General Üldine - + Network Võrk @@ -1544,12 +1549,12 @@ Proovi neid uuesti sünkroniseerida. Mirall::ShibbolethCredentials - + Login Error Sisselogimise viga - + You must sign in as user %1 Pead sisse logima kui kasutaja %1 @@ -1557,22 +1562,22 @@ Proovi neid uuesti sünkroniseerida. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - autentimine - + Reauthentication required Vajalik on uuesti autentimine - + Your session has expired. You need to re-login to continue to use the client. Sinu sessioon on aegunud. Sa pead kliendi kasutamiseks uuesti sisse logima. - + %1 - %2 %1 - %2 @@ -1776,186 +1781,232 @@ Proovi neid uuesti sünkroniseerida. Mirall::SyncEngine - + Success. Korras. - + CSync failed to create a lock file. CSync lukustusfaili loomine ebaõnnestus. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync ei suutnud avada või luua registri faili. Tee kindlaks et sul on õigus lugeda ja kirjutada kohalikus sünkrooniseerimise kataloogis - + CSync failed to write the journal file. CSync ei suutnud luua registri faili. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Ei suuda laadida csync lisa %1.<br/>Palun kontrolli paigaldust!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Kliendi arvuti kellaeg erineb serveri omast. Palun kasuta õige aja hoidmiseks kella sünkroniseerimise teenust (NTP) nii serveris kui kliendi arvutites, et kell oleks kõikjal õige. - + CSync could not detect the filesystem type. CSync ei suutnud tuvastada failisüsteemi tüüpi. - + CSync got an error while processing internal trees. CSync sai vea sisemiste andmestruktuuride töötlemisel. - + CSync failed to reserve memory. CSync ei suutnud mälu reserveerida. - + CSync fatal parameter error. CSync parameetri saatuslik viga. - + CSync processing step update failed. CSync uuendusprotsess ebaõnnestus. - + CSync processing step reconcile failed. CSync tasakaalustuse protsess ebaõnnestus. - + CSync processing step propagate failed. CSync edasikandeprotsess ebaõnnestus. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Sihtkataloogi ei eksisteeri.</p><p>Palun kontrolli sünkroniseeringu seadistust</p> - + A remote file can not be written. Please check the remote access. Eemalolevasse faili ei saa kirjutada. Palun kontrolli kaugühenduse ligipääsu. - + The local filesystem can not be written. Please check permissions. Kohalikku failissüsteemi ei saa kirjutada. Palun kontrolli õiguseid. - + CSync failed to connect through a proxy. CSync ühendus läbi puhverserveri ebaõnnestus. - + CSync could not authenticate at the proxy. CSync ei suutnud puhverserveris autoriseerida. - + CSync failed to lookup proxy or server. Csync ei suuda leida puhverserverit. - + CSync failed to authenticate at the %1 server. CSync autoriseering serveris %1 ebaõnnestus. - + CSync failed to connect to the network. CSync võrguga ühendumine ebaõnnestus. - + A network connection timeout happend. Toimus võrgukatkestus. - + A HTTP transmission error happened. HTTP ülekande viga. - + CSync failed due to not handled permission deniend. CSync ebaõnnestus ligipääsu puudumisel. - + CSync failed to access CSyncile ligipääs ebaõnnestus - + CSync tried to create a directory that already exists. Csync proovis tekitada kataloogi, mis oli juba olemas. - + CSync: No space on %1 server available. CSync: Serveris %1 on ruum otsas. - + CSync unspecified error. CSync tuvastamatu viga. - + Aborted by the user Kasutaja poolt tühistatud - + 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1968,7 +2019,7 @@ Proovi neid uuesti sünkroniseerida. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Versioon %1. Täpsema info saamiseks palun külasta <a href='%2'>%3</a>.</p><p>Autoriõigus ownCloud, Inc.</p><p>Levitatatud %4 poolt ning litsenseeritud GNU General Public License (GPL) Version 2.0.<br>%5 ja %5 logo on %4 registreeritud kaubamärgid <br>USA-s ja teistes riikides</p> @@ -2021,82 +2072,82 @@ Proovi neid uuesti sünkroniseerida. 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 - + 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 @@ -2341,7 +2392,7 @@ Proovi neid uuesti sünkroniseerida. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Kui sul poole veel oma ownCloud serverit, vaata <a href="https://owncloud.com">owncloud.com</a> rohkema info saamiseks. @@ -2350,12 +2401,12 @@ Proovi neid uuesti sünkroniseerida. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Loodud Git revisjonist<a href="%1">%2</a> %3, %4 kasutades Qt %5.</small><p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Versioon %2. Täpsemaks infoks külasta <a href="%3">%4</a></p><p><small>Loodud Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc. poolt<br>Põhineb Mirall loodud Duncan Mac-Vicar P. poolt</small></p>%7 @@ -2444,57 +2495,57 @@ Proovi neid uuesti sünkroniseerida. theme - + Status undefined Staatus on määramata - + Waiting to start sync Oodatakse sünkroniseerimise alustamist - + Sync is running Sünkroniseerimine on käimas - + Sync Success Sünkroniseerimine on tehtud - + Sync Success, some files were ignored. Sünkroniseering õnnestus, mõnda faili ignoreeriti. - + Sync Error Sünkroniseerimise viga - + Setup Error Viga sünkroniseerimisel - + The server is currently unavailable Server pole hetkel saadaval. - + Preparing to sync Sünkroniseerimiseks valmistumine - + Aborting... Tühistamine ... - + Sync is paused Sünkroniseerimine on peatatud diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 419261805..3c356b085 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -144,28 +144,28 @@ <p>Benetan nahi duzu <i>%1</i> karpeta leheneratu eta zure bezeroaren datu basea berreraiki?</p><p><b>Oharra:</p> Funtzio hau mantenurako bakarrik diseinauta izan da. Ez da fitxategirik ezabatuko, baina honek datu trafiko handia sor dezake eta minutu edo ordu batzuk behar izango ditu burutzeko, karpetaren tamainaren arabera. Erabili aukera hau bakarrik zure kudeatzaileak esanez gero.</p> - + %1 %2 Example text: "uploading foobar.png" - + %1 (%3%) of %2 server space in use. - + No connection to %1 at <a href="%2">%3</a>. - + No %1 connection configured. Ez dago %1 konexiorik konfiguratuta. - + Sync Running Sinkronizazioa martxan da @@ -175,34 +175,34 @@ Ez da konturik konfiguratu. - + The syncing operation is running.<br/>Do you want to terminate it? Sinkronizazio martxan da.<br/>Bukatu nahi al duzu? - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. <a href="%1">%2</a>ra konektatuta. - + Connected to <a href="%1">%2</a> as <i>%3</i>. <a href="%1">%2</a>ra konektatuta <i>%3</i> erabiltzailearekin. - + Currently there is no storage usage information available. Orain ez dago eskuragarri biltegiratze erabileraren informazioa. @@ -465,8 +465,8 @@ Are you sure you want to perform this operation? Mirall::FolderWizard - - + + Add Folder Gehitu Karpeta @@ -542,42 +542,42 @@ Are you sure you want to perform this operation? Mirall::FolderWizardRemotePath - + Add Remote Folder Gehitu Urruneko Karpeta - + Enter the name of the new folder: Sartu karpeta berriaren izena: - + Folder was successfully created on %1. %1-en karpeta ongi sortu da. - + Failed to create the folder on %1. Please check manually. - + Choose this to sync the entire account Hautatu hau kontu osoa sinkronizatzeko - + This folder is already being synced. Karpeta hau dagoeneko sinkronizatzen ari da. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. @@ -594,17 +594,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ez da E-Tagik jaso zerbitzaritik, egiaztatu Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1207,7 +1207,7 @@ It is not advisable to use it. Mirall::OwncloudWizard - + %1 Connection Wizard %1 Konexio Morroia @@ -1251,22 +1251,22 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Sinkronizazioa erabiltzaileak bertan behera utzi du - + No E-Tag received from server, check Proxy/Gateway Ez da E-Tagik jaso zerbitzaritik, egiaztatu Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + File %1 can not be downloaded because of a local file name clash! @@ -1274,7 +1274,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1282,7 +1282,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1369,22 +1374,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1510,27 +1515,27 @@ Saiatu horiek berriz sinkronizatzen. Mirall::SettingsDialogMac - + %1 %1 - + Account Kontua - + Activity Jarduera - + General Orokorra - + Network Sarea @@ -1538,12 +1543,12 @@ Saiatu horiek berriz sinkronizatzen. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 @@ -1551,22 +1556,22 @@ Saiatu horiek berriz sinkronizatzen. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 %1 - %2 @@ -1768,186 +1773,232 @@ Saiatu horiek berriz sinkronizatzen. Mirall::SyncEngine - + Success. Arrakasta. - + CSync failed to create a lock file. CSyncek huts egin du lock fitxategia sortzean. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csyncen %1 plugina ezin da kargatu.<br/>Mesedez egiaztatu instalazioa!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Bezero honetako sistemaren ordua zerbitzariarenaren ezberdina da. Mesedez erabili sinkronizazio zerbitzari bat (NTP) zerbitzari eta bezeroan orduak berdinak izan daitezen. - + CSync could not detect the filesystem type. CSyncek ezin du fitxategi sistema mota antzeman. - + CSync got an error while processing internal trees. CSyncek errorea izan du barne zuhaitzak prozesatzerakoan. - + CSync failed to reserve memory. CSyncek huts egin du memoria alokatzean. - + CSync fatal parameter error. CSync parametro larri errorea. - + CSync processing step update failed. CSync prozesatzearen eguneratu urratsak huts egin du. - + CSync processing step reconcile failed. CSync prozesatzearen berdinkatze urratsak huts egin du. - + CSync processing step propagate failed. CSync prozesatzearen hedatu urratsak huts egin du. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Helburu direktorioa ez da existitzen.</p><p>Egiazt6atu sinkronizazio konfigurazioa.</p> - + A remote file can not be written. Please check the remote access. Urruneko fitxategi bat ezin da idatzi. Mesedez egiaztatu urreneko sarbidea. - + The local filesystem can not be written. Please check permissions. Ezin da idatzi bertako fitxategi sisteman. Mesedez egiaztatu baimenak. - + CSync failed to connect through a proxy. CSyncek huts egin du proxiaren bidez konektatzean. - + CSync could not authenticate at the proxy. CSyncek ezin izan du proxya autentikatu. - + CSync failed to lookup proxy or server. CSyncek huts egin du zerbitzaria edo proxia bilatzean. - + CSync failed to authenticate at the %1 server. CSyncek huts egin du %1 zerbitzarian autentikatzean. - + CSync failed to connect to the network. CSyncek sarera konektatzean huts egin du. - + A network connection timeout happend. Sarearen konexioan denbora-muga gertatu da. - + A HTTP transmission error happened. HTTP transmisio errore bat gertatu da. - + CSync failed due to not handled permission deniend. CSyncek huts egin du kudeatu gabeko baimen ukapen bat dela eta. - + CSync failed to access - + CSync tried to create a directory that already exists. CSyncek dagoeneko existitzen zen karpeta bat sortzen saiatu da. - + CSync: No space on %1 server available. CSync: Ez dago lekurik %1 zerbitzarian. - + CSync unspecified error. CSyncen zehaztugabeko errorea. - + Aborted by the user Erabiltzaileak bertan behera utzita - + 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1960,7 +2011,7 @@ Saiatu horiek berriz sinkronizatzen. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>%1 Bertsioa, informazio gehiago eskuratzeko ikusi <a href='%2'>%3</a>.</p><p>Copyright ownCloud, Inc.<p><p> %4-k GNU General Public License (GPL) 2.0 bertsioaren lizentziapean banatuta.<br>%5 eta %5 logoa %4ren marka erregistratuak dira <br>Amerikako Estatu Batuetan, beste herrialdeetan edo bietan.</p> @@ -2013,82 +2064,82 @@ Saiatu horiek berriz sinkronizatzen. 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Eguneratua @@ -2333,7 +2384,7 @@ Saiatu horiek berriz sinkronizatzen. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! ownCloud zerbitzaririk ez baduzu, ikusi <a href="https://owncloud.com">owncloud.com</a> informazio gehiago eskuratzeko. @@ -2342,12 +2393,12 @@ Saiatu horiek berriz sinkronizatzen. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>%2 Bertsioa, informazio gehiago eskuratzeko ikusi <a href="%3">%4</a></p><p><small>Egileak: Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br> Duncan Mac-Vicar P.-ek egindako Mirall programan oinarrituta</small></p>%7 @@ -2436,57 +2487,57 @@ Saiatu horiek berriz sinkronizatzen. theme - + Status undefined Definitu gabeko egoera - + Waiting to start sync Itxoiten sinkronizazioaren hasiera - + Sync is running Sinkronizazioa martxan da - + Sync Success Sinkronizazioa ongi burutu da - + Sync Success, some files were ignored. Sinkronizazioa ongi burutu da, fitxategi batzuk baztertu dira. - + Sync Error Sinkronizazio Errorea - + Setup Error Konfigurazio Errorea - + The server is currently unavailable Zerbitzaria orain ez dago eskuragarri. - + Preparing to sync Sinkronizazioa prestatzen - + Aborting... Bertan-behera uzten - + Sync is paused Sinkronizazioa pausatuta dago diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 2b0442b47..36af1f9e2 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -144,28 +144,28 @@ - + %1 %2 Example text: "uploading foobar.png" - + %1 (%3%) of %2 server space in use. - + No connection to %1 at <a href="%2">%3</a>. - + No %1 connection configured. - + Sync Running همگام سازی در حال اجراست @@ -175,34 +175,34 @@ - + The syncing operation is running.<br/>Do you want to terminate it? عملیات همگام سازی در حال اجراست.<br/>آیا دوست دارید آن را متوقف کنید؟ - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. - + Currently there is no storage usage information available. @@ -465,8 +465,8 @@ Are you sure you want to perform this operation? Mirall::FolderWizard - - + + Add Folder ایجاد پوشه @@ -542,42 +542,42 @@ Are you sure you want to perform this operation? Mirall::FolderWizardRemotePath - + Add Remote Folder - + Enter the name of the new folder: - + Folder was successfully created on %1. پوشه با موفقیت ایجاد شده است %1. - + Failed to create the folder on %1. Please check manually. - + Choose this to sync the entire account - + This folder is already being synced. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. @@ -594,17 +594,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1205,7 +1205,7 @@ It is not advisable to use it. Mirall::OwncloudWizard - + %1 Connection Wizard @@ -1249,22 +1249,22 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + File %1 can not be downloaded because of a local file name clash! @@ -1272,7 +1272,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1280,7 +1280,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1367,22 +1372,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1507,27 +1512,27 @@ It is not advisable to use it. Mirall::SettingsDialogMac - + %1 - + Account حساب کاربری - + Activity قعالیت - + General عمومی - + Network @@ -1535,12 +1540,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 @@ -1548,22 +1553,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 @@ -1765,186 +1770,232 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. موفقیت - + CSync failed to create a lock file. CSync موفق به ایجاد یک فایل قفل شده، نشد. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>ماژول %1 برای csync نمی تواند بارگذاری شود.<br/>لطفا نصب را بررسی کنید!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. سیستم زمان بر روی این مشتری با سیستم زمان بر روی سرور متفاوت است.لطفا از خدمات هماهنگ سازی زمان (NTP) بر روی ماشین های سرور و کلاینت استفاده کنید تا زمان ها یکسان باقی بمانند. - + CSync could not detect the filesystem type. CSync نوع فایل های سیستم را نتوانست تشخیص بدهد. - + CSync got an error while processing internal trees. CSync هنگام پردازش درختان داخلی یک خطا دریافت نمود. - + CSync failed to reserve memory. CSync موفق به رزرو حافظه نشد است. - + CSync fatal parameter error. - + CSync processing step update failed. مرحله به روز روسانی پردازش CSync ناموفق بود. - + CSync processing step reconcile failed. مرحله تطبیق پردازش CSync ناموفق بود. - + CSync processing step propagate failed. مرحله گسترش پردازش CSync ناموفق بود. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>پوشه هدف وجود ندارد.</p><p>لطفا راه اندازی همگام سازی را بررسی کنید.</p> - + A remote file can not be written. Please check the remote access. یک فایل از راه دور نمی تواند نوشته شود. لطفا دسترسی از راه دور را بررسی نمایید. - + The local filesystem can not be written. Please check permissions. بر روی فایل سیستمی محلی نمی توانید چیزی بنویسید.لطفا مجوزش را بررسی کنید. - + CSync failed to connect through a proxy. عدم موفقیت CSync برای اتصال از طریق یک پروکسی. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. عدم موفقیت CSync برای مراجعه به پروکسی یا سرور. - + CSync failed to authenticate at the %1 server. عدم موفقیت CSync برای اعتبار دادن در %1 سرور. - + CSync failed to connect to the network. عدم موفقیت CSync برای اتصال به شبکه. - + A network connection timeout happend. اتصال به یک شبکه متوقف شده است. - + A HTTP transmission error happened. خطا در انتقال HTTP اتفاق افتاده است. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync برای ایجاد یک پوشه که در حال حاضر موجود است تلاش کرده است. - + CSync: No space on %1 server available. CSync: فضا در %1 سرور در دسترس نیست. - + CSync unspecified error. خطای نامشخص CSync - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1957,7 +2008,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> @@ -2010,82 +2061,82 @@ It is not advisable to use it. - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date تا تاریخ @@ -2330,7 +2381,7 @@ It is not advisable to use it. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! اگر شما هنوز یک سرور ownCloud ندارید، <a href="https://owncloud.com">owncloud.com</a> را برای اطلاعات بیشتر ببینید. @@ -2339,12 +2390,12 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 @@ -2433,57 +2484,57 @@ It is not advisable to use it. theme - + Status undefined - + Waiting to start sync - + Sync is running - + Sync Success - + Sync Success, some files were ignored. - + Sync Error - + Setup Error - + The server is currently unavailable - + Preparing to sync - + Aborting... - + Sync is paused diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 43b4595c0..35b073856 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -144,28 +144,28 @@ - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) / %2 palvelimen tilasta käytössä. - + No connection to %1 at <a href="%2">%3</a>. - + No %1 connection configured. %1-yhteyttä ei ole määritelty. - + Sync Running Synkronointi meneillään @@ -175,35 +175,35 @@ Tiliä ei ole määritelty. - + The syncing operation is running.<br/>Do you want to terminate it? Synkronointioperaatio on meneillään.<br/>Haluatko keskeyttää sen? - + %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/%4) %5 jäljellä nopeudella %6/s - + %1 of %2, file %3 of %4 Total time left %5 %1/%2, tiedosto %3/%4 Aikaa jäljellä yhteensä %5 - + Connected to <a href="%1">%2</a>. Muodosta yhteys - <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. - + Currently there is no storage usage information available. Tallennustilan käyttötietoja ei ole juuri nyt saatavilla. @@ -466,8 +466,8 @@ Are you sure you want to perform this operation? Mirall::FolderWizard - - + + Add Folder Lisää kansio @@ -543,42 +543,42 @@ Are you sure you want to perform this operation? Mirall::FolderWizardRemotePath - + Add Remote Folder Lisää etäkansio - + Enter the name of the new folder: Anna uuden kansion nimi: - + Folder was successfully created on %1. - + Failed to create the folder on %1. Please check manually. - + Choose this to sync the entire account Valitse tämä synkronoidaksesi koko tilin - + This folder is already being synced. Tätä kansiota synkronoidaan jo. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Synkronoit jo kansiota <i>%1</i>, ja se on kansion <i>%2</i> yläkansio. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. @@ -595,17 +595,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout Yhteys aikakatkaistiin @@ -1208,7 +1208,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::OwncloudWizard - + %1 Connection Wizard %1-yhteysavustaja @@ -1252,22 +1252,22 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + File %1 can not be downloaded because of a local file name clash! @@ -1275,7 +1275,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1283,7 +1283,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1370,22 +1375,22 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. Paikallinen tiedosto poistettiin synkronoinnin aikana. - + Local file changed during sync. Paikallinen tiedosto muuttui synkronoinnin aikana. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1510,27 +1515,27 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::SettingsDialogMac - + %1 %1 - + Account Tili - + Activity Toimet - + General Yleiset - + Network Verkko @@ -1538,12 +1543,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::ShibbolethCredentials - + Login Error Kirjautumisvirhe - + You must sign in as user %1 Kirjaudu käyttäjänä %1 @@ -1551,22 +1556,22 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Tunnistaudu - + Reauthentication required Tunnistaudu uudelleen - + Your session has expired. You need to re-login to continue to use the client. Istunto on vanhentunut. Kirjaudu uudelleen jatkaaksesi sovelluksen käyttämistä. - + %1 - %2 %1 - %2 @@ -1770,186 +1775,232 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::SyncEngine - + Success. Onnistui. - + CSync failed to create a lock file. Csync ei onnistunut luomaan lukitustiedostoa. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1-liitännäistä csyncia varten ei voitu ladata.<br/>Varmista asennuksen toimivuus!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Tämän koneen järjestelmäaika on erilainen verrattuna palvelimen aikaan. Käytä NTP-palvelua kummallakin koneella, jotta kellot pysyvät samassa ajassa. Muuten tiedostojen synkronointi ei toimi. - + CSync could not detect the filesystem type. Csync-synkronointipalvelu ei kyennyt tunnistamaan tiedostojärjestelmän tyyppiä. - + CSync got an error while processing internal trees. Csync-synkronointipalvelussa tapahtui virhe sisäisten puurakenteiden prosessoinnissa. - + CSync failed to reserve memory. CSync ei onnistunut varaamaan muistia. - + CSync fatal parameter error. - + CSync processing step update failed. - + CSync processing step reconcile failed. - + CSync processing step propagate failed. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Kohdekansiota ei ole olemassa.</p><p>Tarkasta synkronointiasetuksesi.</p> - + A remote file can not be written. Please check the remote access. Etätiedostoa ei pystytä kirjoittamaan. Tarkista, että etäpääsy toimii. - + The local filesystem can not be written. Please check permissions. Paikalliseen tiedostojärjestelmään kirjoittaminen epäonnistui. Tarkista kansion oikeudet. - + CSync failed to connect through a proxy. CSync ei onnistunut muodostamaan yhteyttä välityspalvelimen välityksellä. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. - + CSync failed to authenticate at the %1 server. - + CSync failed to connect to the network. CSync ei onnistunut yhdistämään verkkoon. - + A network connection timeout happend. Verkon aikakatkaisuvirhe. - + A HTTP transmission error happened. Tapahtui HTTP-välitysvirhe. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync yritti luoda olemassa olevan kansion. - + CSync: No space on %1 server available. CSync: %1-palvelimella ei ole tilaa vapaana. - + CSync unspecified error. CSync - määrittämätön virhe. - + Aborted by the user - + 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1962,7 +2013,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::Theme - + <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<br>United States, other countries, or both.</p> @@ -2015,82 +2066,82 @@ Osoitteen käyttäminen ei ole suositeltavaa. 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 - + 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 @@ -2335,7 +2386,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Jos käytössäsi ei ole vielä ownCloud-palvelinta, lue lisätietoja osoitteessa <a href="https://owncloud.com">owncloud.com</a>. @@ -2344,12 +2395,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Versio %2. Lisätietoja osoitteessa <a href="%3">%4</a></p><p><small>Tehnyt Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Pohjautuu Duncan Mac-Vicar P:n Miralliin</small></p>%7 @@ -2438,57 +2489,57 @@ Osoitteen käyttäminen ei ole suositeltavaa. theme - + Status undefined Tila on määrittelemätön. - + Waiting to start sync Odotetaan synkronoinnin käynnistymistä - + Sync is running Synkronointi meneillään - + Sync Success Synkronointi valmistui - + Sync Success, some files were ignored. Synkronointi onnistui, jotkin tiedostot ohitettiin. - + Sync Error Synkronointivirhe - + Setup Error Asetusvirhe. - + The server is currently unavailable Palvelin ei ole juuri nyt tavoitettavissa - + Preparing to sync Valmistaudutaan synkronointiin - + Aborting... - + Sync is paused Synkronointi on keskeytetty diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index d3a8a9bbe..efb2fd13f 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -144,28 +144,28 @@ <p>Voulez-vous réellement réinitialiser le dossier <i>%1</i> et reconstruire votre base de données cliente ?</p><p><b>Note :</b> Cette fonctionnalité existe pour des besoins de maintenance uniquement. Aucun fichier ne sera supprimé, mais cela peut causer un trafic de données conséquent et peut durer de plusieurs minutes à plusieurs heures, en fonction de la taille du dossier. Utilisez cette option uniquement sur avis de votre administrateur.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) de %2 d'espace utilisé sur le serveur. - + No connection to %1 at <a href="%2">%3</a>. Aucune connexion à %1 à <a href="%2">%3</a>. - + No %1 connection configured. Aucune connexion à %1 configurée - + Sync Running Synchronisation en cours @@ -175,34 +175,35 @@ Aucun compte configuré. - + The syncing operation is running.<br/>Do you want to terminate it? La synchronisation est en cours.<br/>Voulez-vous y mettre un terme? - + %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 de %4) %5 restant à un débit de %6/s - + %1 of %2, file %3 of %4 Total time left %5 - + %1 de %2, fichier %3 de %4 +Temps restant total %5 - + Connected to <a href="%1">%2</a>. Connecté à <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Connecté à <a href="%1">%2</a> en tant que <i>%3</i>. - + Currently there is no storage usage information available. Actuellement aucune information d'utilisation de stockage n'est disponible. @@ -468,8 +469,8 @@ Voulez-vous réellement effectuer cette opération ? Mirall::FolderWizard - - + + Add Folder Ajouter le dossier @@ -545,42 +546,42 @@ Voulez-vous réellement effectuer cette opération ? Mirall::FolderWizardRemotePath - + Add Remote Folder Ajouter un dossier distant - + Enter the name of the new folder: Saisissez le nom du nouveau dossier : - + Folder was successfully created on %1. Le dossier a été créé sur %1 - + Failed to create the folder on %1. Please check manually. Échec à la création du dossier sur %1. Veuillez vérifier manuellement. - + Choose this to sync the entire account Sélectionner ceci pour synchroniser l'ensemble du compte - + This folder is already being synced. Ce dossier est déjà en cours de synchronisation. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Vous synchronisez déja <i>%1</i>, qui est un dossier parent de <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Vous êtes déjà en cours de synchronisation de tous vos fichiers. Synchroniser un autre dossier n'est <b>pas</b> possible actuellement. Si vous voulez synchroniser de multiples dossiers, veuillez supprimer la synchronisation en cours du dossier racine. @@ -597,17 +598,17 @@ Voulez-vous réellement effectuer cette opération ? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Aucun E-Tag reçu du serveur, vérifiez le proxy / la passerelle - + We received a different E-Tag for resuming. Retrying next time. Nous avons reçu un E-Tag différent pour reprendre le téléchargement. Nouvel essai la prochaine fois. - + Connection Timeout Temps de connexion expiré @@ -1212,7 +1213,7 @@ Il est déconseillé de l'utiliser. Mirall::OwncloudWizard - + %1 Connection Wizard %1 Assistant de Connexion @@ -1256,22 +1257,22 @@ Il est déconseillé de l'utiliser. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. La synchronisation a été interrompue par l'utilisateur. - + No E-Tag received from server, check Proxy/Gateway Aucun E-Tag reçu du serveur, vérifiez le proxy / la passerelle - + We received a different E-Tag for resuming. Retrying next time. Nous avons reçu un E-Tag différent pour reprendre le téléchargement. Nouvel essai la prochaine fois. - + File %1 can not be downloaded because of a local file name clash! File %1 ne peut pas être téléchargé en raison d'un conflit sur le nom du fichier local. @@ -1279,7 +1280,7 @@ Il est déconseillé de l'utiliser. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! File %1 ne peut pas être téléchargé en raison d'un conflit sur le nom du fichier local. @@ -1287,7 +1288,12 @@ Il est déconseillé de l'utiliser. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 Un fichier ou un dossier a été supprimé du partage en lecture seule, mais la restauration à échoué : %1 @@ -1374,22 +1380,22 @@ Il est déconseillé de l'utiliser. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Le fichier a été modifié localement mais appartient à un partage en lecture seule. Il a été restauré et vos modifications sont présentes dans le fichiers de confit. - + The local file was removed during sync. - + Fichier local supprimé pendant la synchronisation. - + Local file changed during sync. Fichier local modifié pendant la synchronisation. - + The server did not acknowledge the last chunk. (No e-tag were present) Le serveur n'a pas acquitté le dernier morceau (aucun e-tag n'était présent). @@ -1515,27 +1521,27 @@ Il est déconseillé de l'utiliser. Mirall::SettingsDialogMac - + %1 %1 - + Account Compte - + Activity Activité - + General Général - + Network Réseau @@ -1543,12 +1549,12 @@ Il est déconseillé de l'utiliser. Mirall::ShibbolethCredentials - + Login Error Erreur de connexion - + You must sign in as user %1 Vous devez vous connecter en tant qu'utilisateur %1 @@ -1556,22 +1562,22 @@ Il est déconseillé de l'utiliser. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Authentifier - + Reauthentication required Nouvelle authentification nécessaire - + Your session has expired. You need to re-login to continue to use the client. Votre session a expiré. Vous devez vous connecter à nouveau pour continuer à utiliser le client. - + %1 - %2 %1 - %2 @@ -1775,186 +1781,232 @@ Il est déconseillé de l'utiliser. Mirall::SyncEngine - + Success. Succès. - + CSync failed to create a lock file. CSync n'a pas pu créer le fichier de verrouillage. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync n’a pu charger ou créer le fichier de journalisation. Veuillez vérifier que vous possédez les droits en lecture/écriture dans le répertoire de synchronisation local. - + CSync failed to write the journal file. CSync n’a pu écrire le fichier de journalisation. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Le plugin %1 pour csync n'a pas pu être chargé.<br/>Merci de vérifier votre installation !</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'heure du client est différente de l'heure du serveur. Veuillez utiliser un service de synchronisation du temps (NTP) sur le serveur et le client afin que les horloges soient à la même heure. - + CSync could not detect the filesystem type. CSync n'a pas pu détecter le type de système de fichier. - + CSync got an error while processing internal trees. CSync obtient une erreur pendant le traitement des arbres internes. - + CSync failed to reserve memory. Erreur lors de l'allocation mémoire par CSync. - + CSync fatal parameter error. Erreur fatale CSync : mauvais paramètre. - + CSync processing step update failed. Erreur CSync lors de l'opération de mise à jour - + CSync processing step reconcile failed. Erreur CSync lors de l'opération d'harmonisation - + CSync processing step propagate failed. Erreur CSync lors de l'opération de propagation - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Le répertoire cible n'existe pas.</p><p>Veuillez vérifier la configuration de la synchronisation.</p> - + A remote file can not be written. Please check the remote access. Un fichier distant ne peut être écrit. Veuillez vérifier l’accès distant. - + The local filesystem can not be written. Please check permissions. Le système de fichiers local n'est pas accessible en écriture. Veuillez vérifier les permissions. - + CSync failed to connect through a proxy. CSync n'a pu établir une connexion à travers un proxy. - + CSync could not authenticate at the proxy. CSync ne peut s'authentifier auprès du proxy. - + CSync failed to lookup proxy or server. CSync n'a pu trouver un proxy ou serveur auquel se connecter. - + CSync failed to authenticate at the %1 server. CSync n'a pu s'authentifier auprès du serveur %1. - + CSync failed to connect to the network. CSync n'a pu établir une connexion au réseau. - + A network connection timeout happend. Le temps d'attente pour la connexion réseau s'est écoulé. - + A HTTP transmission error happened. Une erreur de transmission HTTP s'est produite. - + CSync failed due to not handled permission deniend. CSync a échoué en raison d'une erreur de permission non prise en charge. - + CSync failed to access Echec de CSync pour accéder - + CSync tried to create a directory that already exists. CSync a tenté de créer un répertoire déjà présent. - + CSync: No space on %1 server available. CSync : Aucun espace disponibla sur le serveur %1. - + CSync unspecified error. Erreur CSync inconnue. - + Aborted by the user Abandonné par l'utilisateur - + 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 supportés par la synchronisation. - + File is listed on the ignore list. Le fichier est présent dans la liste de fichiers à ignorer. - + File contains invalid characters that can not be synced cross platform. Le fichier contient des caractères invalides 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1967,7 +2019,7 @@ Il est déconseillé de l'utiliser. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Version %1 Pour plus d'informations, veuillez visiter <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<br>United States, other countries, or both.</p> @@ -2020,82 +2072,82 @@ Il est déconseillé de l'utiliser. Ouvrir le dossier '%1' - + Open %1 in browser Ouvrir %1 dans le navigateur - + Calculating quota... Calcul du quota... - + 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% de %2 occupés - + No items synced recently Aucun item synchronisé récemment - + 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 @@ -2340,7 +2392,7 @@ Il est déconseillé de l'utiliser. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Si vous n'avez pas encore de serveur ownCloud, consultez <a href="https://owncloud.com">owncloud.com</a> pour obtenir plus d'informations. @@ -2349,12 +2401,12 @@ Il est déconseillé de l'utiliser. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Construit à partir de la révision Git <a href="%1">%2</a> du %3, %4 en utilisant Qt %5.</small><p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Version %2. Pour plus d'informations, consultez <a href="%3">%4</a></p><p><small>Par Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Basé sur Mirall par Duncan Mac-Vicar P.</small></p>%7 @@ -2443,57 +2495,57 @@ Il est déconseillé de l'utiliser. theme - + Status undefined Statut indéfini - + Waiting to start sync Synchronisation en attente - + Sync is running Synchronisation en cours - + Sync Success Synchronisation réussie - + Sync Success, some files were ignored. Synchronisation terminée avec succès, certains fichiers ont été ignorés. - + Sync Error Erreur de synchronisation - + Setup Error Erreur de configuration - + The server is currently unavailable Le serveur est indisponible actuellement. - + Preparing to sync Préparation à la synchronisation - + Aborting... Annulation... - + Sync is paused La synchronisation est en pause diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index f83e12b9b..c17c0b8fa 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -144,28 +144,28 @@ <p>Confirma que quere restabelecer o cartafol <i>%1</i> e reconstruír as súa base datos no cliente?</p><p><b>Nota:</b> Esta función está deseñada só para fins de mantemento. Non se retirará ningún ficheiro, porén, isto pode xerar un tráfico de datos significativo e levarlle varios minutos ou horas en completarse, dependendo do tamaño do cartafol. Utilice esta opción só se o aconsella o administrador.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. Espazo usado do servidor %1 (%3%) de %2. - + No connection to %1 at <a href="%2">%3</a>. Sen conexión con %1 en <a href="%2">%3</a>. - + No %1 connection configured. Non se configurou a conexión %1. - + Sync Running Sincronización en proceso @@ -175,35 +175,35 @@ Non hai contas configuradas. - + The syncing operation is running.<br/>Do you want to terminate it? Estase realizando a sincronización.<br/>Quere interrompela e rematala? - + %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 de %4) restan %5 a unha taxa de %6/s - + %1 of %2, file %3 of %4 Total time left %5 %1 de %2, ficheiro %3 of %4 Tempo total restante %5 - + Connected to <a href="%1">%2</a>. Conectado a <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Conectado a <a href="%1">%2</a> como <i>%3</i>. - + Currently there is no storage usage information available. Actualmente non hai dispoñíbel ningunha información sobre o uso do almacenamento. @@ -469,8 +469,8 @@ Confirma que quere realizar esta operación? Mirall::FolderWizard - - + + Add Folder Engadir un cartafol @@ -546,42 +546,42 @@ Confirma que quere realizar esta operación? Mirall::FolderWizardRemotePath - + Add Remote Folder Engadir un cartafol remoto - + Enter the name of the new folder: Introduza o nome do novo cartafol: - + Folder was successfully created on %1. Creouse correctamente o cartafol en %1. - + Failed to create the folder on %1. Please check manually. Non foi posíbel crear o cartafol en %1. Compróbeo manualmente. - + Choose this to sync the entire account Escolla isto para sincronizar toda a conta - + This folder is already being synced. Este cartafol xa está sincronizado. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Xa está a sincronizar <i>%1</i>, é o cartafol pai de <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Xa se están a sincronizar todos os ficheiros. Isto <b>non</b> é compatíbel co sincronización doutro cartafol. Se quere sincronizar varios cartafoles, retire a sincronización do cartafol raíz configurado actualmente. @@ -598,17 +598,17 @@ Confirma que quere realizar esta operación? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Non se recibiu a «E-Tag» do servidor, comprobe o proxy e/ou a pasarela - + We received a different E-Tag for resuming. Retrying next time. Recibiuse unha «E-Tag» diferente para continuar. Tentándoo outra vez. - + Connection Timeout Esgotouse o tempo de conexión @@ -1213,7 +1213,7 @@ Recomendámoslle que non o use. Mirall::OwncloudWizard - + %1 Connection Wizard Asistente de conexión %1 @@ -1257,22 +1257,22 @@ Recomendámoslle que non o use. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. A sincronización foi interrompida polo usuario. - + No E-Tag received from server, check Proxy/Gateway Non se recibiu a «E-Tag» do servidor, comprobe o proxy e/ou a pasarela - + We received a different E-Tag for resuming. Retrying next time. Recibiuse unha «E-Tag» diferente para continuar. Tentándoo outra vez. - + File %1 can not be downloaded because of a local file name clash! Non é posíbel descargar o ficheiro %1 por mor dunha colisión co nome dun ficheiro local! @@ -1280,7 +1280,7 @@ Recomendámoslle que non o use. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Non é posíbel descargar o ficheiro %1 por mor dunha colisión co nome dun ficheiro local! @@ -1288,7 +1288,12 @@ Recomendámoslle que non o use. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 Foi retirado un ficheiro ou directorio desde unha compartición de só lectura, mais non foi posíbel a súa restauración: %1 @@ -1375,22 +1380,22 @@ Recomendámoslle que non o use. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. O ficheiro foi editado localmente mais é parte dunha compartición de só lectura. O ficheiro foi restaurado e a súa edición atopase no ficheiro de conflitos. - + The local file was removed during sync. O ficheiro local retirarase durante a sincronización. - + Local file changed during sync. O ficheiro local cambiou durante a sincronización. - + The server did not acknowledge the last chunk. (No e-tag were present) O servidor non recoñeceu o último fragmento. (Non hai e-tag presente) @@ -1516,27 +1521,27 @@ Tente sincronizalos de novo. Mirall::SettingsDialogMac - + %1 %1 - + Account Conta - + Activity Actividade - + General Xeral - + Network Rede @@ -1544,12 +1549,12 @@ Tente sincronizalos de novo. Mirall::ShibbolethCredentials - + Login Error Erro de acceso - + You must sign in as user %1 Ten que rexistrarse como usuario %1 @@ -1557,22 +1562,22 @@ Tente sincronizalos de novo. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autenticado - + Reauthentication required É necesario volver autenticarse - + Your session has expired. You need to re-login to continue to use the client. Caducou a sesión. É necesario que volva a acceder para seguir usando o cliente. - + %1 - %2 %1 - %2 @@ -1776,186 +1781,232 @@ Tente sincronizalos de novo. Mirall::SyncEngine - + Success. Correcto. - + CSync failed to create a lock file. Produciuse un fallo en CSync ao crear un ficheiro de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Produciuse un fallo do Csync ao cargar ou crear o ficheiro de rexistro. Asegúrese de que ten permisos de lectura e escritura no directorio de sincronización local. - + CSync failed to write the journal file. Produciuse un fallo en CSync ao escribir o ficheiro de rexistro. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Non foi posíbel cargar o engadido %1 para CSync.<br/>Verifique a instalación!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A diferenza de tempo neste cliente e diferente do tempo do sistema no servidor. Use o servido de sincronización de tempo (NTP) no servidor e nas máquinas cliente para que os tempos se manteñan iguais. - + CSync could not detect the filesystem type. CSync non pode detectar o tipo de sistema de ficheiros. - + CSync got an error while processing internal trees. CSync tivo un erro ao procesar árbores internas. - + CSync failed to reserve memory. Produciuse un fallo ao reservar memoria para CSync. - + CSync fatal parameter error. Produciuse un erro fatal de parámetro CSync. - + CSync processing step update failed. Produciuse un fallo ao procesar o paso de actualización de CSync. - + CSync processing step reconcile failed. Produciuse un fallo ao procesar o paso de reconciliación de CSync. - + CSync processing step propagate failed. Produciuse un fallo ao procesar o paso de propagación de CSync. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Non existe o directorio de destino.</p><p>Comprobe a configuración da sincronización.</p> - + A remote file can not be written. Please check the remote access. Non é posíbel escribir un ficheiro remoto. Comprobe o acceso remoto. - + The local filesystem can not be written. Please check permissions. Non é posíbel escribir no sistema de ficheiros local. Comprobe os permisos. - + CSync failed to connect through a proxy. CSYNC no puido conectarse a través dun proxy. - + CSync could not authenticate at the proxy. CSync non puido autenticarse no proxy. - + CSync failed to lookup proxy or server. CSYNC no puido atopar o servidor proxy. - + CSync failed to authenticate at the %1 server. CSync non puido autenticarse no servidor %1. - + CSync failed to connect to the network. CSYNC no puido conectarse á rede. - + A network connection timeout happend. Excedeuse do tempo de espera para a conexión á rede. - + A HTTP transmission error happened. Produciuse un erro na transmisión HTTP. - + CSync failed due to not handled permission deniend. Produciuse un fallo en CSync por mor dun permiso denegado. - + CSync failed to access Produciuse un fallo ao acceder a CSync - + CSync tried to create a directory that already exists. CSYNC tenta crear un directorio que xa existe. - + CSync: No space on %1 server available. CSync: Non hai espazo dispoñíbel no servidor %1. - + CSync unspecified error. Produciuse un erro non especificado de CSync - + Aborted by the user Interrompido polo usuario - + 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 - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1968,7 +2019,7 @@ Tente sincronizalos de novo. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Versión %1 Para obter máis información vexa <a href='%2'>%3</a>.</p><p>Copyright ownCloud, Inc.<p><p>Distribuído por %4 e licenciado baixo a Licenza Pública Xeral GPL/GNU Versión 2.0.<br>Os logotipos %5 e %5 son marcas rexistradas de %4 nos<br>Estados Unidos de Norte América e/ou outros países.</p> @@ -2021,82 +2072,82 @@ Tente sincronizalos de novo. 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 - + 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 @@ -2341,7 +2392,7 @@ Tente sincronizalos de novo. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Se aínda non ten un servidor ownCloud, vexa <a href="https://owncloud.com">owncloud.com</a> para obter máis información. @@ -2350,12 +2401,12 @@ Tente sincronizalos de novo. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Construído a partir de la revisión Git <a href="%1">%2</a> on %3, %4 usando Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Versión %2.Versión <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Baseado no Mirall por Duncan Mac-Vicar P.</small></p>%7 @@ -2444,57 +2495,57 @@ Tente sincronizalos de novo. theme - + Status undefined Estado sen definir - + Waiting to start sync Agardando o comezo da sincronización - + Sync is running Sincronización en proceso - + Sync Success Sincronización realizada - + Sync Success, some files were ignored. A sincronización foi correcta, algúns ficheiros foron ignorados. - + Sync Error Produciuse un erro de sincronización - + Setup Error Erro de configuración - + The server is currently unavailable O servidor non está dispoñíbel actualmente - + Preparing to sync Preparando para sincronizar - + Aborting... Interrompendo - + Sync is paused Sincronización en pausa diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index fe9bb2aaf..e29fc28f8 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -144,28 +144,28 @@ - + %1 %2 Example text: "uploading foobar.png" - + %1 (%3%) of %2 server space in use. - + No connection to %1 at <a href="%2">%3</a>. - + No %1 connection configured. - + Sync Running Szinkronizálás fut @@ -175,34 +175,34 @@ Nincs beállított kapcsolat. - + The syncing operation is running.<br/>Do you want to terminate it? - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. - + Currently there is no storage usage information available. @@ -465,8 +465,8 @@ Are you sure you want to perform this operation? Mirall::FolderWizard - - + + Add Folder Mappa hozzáadása @@ -542,42 +542,42 @@ Are you sure you want to perform this operation? Mirall::FolderWizardRemotePath - + Add Remote Folder Távoli mappa hozzáadása - + Enter the name of the new folder: Adja meg az új mappa nevét: - + Folder was successfully created on %1. A mappa sikeresen létrehozva: %1. - + Failed to create the folder on %1. Please check manually. - + Choose this to sync the entire account - + This folder is already being synced. Ez a mappa már szinkronizálva van. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. @@ -594,17 +594,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1205,7 +1205,7 @@ It is not advisable to use it. Mirall::OwncloudWizard - + %1 Connection Wizard %1 kapcsolódási varázsló @@ -1249,22 +1249,22 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + File %1 can not be downloaded because of a local file name clash! @@ -1272,7 +1272,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1280,7 +1280,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1367,22 +1372,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1507,27 +1512,27 @@ It is not advisable to use it. Mirall::SettingsDialogMac - + %1 %1 - + Account Fiók - + Activity Aktivitás - + General Általános - + Network Hálózat @@ -1535,12 +1540,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 @@ -1548,22 +1553,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 @@ -1765,186 +1770,232 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Sikerült. - + CSync failed to create a lock file. A CSync nem tudott létrehozni lock fájlt. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Az %1 beépülőmodul a csync-hez nem tölthető be.<br/>Ellenőrizze a telepítést!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A helyi rendszeridő különbözik a kiszolgáló rendszeridejétől. Használjon időszinkronizációs szolgáltatást (NTP) a rendszerén és a szerveren is, hogy az idő mindig megeggyezzen. - + CSync could not detect the filesystem type. A CSync nem tudta megállapítani a fájlrendszer típusát. - + CSync got an error while processing internal trees. A CSync hibába ütközött a belső adatok feldolgozása közben. - + CSync failed to reserve memory. Hiba a CSync memórifoglalásakor. - + CSync fatal parameter error. CSync hibás paraméterhiba. - + CSync processing step update failed. CSync frissítés feldolgozása meghíusult. - + CSync processing step reconcile failed. CSync egyeztetési lépés meghíusult. - + CSync processing step propagate failed. CSync propagálási lépés meghíusult. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>A célmappa nem létezik.</p><p>Ellenőrizze a sync beállításait.</p> - + A remote file can not be written. Please check the remote access. Egy távoli fájl nem írható. Kérlek, ellenőrizd a távoli elérést. - + The local filesystem can not be written. Please check permissions. A helyi fájlrendszer nem írható. Kérlek, ellenőrizd az engedélyeket. - + CSync failed to connect through a proxy. CSync proxy kapcsolódási hiba. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. A CSync nem találja a proxy kiszolgálót. - + CSync failed to authenticate at the %1 server. A CSync nem tuja azonosítani magát a %1 kiszolgálón. - + CSync failed to connect to the network. CSync hálózati kapcsolódási hiba. - + A network connection timeout happend. Hálózati kapcsolat időtúllépési hiba lépett fel. - + A HTTP transmission error happened. HTTP átviteli hiba történt. - + CSync failed due to not handled permission deniend. CSync hiba, nincs kezelési jogosultság. - + CSync failed to access - + CSync tried to create a directory that already exists. A CSync megpróbált létrehozni egy már létező mappát. - + CSync: No space on %1 server available. CSync: Nincs szabad tárhely az %1 kiszolgálón. - + CSync unspecified error. CSync ismeretlen hiba. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1957,7 +2008,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> @@ -2010,82 +2061,82 @@ It is not advisable to use it. - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date Frissítve @@ -2330,7 +2381,7 @@ It is not advisable to use it. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! @@ -2339,12 +2390,12 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 @@ -2433,57 +2484,57 @@ It is not advisable to use it. theme - + Status undefined Meghatározatlan állapit - + Waiting to start sync - + Sync is running - + Sync Success - + Sync Success, some files were ignored. - + Sync Error - + Setup Error - + The server is currently unavailable - + Preparing to sync - + Aborting... - + Sync is paused diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 10fd0485e..518dd0e3f 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -144,28 +144,28 @@ <p>Vuoi davvero ripristinare la cartella <i>%1</i> e ricostruire il database del client?</p><p><b>Nota:</b> questa funzione è destinata solo a scopi di manutenzione. Nessun file sarà rimosso, ma può causare un significativo traffico di dati e richiedere diversi minuti oppure ore, in base alla dimensione della cartella. Utilizza questa funzione solo se consigliata dal tuo amministratore.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) di %2 spazio in uso sul server. - + No connection to %1 at <a href="%2">%3</a>. Nessuna connessione a %1 su <a href="%2">%3</a>. - + No %1 connection configured. Nessuna connessione di %1 configurata. - + Sync Running La sincronizzazione è in corso @@ -175,35 +175,35 @@ Nessun account configurato. - + The syncing operation is running.<br/>Do you want to terminate it? L'operazione di sincronizzazione è in corso.<br/>Vuoi terminarla? - + %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 di %4). %5 rimanenti a una velocità di %6/s - + %1 of %2, file %3 of %4 Total time left %5 %1 di %2, file %3 di %4 Totale tempo rimanente %5 - + Connected to <a href="%1">%2</a>. Connesso a <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Connesso a <a href="%1">%2</a> come <i>%3</i>. - + Currently there is no storage usage information available. Non ci sono informazioni disponibili sull'utilizzo dello spazio di archiviazione. @@ -469,8 +469,8 @@ Sei sicuro di voler eseguire questa operazione? Mirall::FolderWizard - - + + Add Folder Aggiungi cartella @@ -546,42 +546,42 @@ Sei sicuro di voler eseguire questa operazione? Mirall::FolderWizardRemotePath - + Add Remote Folder Aggiungi cartella remota - + Enter the name of the new folder: Digita il nome della nuova cartella: - + Folder was successfully created on %1. La cartella è stata creata correttamente su %1. - + Failed to create the folder on %1. Please check manually. Non è stato possibile creare la cartella su %1. Controlla manualmente. - + Choose this to sync the entire account Selezionala per sincronizzare l'intero account - + This folder is already being synced. Questa cartella è già sincronizzata. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Stai già sincronizzando <i>%1</i>, che è la cartella superiore di <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Stai già sincronizzando tutti i tuoi file. La sincronizzazione di un'altra cartella <b>non</b> è supportata. Se vuoi sincronizzare più cartelle, rimuovi la configurazione della cartella principale di sincronizzazione. @@ -598,17 +598,17 @@ Sei sicuro di voler eseguire questa operazione? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nessun e-tag ricevuto dal server, controlla il proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Abbiamo ricevuto un e-tag diverso per il recupero. Riprova più tardi. - + Connection Timeout Connessione scaduta @@ -1212,7 +1212,7 @@ Non è consigliabile utilizzarlo. Mirall::OwncloudWizard - + %1 Connection Wizard Procedura guidata di connessione di %1 @@ -1256,22 +1256,22 @@ Non è consigliabile utilizzarlo. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Sincronizzazione interrotta dall'utente. - + No E-Tag received from server, check Proxy/Gateway Nessun e-tag ricevuto dal server, controlla il proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Abbiamo ricevuto un e-tag diverso per il recupero. Riprova più tardi. - + File %1 can not be downloaded because of a local file name clash! Il file %1 non può essere scaricato a causa di un conflitto con un file locale. @@ -1279,7 +1279,7 @@ Non è consigliabile utilizzarlo. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Il file %1 non può essere scaricato a causa di un conflitto con un file locale. @@ -1287,7 +1287,12 @@ Non è consigliabile utilizzarlo. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 Un file o una cartella è stato rimosso da una condivisione in sola lettura, ma il ripristino non è riuscito: %1 @@ -1374,22 +1379,22 @@ Non è consigliabile utilizzarlo. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Il file è stato modificato localmente, ma è parte di una condivisione in sola lettura. È stato ripristinato e la tua modifica è nel file di conflitto. - + The local file was removed during sync. Il file locale è stato rimosso durante la sincronizzazione. - + Local file changed during sync. Un file locale è cambiato durante la sincronizzazione. - + The server did not acknowledge the last chunk. (No e-tag were present) Il server non ha riconosciuto l'ultimo pezzo. (Non era presente alcun e-tag) @@ -1515,27 +1520,27 @@ Prova a sincronizzare nuovamente. Mirall::SettingsDialogMac - + %1 %1 - + Account Account - + Activity Attività - + General Generale - + Network Rete @@ -1543,12 +1548,12 @@ Prova a sincronizzare nuovamente. Mirall::ShibbolethCredentials - + Login Error Errore di accesso - + You must sign in as user %1 Devi accedere con l'utente %1 @@ -1556,22 +1561,22 @@ Prova a sincronizzare nuovamente. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autenticazione - + Reauthentication required Nuova autenticazione richiesta - + Your session has expired. You need to re-login to continue to use the client. La tua sessione è scaduta. Devi effettuare nuovamente l'accesso per continuare a utilizzare il client. - + %1 - %2 %1 - %2 @@ -1775,186 +1780,232 @@ Prova a sincronizzare nuovamente. Mirall::SyncEngine - + Success. Successo. - + CSync failed to create a lock file. CSync non è riuscito a creare il file di lock. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync non è riuscito a caricare o a creare il file di registro. Assicurati di avere i permessi di lettura e scrittura nella cartella di sincronizzazione locale. - + CSync failed to write the journal file. CSync non è riuscito a scrivere il file di registro. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Il plugin %1 per csync non può essere caricato.<br/>Verifica l'installazione!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'ora di sistema su questo client è diversa dall'ora di sistema del server. Usa un servizio di sincronizzazione dell'orario (NTP) sul server e sulle macchine client in modo che l'ora sia la stessa. - + CSync could not detect the filesystem type. CSync non è riuscito a individuare il tipo di filesystem. - + CSync got an error while processing internal trees. Errore di CSync durante l'elaborazione degli alberi interni. - + CSync failed to reserve memory. CSync non è riuscito a riservare la memoria. - + CSync fatal parameter error. Errore grave di parametro di CSync. - + CSync processing step update failed. La fase di aggiornamento di CSync non è riuscita. - + CSync processing step reconcile failed. La fase di riconciliazione di CSync non è riuscita. - + CSync processing step propagate failed. La fase di propagazione di CSync non è riuscita. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>La cartella di destinazione non esiste.</p><p>Controlla la configurazione della sincronizzazione.</p> - + A remote file can not be written. Please check the remote access. Un file remoto non può essere scritto. Controlla l'accesso remoto. - + The local filesystem can not be written. Please check permissions. Il filesystem locale non può essere scritto. Controlla i permessi. - + CSync failed to connect through a proxy. CSync non è riuscito a connettersi tramite un proxy. - + CSync could not authenticate at the proxy. CSync non è in grado di autenticarsi al proxy. - + CSync failed to lookup proxy or server. CSync non è riuscito a trovare un proxy o server. - + CSync failed to authenticate at the %1 server. CSync non è riuscito ad autenticarsi al server %1. - + CSync failed to connect to the network. CSync non è riuscito a connettersi alla rete. - + A network connection timeout happend. Si è verificato un timeout sulla connessione alla rete. - + A HTTP transmission error happened. Si è verificato un errore di trasmissione HTTP. - + CSync failed due to not handled permission deniend. Problema di CSync dovuto alla mancata gestione dei permessi. - + CSync failed to access CSync non è riuscito ad accedere - + CSync tried to create a directory that already exists. CSync ha cercato di creare una cartella già esistente. - + CSync: No space on %1 server available. CSync: spazio insufficiente sul server %1. - + CSync unspecified error. Errore non specificato di CSync. - + Aborted by the user Interrotto dall'utente - + 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1967,7 +2018,7 @@ Prova a sincronizzare nuovamente. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Versione %1 Per ulteriori informazioni visita <a href='%2'>%3</a>. </p><p>Copyright ownCloud, Inc.<p><p>Distribuito da %4 e sotto licenza GNU General Public License (GPL) versione 2.0.<br>%5 e il logo %5 sono marchi registrati di %4 negli <br>Stati Uniti, in altri paesi, o entrambi.</p> @@ -2020,82 +2071,82 @@ Prova a sincronizzare nuovamente. 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 - + 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 @@ -2340,7 +2391,7 @@ Prova a sincronizzare nuovamente. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Se non hai ancora un server ownCloud, visita <a href="https://owncloud.com">owncloud.com</a> per ulteriori informazioni. @@ -2349,12 +2400,12 @@ Prova a sincronizzare nuovamente. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Compilato dalla revisione Git <a href="%1">%2</a> il %3, %4 utilizzando Qt %5.</small><p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Versione %2. Per ulteriori informazioni, visita <a href="%3">%4</a></p><p><small>scritto da Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc..<br>Basato su Mirall di Duncan Mac-Vicar P.</small></p>%7 @@ -2443,57 +2494,57 @@ Prova a sincronizzare nuovamente. theme - + Status undefined Stato non definito - + Waiting to start sync In attesa di sincronizzazione - + Sync is running La sincronizzazione è in corso - + Sync Success Sincronizzazione completata - + Sync Success, some files were ignored. Sincronizzazione avvenuta, alcuni file sono stati ignorati. - + Sync Error Errore di sincronizzazione - + Setup Error Errore di configurazione - + The server is currently unavailable Il server è attualmente non disponibile. - + Preparing to sync Preparazione della sincronizzazione - + Aborting... Interruzione in corso... - + Sync is paused La sincronizzazione è sospesa diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index 6aa9c0e6d..5fd4776a7 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -144,28 +144,28 @@ <p>本当にフォルダー <i>%1</i> をリセットしてクライアントのデータベースを再構築しますか?</p><p><b>注意:</b>この機能は保守目的のためだけにデザインされています。ファイルは削除されませんが、完了するまでにデータ通信が明らかに増大し、数分、あるいはフォルダーのサイズによっては数時間かかります。このオプションは管理者に指示された場合にのみ使用してください。 - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) / %2 使用中のサーバー領域 - + No connection to %1 at <a href="%2">%3</a>. <a href="%2">%3</a> に %1 への接続がありません。 - + No %1 connection configured. %1 の接続は設定されていません。 - + Sync Running 同期を実行中 @@ -175,35 +175,35 @@ アカウントが未設定です。 - + The syncing operation is running.<br/>Do you want to terminate it? 同期作業を実行中です。<br/>終了しますか? - + %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 (%4 中 %3) 残り時間 %5 利用帯域 %6/s - + %1 of %2, file %3 of %4 Total time left %5 %2 のうち %1 , ファイル %4 のうち %3 残り時間 %5 - + Connected to <a href="%1">%2</a>. <a href="%1">%2</a> へ接続しました。 - + Connected to <a href="%1">%2</a> as <i>%3</i>. <a href="%1">%2</a> に <i>%3</i> として接続 - + Currently there is no storage usage information available. 現在、利用できるストレージ利用状況はありません。 @@ -469,8 +469,8 @@ Are you sure you want to perform this operation? Mirall::FolderWizard - - + + Add Folder フォルダーを追加 @@ -546,42 +546,42 @@ Are you sure you want to perform this operation? Mirall::FolderWizardRemotePath - + Add Remote Folder リモートフォルダーを追加 - + Enter the name of the new folder: 新しいフォルダー名を入力: - + Folder was successfully created on %1. %1 にフォルダーが作成されました。 - + Failed to create the folder on %1. Please check manually. %1 にフォルダーを作成できませんでした。手作業で確認してください。 - + Choose this to sync the entire account アカウント全体を同期する場合はこちらを選択 - + This folder is already being synced. このフォルダーはすでに同期されています。 - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. <i>%1</i>は、<i>%2</i>の親フォルダーですでに同期しています。 - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. すべてのファイルはすでに同期されています。他のフォルダーの同期は<b>サポートしていません</>。複数のフォルダーを同期したい場合は、現在設定されているルートフォルダー同期設定を削除してください。 @@ -598,17 +598,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway サーバーからE-Tagを受信できません。プロキシ/ゲートウェイを確認してください。 - + We received a different E-Tag for resuming. Retrying next time. 同期再開時に違う E-Tagを受信しました。次回リトライします。 - + Connection Timeout 接続タイムアウト @@ -1211,7 +1211,7 @@ It is not advisable to use it. Mirall::OwncloudWizard - + %1 Connection Wizard %1 接続ウィザード @@ -1255,22 +1255,22 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. 同期はユーザーによって中止されました。 - + No E-Tag received from server, check Proxy/Gateway サーバーからE-Tagを受信できません。プロキシ/ゲートウェイを確認してください。 - + We received a different E-Tag for resuming. Retrying next time. 同期再開時に違う E-Tagを受信しました。次回リトライします。 - + File %1 can not be downloaded because of a local file name clash! ファイル %1 はローカルファイル名が衝突しているためダウンロードできません! @@ -1278,7 +1278,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! ファイル %1 はローカルファイル名が衝突しているためダウンロードできません! @@ -1286,7 +1286,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 ファイルまたはディレクトリが読み込み専用の共有から削除されましたが、復元に失敗しました: %1 @@ -1373,22 +1378,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. ファイルがローカルで編集されましたが、読み込み専用の共有の一部です。ファイルは復元され、あなたの編集は競合するファイル内にあります。 - + The local file was removed during sync. ローカルファイルを同期時に削除します。 - + Local file changed during sync. ローカルのファイルが同期中に変更されました。 - + The server did not acknowledge the last chunk. (No e-tag were present) サーバーは最終チャンクを認識しません。(e-tag が存在しません) @@ -1514,27 +1519,27 @@ It is not advisable to use it. Mirall::SettingsDialogMac - + %1 %1 - + Account アカウント - + Activity アクティビティ - + General 一般 - + Network ネットワーク @@ -1542,12 +1547,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error ログインエラー - + You must sign in as user %1 ユーザー %1 としてログインする必要があります @@ -1555,22 +1560,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - 認証 - + Reauthentication required 再認証が必要 - + Your session has expired. You need to re-login to continue to use the client. セッションの期限が切れました。クライアントを使用し続けるには再ログインが必要です。 - + %1 - %2 %1 - %2 @@ -1774,186 +1779,232 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSyncがロックファイルの作成に失敗しました。 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSyncはジャーナルファイルの読み込みや作成に失敗しました。ローカルの同期ディレクトリに読み書きの権限があるか確認してください。 - + CSync failed to write the journal file. CSyncはジャーナルファイルの書き込みに失敗しました。 - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csync 用の %1 プラグインをロードできませんでした。<br/>インストール状態を確認してください!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. このクライアントのシステム時刻はサーバーのシステム時刻と異なります。時刻が同じになるように、クライアントとサーバーの両方で時刻同期サービス(NTP)を実行してください。 - + CSync could not detect the filesystem type. CSyncはファイルシステムタイプを検出できませんでした。 - + CSync got an error while processing internal trees. CSyncは内部ツリーの処理中にエラーに遭遇しました。 - + CSync failed to reserve memory. CSyncで使用するメモリの確保に失敗しました。 - + CSync fatal parameter error. CSyncの致命的なパラメータエラーです。 - + CSync processing step update failed. CSyncの処理ステップの更新に失敗しました。 - + CSync processing step reconcile failed. CSyncの処理ステップの調停に失敗しました。 - + CSync processing step propagate failed. CSyncの処理ステップの伝播に失敗しました。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>ターゲットディレクトリは存在しません。</p><p>同期設定を確認してください。</p> - + A remote file can not be written. Please check the remote access. リモートファイルは書き込みできません。リモートアクセスをチェックしてください。 - + The local filesystem can not be written. Please check permissions. ローカルファイルシステムは書き込みができません。パーミッションをチェックしてください。 - + CSync failed to connect through a proxy. CSyncがプロキシ経由での接続に失敗しました。 - + CSync could not authenticate at the proxy. CSyncはそのプロキシで認証できませんでした。 - + CSync failed to lookup proxy or server. CSyncはプロキシもしくはサーバーの参照に失敗しました。 - + CSync failed to authenticate at the %1 server. CSyncは %1 サーバーでの認証に失敗しました。 - + CSync failed to connect to the network. CSyncはネットワークへの接続に失敗しました。 - + A network connection timeout happend. ネットワーク接続のタイムアウトが発生しました。 - + A HTTP transmission error happened. HTTPの伝送エラーが発生しました。 - + CSync failed due to not handled permission deniend. CSyncは対応できないパーミッション拒否が原因で失敗しました。 - + CSync failed to access CSync はアクセスに失敗しました - + CSync tried to create a directory that already exists. CSyncはすでに存在するディレクトリを作成しようとしました。 - + CSync: No space on %1 server available. CSync: %1 サーバーには利用可能な空き領域がありません。 - + CSync unspecified error. CSyncの未指定のエラーです。 - + Aborted by the user ユーザーによって中止されました - + 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. 同期の際にシンボリックリンクはサポートしていません - + 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 同期ジャーナルを開くことができません + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1966,7 +2017,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>バージョン %1 詳細については、<a href='%2'>%3</a>をご覧ください。</p><p>著作権 ownCloud, Inc.<p><p>%4 が配布し、 GNU General Public License (GPL) バージョン2.0 の下でライセンスされています。<br>%5 及び %5 のロゴはアメリカ合衆国またはその他の国、あるいはその両方における<br> %4 の登録商標です。</p> @@ -2019,82 +2070,82 @@ It is not advisable to use it. フォルダー ’%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 最近同期されたアイテムはありません。 - + Syncing %1 of %2 (%3 left) 同期中 %2 中 %1 (残り %3) - + Syncing %1 (%2 left) 同期中 %1 (残り %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date 最新です @@ -2339,7 +2390,7 @@ It is not advisable to use it. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! ownCloudサーバーをまだ所有していない場合は、<a href="https://owncloud.com">owncloud.com</a>で詳細を参照してください。 @@ -2348,12 +2399,12 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small><a href="%1">%2</a> %3, %4 のGitリビジョンからのビルド Qt %5 を利用</small><p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Version %2. 詳細な情報は、<a href="%3">%4</a>を参照してください。</p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 @@ -2442,57 +2493,57 @@ It is not advisable to use it. theme - + Status undefined 未定義の状態 - + Waiting to start sync 同期開始を待っています - + Sync is running 同期を実行中 - + Sync Success 同期成功 - + Sync Success, some files were ignored. 同期が完了しました。一部のファイルが除外されました。 - + Sync Error 同期エラー - + Setup Error 設定エラー - + The server is currently unavailable サーバーは現在利用できません - + Preparing to sync 同期の準備中 - + Aborting... 中止しています... - + Sync is paused 同期を一時停止 diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 7ae776581..d3b1f9849 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -144,28 +144,28 @@ <p>Wilt u de map <i>%1</i> echt resetten en de database opnieuw opbouwen?</p><p><b>Let op:</b> Deze functie is alleen ontworpen voor onderhoudsdoeleinden. Hoewel er geen bestanden worden verwijderd, kan dit een aanzienlijke hoeveelheid dataverkeer tot gevolg hebben en minuten tot zelfs uren duren, afhankelijk van de omvang van de map. Gebruik deze functie alleen als dit wordt geadviseerd door uw applicatiebeheerder.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) van %2 serverruimte in gebruik. - + No connection to %1 at <a href="%2">%3</a>. Geen verbinding naar %1 op <a href="%2">%3</a>. - + No %1 connection configured. Geen %1 connectie geconfigureerd. - + Sync Running Bezig met synchroniseren @@ -175,34 +175,34 @@ Geen account ingesteld. - + The syncing operation is running.<br/>Do you want to terminate it? Bezig met synchroniseren.<br/>Wil je stoppen met synchroniseren? - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. Verbonden met <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Verbonden met <a href="%1">%2</a> als <i>%3</i>. - + Currently there is no storage usage information available. Er is nu geen informatie over het gebruik van de opslagruimte beschikbaar. @@ -468,8 +468,8 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::FolderWizard - - + + Add Folder Voeg Map Toe @@ -545,42 +545,42 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::FolderWizardRemotePath - + Add Remote Folder Voeg externe map toe - + Enter the name of the new folder: Voer de naam in van de nieuwe map: - + Folder was successfully created on %1. Map is succesvol aangemaakt op %1. - + Failed to create the folder on %1. Please check manually. Aanmaken van de map op %1 mislukt.<br/>Controleer handmatig. - + Choose this to sync the entire account Kies dit om uw volledige account te synchroniseren - + This folder is already being synced. Deze map is al gesynchroniseerd. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. U synchroniseert <i>%1</i> al, dat is de bovenliggende map van <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. U bent al uw bestanden al aan het synchroniseren.Het synchroniseren van een andere map wordt <b>niet</b> ondersteund. Als u meerdere mappen wilt synchroniseren moet u de nu geconfigureerde synchronisatie hoofdmap verwijderen. @@ -597,17 +597,17 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Geen E-Tag ontvangen van de server, controleer Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. We ontvingen een afwijkende E-Tag om door te gaan. We proberen het later opnieuw. - + Connection Timeout Verbindingstime-out @@ -1212,7 +1212,7 @@ We adviseren deze site niet te gebruiken. Mirall::OwncloudWizard - + %1 Connection Wizard %1 Verbindingswizard @@ -1256,22 +1256,22 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synchronisatie afgebroken door gebruiker. - + No E-Tag received from server, check Proxy/Gateway Geen E-Tag ontvangen van de server, controleer Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. We ontvingen een afwijkende E-Tag om door te gaan. We proberen het later opnieuw. - + File %1 can not be downloaded because of a local file name clash! Bestand %1 kan niet worden gedownload omdat de naam conflicteert met een lokaal bestand @@ -1279,7 +1279,7 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Bestand %1 kan niet worden gedownload omdat de naam conflicteert met een lokaal bestand @@ -1287,7 +1287,12 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 Er is een bestand of map verwijderd van een alleen-lezen share, maar herstellen is mislukt: %1 @@ -1374,22 +1379,22 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Het bestand is lokaal bewerkt, maar hoort bij een alleen-lezen share. Het originele bestand is teruggezet en uw bewerking staat in het conflicten bestand. - + The local file was removed during sync. - + Local file changed during sync. Lokaal bestand gewijzigd bij sync. - + The server did not acknowledge the last chunk. (No e-tag were present) De server heeft het laatste deel niet bevestigd (er was geen e-tag aanwezig) @@ -1515,27 +1520,27 @@ Probeer opnieuw te synchroniseren. Mirall::SettingsDialogMac - + %1 %1 - + Account Account - + Activity Activiteit - + General Algemeen - + Network Netwerk @@ -1543,12 +1548,12 @@ Probeer opnieuw te synchroniseren. Mirall::ShibbolethCredentials - + Login Error Inlogfout - + You must sign in as user %1 U moet inloggen als gebruiker %1 @@ -1556,22 +1561,22 @@ Probeer opnieuw te synchroniseren. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - authenticeren - + Reauthentication required Hernieuwde authenticatie nodig - + Your session has expired. You need to re-login to continue to use the client. Uw sessie is verstreken. U moet opnieuw inloggen om de client-applicatie te gebruiken. - + %1 - %2 %1 - %2 @@ -1775,186 +1780,232 @@ Probeer opnieuw te synchroniseren. Mirall::SyncEngine - + Success. Succes. - + CSync failed to create a lock file. CSync kon geen lock file maken. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync kon het journal bestand niet maken of lezen. Controleer of u de juiste lees- en schrijfrechten in de lokale syncmap hebt. - + CSync failed to write the journal file. CSync kon het journal bestand niet wegschrijven. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>De %1 plugin voor csync kon niet worden geladen.<br/>Verifieer de installatie!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. De systeemtijd van deze client wijkt af van de systeemtijd op de server. Gebruik een tijdsynchronisatieservice (NTP) op zowel de server als de client, zodat de machines dezelfde systeemtijd hebben. - + CSync could not detect the filesystem type. CSync kon het soort bestandssysteem niet bepalen. - + CSync got an error while processing internal trees. CSync kreeg een fout tijdens het verwerken van de interne mappenstructuur. - + CSync failed to reserve memory. CSync kon geen geheugen reserveren. - + CSync fatal parameter error. CSync fatale parameter fout. - + CSync processing step update failed. CSync verwerkingsstap bijwerken mislukt. - + CSync processing step reconcile failed. CSync verwerkingsstap verzamelen mislukt. - + CSync processing step propagate failed. CSync verwerkingsstap doorzetten mislukt. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>De doelmap bestaat niet.</p><p>Controleer de synchinstellingen.</p> - + A remote file can not be written. Please check the remote access. Een extern bestand kon niet worden weggeschreven. Controleer de externe rechten. - + The local filesystem can not be written. Please check permissions. Er kan niet worden geschreven naar het lokale bestandssysteem. Controleer de schrijfrechten. - + CSync failed to connect through a proxy. CSync kon niet verbinden via een proxy. - + CSync could not authenticate at the proxy. CSync kon niet authenticeren bij de proxy. - + CSync failed to lookup proxy or server. CSync kon geen proxy of server vinden. - + CSync failed to authenticate at the %1 server. CSync kon niet authenticeren bij de %1 server. - + CSync failed to connect to the network. CSync kon niet verbinden met het netwerk. - + A network connection timeout happend. verbindingstime-out - + A HTTP transmission error happened. Er trad een HTTP transmissiefout plaats. - + CSync failed due to not handled permission deniend. CSync mislukt omdat de benodigde toegang werd geweigerd. - + CSync failed to access CSync kreeg geen toegang - + CSync tried to create a directory that already exists. CSync probeerde een al bestaande directory aan te maken. - + CSync: No space on %1 server available. CSync: Geen ruimte op %1 server beschikbaar. - + CSync unspecified error. CSync ongedefinieerde fout. - + Aborted by the user Afgebroken door de gebruiker - + 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1967,7 +2018,7 @@ Probeer opnieuw te synchroniseren. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Versie %1 Voor meer informatie bezoekt u <a href='%2'>%3</a>.</p><p>Copyright ownCloud, Inc.<p><p>Gedistribueer door %4 en verstrekt onder de GNU General Public License (GPL) Versie 2.0.<br>%5 en het %5 logo zijn geregistereerde handelsmerken van %4 in de<br>Verenigde Staten, andere landen, of beide.</p> @@ -2020,82 +2071,82 @@ Probeer opnieuw te synchroniseren. 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Bijgewerkt @@ -2340,7 +2391,7 @@ Probeer opnieuw te synchroniseren. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Bezoek <a href="https://owncloud.com">owncloud.com</a> als u nog geen ownCloud-server heeft. @@ -2349,12 +2400,12 @@ Probeer opnieuw te synchroniseren. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Gebouwd vanaf Git revisie <a href="%1">%2</a> op %3, %4 gebruik makend van Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Versie %2. Bezoek voor meer informatie <a href="%3">%4</a></p><p><small>Geschreven door Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Gebaseerd op Mirall van Duncan Mac-Vicar P.</small></p>%7 @@ -2443,57 +2494,57 @@ Probeer opnieuw te synchroniseren. theme - + Status undefined Ongedefinieerde status - + Waiting to start sync Synchronisatie in afwachting - + Sync is running Bezig met synchroniseren - + Sync Success Synchronisatie geslaagd - + Sync Success, some files were ignored. Synchronisatie geslaagd, sommige bestabnden werden genegeerd. - + Sync Error Synchronisatie fout - + Setup Error Installatiefout - + The server is currently unavailable Server is op dit moment niet beschikbaar. - + Preparing to sync Voorbereiden synchronisatie - + Aborting... Aan het afbreken... - + Sync is paused Sync is gepauzeerd diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index 766365929..8df1efebb 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -144,28 +144,28 @@ <p>Czy rzeczywiście chcesz zresetować folder <i>%1</i> i przebudować bazę klientów?</p><p><b>Uwaga:</b> Ta funkcja została przewidziana wyłącznie do czynności technicznych. Nie zostaną usunięte żadne pliki, ale może to spowodować znaczący wzrost ruchu sieciowego i potrwać kilka minut lub godzin, w zależności od rozmiaru folderu. Używaj tej opcji wyłącznie, jeśli Twój administrator doradził Ci takie działanie.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) z %2 przestrzeni na serwerze w użyciu. - + No connection to %1 at <a href="%2">%3</a>. Brak połączenia do %1 na <a href="%2">%3</a>. - + No %1 connection configured. Połączenie %1 nie skonfigurowane. - + Sync Running Synchronizacja uruchomiona @@ -175,34 +175,34 @@ Brak skonfigurowanych kont. - + The syncing operation is running.<br/>Do you want to terminate it? Operacja synchronizacji jest uruchomiona.<br>Czy chcesz ją zakończyć? - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. Podłączony do <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Podłączony do <a href="%1">%2</a> jako <i>%3</i>. - + Currently there is no storage usage information available. Obecnie nie ma dostępnych informacji o wykorzystaniu pamięci masowej. @@ -468,8 +468,8 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::FolderWizard - - + + Add Folder Dodaj folder @@ -545,42 +545,42 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::FolderWizardRemotePath - + Add Remote Folder Dodaj zdalny katalog - + Enter the name of the new folder: Wpisz nazwę dla nowego katalogu: - + Folder was successfully created on %1. Folder został utworzony pomyślnie na %1 - + Failed to create the folder on %1. Please check manually. Nie udało się utworzyć folderu na %1. Proszę sprawdzić ręcznie. - + Choose this to sync the entire account Wybierz to, aby zsynchronizować całe konto - + This folder is already being synced. Ten katalog jest już synchronizowany. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Synchronizujesz już <i>%1</i>, który jest folderem nadrzędnym <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Już aktualizujesz wszystkie pliku. Synchronizacja innego folderu <b>nie</b> jest wspierana. Jeśli chcesz synchronizować wiele folderów, proszę usuń aktualnie skonfigurowaną synchronizację folderu głównego. @@ -597,17 +597,17 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nie otrzymano E-Tag z serwera, sprawdź Proxy/Bramę - + We received a different E-Tag for resuming. Retrying next time. Otrzymaliśmy inny E-Tag wznowienia. Spróbuje ponownie następnym razem. - + Connection Timeout Limit czasu połączenia @@ -1212,7 +1212,7 @@ Niezalecane jest jego użycie. Mirall::OwncloudWizard - + %1 Connection Wizard %1 Kreator połączeń @@ -1256,22 +1256,22 @@ Niezalecane jest jego użycie. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synchronizacja anulowane przez użytkownika. - + No E-Tag received from server, check Proxy/Gateway Nie otrzymano E-Tag z serwera, sprawdź Proxy/Bramę - + We received a different E-Tag for resuming. Retrying next time. Otrzymaliśmy inny E-Tag wznowienia. Spróbuje ponownie następnym razem. - + File %1 can not be downloaded because of a local file name clash! Nie można pobrać pliku %1 ze względu na konflikt nazwy pliku lokalnego! @@ -1279,7 +1279,7 @@ Niezalecane jest jego użycie. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Nie można pobrać pliku %1 ze względu na konflikt nazwy pliku lokalnego! @@ -1287,7 +1287,12 @@ Niezalecane jest jego użycie. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 Plik lub katalog został usunięty z udziału z prawem tylko do odczytu, ale przywrócenie nie powiodło się: %1 @@ -1374,22 +1379,22 @@ Niezalecane jest jego użycie. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Plik był edytowany lokalnie ale jest częścią udziału z prawem tylko do odczytu. Został przywrócony i Twoja edycja jest w pliku konfliktu - + The local file was removed during sync. - + Local file changed during sync. Lokalny plik zmienił się podczas synchronizacji. - + The server did not acknowledge the last chunk. (No e-tag were present) Serwer nie potwierdził ostatniego łańcucha danych. (Nie było żadnego e-tag-u) @@ -1515,27 +1520,27 @@ Niezalecane jest jego użycie. Mirall::SettingsDialogMac - + %1 %1 - + Account Konto - + Activity Aktywność - + General Ogólne - + Network Sieć @@ -1543,12 +1548,12 @@ Niezalecane jest jego użycie. Mirall::ShibbolethCredentials - + Login Error Błąd logowania - + You must sign in as user %1 Musisz zalogować się jako użytkownik %1 @@ -1556,22 +1561,22 @@ Niezalecane jest jego użycie. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Uwierzytelnienia - + Reauthentication required Wymagana powtórna autoryzacja - + Your session has expired. You need to re-login to continue to use the client. Twoja sesja wygasła. Musisz ponownie się zalogować, aby nadal używać klienta - + %1 - %2 %1 - %2 @@ -1775,186 +1780,232 @@ Niezalecane jest jego użycie. Mirall::SyncEngine - + Success. Sukces. - + CSync failed to create a lock file. CSync nie mógł utworzyć pliku blokady. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync nie powiodło się załadowanie lub utworzenie pliku dziennika. Upewnij się, że masz prawa do odczytu i zapisu do lokalnego katalogu synchronizacji. - + CSync failed to write the journal file. CSync nie udało się zapisać pliku dziennika. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Wtyczka %1 do csync nie może być załadowana.<br/>Sprawdź poprawność instalacji!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Czas systemowy na tym kliencie różni się od czasu systemowego na serwerze. Użyj usługi synchronizacji czasu (NTP) na serwerze i kliencie, aby czas na obu urządzeniach był taki sam. - + CSync could not detect the filesystem type. CSync nie może wykryć typu systemu plików. - + CSync got an error while processing internal trees. CSync napotkał błąd podczas przetwarzania wewnętrznych drzew. - + CSync failed to reserve memory. CSync nie mógł zarezerwować pamięci. - + CSync fatal parameter error. Krytyczny błąd parametru CSync. - + CSync processing step update failed. Aktualizacja procesu przetwarzania CSync nie powiodła się. - + CSync processing step reconcile failed. Scalenie w procesie przetwarzania CSync nie powiodło się. - + CSync processing step propagate failed. Propagacja w procesie przetwarzania CSync nie powiodła się. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Katalog docelowy nie istnieje.</p><p>Sprawdź ustawienia synchronizacji.</p> - + A remote file can not be written. Please check the remote access. Zdalny plik nie może zostać zapisany. Sprawdź dostęp zdalny. - + The local filesystem can not be written. Please check permissions. Nie można zapisywać na lokalnym systemie plików. Sprawdź uprawnienia. - + CSync failed to connect through a proxy. CSync nie mógł połączyć się przez proxy. - + CSync could not authenticate at the proxy. CSync nie mógł się uwierzytelnić przez proxy. - + CSync failed to lookup proxy or server. CSync nie mógł odnaleźć serwera proxy. - + CSync failed to authenticate at the %1 server. CSync nie mógł uwierzytelnić się na serwerze %1. - + CSync failed to connect to the network. CSync nie mógł połączyć się z siecią. - + A network connection timeout happend. Upłynął limit czasu połączenia. - + A HTTP transmission error happened. Wystąpił błąd transmisji HTTP. - + CSync failed due to not handled permission deniend. CSync nie obsługiwane, odmowa uprawnień. - + CSync failed to access Synchronizacja nieudana z powodu braku dostępu - + CSync tried to create a directory that already exists. CSync próbował utworzyć katalog, który już istnieje. - + CSync: No space on %1 server available. CSync: Brak dostępnego miejsca na serwerze %1. - + CSync unspecified error. Nieokreślony błąd CSync. - + Aborted by the user Anulowane przez użytkownika - + 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1967,7 +2018,7 @@ Niezalecane jest jego użycie. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Wersja %1 Aby uzyskać więcej informacji kliknij <a href='%2'>%3</a>.</p><p>Copyright ownCloud, Inc.<p><p>Rozprowadzany przez %4 i licencjonowany według GNU General Public License (GPL) Wersja 2.0.<br>%5 oraz logo %5 są zarejestrowanymi znakami towarowymi %4 w<br>Stanach Zjednoczonych, innych krajach lub obydwu.</p> @@ -2020,82 +2071,82 @@ Niezalecane jest jego użycie. 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aktualne @@ -2341,7 +2392,7 @@ Kliknij ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Jeśli nie masz jeszcze serwera ownCloud, wejdź na <a href="https://owncloud.com">owncloud.com</a> aby dowiedzieć się jak go zainstalować. @@ -2350,12 +2401,12 @@ Kliknij ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Zbudowane z rewizji Git <a href="%1">%2</a> na %3, %4 przy użyciu Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Wersja %2. Aby uzyskać więcej informacji odwiedź <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Oparty na Mirall by Duncan Mac-Vicar P.</small></p>%7 @@ -2444,57 +2495,57 @@ Kliknij theme - + Status undefined Stan niezdefiniowany - + Waiting to start sync Trwa oczekiwanie na uruchomienie synchronizacji - + Sync is running Synchronizacja uruchomiona - + Sync Success Udana synchronizacja - + Sync Success, some files were ignored. Synchronizacja ukończona, niektóre pliki zostały zignorowane. - + Sync Error Błąd synchronizacji - + Setup Error Błąd ustawień - + The server is currently unavailable Serwer jest obecnie niedostępny. - + Preparing to sync Przygotowuję do synchronizacji - + Aborting... Anuluję... - + Sync is paused Synchronizacja wstrzymana diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index f96a39f28..07bb267af 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -144,28 +144,28 @@ <p>Deseja mesmo repor a pasta <i>%1</i> e reconstruir a base de dados do seu cliente?</p><p><b>Nota:</b> Esta função é desenhada apenas para efeitos de manutenção. Os ficheiros não irão ser removidos, mas este processo pode aumentar o tráfego de dados e demorar alguns minutos ou horas a completar, dependendo do tamanho da pasta. Utilize esta funcionalidade apenas se aconselhado pelo seu administrador.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) de %2 de espaço utilizado. - + No connection to %1 at <a href="%2">%3</a>. Sem ligação a %1 em <a href="%2">%3</a>. - + No %1 connection configured. %1 sem ligação configurada. - + Sync Running A sincronização está a decorrer @@ -175,34 +175,34 @@ Nenhuma conta configurada. - + The syncing operation is running.<br/>Do you want to terminate it? A operação de sincronização está a ser executada.<br/>Deseja terminar? - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. Conectado a <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Conectado a <a href="%1">%2</a> como <i>%3</i>. - + Currently there is no storage usage information available. Histórico de utilização de armazenamento não disponível. @@ -467,8 +467,8 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::FolderWizard - - + + Add Folder Acrescentar pasta @@ -544,42 +544,42 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::FolderWizardRemotePath - + Add Remote Folder Adicionar pasta remota - + Enter the name of the new folder: Introduza o nome da nova pasta: - + Folder was successfully created on %1. Pasta criada com sucesso em %1. - + Failed to create the folder on %1. Please check manually. Impossível criar a pasta em %1. Por favor valide manualmente. - + Choose this to sync the entire account Escolha para sincronizar a sua conta - + This folder is already being synced. Esta pasta já está a ser sincronizada. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Já está a sincronizar <i>%1</i>, que é uma pasta 'parente' de <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Já está a sincronizar todos os seus ficheiros. Sincronizar outra pasta<b>não</b> é suportado. Se deseja sincronizar múltiplas pastas, por favor altere a configuração da pasta raiz de sincronização. @@ -596,17 +596,17 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nenhum E-Tag recebido do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tentando uma próxima vez. - + Connection Timeout O tempo de ligação expirou @@ -1209,7 +1209,7 @@ It is not advisable to use it. Mirall::OwncloudWizard - + %1 Connection Wizard Assistente de ligação %1 @@ -1253,22 +1253,22 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. A sincronização foi cancelada pelo utilizador. - + No E-Tag received from server, check Proxy/Gateway Nenhum E-Tag recebido do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tentando uma próxima vez. - + File %1 can not be downloaded because of a local file name clash! @@ -1276,7 +1276,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1284,7 +1284,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 Um ficheiro ou um directório foi removido de uma partilha apenas de leitura, mas o restauro falhou: %1 @@ -1371,22 +1376,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. O ficheiro foi editado localmente mas faz parte de uma prtilha só de leitura. Foi restaurado mas a edição está no ficheiro de conflito. - + The local file was removed during sync. - + Local file changed during sync. Ficheiro local alterado durante a sincronização. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1512,27 +1517,27 @@ Por favor tente sincronizar novamente. Mirall::SettingsDialogMac - + %1 %1 - + Account Conta - + Activity Actividade - + General Geral - + Network Rede @@ -1540,12 +1545,12 @@ Por favor tente sincronizar novamente. Mirall::ShibbolethCredentials - + Login Error Erro de login - + You must sign in as user %1 Deve fazer o login como utilizador %1. @@ -1553,22 +1558,22 @@ Por favor tente sincronizar novamente. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autenticação - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 %1 - %2 @@ -1772,187 +1777,233 @@ Por favor tente sincronizar novamente. Mirall::SyncEngine - + Success. Sucesso - + CSync failed to create a lock file. CSync falhou a criação do ficheiro de lock. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>O plugin %1 para o CSync não foi carregado.<br/>Por favor verifique a instalação!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A data/hora neste cliente é difere da data/hora do servidor. Por favor utilize um servidor de sincronização horária (NTP), no servidor e nos clientes para garantir que a data/hora são iguais. - + CSync could not detect the filesystem type. Csync não conseguiu detectar o tipo de sistema de ficheiros. - + CSync got an error while processing internal trees. Csync obteve um erro enquanto processava as árvores internas. - + CSync failed to reserve memory. O CSync falhou a reservar memória - + CSync fatal parameter error. Parametro errado, CSync falhou - + CSync processing step update failed. O passo de processamento do CSyn falhou - + CSync processing step reconcile failed. CSync: Processo de reconciliação falhou. - + CSync processing step propagate failed. CSync: O processo de propagação falhou. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>A pasta de destino não existe.</p><p>Por favor verifique a configuração da sincronização.</p> - + A remote file can not be written. Please check the remote access. Não é possivel escrever num ficheiro remoto. Por favor verifique o acesso remoto. - + The local filesystem can not be written. Please check permissions. Não é possivel escrever no sistema de ficheiros local. Por favor verifique as permissões. - + CSync failed to connect through a proxy. CSync: Erro a ligar através do proxy - + CSync could not authenticate at the proxy. CSync: erro ao autenticar-se no servidor proxy. - + CSync failed to lookup proxy or server. CSync: Erro a contactar o proxy ou o servidor. - + CSync failed to authenticate at the %1 server. CSync: Erro a autenticar no servidor %1 - + CSync failed to connect to the network. CSync: Erro na conecção à rede - + A network connection timeout happend. Houve um erro de timeout de rede (fim de tempo) - + A HTTP transmission error happened. Ocorreu um erro de transmissão HTTP - + CSync failed due to not handled permission deniend. CSync: Erro devido a permissões de negação não tratadas. - + CSync failed to access CSync: falha no acesso - + CSync tried to create a directory that already exists. O CSync tentou criar uma pasta que já existe. - + CSync: No space on %1 server available. CSync: Não ha espaço disponível no servidor %1 - + CSync unspecified error. CSync: erro não especificado - + Aborted by the user Cancelado pelo utilizador - + 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1965,7 +2016,7 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n Mirall::Theme - + <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<br>United States, other countries, or both.</p> @@ -2018,82 +2069,82 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Actualizado @@ -2338,7 +2389,7 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Se ainda não tem um servidor ownCloud, visite <a href="https://owncloud.com">owncloud.com</a> para mais informações. @@ -2347,12 +2398,12 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Versão %2. Para mais informações visite <a href="%3">%4</a></p><p><small>Desenvolvido por Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Baseado em Mirall by Duncan Mac-Vicar P.</small></p>%7 @@ -2441,57 +2492,57 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n theme - + Status undefined Estado indefinido - + Waiting to start sync A aguardar o início da sincronização. - + Sync is running A sincronização está a decorrer - + Sync Success A sincronização foi efectuada com sucesso - + Sync Success, some files were ignored. Sincronizado com suceso, alguns ficheiros foram ignorados. - + Sync Error Erro de sincronização - + Setup Error Erro na configuração - + The server is currently unavailable O servidor está indisponível - + Preparing to sync A preparar para sincronizar - + Aborting... A cancelar... - + Sync is paused Sincronização em pausa diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 955ab0fa3..aa3c37bb8 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -144,28 +144,28 @@ <p>Você realmente deseja redefinir a pasta <i>%1</i> e reconstruir seu banco de dados de clientes?</p><p><b>Nota:</b> Esta função é usada somente para manutenção. Nenhum arquivo será removido, mas isso pode causar o tráfego de dados significativo e levar vários minutos ou horas, dependendo do tamanho da pasta. Somente use esta opção se adivertido por seu administrador.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) de %2 do espaço em uso no servidor. - + No connection to %1 at <a href="%2">%3</a>. Nenhuma conexão para %1 em <a href="%2">%3</a>. - + No %1 connection configured. Sem %1 conexão configurada. - + Sync Running Sincronização acontecendo @@ -175,35 +175,35 @@ Nenhuma conta configurada. - + The syncing operation is running.<br/>Do you want to terminate it? A operação de sincronização está acontecendo.<br/>deseja finaliza-la? - + %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 de %4) %5 faltando a uma taxa de %6/s - + %1 of %2, file %3 of %4 Total time left %5 %1 de %2, arquivo %3 de %4 Total de tempo que falta 5% - + Connected to <a href="%1">%2</a>. Conectado à <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Conectado a <a href="%1">%2</a> como <i>%3</i>. - + Currently there is no storage usage information available. Atualmente, não há informações de uso de armazenamento disponível. @@ -469,8 +469,8 @@ Você tem certeza que quer executar esta operação? Mirall::FolderWizard - - + + Add Folder Adicionar Pasta @@ -546,42 +546,42 @@ Você tem certeza que quer executar esta operação? Mirall::FolderWizardRemotePath - + Add Remote Folder Adicionar Pasta Remota - + Enter the name of the new folder: Informe o nome da nova pasta: - + Folder was successfully created on %1. Pasta foi criada com sucesso em %1. - + Failed to create the folder on %1. Please check manually. Falha ao criar a pasta em %1. Por favor, verifique manualmente. - + Choose this to sync the entire account Escolha esta opção para sincronizar a conta inteira - + This folder is already being synced. Esta pasta já está sendo sincronizada. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Você já está sincronizando <i>%1</i>, que é uma pasta pai de <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Você já está sincronizando todos os seus arquivos. Sincronizar outra pasta <b>não</ b> é possível. Se você deseja sincronizar várias pastas, por favor, remova a sincronização configurada atualmente para a pasta raiz. @@ -598,17 +598,17 @@ Você tem certeza que quer executar esta operação? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nenhuma E-Tag recebida do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tente uma próxima vez. - + Connection Timeout Conexão Finalizada @@ -1211,7 +1211,7 @@ It is not advisable to use it. Mirall::OwncloudWizard - + %1 Connection Wizard Assistente de Conexões do %1 @@ -1255,22 +1255,22 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. A sincronização foi abortada pelo usuário. - + No E-Tag received from server, check Proxy/Gateway Nenhuma E-Tag recebida do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tente uma próxima vez. - + File %1 can not be downloaded because of a local file name clash! O arquivo %1 não pode ser baixado por causa de um confronto local no nome do arquivo! @@ -1278,7 +1278,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! O arquivo %1 não pode ser baixado por causa de um confronto local no nome do arquivo! @@ -1286,7 +1286,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 Um arquivo ou diretório foi removido de um compartilhamento somente de leitura, mas a restauração falhou: %1 @@ -1373,22 +1378,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. O arquivo foi editado localmente mas faz parte de compartilhamento só de leitura. Ele foi restaurado mas sua edição está em conflito com o arquivo. - + The local file was removed during sync. O arquivo local foi removido durante a sincronização. - + Local file changed during sync. Arquivo local modificado durante a sincronização. - + The server did not acknowledge the last chunk. (No e-tag were present) O servidor não reconheceu o último bloco. (Nenhuma e-tag estava presente) @@ -1514,27 +1519,27 @@ Tente sincronizar novamente. Mirall::SettingsDialogMac - + %1 %1 - + Account Conta - + Activity Atividade - + General Geral - + Network Rede @@ -1542,12 +1547,12 @@ Tente sincronizar novamente. Mirall::ShibbolethCredentials - + Login Error Erro de Login - + You must sign in as user %1 Você deve entrar como usuário %1 @@ -1555,22 +1560,22 @@ Tente sincronizar novamente. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autenticar - + Reauthentication required Reautenticação necessária - + Your session has expired. You need to re-login to continue to use the client. Sua sessão expirou. É preciso re-login para continuar a usar o cliente. - + %1 - %2 %1 - %2 @@ -1774,186 +1779,232 @@ Tente sincronizar novamente. Mirall::SyncEngine - + Success. Sucesso. - + CSync failed to create a lock file. Falha ao criar o arquivo de trava pelo CSync. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync falhou ao carregar ou criar o arquivo jornal. Certifique-se de ter permissão de escrita no diretório de sincronização local. - + CSync failed to write the journal file. Csync falhou ao tentar gravar o arquivo jornal. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>O plugin %1 para csync não foi carregado.<br/>Por favor verifique a instalação!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A hora do sistema neste cliente é diferente do que o tempo de sistema no servidor. Por favor, use um serviço de sincronização de tempo (NTP) no servidor e máquinas clientes para que os tempos continuam os mesmos. - + CSync could not detect the filesystem type. Tipo de sistema de arquivo não detectado pelo CSync. - + CSync got an error while processing internal trees. Erro do CSync enquanto processava árvores internas. - + CSync failed to reserve memory. CSync falhou ao reservar memória. - + CSync fatal parameter error. Erro fatal permanente do CSync. - + CSync processing step update failed. Processamento da atualização do CSync falhou. - + CSync processing step reconcile failed. Processamento da conciliação do CSync falhou. - + CSync processing step propagate failed. Processamento da propagação do CSync falhou. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>O diretório de destino não existe.</p> <p>Por favor, verifique a configuração de sincronização. </p> - + A remote file can not be written. Please check the remote access. O arquivo remoto não pode ser escrito. Por Favor, verifique o acesso remoto. - + The local filesystem can not be written. Please check permissions. O sistema de arquivos local não pode ser escrito. Por favor, verifique as permissões. - + CSync failed to connect through a proxy. CSync falhou ao conectar por um proxy. - + CSync could not authenticate at the proxy. Csync não conseguiu autenticação no proxy. - + CSync failed to lookup proxy or server. CSync falhou ao localizar o proxy ou servidor. - + CSync failed to authenticate at the %1 server. CSync falhou ao autenticar no servidor %1. - + CSync failed to connect to the network. CSync falhou ao conectar à rede. - + A network connection timeout happend. Atingido o tempo limite para conexão à rede. - + A HTTP transmission error happened. Houve um erro na transmissão HTTP. - + CSync failed due to not handled permission deniend. CSync falhou devido a uma negativa de permissão não resolvida. - + CSync failed to access Falha no acesso CSync - + CSync tried to create a directory that already exists. CSync tentou criar um diretório que já existe. - + CSync: No space on %1 server available. CSync: sem espaço disponível no servidor %1. - + CSync unspecified error. Erro não especificado no CSync. - + Aborted by the user Abortado pelo usuário - + An internal error number %1 happened. Um 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1966,7 +2017,7 @@ Tente sincronizar novamente. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Versão %1 Para mais informações, visite <a href='%2'>%3</a>. </p> Direitos autorais ownCloud, Inc. <p><p> Distribuído por 4% e licenciado sob a GNU General Public License (GPL) Versão 2.0.<br>%5 e o logotipo 5% são marcas comerciais registradas da 4% no de Estados Unidos, outros países, ou ambos. </p> @@ -2019,82 +2070,82 @@ Tente sincronizar novamente. 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 - + 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 @@ -2339,7 +2390,7 @@ Tente sincronizar novamente. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Se você ainda não tem um servidor ownCloud, acesse <a href="https://owncloud.com">owncloud.com</a> para obter mais informações. @@ -2348,12 +2399,12 @@ Tente sincronizar novamente. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Compilado da revisão Git <a href="%1">%2</a> on %3, %4 usando Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Versão %2. Para mais informações visite <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>BAseado em Mirall by Duncan Mac-Vicar P.</small></p>%7 @@ -2442,57 +2493,57 @@ Tente sincronizar novamente. theme - + Status undefined Status indefinido - + Waiting to start sync Aguardando para iniciar sincronização - + Sync is running Sincronização em andamento - + Sync Success Sucesso da Sincronização - + Sync Success, some files were ignored. Sincronizado com Sucesso, alguns arquivos foram ignorados. - + Sync Error Erro de sincronização - + Setup Error Erro na Configuração - + The server is currently unavailable Servidor indisponível no momento. - + Preparing to sync Preparando para sincronização - + Aborting... Abortando... - + Sync is paused Sincronização em pausa diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 2d13704ed..d0f8ec438 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -144,28 +144,28 @@ <p>Вы действительно хотите сбросить папку <i>%1</i> и перестроить клиентскую базу данных?</p><p><b>Важно:</b> Данный функционал предназначен только для технического обслуживания. Файлы не будут удалены, но, в зависимости от размера папки, операция может занять от нескольких минут до нескольких часов и может быть передан большой объем данных. Используйте данную операцию только по рекомендации администратора.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. - + Используется %1 (%3%) из %2 места на сервере. - + No connection to %1 at <a href="%2">%3</a>. - + Нет связи с %1 по адресу <a href="%2">%3</a>. - + No %1 connection configured. Нет настроенного подключения %1. - + Sync Running Синхронизация запущена @@ -175,34 +175,34 @@ Учётная запись не настроена. - + The syncing operation is running.<br/>Do you want to terminate it? Синхронизация запущена.<br/>Вы хотите, остановить ее? - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. Соединились с <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Подключён к <a href="%1">%2</a> как <i>%3</i>. - + Currently there is no storage usage information available. В данный момент информация о заполненности хранилища недоступна. @@ -212,12 +212,12 @@ Total time left %5 Authentication Required - + Требуется аутентификация Enter username and password for '%1' at %2. - + Введите имя пользователя и пароль для '%1' в %2. @@ -289,57 +289,57 @@ Total time left %5 %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. @@ -468,8 +468,8 @@ Are you sure you want to perform this operation? Mirall::FolderWizard - - + + Add Folder Добавить папку @@ -545,42 +545,42 @@ Are you sure you want to perform this operation? Mirall::FolderWizardRemotePath - + Add Remote Folder Добавить удалённую папку - + Enter the name of the new folder: Введите имя новой папки: - + Folder was successfully created on %1. Папка была успешно создана на %1. - + Failed to create the folder on %1. Please check manually. Невозможно создать директорию по адресу %1. Пожалуйста, попробуйте вручную. - + Choose this to sync the entire account Выберите это для синхронизации всей учётной записи - + This folder is already being synced. Директория уже синхронизируется. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Директория <i>%1</i> уже настроена для синхронизации, и она является родительской для директории <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. В данный момент включена синхронизация всех файлов. Синхронизация другой директории в этом режиме <b>не</b> поддерживается. При необходимости синхронизировать несколько локальных директорий, сначала удалите синхронизацию корневой папки сервера. @@ -597,19 +597,19 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway E-Tag от сервера на получен, проверьте сетевые настройки (настройки прокси, шлюз). - + We received a different E-Tag for resuming. Retrying next time. Мы получили другой E-Tag для возобновления. Повторите попытку позже. - + Connection Timeout - + Тайм-аут подключения @@ -1212,7 +1212,7 @@ It is not advisable to use it. Mirall::OwncloudWizard - + %1 Connection Wizard %1 Мастер соединения @@ -1250,28 +1250,28 @@ It is not advisable to use it. Connection Timeout - + Тайм-аут подключения Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Синхронизация прервана пользователем. - + No E-Tag received from server, check Proxy/Gateway E-Tag от сервера на получен, проверьте сетевые настройки (настройки прокси, шлюз). - + We received a different E-Tag for resuming. Retrying next time. Мы получили другой E-Tag для возобновления. Повторите попытку позже. - + File %1 can not be downloaded because of a local file name clash! @@ -1279,7 +1279,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1287,10 +1287,15 @@ It is not advisable to use it. Mirall::PropagateItemJob - - A file or directory was removed from a read only share, but restoring failed: %1 + + ; Restoration Failed: + + + A file or directory was removed from a read only share, but restoring failed: %1 + Файл или каталог был удалён из опубликованной папки с правами только для чтения, но восстановить его не удалось: %1 + Mirall::PropagateLocalMkdir @@ -1331,7 +1336,7 @@ It is not advisable to use it. The file has been removed from a read only share. It was restored. - + Файл был удалён из опубликованной папки с правами только для чтения. Файл был восстановлен. @@ -1374,22 +1379,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Локальный файл был удалён в процессе синхронизации. - + Local file changed during sync. - + Локальный файл изменился в процессе синхронизации. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1515,27 +1520,27 @@ It is not advisable to use it. Mirall::SettingsDialogMac - + %1 %1 - + Account Учётная запись - + Activity Действие - + General Основные - + Network Сеть @@ -1543,35 +1548,35 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 - + Вы должны войти как пользователь %1 Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Авторизация - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 %1 - %2 @@ -1775,184 +1780,230 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Успешно. - + CSync failed to create a lock file. CSync не удалось создать файл блокировки. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync не смог загрузить или создать файл журнала. Убедитесь что вы имеете права чтения и записи в локальной директории. - + CSync failed to write the journal file. CSync не смог записать файл журнала. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1 плагин для синхронизации не удается загрузить.<br/>Пожалуйста, убедитесь, что он установлен!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Системное время на этом клиенте отличается от времени на сервере. Воспользуйтесь сервисом синхронизации времени (NTP) на серверной и клиентской машинах для установки точного времени. - + CSync could not detect the filesystem type. CSync не удалось обнаружить тип файловой системы. - + CSync got an error while processing internal trees. CSync получил сообщение об ошибке при обработке внутренних деревьев. - + CSync failed to reserve memory. CSync не удалось зарезервировать память. - + CSync fatal parameter error. Фатальная ошибка параметра CSync. - + CSync processing step update failed. Процесс обновления CSync не удался. - + CSync processing step reconcile failed. Процесс согласования CSync не удался. - + CSync processing step propagate failed. Процесс передачи CSync не удался. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Целевая папка не существует.</p><p>Проверьте настройки синхронизации.</p> - + A remote file can not be written. Please check the remote access. Удаленный файл не может быть записан. Пожалуйста, проверьте удаленный доступ. - + The local filesystem can not be written. Please check permissions. Локальная файловая система не доступна для записи. Пожалуйста, проверьте права пользователя. - + CSync failed to connect through a proxy. CSync не удалось подключиться через прокси. - + CSync could not authenticate at the proxy. CSync не удалось авторизоваться на прокси сервере. - + CSync failed to lookup proxy or server. CSync не удалось найти прокси сервер. - + CSync failed to authenticate at the %1 server. CSync не удалось аутентифицироваться на сервере %1. - + CSync failed to connect to the network. CSync не удалось подключиться к сети. - + A network connection timeout happend. Произошёл таймаут соединения сети. - + A HTTP transmission error happened. Произошла ошибка передачи http. - + CSync failed due to not handled permission deniend. CSync упал в связи с отутствием обработки из-за отказа в доступе. - + CSync failed to access CSync не имеет доступа - + CSync tried to create a directory that already exists. CSync пытался создать директорию, которая уже существует. - + CSync: No space on %1 server available. CSync: Нет доступного пространства на сервере %1 server. - + CSync unspecified error. Неизвестная ошибка CSync. - + Aborted by the user Прервано пользователем - + 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. Синхронизация символических ссылок не поддерживается. - + 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 + Не удаётся открыть журнал синхронизации + + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source @@ -1967,9 +2018,9 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> - + <p>Версия %1 Подробнее <a href='%2'>%3</a>.</p><p>Копирайт ownCloud, Inc.<p><p>Распространяется %4 и лицензировано под GNU General Public License (GPL) Версии 2.0.<br>%5 и %5 и логотип являются зарегистрированными торговыми марками %4 в<br>США и других странах,.</p> @@ -2020,82 +2071,82 @@ It is not advisable to use it. Открыть папку '%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 Недавно ничего не синхронизировалсь - + Syncing %1 of %2 (%3 left) - + Синхронизация %1 из %2 (%3 осталось) - + Syncing %1 (%2 left) - + Синхронизация %1 (%2 осталось) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Актуальная версия @@ -2340,7 +2391,7 @@ It is not advisable to use it. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Если у Вас ещё нет сервера ownCloud, обратитесь за дополнительной информацией на <a href="https://owncloud.com">owncloud.com</a> @@ -2349,12 +2400,12 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Собрано из исходников Git <a href="%1">%2</a> %3, %4 используя Qt %5.</small><p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Версия %2. Дополнительная информация: <a href="%3">%4</a></p><p><small>Создано Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>За основу взато ПО Mirall. Duncan Mac-Vicar P.</small></p>%7 @@ -2386,12 +2437,12 @@ It is not advisable to use it. Ignored - + Проигнорирован Filesystem access error - + Ошибка доступа к файловой системе @@ -2445,57 +2496,57 @@ It is not advisable to use it. theme - + Status undefined Статус неопределён - + Waiting to start sync Ожидание начала синхронизации - + Sync is running Синхронизация запущена - + Sync Success Синхронизация прошла успешно - + Sync Success, some files were ignored. Синхронизация прошла успешно, некоторые файлы были проигнорированы. - + Sync Error Ошибка синхронизации - + Setup Error Ошибка установки - + The server is currently unavailable Сервер временно недоступен - + Preparing to sync Подготовка к синхронизации - + Aborting... Прерывание... - + Sync is paused Синхронизация приостановлена diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index 87de047fb..66459ada4 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -144,28 +144,28 @@ <p>Skutočne chcete zresetovať priečinok <i>%1</i> a opätovne zostaviť klientskú databázu?</p><p><b>Poznámka:</b> Táto funkcia je navrhnutá len pre účely údržby. Žiadne súbory nebudú odstránené, ale môže to spôsobiť značnú dátovú prevádzku a vyžiadať si niekoľko minút alebo hodín pre dokončenie, v závislosti od veľkosti priečinka. Použite túto možnosť pokiaľ máte doporučenie od správcu.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) z %2 miesta na disku je použité. - + No connection to %1 at <a href="%2">%3</a>. Žiadne spojenie s %1 na <a href="%2">%3</a>. - + No %1 connection configured. Žiadne nakonfigurované %1 spojenie - + Sync Running Prebiehajúca synchronizácia @@ -175,34 +175,34 @@ Žiadny účet nie je nastavený. - + The syncing operation is running.<br/>Do you want to terminate it? Proces synchronizácie práve prebieha.<br/>Chcete ho ukončiť? - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. Pripojené k <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Pripojené k <a href="%1">%2</a> ako <i>%3</i>. - + Currently there is no storage usage information available. Teraz nie sú k dispozícii žiadne informácie o využití úložiska. @@ -468,8 +468,8 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::FolderWizard - - + + Add Folder Pridať priečinok @@ -545,42 +545,42 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::FolderWizardRemotePath - + Add Remote Folder Pridať vzdialený priečinok - + Enter the name of the new folder: Vložiť meno nového priečinka: - + Folder was successfully created on %1. Priečinok bol úspešne vytvorený na %1. - + Failed to create the folder on %1. Please check manually. Na %1 zlyhalo vytvorenie priečinka. Skontrolujte to, prosím, ručne. - + Choose this to sync the entire account Zvoľte pre synchronizáciu celého účtu - + This folder is already being synced. Tento priečinok sa už synchronizuje. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Priečinok <i>%1</i> už synchronizujete a je nadradený priečinku <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Už synchronizujete všetky vaše súbory. Synchronizácia dalšieho priečinka <b>nie je</b> podporovaná. Ak chcete synchronizovať viac priečinkov, odstránte, prosím, synchronizáciu aktuálneho kořenového priečinka. @@ -597,17 +597,17 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Zo servera nebol prijatý E-Tag, skontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Prijali sme iný E-Tag pre pokračovanie. Skúsim to neskôr znovu. - + Connection Timeout Spojenie vypršalo @@ -1212,7 +1212,7 @@ Nie je vhodné ju používať. Mirall::OwncloudWizard - + %1 Connection Wizard %1 Asistent pripojenia @@ -1256,22 +1256,22 @@ Nie je vhodné ju používať. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synchronizácia zrušená používateľom. - + No E-Tag received from server, check Proxy/Gateway Zo servera nebol prijatý E-Tag, skontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Prijali sme iný E-Tag pre pokračovanie. Skúsim to neskôr znovu. - + File %1 can not be downloaded because of a local file name clash! Súbor %1 nie je možné stiahnuť, pretože súbor s rovnakým menom už existuje! @@ -1279,7 +1279,7 @@ Nie je vhodné ju používať. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Súbor %1 nie je možné stiahnuť, pretože súbor s rovnakým menom už existuje! @@ -1287,7 +1287,12 @@ Nie je vhodné ju používať. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 Súbor alebo priečinok bol odobratý zo zdieľania len na čítanie, ale jeho obnovenie zlyhalo: %1 @@ -1374,22 +1379,22 @@ Nie je vhodné ju používať. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Súbor bol zmenený, ale je súčasťou zdieľania len na čítanie. Pôvodný súbor bol obnovený a upravená verzia je uložená v konfliktnom súbore. - + The local file was removed during sync. Lokálny súbor bol odstránený počas synchronizácie. - + Local file changed during sync. Lokálny súbor bol zmenený počas synchronizácie. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1514,27 +1519,27 @@ Nie je vhodné ju používať. Mirall::SettingsDialogMac - + %1 %1 - + Account Účet - + Activity Aktivita - + General Všeobecné - + Network Sieť @@ -1542,12 +1547,12 @@ Nie je vhodné ju používať. Mirall::ShibbolethCredentials - + Login Error Chybné prihlásenie - + You must sign in as user %1 Musíte sa prihlásiť ako používateľ %1 @@ -1555,22 +1560,22 @@ Nie je vhodné ju používať. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - overenie - + Reauthentication required Vyžaduje sa opätovné overenie - + Your session has expired. You need to re-login to continue to use the client. Platnosť relácie uplynula. Musíte sa znovu prihlásiť, ak chcete pokračovať v používaní klienta. - + %1 - %2 %1 - %2 @@ -1774,186 +1779,232 @@ Nie je vhodné ju používať. Mirall::SyncEngine - + Success. Úspech. - + CSync failed to create a lock file. Vytvorenie "zamykacieho" súboru cez "CSync" zlyhalo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync sa nepodarilo načítať alebo vytvoriť súbor žurnálu. Uistite sa, že máte oprávnenia na čítanie a zápis v lokálnom synchronizovanom priečinku. - + CSync failed to write the journal file. CSync sa nepodarilo zapísať do súboru žurnálu. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1 zásuvný modul pre "CSync" nebolo možné načítať.<br/>Prosím skontrolujte inštaláciu!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systémový čas tohoto klienta je odlišný od systémového času na serveri. Prosím zvážte použitie sieťovej časovej synchronizačnej služby (NTP) na serveri a klientských strojoch, aby bol na nich rovnaký čas. - + CSync could not detect the filesystem type. Detekcia súborového systému vrámci "CSync" zlyhala. - + CSync got an error while processing internal trees. Spracovanie "vnútorných stromov" vrámci "CSync" zlyhalo. - + CSync failed to reserve memory. CSync sa nepodarilo zarezervovať pamäť. - + CSync fatal parameter error. CSync kritická chyba parametrov. - + CSync processing step update failed. CSync sa nepodarilo spracovať krok aktualizácie. - + CSync processing step reconcile failed. CSync sa nepodarilo spracovať krok zladenia. - + CSync processing step propagate failed. CSync sa nepodarilo spracovať krok propagácie. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Cieľový priečinok neexistuje.</p><p>Skontrolujte, prosím, nastavenia synchronizácie.</p> - + A remote file can not be written. Please check the remote access. Vzdialený súbor nie je možné zapísať. Prosím skontrolujte vzdialený prístup. - + The local filesystem can not be written. Please check permissions. Do lokálneho súborového systému nie je možné zapisovať. Prosím skontrolujte povolenia. - + CSync failed to connect through a proxy. CSync sa nepodarilo prihlásiť cez proxy. - + CSync could not authenticate at the proxy. CSync sa nemohol prihlásiť k proxy. - + CSync failed to lookup proxy or server. CSync sa nepodarilo nájsť proxy alebo server. - + CSync failed to authenticate at the %1 server. CSync sa nepodarilo prihlásiť na server %1. - + CSync failed to connect to the network. CSync sa nepodarilo pripojiť k sieti. - + A network connection timeout happend. Skončil sa časový limit sieťového pripojenia. - + A HTTP transmission error happened. Chyba HTTP prenosu. - + CSync failed due to not handled permission deniend. CSync zlyhalo. Nedostatočné oprávnenie. - + CSync failed to access CSync nepodaril prístup - + CSync tried to create a directory that already exists. CSync sa pokúsil vytvoriť priečinok, ktorý už existuje. - + CSync: No space on %1 server available. CSync: Na serveri %1 nie je žiadne voľné miesto. - + CSync unspecified error. CSync nešpecifikovaná chyba. - + Aborted by the user Zrušené používateľom - + 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1966,7 +2017,7 @@ Nie je vhodné ju používať. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Verzia %1. Pre získanie viac informácií navštívte <a href='%2'>%3</a>.</p><p>Copyright ownCloud, Inc.<p><p>Distribuované %4 a licencované pod GNU General Public License (GPL) Version 2.0.<br>%5 a logo %5 sú registrované obchodné známky %4 v <br>Spojených štátoch, ostatných krajinách alebo oboje.</p> @@ -2019,82 +2070,82 @@ Nie je vhodné ju používať. 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Až do dnešného dňa @@ -2339,7 +2390,7 @@ Nie je vhodné ju používať. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Ak ešte nemáte vlastný ownCloud server, na stránke <a href="https://owncloud.com">owncloud.com</a> nájdete viac informácií. @@ -2348,12 +2399,12 @@ Nie je vhodné ju používať. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Zostavené z Git revízie <a href="%1">%2</a> na %3, %4 pomocou Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Verzia %2. Pre získanie viac informácií navštívte stránku <a href="%3">%4</a></p><p><small>Od Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Založené na Mirall od Duncan Mac-Vicar P.</small></p>%7 @@ -2442,57 +2493,57 @@ Nie je vhodné ju používať. theme - + Status undefined Nedefinovaný status - + Waiting to start sync Čakanie na začiatok synchronizácie - + Sync is running Prebieha synchronizácia - + Sync Success Úspešná synchronizácia - + Sync Success, some files were ignored. Synchronizácia prebehla úspešne, niektoré súbory boli ignorované. - + Sync Error Chyba synchronizácie - + Setup Error Chyba inštalácie - + The server is currently unavailable Server nie je práve dostupný - + Preparing to sync Príprava na synchronizáciu - + Aborting... Ruším... - + Sync is paused Synchronizácia je pozastavená diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index a736aff4a..08a445319 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -144,28 +144,28 @@ <p>Ali ste prepričani, da želite mapo <i>%1</i> ponastaviti in ponovno izgraditi podatkovno zbirko?</p><p><b>Opozorilo:</b> Možnost je zasnovana za vzdrževanje. Datoteke sicer ne bodo spremenjene, vendar pa je opravilo lahko zelo dolgotrajno in lahko traja tudi več ur. Trajanje je odvisno od velikosti mape. Možnost uporabite le, če vam to svetuje skrbnik sistema.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) od %2 prostora strežnika je v uporabi. - + No connection to %1 at <a href="%2">%3</a>. Ni povezave z %1 pri <a href="%2">%3</a>. - + No %1 connection configured. Ni nastavljenih %1 povezav. - + Sync Running Usklajevanje je v teku @@ -175,34 +175,34 @@ Ni nastavljenega računa. - + The syncing operation is running.<br/>Do you want to terminate it? Izvaja se usklajevanje.<br/>Ali želite opravilo prekiniti? - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. Vzpostavljena je povezava s strežnikom <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Vzpostavljena je povezava z <a href="%1">%2</a> kot <i>%3</i>. - + Currently there is no storage usage information available. Trenutno ni na voljo nobenih podatkov o porabi prostora. @@ -468,8 +468,8 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::FolderWizard - - + + Add Folder Dodaj mapo @@ -545,42 +545,42 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::FolderWizardRemotePath - + Add Remote Folder Dodaj oddaljeno mapo - + Enter the name of the new folder: Ime nove mape: - + Folder was successfully created on %1. Mapa je uspešno ustvarjena na %1. - + Failed to create the folder on %1. Please check manually. Ustvarjanje mape na %1 je spodletelo. Poskusite jo ustvariti ročno. - + Choose this to sync the entire account Izberite možnost za usklajevanje celotnega računa. - + This folder is already being synced. Ta mapa je že določena za usklajevanje. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Datoteke se že usklajujejo na ravni mape <i>%1</i>, ki je nadrejena mapi <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Trenutno so v usklajevanju vse datoteke korenske mape. Usklajevanje še ene mape <b>ni</b> podprto. Če želite uskladiti več map, je treba odstraniti trenutno nastavljeno korensko mapo in spremeniti nastavitve. @@ -597,17 +597,17 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ni prejete oznake s strežnika. Preveriti je treba podatke posredovalnega strežnika ali prehoda. - + We received a different E-Tag for resuming. Retrying next time. Prejeta je različna oznaka za nadaljevanje opravila. Ponovni poskus bo izveden kasneje. - + Connection Timeout Povezava prekinjena @@ -1212,7 +1212,7 @@ Uporaba ni priporočljiva. Mirall::OwncloudWizard - + %1 Connection Wizard Čarovnik za povezavo %1 @@ -1256,22 +1256,22 @@ Uporaba ni priporočljiva. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Usklajevanje je bilo prekinjeno s strani uporabnika - + No E-Tag received from server, check Proxy/Gateway Ni prejete oznake s strežnika. Preveriti je treba podatke posredovalnega strežnika ali prehoda. - + We received a different E-Tag for resuming. Retrying next time. Prejeta je različna oznaka za nadaljevanje opravila. Ponovni poskus bo izveden kasneje. - + File %1 can not be downloaded because of a local file name clash! Datoteke %1 ni možno prenesti zaradi nesoglasja z imenom lokalne datoteke! @@ -1279,7 +1279,7 @@ Uporaba ni priporočljiva. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Datoteke %1 ni možno prenesti zaradi nesoglasja z imenom lokalne datoteke! @@ -1287,7 +1287,12 @@ Uporaba ni priporočljiva. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 Datoteka ali mapa je bila odstranjena iz mesta v souporabi, ki je nastavljeno le za branje, obnavljanje pa je spodletelo: %1 @@ -1374,22 +1379,22 @@ Uporaba ni priporočljiva. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Datoteka je bila krajevno spremenjena, vendar pa je označena za souporabo le za branje. Izvorna datoteka je obnovljena, vaše spremembe pa so zabeležene v datoteki spora. - + The local file was removed during sync. - + Local file changed during sync. Krajevna datoteka je bila med usklajevanjem spremenjena. - + The server did not acknowledge the last chunk. (No e-tag were present) Strežnik ni prepoznal zadnjega niza besed. (Ni bilo prisotnih e-značk) @@ -1515,27 +1520,27 @@ Te je treba uskladiti znova. Mirall::SettingsDialogMac - + %1 %1 - + Account Račun - + Activity Dejavnosti - + General Splošno - + Network Omrežje @@ -1543,12 +1548,12 @@ Te je treba uskladiti znova. Mirall::ShibbolethCredentials - + Login Error Napaka prijave - + You must sign in as user %1 Prijaviti se je treba kot uporabnik %1 @@ -1556,22 +1561,22 @@ Te je treba uskladiti znova. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Overitev - + Reauthentication required Zahtevano je vnovično preverjanje pristnosti - + Your session has expired. You need to re-login to continue to use the client. Vaša seja je potekla.Ponovno se prijavite za nadaljevanje z uporabo odjemalca. - + %1 - %2 %1 - %2 @@ -1775,186 +1780,232 @@ Te je treba uskladiti znova. Mirall::SyncEngine - + Success. Uspešno končano. - + CSync failed to create a lock file. Ustvarjanje datoteke zaklepa s CSync je spodletelo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Nalaganje ali ustvarjanje dnevniške datoteke s CSync je spodletelo. Za to opravilo so zahtevana posebna dovoljenja krajevne mape za usklajevanje. - + CSync failed to write the journal file. Zapisovanje dnevniške datoteke s CSync je spodletelo. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Vstavka %1 za CSync ni mogoče naložiti.<br/>Preverite namestitev!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Sistemski čas na odjemalcu ni skladen s sistemskim časom na strežniku. Priporočljivo je uporabiti storitev usklajevanja časa (NTP) na strežniku in odjemalcu. S tem omogočimo ujemanje podatkov o času krajevnih in oddaljenih datotek. - + CSync could not detect the filesystem type. Zaznavanje vrste datotečnega sistema s CSync je spodletelo. - + CSync got an error while processing internal trees. Pri obdelavi notranje drevesne strukture s CSync je prišlo do napake. - + CSync failed to reserve memory. Vpisovanje prostora v pomnilniku za CSync je spodletelo. - + CSync fatal parameter error. Usodna napaka parametra CSync. - + CSync processing step update failed. Korak opravila posodobitve CSync je spodletel. - + CSync processing step reconcile failed. Korak opravila poravnave CSync je spodletel. - + CSync processing step propagate failed. Korak opravila razširjanja CSync je spodletel. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Ciljna mapa ne obstaja.</p><p>Preveriti je treba nastavitve usklajevanja.</p> - + A remote file can not be written. Please check the remote access. Oddaljene datoteke ni mogoče zapisati. Najverjetneje je vzrok v oddaljenem dostopu. - + The local filesystem can not be written. Please check permissions. V krajevni datotečni sistem ni mogoče pisati. Najverjetneje je vzrok v neustreznih dovoljenjih. - + CSync failed to connect through a proxy. Povezava CSync preko posredniškega strežnika je spodletel. - + CSync could not authenticate at the proxy. Overitev CSync na posredniškem strežniku je spodletela. - + CSync failed to lookup proxy or server. Poizvedba posredniškega strežnika s CSync je spodletela. - + CSync failed to authenticate at the %1 server. Overitev CSync pri strežniku %1 je spodletela. - + CSync failed to connect to the network. Povezava CSync v omrežje je spodletela. - + A network connection timeout happend. Poskus vzpostavitve povezave je časovno potekel. - + A HTTP transmission error happened. Prišlo je do napake med prenosom HTTP. - + CSync failed due to not handled permission deniend. Delovanje CSync je zaradi neustreznih dovoljenj spodletelo. - + CSync failed to access Dostop s CSync je spodletel - + CSync tried to create a directory that already exists. Prišlo je do napake programa CSync zaradi poskusa ustvarjanja mape z že obstoječim imenom. - + CSync: No space on %1 server available. Odziv CSync: na strežniku %1 ni razpoložljivega prostora. - + CSync unspecified error. Nedoločena napaka CSync. - + Aborted by the user Opravilo je bilo prekinjeno s strani uporabnika - + 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1967,7 +2018,7 @@ Te je treba uskladiti znova. Mirall::Theme - + <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<br>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> @@ -2020,82 +2071,82 @@ Te je treba uskladiti znova. 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ni posodobitev @@ -2340,7 +2391,7 @@ Te je treba uskladiti znova. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! V primeru, da lastnega strežnika ownCloud še nimate, za več podrobnosti o možnostih obiščite spletišče <a href="https://owncloud.com">owncloud.com</a>. @@ -2349,12 +2400,12 @@ Te je treba uskladiti znova. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Zgrajeno s pomočjo Git revizije <a href="%1">%2</a> na %3, %4 uporablja Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Različica %2. Za več podrobnosti obiščite <a href="%3">%4</a></p><p><small>Avtorji Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt in skupina ownCloud Inc.<br>Programski paket je zasnovan na sistemu Mirall avtorja Duncana P. Mac-Vicarja.</small></p>%7 @@ -2443,57 +2494,57 @@ Te je treba uskladiti znova. theme - + Status undefined Stanje je nedoločeno - + Waiting to start sync Čakanje začetek usklajevanja - + Sync is running Usklajevanje v teku - + Sync Success Usklajevanje je uspešno končano - + Sync Success, some files were ignored. Usklajevanje je končano, ostajajo pa nerešene težave s posameznimi datotekami. - + Sync Error Napaka usklajevanja - + Setup Error Napaka nastavitve - + The server is currently unavailable Strežnik trenutno ni na voljo - + Preparing to sync Priprava na usklajevanje - + Aborting... Poteka prekinjanje ... - + Sync is paused Usklajevanje je ustavljeno diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 9ab607513..442e624a4 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -144,28 +144,28 @@ <p>Vill du verkligen nollställa mappen <i>%1</i> och återställa din databas?</p><p><b>Notera:</b> Denna funktion är endast designad för underhållsuppgifter. Inga filer raderas, men kan skapa mycket datatrafik och ta allt från några minuter till flera timmar att slutföra, beroende på storleken på mappen. Använd endast detta alternativ om du har blivit uppmanad av din systemadministratör.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. %1 (%3%) av %2 server utrymme används. - + No connection to %1 at <a href="%2">%3</a>. Ingen anslutning till %1 vid <a href="%2">%3</a> - + No %1 connection configured. Ingen %1 anslutning konfigurerad. - + Sync Running Synkronisering pågår @@ -175,34 +175,34 @@ Inget konto är konfigurerat. - + The syncing operation is running.<br/>Do you want to terminate it? En synkronisering pågår.<br/>Vill du avbryta den? - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. Ansluten till <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. Ansluten till <a href="%1">%2</a> as <i>%3</i>. - + Currently there is no storage usage information available. Just nu finns ingen utrymmes information tillgänglig @@ -468,8 +468,8 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::FolderWizard - - + + Add Folder Lägg till mapp @@ -545,42 +545,42 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::FolderWizardRemotePath - + Add Remote Folder Lägg till fjärrmapp - + Enter the name of the new folder: Ange ett namn på den nya mappen: - + Folder was successfully created on %1. Mappen skapades på %1. - + Failed to create the folder on %1. Please check manually. Det gick inte att skapa mappen på %1. Kontrollera manuellt. - + Choose this to sync the entire account Välj detta för att synka allt - + This folder is already being synced. Denna mappen synkas redan. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. Du synkar redan <i>%1</i>, vilket är övermapp till <i>%2</i> - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Du synkroniserar redan alla dina filer. Synkronisering av en annan mapp stöds <b>ej</b>. Om du vill synka flera mappar, ta bort den för tillfället konfigurerade rotmappen från synk. @@ -597,17 +597,17 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ingen e-tag mottogs från servern, kontrollera proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Vi mottog en helt annan e-tag för att återuppta. Försök igen nästa gång. - + Connection Timeout Anslutningen avbröts på grund av timeout @@ -1212,7 +1212,7 @@ Det är inte lämpligt använda den. Mirall::OwncloudWizard - + %1 Connection Wizard %1 Anslutningsguiden @@ -1256,22 +1256,22 @@ Det är inte lämpligt använda den. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synkningen avbröts av användare. - + No E-Tag received from server, check Proxy/Gateway Ingen E-Tag mottogs från servern, kontrollera proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Vi mottog en helt annan E-Tag för att återuppta. Försöker igen nästa gång. - + File %1 can not be downloaded because of a local file name clash! Fil %1 kan inte laddas ner på grund av namnkonflikt med en lokal fil! @@ -1279,7 +1279,7 @@ Det är inte lämpligt använda den. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Fil %1 kan inte laddas ner på grund av namnkonflikt med en lokal fil! @@ -1287,7 +1287,12 @@ Det är inte lämpligt använda den. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 En fil eller katalog togs bort från en endast-läsbar delning, men återställning misslyckades: %1 @@ -1374,22 +1379,22 @@ Det är inte lämpligt använda den. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Filen ändrades lokalt men är en del av en endast-läsbar delning. Den återställdes och din editering är i konflikt filen. - + The local file was removed during sync. - + Local file changed during sync. Lokal fil ändrades under synk. - + The server did not acknowledge the last chunk. (No e-tag were present) Servern bekräftade inte det sista fil-fragmentet (Ingen e-tag fanns tillgänglig) @@ -1515,27 +1520,27 @@ Försök att synka dessa igen. Mirall::SettingsDialogMac - + %1 %1 - + Account Konto - + Activity Aktivitet - + General Allmänt - + Network Nätverk @@ -1543,12 +1548,12 @@ Försök att synka dessa igen. Mirall::ShibbolethCredentials - + Login Error Login fel - + You must sign in as user %1 Du måste logga in som en användare %1 @@ -1556,22 +1561,22 @@ Försök att synka dessa igen. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autentisera - + Reauthentication required Autentisering krävs - + Your session has expired. You need to re-login to continue to use the client. Din session har gått ut. Du måste logga in på nytt för att kunna fortsätta använda klienten. - + %1 - %2 %1 - %2 @@ -1775,186 +1780,232 @@ Försök att synka dessa igen. Mirall::SyncEngine - + Success. Lyckades. - + CSync failed to create a lock file. CSync misslyckades med att skapa en låsfil. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync misslyckades att skapa en journal fil. Se till att du har läs och skriv rättigheter i den lokala synk katalogen. - + CSync failed to write the journal file. CSynk misslyckades att skriva till journal filen. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Plugin %1 för csync kunde inte laddas.<br/>Var god verifiera installationen!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systemtiden på denna klientdator är annorlunda än systemtiden på servern. Använd en tjänst för tidssynkronisering (NTP) på servern och alla klientdatorer så att tiden är lika. - + CSync could not detect the filesystem type. CSync kunde inte upptäcka filsystemtyp. - + CSync got an error while processing internal trees. CSYNC fel vid intern bearbetning. - + CSync failed to reserve memory. CSync misslyckades att reservera minne. - + CSync fatal parameter error. CSync fatal parameter fel. - + CSync processing step update failed. CSync processteg update misslyckades. - + CSync processing step reconcile failed. CSync processteg reconcile misslyckades. - + CSync processing step propagate failed. CSync processteg propagate misslyckades. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Målmappen finns inte</p><p>Vänligen, kontroller inställningen för sync.</p> - + A remote file can not be written. Please check the remote access. En fil på servern kan inte skapas. Kontrollera åtkomst till fjärranslutningen. - + The local filesystem can not be written. Please check permissions. Kan inte skriva till det lokala filsystemet. Var god kontrollera rättigheterna. - + CSync failed to connect through a proxy. CSync misslyckades att ansluta genom en proxy. - + CSync could not authenticate at the proxy. CSync kunde inte autentisera mot proxy. - + CSync failed to lookup proxy or server. CSync misslyckades att hitta proxy eller server. - + CSync failed to authenticate at the %1 server. CSync misslyckades att autentisera mot %1 servern. - + CSync failed to connect to the network. CSync misslyckades att ansluta mot nätverket. - + A network connection timeout happend. Ett anslutningsfel mot nätverket uppstod. - + A HTTP transmission error happened. Ett HTTP överföringsfel inträffade. - + CSync failed due to not handled permission deniend. CSYNC misslyckades på grund av att nekad åtkomst inte hanterades. - + CSync failed to access CSynk misslyckades att tillträda - + CSync tried to create a directory that already exists. CSync försökte skapa en mapp som redan finns. - + CSync: No space on %1 server available. CSync: Ingen plats på %1 server tillgänglig. - + CSync unspecified error. CSync ospecificerat fel. - + Aborted by the user Avbruten av användare - + 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1967,7 +2018,7 @@ Försök att synka dessa igen. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Version %1 För mer information besök <a href='%2'>%3</a>.</p><p>Upphovsrätt ownCloud, Inc.<p><p>Distribuerad av %4 och licensierad under GNU General Public License (GPL) version 2.0.<br>%5 och %5 logotypen är registrerade varumärken som tillhör %4 i <br>USA, andra länder, eller både och.</p> @@ -2020,82 +2071,82 @@ Försök att synka dessa igen. Ö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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Aktuell version @@ -2340,7 +2391,7 @@ Försök att synka dessa igen. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Om du inte har en ownCloud-server ännu, besök <a href="https://owncloud.com">owncloud.com</a> för mer info. @@ -2349,12 +2400,12 @@ Försök att synka dessa igen. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small>Byggd på Git revision <a href="%1">%2</a> på %3, %4 med användning utav Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Version %2. För mer information besök <a href="%3">%4</a></p><p><small>Skriven av Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Baserad på Mirall av Duncan Mac-Vicar P.</small></p>%7 @@ -2443,57 +2494,57 @@ Försök att synka dessa igen. theme - + Status undefined Odefinierad status - + Waiting to start sync Väntar på att starta synkronisering - + Sync is running Synkronisering är aktiv - + Sync Success Lyckad synkronisering - + Sync Success, some files were ignored. Synk lyckades, men vissa filer ignorerades. - + Sync Error Synkfel - + Setup Error Inställningsfel - + The server is currently unavailable Servern är för närvarande inte tillgänglig - + Preparing to sync Förbereder synkronisering - + Aborting... Avbryter - + Sync is paused Synk är pausad diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index 4f7aa8272..23ca2ed8e 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -144,28 +144,28 @@ - + %1 %2 Example text: "uploading foobar.png" - + %1 (%3%) of %2 server space in use. - + No connection to %1 at <a href="%2">%3</a>. - + No %1 connection configured. ยังไม่มีการเชื่อมต่อ %1 ที่ถูกกำหนดค่า - + Sync Running การซิงค์ข้อมูลกำลังทำงาน @@ -175,34 +175,34 @@ - + The syncing operation is running.<br/>Do you want to terminate it? การดำเนินการเพื่อถ่ายโอนข้อมูลกำลังทำงานอยู่ <br/>คุณต้องการสิ้นสุดการทำงานหรือไม่? - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. - + Currently there is no storage usage information available. @@ -465,8 +465,8 @@ Are you sure you want to perform this operation? Mirall::FolderWizard - - + + Add Folder เพิ่มโฟลเดอร์ @@ -542,42 +542,42 @@ Are you sure you want to perform this operation? Mirall::FolderWizardRemotePath - + Add Remote Folder - + Enter the name of the new folder: - + Folder was successfully created on %1. โฟลเดอร์ถูกสร้างขึ้นเรียบร้อยแล้วเมื่อ %1... - + Failed to create the folder on %1. Please check manually. - + Choose this to sync the entire account - + This folder is already being synced. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. @@ -594,17 +594,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1205,7 +1205,7 @@ It is not advisable to use it. Mirall::OwncloudWizard - + %1 Connection Wizard %1 ตัวช่วยสร้างการเชื่อมต่อ @@ -1249,22 +1249,22 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + File %1 can not be downloaded because of a local file name clash! @@ -1272,7 +1272,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1280,7 +1280,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1367,22 +1372,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1507,27 +1512,27 @@ It is not advisable to use it. Mirall::SettingsDialogMac - + %1 - + Account - + Activity - + General ทั่วไป - + Network @@ -1535,12 +1540,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 @@ -1548,22 +1553,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 @@ -1765,186 +1770,232 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. เสร็จสิ้น - + CSync failed to create a lock file. CSync ล้มเหลวในการสร้างไฟล์ล็อคข้อมูล - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>ปลั๊กอิน %1 สำหรับ csync could not be loadeไม่สามารถโหลดได้.<br/>กรุณาตรวจสอบความถูกต้องในการติดตั้ง!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. เวลาในระบบของโปรแกรมไคลเอนต์นี้แตกต่างจากเวลาในระบบของเซิร์ฟเวอร์ กรุณาใช้บริการผสานข้อมูลของเวลา (NTP) บนเซิร์ฟเวอร์และเครื่องไคลเอนต์เพื่อปรับเวลาให้ตรงกัน - + CSync could not detect the filesystem type. CSync ไม่สามารถตรวจพบประเภทของไฟล์ในระบบได้ - + CSync got an error while processing internal trees. CSync เกิดข้อผิดพลาดบางประการในระหว่างประมวลผล internal trees - + CSync failed to reserve memory. การจัดสรรหน่วยความจำ CSync ล้มเหลว - + CSync fatal parameter error. พบข้อผิดพลาดเกี่ยวกับ CSync fatal parameter - + CSync processing step update failed. การอัพเดทขั้นตอนการประมวลผล CSync ล้มเหลว - + CSync processing step reconcile failed. การปรับปรุงขั้นตอนการประมวลผล CSync ล้มเหลว - + CSync processing step propagate failed. การถ่ายทอดขั้นตอนการประมวลผล CSync ล้มเหลว - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. ไม่สามารถเขียนข้อมูลไปยังไฟล์ระยะไกลได้ กรุณาตรวจสอบการเข้าถึงข้อมูลระยะไกล - + The local filesystem can not be written. Please check permissions. ระบบไฟล์ในพื้นที่ไม่สามารถเขียนข้อมูลได้ กรุณาตรวจสอบสิทธิ์การเข้าใช้งาน - + CSync failed to connect through a proxy. CSync ล้มเหลวในการเชื่อมต่อผ่านทางพร็อกซี่ - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync ไม่สามารถค้นหาพร็อกซี่บนเซิร์ฟเวอร์ได้ - + CSync failed to authenticate at the %1 server. CSync ล้มเหลวในการยืนยันสิทธิ์การเข้าใช้งานที่เซิร์ฟเวอร์ %1 - + CSync failed to connect to the network. CSync ล้มเหลวในการเชื่อมต่อกับเครือข่าย - + A network connection timeout happend. หมดเวลาการเชื่อมต่อเครือข่าย - + A HTTP transmission error happened. เกิดข้อผิดพลาดเกี่ยวกับ HTTP transmission - + CSync failed due to not handled permission deniend. CSync ล้มเหลว เนื่องจากไม่สามารถจัดการกับการปฏิเสธให้เข้าใช้งานได้ - + CSync failed to access - + CSync tried to create a directory that already exists. CSync ได้พยายามที่จะสร้างไดเร็กทอรี่ที่มีอยู่แล้ว - + CSync: No space on %1 server available. CSync: ไม่มีพื้นที่เหลือเพียงพอบนเซิร์ฟเวอร์ %1 - + CSync unspecified error. CSync ไม่สามารถระบุข้อผิดพลาดได้ - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1957,7 +2008,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> @@ -2010,82 +2061,82 @@ It is not advisable to use it. - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date @@ -2330,7 +2381,7 @@ It is not advisable to use it. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! @@ -2339,12 +2390,12 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 @@ -2433,57 +2484,57 @@ It is not advisable to use it. theme - + Status undefined สถานะไม่สามารถระบุได้ - + Waiting to start sync กำลังรอการเริ่มต้นเชื่อมข้อมูล - + Sync is running การเชื่อมข้อมูลกำลังทำงาน - + Sync Success การเชื่อมข้อมูลเสร็จสิ้น - + Sync Success, some files were ignored. - + Sync Error - + Setup Error เกิดข้อผิดพลาดในการตั้งค่า - + The server is currently unavailable - + Preparing to sync - + Aborting... - + Sync is paused diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index c9f97d650..c51fa0952 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -144,28 +144,28 @@ <p>Gerçekten <i>%1</i> klasörünü sıfırlamak ve istemci veritabanını yeniden inşa etmek istiyor musunuz?</p><p><b>Not:</b> Bu işlev sadece bakım amaçlı tasarlandı. Hiçbir dosya kaldırılmayacak, fakat bu işlem büyük veri trafiğine sebep olabilir ve klasör boyutuna bağlı olarak tamamlanması birkaç dakikadan birkaç saate kadar sürebilir. Bu seçeneği sadece yöneticiniz tarafından istenmişse kullanın.</p> - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. Sunucudaki %2'lık kotanın %1'ı (%%3) kullanılıyor. - + No connection to %1 at <a href="%2">%3</a>. <a href="%2">%3</a> üzerinde %1 bağlantısı yok. - + No %1 connection configured. Hiç %1 bağlantısı yapılandırılmamış. - + Sync Running Eşitleme Çalışıyor @@ -175,35 +175,35 @@ Hiçbir hesap yapılandırılmamış. - + The syncing operation is running.<br/>Do you want to terminate it? Eşitleme işlemi devam ediyor.<br/>Durdurmak istiyor musunuz? - + %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/%4) %6/s aktarım hızında kalan %5 - + %1 of %2, file %3 of %4 Total time left %5 %1/%2, dosya %3/%4 Toplam kalan süre %5 - + Connected to <a href="%1">%2</a>. <a href="%1">%2</a> ile bağlı. - + Connected to <a href="%1">%2</a> as <i>%3</i>. <a href="%1">%2</a> bağlantısı <i>%3</i> olarak yapıldı. - + Currently there is no storage usage information available. Şu anda depolama kullanım bilgisi mevcut değil. @@ -469,8 +469,8 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::FolderWizard - - + + Add Folder Klasör Ekle @@ -546,42 +546,42 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::FolderWizardRemotePath - + Add Remote Folder Uzak Klasör Ekle - + Enter the name of the new folder: Yeni klasörün adını girin: - + Folder was successfully created on %1. Klasör %1 üzerinde başarıyla oluşturuldu. - + Failed to create the folder on %1. Please check manually. %1 üzerinde klasör oluşturma başarısız. Lütfen elle denetleyin. - + Choose this to sync the entire account Tüm hesabı eşitlemek için bunu seçin - + This folder is already being synced. Bu klasör zaten eşitleniyor. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. <i>%1</i> zaten eşitleniyor. Bu, <i>%2</i> klasörünün üst klasörü. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. Zaten tüm dosyalarınızı eşitliyorsunuz. Farklı bir klasör eşitlemek <b>desteklenmiyor</b>. Eğer çoklu klasörleri eşitlemek isterseniz, lütfen şu anda yapılandırılmış kök klasör eşitlemesini kaldırın. @@ -598,17 +598,17 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Sunucudan E-Etiket alınamadı, Vekil sunucu/Ağ geçidini denetleyin. - + We received a different E-Tag for resuming. Retrying next time. Devam etmek üzere farklı bir E-Etiket aldık. Sonraki işlemde yeniden denenecek. - + Connection Timeout Bağlantı Zaman Aşımı @@ -1213,7 +1213,7 @@ Kullanmanız önerilmez. Mirall::OwncloudWizard - + %1 Connection Wizard %1 Bağlantı Sihirbazı @@ -1257,22 +1257,22 @@ Kullanmanız önerilmez. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Eşitleme kullanıcı tarafından iptal edildi. - + No E-Tag received from server, check Proxy/Gateway Sunucudan E-Etiket alınamadı, Vekil sunucu/Ağ geçidini denetleyin. - + We received a different E-Tag for resuming. Retrying next time. Devam etmek üzere farklı bir E-Etiket aldık. Sonraki işlemde yeniden denenecek. - + File %1 can not be downloaded because of a local file name clash! %1 dosyası, yerel dosya adı çakışması nedeniyle indirilemiyor! @@ -1280,7 +1280,7 @@ Kullanmanız önerilmez. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! %1 dosyası, yerel dosya adı çakışması nedeniyle indirilemiyor! @@ -1288,7 +1288,12 @@ Kullanmanız önerilmez. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 Bir dosya veya dizin bir salt okunur paylaşımdan kaldırılmıştı, ancak geri yükleme başarısız oldu: %1 @@ -1375,22 +1380,22 @@ Kullanmanız önerilmez. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Dosya yerel olarak düzenlendi ancak salt okunur paylaşımın bir parçası. Geri yüklendi ve düzenlemeniz çakışan dosyada. - + The local file was removed during sync. Eşitleme sırasında yerel dosya kaldırıldı. - + Local file changed during sync. Eşitleme sırasında yerel dosya değişti. - + The server did not acknowledge the last chunk. (No e-tag were present) Sunucu son yığını onaylamadı. (Mevcut e-etiket bulunamadı) @@ -1516,27 +1521,27 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::SettingsDialogMac - + %1 %1 - + Account Hesap - + Activity Etkinlik - + General Genel - + Network @@ -1544,12 +1549,12 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::ShibbolethCredentials - + Login Error Oturum Açma Hatası - + You must sign in as user %1 %1 kullanıcısı olarak oturum açmalısınız @@ -1557,22 +1562,22 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Kimlik Doğrulaması - + Reauthentication required Yeniden kimlik doğrulama gerekli - + Your session has expired. You need to re-login to continue to use the client. Oturumunuzun süresi doldu. İstemciyi kullanmaya devam etmek için yeniden oturum açmanız gerekiyor. - + %1 - %2 %1 - %2 @@ -1776,186 +1781,232 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::SyncEngine - + Success. Başarılı. - + CSync failed to create a lock file. CSync bir kilit dosyası oluşturamadı. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync, günlük dosyası yükleyemedi veya oluşturamadı. Lütfen yerel eşitleme dizininde okuma ve yazma izinleriniz olduğundan emin olun. - + CSync failed to write the journal file. CSync günlük dosyasına yazamadı. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Csync için %1 eklentisi yüklenemedi.<br/>Lütfen kurulumu doğrulayın!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Bu istemci üzerinde sistem saati sunucudaki sistem saati ile farklı. Sunucu ve istemci makinelerde bir zaman eşitleme hizmeti (NTP) kullanırsanız zaman aynı kalır. - + CSync could not detect the filesystem type. CSync dosya sistemi türünü tespit edemedi. - + CSync got an error while processing internal trees. CSync dahili ağaçları işlerken bir hata ile karşılaştı. - + CSync failed to reserve memory. CSync bellek ayıramadı. - + CSync fatal parameter error. CSync ciddi parametre hatası. - + CSync processing step update failed. CSync güncelleme süreç adımı başarısız. - + CSync processing step reconcile failed. CSync uzlaştırma süreç adımı başarısız. - + CSync processing step propagate failed. CSync yayma süreç adımı başarısız. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Hedef dizin mevcut değil.</p><p>Lütfen eşitleme ayarını denetleyin.</p> - + A remote file can not be written. Please check the remote access. Bir uzak dosya yazılamıyor. Lütfen uzak erişimi denetleyin. - + The local filesystem can not be written. Please check permissions. Yerel dosya sistemine yazılamıyor. Lütfen izinleri kontrol edin. - + CSync failed to connect through a proxy. CSync bir vekil sunucu aracılığıyla bağlanırken hata oluştu. - + CSync could not authenticate at the proxy. CSync vekil sunucuda kimlik doğrulayamadı. - + CSync failed to lookup proxy or server. CSync bir vekil veya sunucu ararken başarısız oldu. - + CSync failed to authenticate at the %1 server. CSync %1 sunucusunda kimlik doğrularken başarısız oldu. - + CSync failed to connect to the network. CSync ağa bağlanamadı. - + A network connection timeout happend. Bir ağ zaman aşımı meydana geldi. - + A HTTP transmission error happened. Bir HTTP aktarım hatası oluştu. - + CSync failed due to not handled permission deniend. CSync ele alınmayan izin reddinden dolayı başarısız. - + CSync failed to access CSync erişemedi: - + CSync tried to create a directory that already exists. CSync, zaten mevcut olan bir dizin oluşturmaya çalıştı. - + CSync: No space on %1 server available. CSync: %1 sunucusunda kullanılabilir alan yok. - + CSync unspecified error. CSync belirtilmemiş hata. - + Aborted by the user Kullanıcı tarafından iptal edildi - + 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. - + 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1968,7 +2019,7 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Sürüm %1 Daha fazla bilgi için lütfen <a href='%2'>%3</a> adresini ziyaret edin.</p><p>Telif hakkı ownCloud, Inc.<p><p>Dağıtım %4 ve GNU Genel Kamu Lisansı (GPL) Sürüm 2.0 ile lisanslanmıştır.<br>%5 ve %5 logoları <br>ABD ve/veya diğer ülkelerde %4 tescili markalarıdır.</p> @@ -2021,82 +2072,82 @@ Bu dosyaları tekrar eşitlemeyi deneyin. '%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 - + 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 @@ -2341,7 +2392,7 @@ Bu dosyaları tekrar eşitlemeyi deneyin. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! Eğer hala bir ownCloud sunucunuz yoksa, daha fazla bilgi için <a href="https://owncloud.com">owncloud.com</a> adresine bakın. @@ -2350,12 +2401,12 @@ Bu dosyaları tekrar eşitlemeyi deneyin. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> <p><small><a href="%1">%2</a> Git gözden geçirmesi ile %3, %4 tarihinde, Qt %5 kullanılarak derlendi.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>Sürüm %2. Daha fazla bilgi için <a href="%3">%4</a> sitesini ziyaret edin.</p><p><small>Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Anonim.<br>Duncan Mac-Vicar P tarafından yazılan Mirall tabanlıdır.</small></p>%7 @@ -2444,57 +2495,57 @@ Bu dosyaları tekrar eşitlemeyi deneyin. theme - + Status undefined Tanımsız durum - + Waiting to start sync Eşitlemenin başlanması bekleniyor - + Sync is running Eşitleme çalışıyor - + Sync Success Eşitleme Başarılı - + Sync Success, some files were ignored. Eşitleme Başarılı, bazı dosyalar yoksayıldı. - + Sync Error Eşitleme Hatası - + Setup Error Kurulum Hatası - + The server is currently unavailable Sunucu şu anda kullanılamıyor - + Preparing to sync Eşitleme için hazırlanıyor - + Aborting... İptal ediliyor... - + Sync is paused Eşitleme duraklatıldı diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 081f54273..c77111b5d 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -144,28 +144,28 @@ - + %1 %2 Example text: "uploading foobar.png" - + %1 (%3%) of %2 server space in use. - + No connection to %1 at <a href="%2">%3</a>. - + No %1 connection configured. Жодного %1 підключення не налаштовано. - + Sync Running Виконується синхронізація @@ -175,34 +175,34 @@ - + The syncing operation is running.<br/>Do you want to terminate it? Виконується процедура синхронізації.<br/>Бажаєте відмінити? - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. - + Currently there is no storage usage information available. @@ -465,8 +465,8 @@ Are you sure you want to perform this operation? Mirall::FolderWizard - - + + Add Folder Додати Теку @@ -542,42 +542,42 @@ Are you sure you want to perform this operation? Mirall::FolderWizardRemotePath - + Add Remote Folder - + Enter the name of the new folder: - + Folder was successfully created on %1. Теку успішно створено на %1. - + Failed to create the folder on %1. Please check manually. - + Choose this to sync the entire account - + This folder is already being synced. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. @@ -594,17 +594,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1205,7 +1205,7 @@ It is not advisable to use it. Mirall::OwncloudWizard - + %1 Connection Wizard Майстер з'єднання %1 @@ -1249,22 +1249,22 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + File %1 can not be downloaded because of a local file name clash! @@ -1272,7 +1272,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1280,7 +1280,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1367,22 +1372,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1507,27 +1512,27 @@ It is not advisable to use it. Mirall::SettingsDialogMac - + %1 - + Account - + Activity Активність - + General Загалом - + Network @@ -1535,12 +1540,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 @@ -1548,22 +1553,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 @@ -1765,186 +1770,232 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Успішно. - + CSync failed to create a lock file. CSync не вдалося створити файл блокування. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p> %1 плагін для синхронізації не вдалося завантажити.<br/>Будь ласка, перевірте його інсталяцію!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Системний час цього клієнта відрізняється від системного часу на сервері. Будь ласка, використовуйте сервіс синхронізації часу (NTP) на сервері та клієнті, аби час був однаковий. - + CSync could not detect the filesystem type. CSync не вдалося визначити тип файлової системи. - + CSync got an error while processing internal trees. У CSync виникла помилка під час сканування внутрішньої структури каталогів. - + CSync failed to reserve memory. CSync не вдалося зарезервувати пам'ять. - + CSync fatal parameter error. У CSync сталася фатальна помилка параметра. - + CSync processing step update failed. CSync не вдалася зробити оновлення . - + CSync processing step reconcile failed. CSync не вдалася зробити врегулювання. - + CSync processing step propagate failed. CSync не вдалася зробити розповсюдження. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. Не можливо проводити запис у віддалену файлову систему. Будь ласка, перевірте повноваження доступу. - + The local filesystem can not be written. Please check permissions. Не можливо проводити запис у локальну файлову систему. Будь ласка, перевірте повноваження. - + CSync failed to connect through a proxy. CSync не вдалося приєднатися через Проксі. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync не вдалося знайти Проксі або Сервер. - + CSync failed to authenticate at the %1 server. CSync не вдалося аутентифікуватися на %1 сервері. - + CSync failed to connect to the network. CSync не вдалося приєднатися до мережі. - + A network connection timeout happend. Час під'єднання до мережі вичерпався. - + A HTTP transmission error happened. Сталася помилка передачі даних по HTTP. - + CSync failed due to not handled permission deniend. CSync завершився неуспішно через порушення прав доступу. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync намагалася створити каталог, який вже існує. - + CSync: No space on %1 server available. CSync: на сервері %1 скінчилося місце. - + CSync unspecified error. Невизначена помилка CSync. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1957,7 +2008,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> @@ -2010,82 +2061,82 @@ It is not advisable to use it. - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date @@ -2330,7 +2381,7 @@ It is not advisable to use it. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! @@ -2339,12 +2390,12 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 @@ -2433,57 +2484,57 @@ It is not advisable to use it. theme - + Status undefined Статус не визначено - + Waiting to start sync Очікування початку синхронізації - + Sync is running Проводиться синхронізація - + Sync Success Синхронізація успішно виконана - + Sync Success, some files were ignored. - + Sync Error - + Setup Error Помилка налаштування - + The server is currently unavailable - + Preparing to sync - + Aborting... - + Sync is paused diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 07efc8503..665242864 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -144,28 +144,28 @@ - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %1 (%3%) of %2 server space in use. - + No connection to %1 at <a href="%2">%3</a>. - + No %1 connection configured. 没有 %1 连接配置。 - + Sync Running 同步正在运行 @@ -175,34 +175,34 @@ - + The syncing operation is running.<br/>Do you want to terminate it? 正在执行同步。<br />您确定要关闭它吗? - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. - + Currently there is no storage usage information available. @@ -468,8 +468,8 @@ Are you sure you want to perform this operation? Mirall::FolderWizard - - + + Add Folder 增加目录 @@ -545,42 +545,42 @@ Are you sure you want to perform this operation? Mirall::FolderWizardRemotePath - + Add Remote Folder 增加远程文件夹 - + Enter the name of the new folder: - + Folder was successfully created on %1. 文件夹在您的 %1 上不可用。<br/>请点此创建它。 - + Failed to create the folder on %1. Please check manually. - + Choose this to sync the entire account - + This folder is already being synced. 文件夹已在同步中。 - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. @@ -597,17 +597,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout 连接超时 @@ -1210,7 +1210,7 @@ It is not advisable to use it. Mirall::OwncloudWizard - + %1 Connection Wizard %1 链接向导 @@ -1254,22 +1254,22 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. 同步被用户撤销。 - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + File %1 can not be downloaded because of a local file name clash! @@ -1277,7 +1277,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1285,7 +1285,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1372,22 +1377,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. 本地文件在同步时已修改。 - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1512,27 +1517,27 @@ It is not advisable to use it. Mirall::SettingsDialogMac - + %1 %1 - + Account 账户 - + Activity 动态 - + General 常规 - + Network 网络 @@ -1540,12 +1545,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error 登录错误 - + You must sign in as user %1 @@ -1553,22 +1558,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 %1 - %2 @@ -1770,186 +1775,232 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSync 无法创建文件锁。 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync同步失败,请确定是否有本地同步目录的读写权 - + CSync failed to write the journal file. CSync写日志文件失败 - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csync 的 %1 插件不能加载。<br/>请校验安装!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. 本客户端的系统时间和服务器的系统时间不一致。请在服务器和客户机上使用时间同步服务 (NTP)以让时间一致。 - + CSync could not detect the filesystem type. CSync 无法检测文件系统类型。 - + CSync got an error while processing internal trees. CSync 在处理内部文件树时出错。 - + CSync failed to reserve memory. CSync 失败,内存不足。 - + CSync fatal parameter error. CSync 致命参数错误。 - + CSync processing step update failed. CSync 处理步骤更新失败。 - + CSync processing step reconcile failed. CSync 处理步骤调和失败。 - + CSync processing step propagate failed. CSync 处理步骤传播失败。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>目标目录不存在。</p><p>请检查同步设置。</p> - + A remote file can not be written. Please check the remote access. 远程文件不可写,请检查远程权限。 - + The local filesystem can not be written. Please check permissions. 本地文件系统不可写。请检查权限。 - + CSync failed to connect through a proxy. CSync 未能通过代理连接。 - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync 无法查询代理或服务器。 - + CSync failed to authenticate at the %1 server. CSync 于 %1 服务器认证失败。 - + CSync failed to connect to the network. CSync 联网失败。 - + A network connection timeout happend. 网络连接超时。 - + A HTTP transmission error happened. HTTP 传输错误。 - + CSync failed due to not handled permission deniend. 出于未处理的权限拒绝,CSync 失败。 - + CSync failed to access - + CSync tried to create a directory that already exists. CSync 尝试创建了已有的文件夹。 - + CSync: No space on %1 server available. CSync:%1 服务器空间已满。 - + CSync unspecified error. CSync 未定义错误。 - + Aborted by the user 用户撤销 - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 无法打开同步日志 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1962,7 +2013,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> @@ -2015,82 +2066,82 @@ It is not advisable to use it. - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date 更新 @@ -2335,7 +2386,7 @@ It is not advisable to use it. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! 如果您还没有一个 ownCloud 服务器,请到 <a href="https://owncloud.com"> 获取更多信息。 @@ -2344,12 +2395,12 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 <p>版本 %2。更多信息请登录 <a href="%3">%4</a></p><p><small>由 Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc 制作。<br>基于 Duncan Mac-Vicar P 的 Mirall。</small></p>%7 @@ -2438,57 +2489,57 @@ It is not advisable to use it. theme - + Status undefined 状态未定义 - + Waiting to start sync 等待同步启动 - + Sync is running 同步运行中 - + Sync Success 同步成功 - + Sync Success, some files were ignored. - + Sync Error 同步错误 - + Setup Error 关闭 - + The server is currently unavailable - + Preparing to sync 正在准备同步 - + Aborting... 正在撤销... - + Sync is paused 同步被暂停 diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index 579b7432b..c2da310c0 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -144,28 +144,28 @@ - + %1 %2 Example text: "uploading foobar.png" - + %1 (%3%) of %2 server space in use. - + No connection to %1 at <a href="%2">%3</a>. - + No %1 connection configured. 無%1連線設定 - + Sync Running 同步中 @@ -175,34 +175,34 @@ - + The syncing operation is running.<br/>Do you want to terminate it? 正在同步中<br/>你真的想要中斷? - + %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 of %2, file %3 of %4 Total time left %5 - + Connected to <a href="%1">%2</a>. - + Connected to <a href="%1">%2</a> as <i>%3</i>. - + Currently there is no storage usage information available. @@ -465,8 +465,8 @@ Are you sure you want to perform this operation? Mirall::FolderWizard - - + + Add Folder 新增資料夾 @@ -542,42 +542,42 @@ Are you sure you want to perform this operation? Mirall::FolderWizardRemotePath - + Add Remote Folder - + Enter the name of the new folder: - + Folder was successfully created on %1. 資料夾成功建立在%1 - + Failed to create the folder on %1. Please check manually. - + Choose this to sync the entire account - + This folder is already being synced. - + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. - + You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. @@ -594,17 +594,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1205,7 +1205,7 @@ It is not advisable to use it. Mirall::OwncloudWizard - + %1 Connection Wizard %1連線精靈 @@ -1249,22 +1249,22 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + File %1 can not be downloaded because of a local file name clash! @@ -1272,7 +1272,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1280,7 +1280,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + + ; Restoration Failed: + + + + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1367,22 +1372,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1507,27 +1512,27 @@ It is not advisable to use it. Mirall::SettingsDialogMac - + %1 - + Account 帳號 - + Activity 活動 - + General 一般 - + Network @@ -1535,12 +1540,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 @@ -1548,22 +1553,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 @@ -1765,186 +1770,232 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSync 無法建立文件鎖 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>用於csync的套件%1</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. 本客戶端的系統時間和伺服器系統時間不一致,請在伺服器與客戶端上使用時間同步服務(NTP)讓時間保持一致 - + CSync could not detect the filesystem type. CSync 無法偵測檔案系統的類型 - + CSync got an error while processing internal trees. CSync 處理內部資料樹時發生錯誤 - + CSync failed to reserve memory. CSync 無法取得記憶體空間。 - + CSync fatal parameter error. CSync 參數錯誤。 - + CSync processing step update failed. CSync 處理步驟 "update" 失敗。 - + CSync processing step reconcile failed. CSync 處理步驟 "reconcile" 失敗。 - + CSync processing step propagate failed. CSync 處理步驟 "propagate" 失敗。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>目標資料夾不存在</p><p>請檢查同步設定</p> - + A remote file can not be written. Please check the remote access. 遠端檔案無法寫入,請確認遠端存取權限。 - + The local filesystem can not be written. Please check permissions. 本地檔案系統無法寫入,請確認權限。 - + CSync failed to connect through a proxy. CSync 透過代理伺服器連線失敗。 - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync 查詢代理伺服器或伺服器失敗。 - + CSync failed to authenticate at the %1 server. CSync 於伺服器 %1 認證失敗。 - + CSync failed to connect to the network. CSync 無法連接到網路。 - + A network connection timeout happend. 網路連線逾時。 - + A HTTP transmission error happened. HTTP 傳輸錯誤。 - + CSync failed due to not handled permission deniend. CSync 失敗,由於未處理的存取被拒。 - + CSync failed to access - + CSync tried to create a directory that already exists. CSync 試圖建立一個已經存在的目錄。 - + CSync: No space on %1 server available. CSync:伺服器 %1 沒有可用空間。 - + CSync unspecified error. CSync 未知的錯誤。 - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 + + + 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 + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + Mirall::Systray @@ -1957,7 +2008,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> @@ -2010,82 +2061,82 @@ It is not advisable to use it. - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date 最新的 @@ -2330,7 +2381,7 @@ It is not advisable to use it. ownCloudTheme - + If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! 若您尚未擁有ownCloud伺服器,可參閱<a href="https://owncloud.com">owncloud.com</a> 來獲得更多資訊。 @@ -2339,12 +2390,12 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> - + <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 @@ -2433,57 +2484,57 @@ It is not advisable to use it. theme - + Status undefined 未定義的狀態 - + Waiting to start sync 等待開始同步 - + Sync is running 同步中 - + Sync Success 同步完成 - + Sync Success, some files were ignored. - + Sync Error - + Setup Error 安裝錯誤 - + The server is currently unavailable - + Preparing to sync - + Aborting... - + Sync is paused From 9c0a21a5fbe36a6f783977de1767fbdc754fc480 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 24 Jun 2014 10:52:42 +0200 Subject: [PATCH 073/190] Permission: keep a space if the permission is empty To distinguish no permission present to nothing is allowed. That was the intention of the old code but it did not work as the first if was always taken --- csync/src/csync_owncloud_util.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/csync/src/csync_owncloud_util.c b/csync/src/csync_owncloud_util.c index 1e84ca89c..1a07a2854 100644 --- a/csync/src/csync_owncloud_util.c +++ b/csync/src/csync_owncloud_util.c @@ -373,15 +373,15 @@ void fill_webdav_properties_into_resource(struct resource* newres, const ne_prop if (directDownloadCookies) { newres->directDownloadCookies = c_strdup(directDownloadCookies); } - if (perm && strlen(perm) < sizeof(newres->remotePerm)) { - strncpy(newres->remotePerm, perm, sizeof(newres->remotePerm)); - } else if (perm && strlen(perm) == 0) { + if (perm && !perm[0]) { // special meaning for our code: server returned permissions but are empty // meaning only reading is allowed for this resource newres->remotePerm[0] = ' '; // see _csync_detect_update() + } else if (perm && strlen(perm) < sizeof(newres->remotePerm)) { + strncpy(newres->remotePerm, perm, sizeof(newres->remotePerm)); } else { - // old server, keep NULL in newres->remotePerm + // old server, keep newres->remotePerm empty } } From 3c4f410a4e415525bb0e4212a833997833ca5edc Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 24 Jun 2014 11:02:58 +0200 Subject: [PATCH 074/190] cmake compilation flags: don't define -Wdeclaration-after-statement We are in 2014, let me use C99 already. --- cmake/modules/DefineCompilerFlags.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/modules/DefineCompilerFlags.cmake b/cmake/modules/DefineCompilerFlags.cmake index 772c67ebe..b6aadfa25 100644 --- a/cmake/modules/DefineCompilerFlags.cmake +++ b/cmake/modules/DefineCompilerFlags.cmake @@ -13,7 +13,7 @@ if (${CMAKE_C_COMPILER_ID} MATCHES "(GNU|Clang)") if (NOT CSYNC_STATIC_COMPILE_DIR) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -pedantic -pedantic-errors") endif() - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wshadow -Wmissing-prototypes -Wdeclaration-after-statement") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wshadow -Wmissing-prototypes") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wunused -Wfloat-equal -Wpointer-arith -Wwrite-strings -Wformat-security") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-format-attribute") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-format-attribute -D_GNU_SOURCE") From 8de3bda0b1f900ab183698454740fd979f7ab9d7 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 24 Jun 2014 11:08:38 +0200 Subject: [PATCH 075/190] csync_update: update the permission in the db when they change The current code only update the permissions in the DB when the permission becomes non-empty. Now we update the permission each time they change. That way the code is the same for file id and permission so it is simpler. --- csync/src/csync_update.c | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/csync/src/csync_update.c b/csync/src/csync_update.c index cd14d43af..c2a5891d7 100644 --- a/csync/src/csync_update.c +++ b/csync/src/csync_update.c @@ -254,32 +254,20 @@ static int _csync_detect_update(CSYNC *ctx, const char *file, st->instruction = CSYNC_INSTRUCTION_EVAL; goto out; } + bool metadata_differ = ctx->current == REMOTE_REPLICA && (!c_streq(fs->file_id, tmp->file_id) + || !c_streq(fs->remotePerm, tmp->remotePerm)); if (type == CSYNC_FTW_TYPE_DIR && ctx->current == REMOTE_REPLICA - && c_streq(fs->file_id, tmp->file_id) && !ctx->read_from_db_disabled) { + && !metadata_differ && !ctx->read_from_db_disabled) { /* If both etag and file id are equal for a directory, read all contents from * the database. - * The comparison of file id ensure that we fetch all the file id when upgrading from - * owncloud 5 to owncloud 6. + * The metadata comparison ensure that we fetch all the file id or permission when + * upgrading owncloud */ CSYNC_LOG(CSYNC_LOG_PRIORITY_TRACE, "Reading from database: %s", path); ctx->remote.read_from_db = true; } - if (ctx->current == REMOTE_REPLICA - // DB perm; true for NULL or empty (on update) - && strlen(tmp->remotePerm) == 0 - // remote perm (even if remote perm empty it will be ' ' see fill_webdav_properties_into_resource - && strlen(fs->remotePerm) > 0) - { - /* remotePerm received from server but none in DB. - * Which means we need to update the DB. - * (upgrade from owncloud x to owncloud 7 for instence) */ - st->should_update_etag = true; // write to DB after PROPFIND - ctx->remote.read_from_db = false; // get dirs via PROPFIND - - } - if (!c_streq(fs->file_id, tmp->file_id) && ctx->current == REMOTE_REPLICA) { - /* file id has changed. Which means we need to update the DB. - * (upgrade from owncloud 5 to owncloud 6 for instence) */ + if (metadata_differ) { + /* file id or permissions has changed. Which means we need to update them in the DB. */ st->should_update_etag = true; } st->instruction = CSYNC_INSTRUCTION_NONE; From 9adc30ab9f818466e4d041aab924885b62e7b780 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 24 Jun 2014 11:41:29 +0200 Subject: [PATCH 076/190] Shibboleth: keep the cookie from the wizard to the ShibolethCredentials Otherwise the user is asked twice for autentication on first sync. Fixes https://github.com/owncloud/enterprise/issues/193 --- src/creds/shibboleth/shibbolethuserjob.h | 4 +--- src/creds/shibbolethcredentials.cpp | 17 +++++++++++++++++ src/creds/shibbolethcredentials.h | 3 +++ src/wizard/owncloudshibbolethcredspage.cpp | 10 +++++++--- src/wizard/owncloudshibbolethcredspage.h | 3 ++- 5 files changed, 30 insertions(+), 7 deletions(-) diff --git a/src/creds/shibboleth/shibbolethuserjob.h b/src/creds/shibboleth/shibbolethuserjob.h index f6427a45b..8042fe939 100644 --- a/src/creds/shibboleth/shibbolethuserjob.h +++ b/src/creds/shibboleth/shibbolethuserjob.h @@ -26,15 +26,13 @@ class ShibbolethUserJob : public AbstractNetworkJob { Q_OBJECT public: explicit ShibbolethUserJob(Account *account, QObject* parent = 0); +public slots: void start(); signals: // is always emitted when the job is finished. user is empty in case of error. void userFetched(const QString &user); - // Another job need to be created - void tryAgain(); - private slots: virtual bool finished(); }; diff --git a/src/creds/shibbolethcredentials.cpp b/src/creds/shibbolethcredentials.cpp index bf8fea4fe..5b83f701f 100644 --- a/src/creds/shibbolethcredentials.cpp +++ b/src/creds/shibbolethcredentials.cpp @@ -94,6 +94,23 @@ ShibbolethCredentials::ShibbolethCredentials() _browser(0) {} +ShibbolethCredentials::ShibbolethCredentials(const QNetworkCookie& cookie, Account* account) + : _ready(true), + _stillValid(true), + _fetchJobInProgress(false), + _browser(0), + _shibCookie(cookie) +{ + if (account) { + /* The _user has not yet been fetched, so fetch it now */ + ShibbolethUserJob *job = new ShibbolethUserJob(account, this); + connect(job, SIGNAL(userFetched(QString)), this, SLOT(slotUserFetched(QString))); + QTimer::singleShot(1234, job, SLOT(start())); + + } +} + + void ShibbolethCredentials::syncContextPreInit(CSYNC* ctx) { csync_set_auth_callback (ctx, handleNeonSSLProblems); diff --git a/src/creds/shibbolethcredentials.h b/src/creds/shibbolethcredentials.h index 85efe51ad..cb778f219 100644 --- a/src/creds/shibbolethcredentials.h +++ b/src/creds/shibbolethcredentials.h @@ -40,6 +40,9 @@ Q_OBJECT public: ShibbolethCredentials(); + /* create a credidentials for an already connected account */ + ShibbolethCredentials(const QNetworkCookie &cookie, Account *acc); + void syncContextPreInit(CSYNC* ctx); void syncContextPreStart(CSYNC* ctx); bool changed(AbstractCredentials* credentials) const; diff --git a/src/wizard/owncloudshibbolethcredspage.cpp b/src/wizard/owncloudshibbolethcredspage.cpp index 40053d69b..653570778 100644 --- a/src/wizard/owncloudshibbolethcredspage.cpp +++ b/src/wizard/owncloudshibbolethcredspage.cpp @@ -48,7 +48,7 @@ void OwncloudShibbolethCredsPage::setupBrowser() _browser = new ShibbolethWebView(account); connect(_browser, SIGNAL(shibbolethCookieReceived(const QNetworkCookie&, Account*)), - this, SLOT(slotShibbolethCookieReceived()), Qt::QueuedConnection); + this, SLOT(slotShibbolethCookieReceived(const QNetworkCookie&, Account*)), Qt::QueuedConnection); connect(_browser, SIGNAL(rejected()), this, SLOT(slotBrowserRejected())); @@ -92,11 +92,15 @@ void OwncloudShibbolethCredsPage::setConnected() AbstractCredentials* OwncloudShibbolethCredsPage::getCredentials() const { - return new ShibbolethCredentials; + const OwncloudWizard *ocWizard = static_cast(wizard()); + Account *account = ocWizard->account(); + + return new ShibbolethCredentials(_cookie, account); } -void OwncloudShibbolethCredsPage::slotShibbolethCookieReceived() +void OwncloudShibbolethCredsPage::slotShibbolethCookieReceived(const QNetworkCookie &cookie, Account*) { + _cookie = cookie; emit connectToOCUrl(field("OCUrl").toString().simplified()); } diff --git a/src/wizard/owncloudshibbolethcredspage.h b/src/wizard/owncloudshibbolethcredspage.h index a9db292e5..28f635363 100644 --- a/src/wizard/owncloudshibbolethcredspage.h +++ b/src/wizard/owncloudshibbolethcredspage.h @@ -46,7 +46,7 @@ public Q_SLOTS: void setVisible(bool visible); private Q_SLOTS: - void slotShibbolethCookieReceived(); + void slotShibbolethCookieReceived(const QNetworkCookie&, Account*); void slotBrowserRejected(); private: @@ -54,6 +54,7 @@ private: QPointer _browser; bool _afterInitialSetup; + QNetworkCookie _cookie; }; } // ns Mirall From fbadadc377fc8a34b1fd4086ae60fb91dcfd54d4 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 12 Jun 2014 13:45:25 +0200 Subject: [PATCH 077/190] propagator: Fix folder duplication if the folder is renamed on the server while uploading While uploading a new folder, if the folder is renamed on the server when still uploading, the result will be that the files that are already uploaded will end up in the new filder name, but the file that were not still are in the old folder. After renaming, all the new uploads wil fail with an error on this sync because the parent directory don't exist. But they were uploaded with the old name in the next sync because the renaming was not detected because the file id was not in the DB Fix the problem by fetching the file id always when creating a new directory, on the next sync, and saving it in the database ummediatly https://github.com/owncloud/enterprise/issues/191 --- csync/tests/ownCloud/t2.pl | 24 ++++++++++++++++++- src/mirall/owncloudpropagator.cpp | 6 +++++ src/mirall/owncloudpropagator.h | 1 + src/mirall/propagatorjobs.cpp | 39 +++++++++++++++++++++++++++++++ src/mirall/propagatorjobs.h | 3 +++ 5 files changed, 72 insertions(+), 1 deletion(-) diff --git a/csync/tests/ownCloud/t2.pl b/csync/tests/ownCloud/t2.pl index 5260f7706..1893f021f 100755 --- a/csync/tests/ownCloud/t2.pl +++ b/csync/tests/ownCloud/t2.pl @@ -185,12 +185,34 @@ assertLocalAndRemoteDir( 'remoteToLocal1', 1); printInfo("Move a file from the server"); $inode = getInode('remoteToLocal1/rtl2/kb1_local_gone.jpg'); moveRemoteFile( 'remoteToLocal1/rtl2/kb1_local_gone.jpg', 'remoteToLocal1/rtl2/kb1_local_gone2.jpg'); + +#also create a new directory localy for the next test +mkdir( localDir().'superNewDir' ); +createLocalFile(localDir(). 'superNewDir/f1', 1234 ); +createLocalFile(localDir(). 'superNewDir/f2', 1324 ); +my $superNewDirInode = getInode('superNewDir'); + + csync(); -assertLocalAndRemoteDir( 'remoteToLocal1', 1); +assertLocalAndRemoteDir( '', 1); $inode2 = getInode('remoteToLocal1/rtl2/kb1_local_gone2.jpg'); assert( $inode == $inode2, "Inode has changed 3!"); +printInfo("Move a newly created directory"); +moveRemoteFile('superNewDir', 'superNewDirRenamed'); +#also add new files in new directory +createLocalFile(localDir(). 'superNewDir/f3' , 2456 ); +$inode = getInode('superNewDir/f3'); + +csync(); +assertLocalAndRemoteDir( '', 1); +assert( ! -e localDir().'superNewDir' ); + +$inode2 = getInode('superNewDir/f3'); +assert( $inode == $inode2, "Inode of f3 changed"); +$inode2 = getInode('superNewDir'); +assert( $superNewDirInode == $inode2, "Inode of superNewDir changed"); cleanup(); diff --git a/src/mirall/owncloudpropagator.cpp b/src/mirall/owncloudpropagator.cpp index f769277e4..d5ff55f2b 100644 --- a/src/mirall/owncloudpropagator.cpp +++ b/src/mirall/owncloudpropagator.cpp @@ -427,6 +427,12 @@ void PropagateDirectory::slotSubJobReady() } if (_item._should_update_etag && _item._instruction != CSYNC_INSTRUCTION_REMOVE) { + if (PropagateRemoteMkdir* mkdir = qobject_cast(_firstJob.data())) { + // special case from MKDIR, get the fileId from the job there + if (_item._fileId.isEmpty() && !mkdir->_item._fileId.isEmpty()) { + _item._fileId = mkdir->_item._fileId; + } + } SyncJournalFileRecord record(_item, _propagator->_localDir + _item._file); _propagator->_journal->setFileRecord(record); } diff --git a/src/mirall/owncloudpropagator.h b/src/mirall/owncloudpropagator.h index ab99ef2dc..d63ec08f3 100644 --- a/src/mirall/owncloudpropagator.h +++ b/src/mirall/owncloudpropagator.h @@ -25,6 +25,7 @@ struct hbf_transfer_s; struct ne_session_s; struct ne_decompress_s; +typedef struct ne_prop_result_set_s ne_prop_result_set; namespace Mirall { diff --git a/src/mirall/propagatorjobs.cpp b/src/mirall/propagatorjobs.cpp index 087d24d54..081559f43 100644 --- a/src/mirall/propagatorjobs.cpp +++ b/src/mirall/propagatorjobs.cpp @@ -154,6 +154,35 @@ void PropagateRemoteRemove::start() done(SyncFileItem::Success); } +/* The list of properties that is fetched in PropFind after a MKCOL */ +static const ne_propname ls_props[] = { + { "DAV:", "getetag"}, + { "http://owncloud.org/ns", "id"}, + { NULL, NULL } +}; + +/* + * Parse the PROPFIND result after a MKCOL + */ +void PropagateRemoteMkdir::propfind_results(void *userdata, + const ne_uri *uri, + const ne_prop_result_set *set) +{ + PropagateRemoteMkdir *job = static_cast(userdata); + + job->_item._etag = parseEtag(ne_propset_value( set, &ls_props[0] )); + + const char* fileId = ne_propset_value( set, &ls_props[1] ); + if (fileId) { + job->_item._fileId = fileId; + qDebug() << "MKCOL: " << uri << " FileID set it to " << fileId; + + // save the file id already so we can detect rename + SyncJournalFileRecord record(job->_item, job->_propagator->_localDir + job->_item._renameTarget); + job->_propagator->_journal->setFileRecord(record); + } +} + void PropagateRemoteMkdir::start() { if (_propagator->_abortRequested.fetchAndAddRelaxed(0)) @@ -174,6 +203,16 @@ void PropagateRemoteMkdir::start() return; } + // Get the fileid + // This is required so that wa can detect moves even if the folder is renamed on the server + // while files are still uploading + // TODO: Now we have to do a propfind because the server does not give the file id in the request + // https://github.com/owncloud/core/issues/9000 + + ne_propfind_handler *hdl = ne_propfind_create(_propagator->_session, uri.data(), 0); + ne_propfind_named(hdl, ls_props, propfind_results, this); + ne_propfind_destroy(hdl); + done(SyncFileItem::Success); } diff --git a/src/mirall/propagatorjobs.h b/src/mirall/propagatorjobs.h index 8a47f2a52..3fc512acf 100644 --- a/src/mirall/propagatorjobs.h +++ b/src/mirall/propagatorjobs.h @@ -94,6 +94,9 @@ class PropagateRemoteMkdir : public PropagateNeonJob { public: PropagateRemoteMkdir (OwncloudPropagator* propagator,const SyncFileItem& item) : PropagateNeonJob(propagator, item) {} void start(); +private: + static void propfind_results(void *userdata, const ne_uri *uri, const ne_prop_result_set *set); + friend class PropagateDirectory; // So it can access the _item; }; class PropagateLocalRename : public PropagateItemJob { Q_OBJECT From d2436ce23de73241029285b1d2824b3172498cfc Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 24 Jun 2014 15:17:33 +0200 Subject: [PATCH 078/190] Networkjobs: Check if reply body is empty before parsing. This avoids a false warning that the result is not valid JSON. --- src/mirall/networkjobs.cpp | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/mirall/networkjobs.cpp b/src/mirall/networkjobs.cpp index 42762454e..7034f148e 100644 --- a/src/mirall/networkjobs.cpp +++ b/src/mirall/networkjobs.cpp @@ -408,20 +408,25 @@ bool CheckServerJob::finished() } bool success = false; - QVariantMap status = QtJson::parse(QString::fromUtf8(reply()->readAll()), success).toMap(); - // empty or invalid response - if (!success || status.isEmpty()) { - qDebug() << "status.php from server is not valid JSON!"; - } - - qDebug() << "status.php returns: " << status << " " << reply()->error() << " Reply: " << reply(); - if( status.contains("installed") - && status.contains("version") - && status.contains("versionstring") ) { - emit instanceFound(reply()->url(), status); - } else { - qDebug() << "No proper answer on " << requestedUrl; + QByteArray body = reply()->readAll(); + if( body.isEmpty() ) { emit instanceNotFound(reply()); + } else { + QVariantMap status = QtJson::parse(QString::fromUtf8(body), success).toMap(); + // empty or invalid response + if (!success || status.isEmpty()) { + qDebug() << "status.php from server is not valid JSON!"; + } + + qDebug() << "status.php returns: " << status << " " << reply()->error() << " Reply: " << reply(); + if( status.contains("installed") + && status.contains("version") + && status.contains("versionstring") ) { + emit instanceFound(reply()->url(), status); + } else { + qDebug() << "No proper answer on " << requestedUrl; + emit instanceNotFound(reply()); + } } return true; } From 5f96de32bb602d51d5ea30084f05c62c12637dc2 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 24 Jun 2014 15:33:42 +0200 Subject: [PATCH 079/190] ownCloudcmd: Use Account object and ConnectionValidator. That reads the credentials from the mirall config file if it was not defined on the command line. Moreover, the connection is validated before, which sets up the credentials properly. --- src/owncloudcmd/owncloudcmd.cpp | 252 ++++++++++++++++++-------------- src/owncloudcmd/owncloudcmd.h | 36 ++++- 2 files changed, 175 insertions(+), 113 deletions(-) diff --git a/src/owncloudcmd/owncloudcmd.cpp b/src/owncloudcmd/owncloudcmd.cpp index 23a110fe3..ca6155736 100644 --- a/src/owncloudcmd/owncloudcmd.cpp +++ b/src/owncloudcmd/owncloudcmd.cpp @@ -25,42 +25,152 @@ #include "mirall/syncengine.h" #include "mirall/syncjournaldb.h" #include "mirall/logger.h" -#include "csync.h" -#include "mirall/clientproxy.h" -#include "mirall/account.h" + #include "creds/httpcredentials.h" #include "owncloudcmd.h" #include "simplesslerrorhandler.h" -using namespace Mirall; -struct CmdOptions { - QString source_dir; - QString target_url; - QString config_directory; - QString proxy; - bool silent; - bool trustSSL; -}; - -int getauth(const char* prompt, char* buf, size_t len, int a, int b, void *userdata) +OwncloudCmd::OwncloudCmd(CmdOptions options) + : QObject(), _options(options) { - (void) a; - (void) b; - struct CmdOptions *opts = (struct CmdOptions*) userdata; - - std::cout << "** Authentication required: \n" << prompt << std::endl; - std::string s; - if(opts && opts->trustSSL) { - s = "yes"; - } else { - std::getline(std::cin, s); - } - strncpy( buf, s.c_str(), len ); - return 0; } +void OwncloudCmd::slotConnectionValidatorResult(ConnectionValidator::Status stat) +{ + // call csync_create even if the connect fails, since csync_destroy is + // called later in any case, and that needs a proper initialized csync_ctx. + if( csync_create( &_csync_ctx, _options.source_dir.toUtf8(), + _options.target_url.toUtf8()) < 0 ) { + qCritical("Unable to create csync-context!"); + emit( finished() ); + return; + } + + if( stat != ConnectionValidator::Connected ) { + qCritical("Connection cound not be established!"); + emit( finished() ); + return; + + } + + int rc = ne_sock_init(); + if (rc < 0) { + qCritical("ne_sock_init failed!"); + emit( finished() ); + return; + } + + csync_set_userdata(_csync_ctx, &_options); + + if( csync_init( _csync_ctx ) < 0 ) { + qCritical("Could not initialize csync!"); + _csync_ctx = 0; + emit( finished() ); + return; + } + + csync_set_module_property(_csync_ctx, "csync_context", _csync_ctx); + if( !_options.proxy.isNull() ) { + QString host; + int port = 0; + bool ok; + // Set as default and let overwrite later + csync_set_module_property(_csync_ctx, "proxy_type", (void*) "NoProxy"); + + QStringList pList = _options.proxy.split(':'); + if(pList.count() == 3) { + // http: //192.168.178.23 : 8080 + // 0 1 2 + host = pList.at(1); + if( host.startsWith("//") ) host.remove(0, 2); + + port = pList.at(2).toInt(&ok); + + if( !host.isNull() ) { + csync_set_module_property(_csync_ctx, "proxy_type", (void*) "HttpProxy"); + csync_set_module_property(_csync_ctx, "proxy_host", host.toUtf8().data()); + if( ok && port ) { + csync_set_module_property(_csync_ctx, "proxy_port", (void*) &port); + } + } + } + } else { + _clientProxy.setupQtProxyFromConfig(); + QString url( _options.target_url ); + if( url.startsWith("owncloud")) { + url.remove(0, 8); + url = QString("http%1").arg(url); + } + _clientProxy.setCSyncProxy(QUrl(url), _csync_ctx); + } + + SyncJournalDb *db = new SyncJournalDb(_options.source_dir); + SyncEngine *engine = new SyncEngine(_csync_ctx, _options.source_dir, QUrl(_options.target_url).path(), _folder, db); + connect( engine, SIGNAL(finished()), this, SIGNAL(finished()) ); + QObject::connect(engine, SIGNAL(transmissionProgress(Progress::Info)), this, SLOT(transmissionProgressSlot())); + + // Have to be done async, else, an error before exec() does not terminate the event loop. + QMetaObject::invokeMethod(engine, "startSync", Qt::QueuedConnection); + +} + +bool OwncloudCmd::runSync() +{ + QUrl url(_options.target_url.toUtf8()); + + _account = new Account; + + // Find the folder and the original owncloud url + QStringList splitted = url.path().split(_account->davPath()); + url.setPath(splitted.value(0)); + url.setScheme(url.scheme().replace("owncloud", "http")); + _folder = splitted.value(1); + + SimpleSslErrorHandler *sslErrorHandler = new SimpleSslErrorHandler; + + csync_set_log_level(_options.silent ? 1 : 11); + Logger::instance()->setLogFile("-"); + + if( url.userInfo().isEmpty() ) { + // If there was no credentials coming in commandline url + // than restore the credentials from a configured client + delete _account; + _account = Account::restore(); + } else { + // set the commandline credentials + _account->setCredentials(new HttpCredentials(url.userName(), url.password())); + } + + if (_account) { + _account->setUrl(url); + _account->setSslErrorHandler(sslErrorHandler); + AccountManager::instance()->setAccount(_account); + + _conValidator = new ConnectionValidator(_account); + connect( _conValidator, SIGNAL(connectionResult(ConnectionValidator::Status)), + this, SLOT(slotConnectionValidatorResult(ConnectionValidator::Status)) ); + _conValidator->checkConnection(); + } else { + // no account found + return false; + } + + return true; +} + +void OwncloudCmd::destroy() +{ + csync_destroy(_csync_ctx); +} + +void OwncloudCmd::transmissionProgressSlot() +{ + // do something nice here. +} + + void help() { std::cout << "owncloudcmd - command line ownCloud client tool." << std::endl; @@ -136,98 +246,20 @@ int main(int argc, char **argv) { CmdOptions options; options.silent = false; options.trustSSL = false; - ClientProxy clientProxy; parseOptions( app.arguments(), &options ); - QUrl url(options.target_url.toUtf8()); - Account account; + OwncloudCmd owncloudCmd(options); - // Find the folder and the original owncloud url - QStringList splitted = url.path().split(account.davPath()); - url.setPath(splitted.value(0)); - url.setScheme(url.scheme().replace("owncloud", "http")); - QString folder = splitted.value(1); - - SimpleSslErrorHandler *sslErrorHandler = new SimpleSslErrorHandler; - - account.setUrl(url); - account.setCredentials(new HttpCredentials(url.userName(), url.password())); - account.setSslErrorHandler(sslErrorHandler); - AccountManager::instance()->setAccount(&account); - - CSYNC *_csync_ctx; - if( csync_create( &_csync_ctx, options.source_dir.toUtf8(), - options.target_url.toUtf8()) < 0 ) { - qFatal("Unable to create csync-context!"); - return EXIT_FAILURE; + QObject::connect(&owncloudCmd, SIGNAL(finished()), &app, SLOT(quit())); + if( !owncloudCmd.runSync() ) { + return 1; } - int rc = ne_sock_init(); - if (rc < 0) { - qFatal("ne_sock_init failed!"); - } - - csync_set_log_level(options.silent ? 1 : 11); - Logger::instance()->setLogFile("-"); - - csync_set_userdata(_csync_ctx, &options); - csync_set_auth_callback( _csync_ctx, getauth ); - - if( csync_init( _csync_ctx ) < 0 ) { - qFatal("Could not initialize csync!"); - return EXIT_FAILURE; - } - - csync_set_module_property(_csync_ctx, "csync_context", _csync_ctx); - if( !options.proxy.isNull() ) { - QString host; - int port = 0; - bool ok; - - // Set as default and let overwrite later - csync_set_module_property(_csync_ctx, "proxy_type", (void*) "NoProxy"); - - QStringList pList = options.proxy.split(':'); - if(pList.count() == 3) { - // http: //192.168.178.23 : 8080 - // 0 1 2 - host = pList.at(1); - if( host.startsWith("//") ) host.remove(0, 2); - - port = pList.at(2).toInt(&ok); - - if( !host.isNull() ) { - csync_set_module_property(_csync_ctx, "proxy_type", (void*) "HttpProxy"); - csync_set_module_property(_csync_ctx, "proxy_host", host.toUtf8().data()); - if( ok && port ) { - csync_set_module_property(_csync_ctx, "proxy_port", (void*) &port); - } - } - } - } else { - clientProxy.setupQtProxyFromConfig(); - QString url( options.target_url ); - if( url.startsWith("owncloud")) { - url.remove(0, 8); - url = QString("http%1").arg(url); - } - clientProxy.setCSyncProxy(QUrl(url), _csync_ctx); - } - - OwncloudCmd owncloudCmd; - - SyncJournalDb db(options.source_dir); - SyncEngine engine(_csync_ctx, options.source_dir, QUrl(options.target_url).path(), folder, &db); - QObject::connect(&engine, SIGNAL(finished()), &app, SLOT(quit())); - QObject::connect(&engine, SIGNAL(transmissionProgress(Progress::Info)), &owncloudCmd, SLOT(transmissionProgressSlot())); - - // Have to be done async, else, an error before exec() does not terminate the event loop. - QMetaObject::invokeMethod(&engine, "startSync", Qt::QueuedConnection); app.exec(); - csync_destroy(_csync_ctx); + owncloudCmd.destroy(); ne_sock_exit(); diff --git a/src/owncloudcmd/owncloudcmd.h b/src/owncloudcmd/owncloudcmd.h index ae55305b0..4b6836bd6 100644 --- a/src/owncloudcmd/owncloudcmd.h +++ b/src/owncloudcmd/owncloudcmd.h @@ -18,14 +18,44 @@ #include +#include "csync.h" + +#include "mirall/connectionvalidator.h" +#include "mirall/clientproxy.h" +#include "mirall/account.h" + +using namespace Mirall; + +struct CmdOptions { + QString source_dir; + QString target_url; + QString config_directory; + QString proxy; + bool silent; + bool trustSSL; +}; class OwncloudCmd : public QObject { Q_OBJECT public: - OwncloudCmd() : QObject() { } + OwncloudCmd(CmdOptions options); + bool runSync(); + void destroy(); + public slots: - void transmissionProgressSlot() { - } + void slotConnectionValidatorResult(ConnectionValidator::Status stat); + void transmissionProgressSlot(); + +signals: + void finished(); + +private: + CmdOptions _options; + ConnectionValidator *_conValidator; + CSYNC *_csync_ctx; + Account *_account; + ClientProxy _clientProxy; + QString _folder; }; #endif From 92f07cb60f02d23505be566113eb918142159492 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 25 Jun 2014 12:01:27 +0200 Subject: [PATCH 080/190] Enable C++11 In order to avoid the warning warning: anonymous variadic macros were introduced in C99 Due to the use of variadic macro in the qDebug macro in Qt 5.3 C++11 requires a space between string literal and macro to avoid the ambiguity with user defined litteral --- cmake/modules/Warnings.cmake | 2 ++ src/mirall/application.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/cmake/modules/Warnings.cmake b/cmake/modules/Warnings.cmake index 0e1b17308..29a2de8d0 100644 --- a/cmake/modules/Warnings.cmake +++ b/cmake/modules/Warnings.cmake @@ -6,9 +6,11 @@ if(CMAKE_COMPILER_IS_GNUCXX) else(GCC_VERSION VERSION_GREATER 4.8 OR GCC_VERSION VERSION_EQUAL 4.8) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -Wno-long-long") endif(GCC_VERSION VERSION_GREATER 4.8 OR GCC_VERSION VERSION_EQUAL 4.8) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") endif(CMAKE_COMPILER_IS_GNUCXX) if(CMAKE_CXX_COMPILER MATCHES "clang") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -Wno-long-long") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") endif(CMAKE_CXX_COMPILER MATCHES "clang") # TODO: handle msvc compilers warnings? diff --git a/src/mirall/application.cpp b/src/mirall/application.cpp index 30a4376c4..d8f5ae3f8 100644 --- a/src/mirall/application.cpp +++ b/src/mirall/application.cpp @@ -71,7 +71,7 @@ QString applicationTrPath() #elif defined(Q_OS_MAC) return QApplication::applicationDirPath()+QLatin1String("/../Resources/Translations"); // path defaults to app dir. #elif defined(Q_OS_UNIX) - return QString::fromLatin1(DATADIR"/"APPLICATION_EXECUTABLE"/i18n/"); + return QString::fromLatin1(DATADIR "/" APPLICATION_EXECUTABLE "/i18n/"); #endif } } From 48864a69210bcafb3467a0cf93e5fd907f4aa342 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 25 Jun 2014 12:15:30 +0200 Subject: [PATCH 081/190] httpcredentials: Remove useless mutex The mutex is not shared with any thread, so it is totaly useless. Yes: there are possible races here. (with the account, but also with the user and password) --- src/creds/httpcredentials.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/creds/httpcredentials.cpp b/src/creds/httpcredentials.cpp index f5ab3b68b..72d238713 100644 --- a/src/creds/httpcredentials.cpp +++ b/src/creds/httpcredentials.cpp @@ -48,8 +48,9 @@ int getauth(const char *prompt, void *userdata) { int re = 0; - QMutex mutex; - // ### safe? + + // ### safe? Not really. If the wizard is run in the main thread, the caccount could change during the sync. + // Ideally, http_credentials could be use userdata, but userdata is the SyncEngine. HttpCredentials* http_credentials = qobject_cast(AccountManager::instance()->account()->credentials()); if (!http_credentials) { @@ -63,10 +64,8 @@ int getauth(const char *prompt, if( qPrompt == QLatin1String("Enter your username:") ) { // qDebug() << "OOO Username requested!"; - QMutexLocker locker( &mutex ); qstrncpy( buf, user.toUtf8().constData(), len ); } else if( qPrompt == QLatin1String("Enter your password:") ) { - QMutexLocker locker( &mutex ); // qDebug() << "OOO Password requested!"; qstrncpy( buf, pwd.toUtf8().constData(), len ); } else { From a54162e009104cd817bf1fbd3767ae5bd4dc0c00 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Wed, 25 Jun 2014 06:31:32 -0400 Subject: [PATCH 082/190] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 8 +- translations/mirall_cs.ts | 28 ++--- translations/mirall_de.ts | 28 ++--- translations/mirall_el.ts | 8 +- translations/mirall_en.ts | 8 +- translations/mirall_es.ts | 28 ++--- translations/mirall_es_AR.ts | 8 +- translations/mirall_et.ts | 28 ++--- translations/mirall_eu.ts | 8 +- translations/mirall_fa.ts | 8 +- translations/mirall_fi.ts | 28 ++--- translations/mirall_fr.ts | 8 +- translations/mirall_gl.ts | 28 ++--- translations/mirall_hu.ts | 8 +- translations/mirall_it.ts | 8 +- translations/mirall_ja.ts | 8 +- translations/mirall_nl.ts | 39 +++---- translations/mirall_pl.ts | 8 +- translations/mirall_pt.ts | 21 ++-- translations/mirall_pt_BR.ts | 28 ++--- translations/mirall_ru.ts | 8 +- translations/mirall_sk.ts | 8 +- translations/mirall_sl.ts | 8 +- translations/mirall_sv.ts | 8 +- translations/mirall_th.ts | 8 +- translations/mirall_tr.ts | 28 ++--- translations/mirall_uk.ts | 8 +- translations/mirall_zh_CN.ts | 8 +- translations/mirall_zh_TW.ts | 202 +++++++++++++++++------------------ 29 files changed, 316 insertions(+), 314 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index 12ee6bc4f..a3d872bcd 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -1293,7 +1293,7 @@ No és aconsellada usar-la. - + A file or directory was removed from a read only share, but restoring failed: %1 S'ha eliminat un fitxer o carpeta de la compartició nómés de lectura, però la restauració ha fallat: %1 @@ -1937,17 +1937,17 @@ Proveu de sincronitzar-los de nou. 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. - + 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. diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index af65d9a26..7d5ccd6d2 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -1290,10 +1290,10 @@ Nedoporučuje se jí používat. ; Restoration Failed: - + ; Obnovení Selhalo: - + A file or directory was removed from a read only share, but restoring failed: %1 Soubor nebo adresář by odebrán ze sdílení pouze pro čtení, ale jeho obnovení selhalo: %1 @@ -1938,17 +1938,17 @@ Zkuste provést novou synchronizaci. 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. - + 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. @@ -1965,48 +1965,48 @@ Zkuste provést novou synchronizaci. 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 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 diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index 6927e013a..92426580f 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -1291,10 +1291,10 @@ Es ist nicht ratsam, diese zu benutzen. ; Restoration Failed: - + ; Wiederherstellung fehlgeschlagen: - + A file or directory was removed from a read only share, but restoring failed: %1 Eine Datei oder Verzeichnis wurde von einer Nur-Lese-Freigabe wiederhergestellt, aber die Wiederherstellung ist mit folgendem Fehler fehlgeschlagen: %1 @@ -1938,17 +1938,17 @@ Versuchen Sie diese nochmals zu synchronisieren. 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. - + 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. @@ -1965,48 +1965,48 @@ Versuchen Sie diese nochmals zu synchronisieren. 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 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 diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index c3d2b3276..12e818011 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -1294,7 +1294,7 @@ It is not advisable to use it. - + A file or directory was removed from a read only share, but restoring failed: %1 Ένα αρχείο ή ένας κατάλογος αφαιρέθηκε από ένα διαμοιρασμένο κατάλογο μόνο για ανάγνωση, αλλά η επαναφορά απέτυχε: %1 @@ -1938,17 +1938,17 @@ It is not advisable to use it. Το αντικείμενο δεν είναι συγχρονισμένο λόγω προηγούμενων σφαλμάτων: %1 - + Symbolic links are not supported in syncing. Οι συμβολικού σύνδεσμοι δεν υποστηρίζονται για το συγχρονισμό. - + File is listed on the ignore list. Το αρχείο περιέχεται στη λίστα αρχείων προς αγνόηση. - + File contains invalid characters that can not be synced cross platform. Το αρχείο περιέχει άκυρους χαρακτήρες που δεν μπορούν να συγχρονιστούν σε όλα τα συστήματα. diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index 57c31db74..ebf6fd3e3 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -1287,7 +1287,7 @@ It is not advisable to use it. - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1928,17 +1928,17 @@ It is not advisable to use it. - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 1e8ed0411..7763db32b 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -1290,10 +1290,10 @@ No se recomienda usarlo. ; Restoration Failed: - + ; Falló la restauración: - + A file or directory was removed from a read only share, but restoring failed: %1 Un archivo o directorio fue eliminado de una carpeta compartida en modo de solo lectura, pero la recuperación falló: %1 @@ -1937,17 +1937,17 @@ Intente sincronizar los archivos nuevamente. El elemento no está sincronizado por errores previos: %1 - + Symbolic links are not supported in syncing. Los enlaces simbolicos no estan sopertados. - + 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. @@ -1964,48 +1964,48 @@ Intente sincronizar los archivos nuevamente. 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. 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 diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index a7374c068..5df40f592 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -1290,7 +1290,7 @@ It is not advisable to use it. - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1932,17 +1932,17 @@ Intente sincronizar estos nuevamente. - + Symbolic links are not supported in syncing. Los vínculos simbólicos no está soportados al sincronizar. - + 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. diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index f8d1d49ce..bcfdd40e3 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -1290,10 +1290,10 @@ Selle kasutamine pole soovitatav. ; Restoration Failed: - + ; Taastamine ebaõnnestus: - + A file or directory was removed from a read only share, but restoring failed: %1 Fail või kataloog oli eemaldatud kirjutamisõiguseta jagamisest, kuid taastamine ebaõnnestus: %1 @@ -1937,17 +1937,17 @@ Proovi neid uuesti sünkroniseerida. Üksust ei sünkroniseeritud eelnenud vigade tõttu: %1 - + Symbolic links are not supported in syncing. Sümboolsed 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. @@ -1964,48 +1964,48 @@ Proovi neid uuesti sünkroniseerida. 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 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 diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 3c356b085..4c78417a2 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -1287,7 +1287,7 @@ It is not advisable to use it. - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1929,17 +1929,17 @@ Saiatu horiek berriz sinkronizatzen. - + Symbolic links are not supported in syncing. Esteka sinbolikoak ezin dira sinkronizatu. - + File is listed on the ignore list. Fitxategia baztertutakoen zerrendan dago. - + File contains invalid characters that can not be synced cross platform. diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 36af1f9e2..48d9cfeed 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -1285,7 +1285,7 @@ It is not advisable to use it. - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1926,17 +1926,17 @@ It is not advisable to use it. - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 35b073856..be057410b 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -157,7 +157,7 @@ No connection to %1 at <a href="%2">%3</a>. - + Ei yhteyttä %1iin osoitteessa <a href="%2">%3</a>. @@ -200,7 +200,7 @@ Aikaa jäljellä yhteensä %5 Connected to <a href="%1">%2</a> as <i>%3</i>. - + Yhdistetty kohteeseen <a href="%1">%2</a> käyttäjänä <i>%3</i>. @@ -290,7 +290,7 @@ Aikaa jäljellä yhteensä %5 %1 and %2 other files have been removed. %1 names a file. - + %1 ja %2 muuta tiedostoa on poistettu. @@ -302,7 +302,7 @@ Aikaa jäljellä yhteensä %5 %1 and %2 other files have been downloaded. %1 names a file. - + %1 ja %2 muuta tiedostoa on ladattu. @@ -313,7 +313,7 @@ Aikaa jäljellä yhteensä %5 %1 and %2 other files have been updated. - + %1 ja %2 muuta tiedostoa on päivitetty. @@ -1254,7 +1254,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Sync was aborted by user. - + Synkronointi peruttiin käyttäjän toimesta. @@ -1288,7 +1288,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1364,7 +1364,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Sync was aborted by user. - + Synkronointi peruttiin käyttäjän toimesta. @@ -1931,17 +1931,17 @@ Osoitteen käyttäminen ei ole suositeltavaa. Kohdetta ei synkronoitu aiempien virheiden vuoksi: %1 - + Symbolic links are not supported in syncing. Symboliset linkit eivät ole tuettuja synkronoinnissa. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. @@ -1989,17 +1989,17 @@ Osoitteen käyttäminen ei ole suositeltavaa. 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 diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index efb2fd13f..5b67af1d8 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -1293,7 +1293,7 @@ Il est déconseillé de l'utiliser. - + A file or directory was removed from a read only share, but restoring failed: %1 Un fichier ou un dossier a été supprimé du partage en lecture seule, mais la restauration à échoué : %1 @@ -1937,17 +1937,17 @@ Il est déconseillé de l'utiliser. 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 supportés par la synchronisation. - + File is listed on the ignore list. Le fichier est présent dans la liste de fichiers à ignorer. - + File contains invalid characters that can not be synced cross platform. Le fichier contient des caractères invalides qui ne peuvent être synchronisés entre plate-formes. diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index c17c0b8fa..8f936b568 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -1290,10 +1290,10 @@ Recomendámoslle que non o use. ; Restoration Failed: - + ; Fallou a restauración: - + A file or directory was removed from a read only share, but restoring failed: %1 Foi retirado un ficheiro ou directorio desde unha compartición de só lectura, mais non foi posíbel a súa restauración: %1 @@ -1937,17 +1937,17 @@ Tente sincronizalos de novo. 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 - + 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. @@ -1964,48 +1964,48 @@ Tente sincronizalos de novo. 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 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 diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index e29fc28f8..f0905e08b 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -1285,7 +1285,7 @@ It is not advisable to use it. - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1926,17 +1926,17 @@ It is not advisable to use it. - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 518dd0e3f..5202591bf 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -1292,7 +1292,7 @@ Non è consigliabile utilizzarlo. - + A file or directory was removed from a read only share, but restoring failed: %1 Un file o una cartella è stato rimosso da una condivisione in sola lettura, ma il ripristino non è riuscito: %1 @@ -1936,17 +1936,17 @@ Prova a sincronizzare nuovamente. 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. - + 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. diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index 5fd4776a7..ea2050473 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -1291,7 +1291,7 @@ It is not advisable to use it. - + A file or directory was removed from a read only share, but restoring failed: %1 ファイルまたはディレクトリが読み込み専用の共有から削除されましたが、復元に失敗しました: %1 @@ -1935,17 +1935,17 @@ It is not advisable to use it. このアイテムは、以前にエラーが発生していたため同期させません: %1 - + Symbolic links are not supported in syncing. 同期の際にシンボリックリンクはサポートしていません - + File is listed on the ignore list. ファイルは除外リストに登録されています。 - + File contains invalid characters that can not be synced cross platform. ファイルに無効な文字が含まれているため、クロスプラットフォーム環境での同期ができません。 diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index d3b1f9849..76a81eac8 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -183,13 +183,14 @@ %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 of %4) %5 over bij een snelheid van %6/s %1 of %2, file %3 of %4 Total time left %5 - + %1 van %2, file %3 van %4 +Totaal resterende tijd %5 @@ -1289,10 +1290,10 @@ We adviseren deze site niet te gebruiken. ; Restoration Failed: - + ; Herstel mislukte: - + A file or directory was removed from a read only share, but restoring failed: %1 Er is een bestand of map verwijderd van een alleen-lezen share, maar herstellen is mislukt: %1 @@ -1386,7 +1387,7 @@ We adviseren deze site niet te gebruiken. The local file was removed during sync. - + Het lokale bestand werd verwijderd tijdens sync. @@ -1936,17 +1937,17 @@ Probeer opnieuw te synchroniseren. Dit onderwerp is niet gesynchroniseerd door eerdere fouten: %1 - + Symbolic links are not supported in syncing. Symbolic links worden niet ondersteund bij het synchroniseren. - + 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. @@ -1963,48 +1964,48 @@ Probeer opnieuw te synchroniseren. 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 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 @@ -2133,12 +2134,12 @@ Probeer opnieuw te synchroniseren. Syncing %1 of %2 (%3 left) - + Sync %1 van %2 (%3 over) Syncing %1 (%2 left) - + Sync %1 (%2 over) diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index 8df1efebb..5dc84c6fd 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -1292,7 +1292,7 @@ Niezalecane jest jego użycie. - + A file or directory was removed from a read only share, but restoring failed: %1 Plik lub katalog został usunięty z udziału z prawem tylko do odczytu, ale przywrócenie nie powiodło się: %1 @@ -1936,17 +1936,17 @@ Niezalecane jest jego użycie. 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. - + 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. diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 07bb267af..08e45672b 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -183,13 +183,14 @@ %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 de %4) %5 faltando a uma taxa de %6/s %1 of %2, file %3 of %4 Total time left %5 - + + @@ -1289,7 +1290,7 @@ It is not advisable to use it. - + A file or directory was removed from a read only share, but restoring failed: %1 Um ficheiro ou um directório foi removido de uma partilha apenas de leitura, mas o restauro falhou: %1 @@ -1383,7 +1384,7 @@ It is not advisable to use it. The local file was removed during sync. - + O arquivo local foi removido durante a sincronização. @@ -1393,7 +1394,7 @@ It is not advisable to use it. The server did not acknowledge the last chunk. (No e-tag were present) - + O servidor não reconheceu o último bloco. (Nenhuma e-tag estava presente) @@ -1934,17 +1935,17 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n O item não está sincronizado devido a erros anteriores: %1 - + Symbolic links are not supported in syncing. - + 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. @@ -2131,12 +2132,12 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n Syncing %1 of %2 (%3 left) - + Sincronizar %1 de %2 (%3 faltando) Syncing %1 (%2 left) - + Sincronizando %1 (%2 faltando) diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index aa3c37bb8..ed3b713e0 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -1288,10 +1288,10 @@ It is not advisable to use it. ; Restoration Failed: - + ; Falha na Restauração: - + A file or directory was removed from a read only share, but restoring failed: %1 Um arquivo ou diretório foi removido de um compartilhamento somente de leitura, mas a restauração falhou: %1 @@ -1935,17 +1935,17 @@ Tente sincronizar novamente. 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. - + 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. @@ -1962,48 +1962,48 @@ Tente sincronizar novamente. 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 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 diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index d0f8ec438..5f3eb8e3c 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -1292,7 +1292,7 @@ It is not advisable to use it. - + A file or directory was removed from a read only share, but restoring failed: %1 Файл или каталог был удалён из опубликованной папки с правами только для чтения, но восстановить его не удалось: %1 @@ -1936,17 +1936,17 @@ It is not advisable to use it. Путь не синхронизируется из-за произошедших ошибок: %1 - + Symbolic links are not supported in syncing. Синхронизация символических ссылок не поддерживается. - + File is listed on the ignore list. Файл присутствует в списке игнорируемых. - + File contains invalid characters that can not be synced cross platform. Файл содержит недопустимые символы, которые невозможно синхронизировать между платформами. diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index 66459ada4..066b13553 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -1292,7 +1292,7 @@ Nie je vhodné ju používať. - + A file or directory was removed from a read only share, but restoring failed: %1 Súbor alebo priečinok bol odobratý zo zdieľania len na čítanie, ale jeho obnovenie zlyhalo: %1 @@ -1935,17 +1935,17 @@ Nie je vhodné ju používať. 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. - + 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. diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 08a445319..2b33b9d51 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -1292,7 +1292,7 @@ Uporaba ni priporočljiva. - + A file or directory was removed from a read only share, but restoring failed: %1 Datoteka ali mapa je bila odstranjena iz mesta v souporabi, ki je nastavljeno le za branje, obnavljanje pa je spodletelo: %1 @@ -1936,17 +1936,17 @@ Te je treba uskladiti znova. Predmet ni usklajen zaradi predhodne napake: %1 - + Symbolic links are not supported in syncing. Usklajevanje simbolnih povezav ni podprto. - + 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. diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 442e624a4..f13d56c07 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -1292,7 +1292,7 @@ Det är inte lämpligt använda den. - + A file or directory was removed from a read only share, but restoring failed: %1 En fil eller katalog togs bort från en endast-läsbar delning, men återställning misslyckades: %1 @@ -1936,17 +1936,17 @@ Försök att synka dessa igen. 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. - + 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. diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index 23ca2ed8e..d8e9ae955 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -1285,7 +1285,7 @@ It is not advisable to use it. - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1926,17 +1926,17 @@ It is not advisable to use it. - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index c51fa0952..4d1b80d52 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -1290,10 +1290,10 @@ Kullanmanız önerilmez. ; Restoration Failed: - + ; Geri Yükleme Başarısız: - + A file or directory was removed from a read only share, but restoring failed: %1 Bir dosya veya dizin bir salt okunur paylaşımdan kaldırılmıştı, ancak geri yükleme başarısız oldu: %1 @@ -1937,17 +1937,17 @@ Bu dosyaları tekrar eşitlemeyi deneyin. 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. - + 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. @@ -1964,48 +1964,48 @@ Bu dosyaları tekrar eşitlemeyi deneyin. 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 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 diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index c77111b5d..f5eef55ff 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -1285,7 +1285,7 @@ It is not advisable to use it. - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1926,17 +1926,17 @@ It is not advisable to use it. - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 665242864..e0f856833 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -1290,7 +1290,7 @@ It is not advisable to use it. - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1931,17 +1931,17 @@ It is not advisable to use it. - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index c2da310c0..e6d0477b7 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -47,7 +47,7 @@ Folders - + 資料夾 @@ -101,7 +101,7 @@ Add Folder... - + 新增資料夾… @@ -250,7 +250,7 @@ Total time left %5 Unable to connect to %1 - + 無法連線到 %1 @@ -283,7 +283,7 @@ Total time left %5 %1: %2 - + %1: %2 @@ -344,7 +344,7 @@ Total time left %5 Sync Activity - + 同步啟用 @@ -362,17 +362,17 @@ Are you sure you want to perform this operation? Remove All Files? - + 移除所有檔案? Remove all files - + 移除所有檔案 Keep files - + 保留檔案 @@ -400,7 +400,7 @@ Are you sure you want to perform this operation? Preparing for sync. - + 正在準備同步。 @@ -430,7 +430,7 @@ Are you sure you want to perform this operation? User Abort. - + 使用者中斷。 @@ -440,7 +440,7 @@ Are you sure you want to perform this operation? %1 (Sync is paused) - + %1 (同步暫停) @@ -449,7 +449,7 @@ Are you sure you want to perform this operation? File - + 檔案 @@ -544,7 +544,7 @@ Are you sure you want to perform this operation? Add Remote Folder - + 新增遠端資料夾 @@ -588,7 +588,7 @@ Are you sure you want to perform this operation? <b>Warning:</b> - + <b>警告:</b> @@ -619,22 +619,22 @@ Are you sure you want to perform this operation? General Setttings - + 一般設定 Launch on System Startup - + 當系統開機時啟用 Show Desktop Notifications - + 顯示桌面通知 Use Monochrome Icons - + 使用單色圖示 @@ -645,12 +645,12 @@ Are you sure you want to perform this operation? Updates - + 更新 &Restart && Update - + 重新啟動並更新 @@ -658,12 +658,12 @@ Are you sure you want to perform this operation? Enter Password - + 輸入密碼 Please enter %1 password for user '%2': - + 請輸入使用者 %2 的密碼 %1 : @@ -693,12 +693,12 @@ Checked items will also be deleted if they prevent a directory from being remove Could not open file - + 無法開啟檔案 Cannot write changes to '%1'. - + %1 無法寫入變更。 @@ -807,7 +807,7 @@ Checked items will also be deleted if they prevent a directory from being remove Skip this version - + 跳過這個版本 @@ -855,7 +855,7 @@ Checked items will also be deleted if they prevent a directory from being remove : - + : @@ -865,35 +865,35 @@ Checked items will also be deleted if they prevent a directory from being remove Download Bandwidth - + 下載頻寬 Limit to - + 限制到 KBytes/s - + KBytes/s No limit - + 沒有限制 Upload Bandwidth - + 上傳頻寬 Limit automatically - + 自動限制 @@ -913,12 +913,12 @@ Checked items will also be deleted if they prevent a directory from being remove HTTP(S) proxy - + HTTP(S) 代理伺服器 SOCKS5 proxy - + SOCKS5 代理伺服器 @@ -975,17 +975,17 @@ for additional privileges during the process. Connect to %1 - + 連線到 %1 Setup local folder options - + 設定本地資料夾選項 Connect... - + 連線中... @@ -1010,12 +1010,12 @@ for additional privileges during the process. Local Sync Folder - + 本地同步資料夾 Update advanced setup - + 更新進階設定 @@ -1023,17 +1023,17 @@ for additional privileges during the process. Connect to %1 - + 連線到 %1 Enter user credentials - + 請輸入使用者憑證 Update user credentials - + 更新使用者憑證 @@ -1041,12 +1041,12 @@ for additional privileges during the process. Connect to %1 - + 連線到 %1 Setup %1 server - + 設定 %1 伺服器 @@ -1072,7 +1072,7 @@ It is not advisable to use it. Update %1 server - + 更新 %1 伺服器 @@ -1101,7 +1101,7 @@ It is not advisable to use it. Error: Wrong credentials. - + 錯誤: 錯誤的憑證。 @@ -1285,7 +1285,7 @@ It is not advisable to use it. - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1402,17 +1402,17 @@ It is not advisable to use it. Sync Activity - + 同步啟用 3 - + 3 4 - + 4 @@ -1422,7 +1422,7 @@ It is not advisable to use it. File - + 檔案 @@ -1432,7 +1432,7 @@ It is not advisable to use it. Action - + 動作 @@ -1442,7 +1442,7 @@ It is not advisable to use it. Retry Sync - + 重試同步 @@ -1486,7 +1486,7 @@ It is not advisable to use it. %1 - + %1 @@ -1501,7 +1501,7 @@ It is not advisable to use it. Network - + 網路 @@ -1514,7 +1514,7 @@ It is not advisable to use it. %1 - + %1 @@ -1534,7 +1534,7 @@ It is not advisable to use it. Network - + 網路 @@ -1570,7 +1570,7 @@ It is not advisable to use it. %1 - %2 - + %1 - %2 @@ -1603,7 +1603,7 @@ It is not advisable to use it. State/Province: - + 州或省: @@ -1613,7 +1613,7 @@ It is not advisable to use it. Serial: - + 序號: @@ -1633,7 +1633,7 @@ It is not advisable to use it. Expires on: - + 過期於: @@ -1643,7 +1643,7 @@ It is not advisable to use it. MD 5: - + MD 5: @@ -1653,7 +1653,7 @@ It is not advisable to use it. SHA-1: - + SHA-1: @@ -1668,7 +1668,7 @@ It is not advisable to use it. %1 - + %1 @@ -1679,7 +1679,7 @@ It is not advisable to use it. Certificate information: - + 憑證資訊: @@ -1926,17 +1926,17 @@ It is not advisable to use it. - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + File contains invalid characters that can not be synced cross platform. @@ -2002,7 +2002,7 @@ It is not advisable to use it. %1: %2 - + %1: %2 @@ -2018,7 +2018,7 @@ It is not advisable to use it. Please sign in - + 請登入 @@ -2038,7 +2038,7 @@ It is not advisable to use it. None. - + 無。 @@ -2058,12 +2058,12 @@ It is not advisable to use it. Open folder '%1' - + 開啟 %1 資料夾 Open %1 in browser - + 瀏覽器中開啟 %1 @@ -2073,17 +2073,17 @@ It is not advisable to use it. Unknown status - + 未知狀態 Settings... - + 設定… Details... - + 細節… @@ -2093,22 +2093,22 @@ It is not advisable to use it. Quit %1 - + 離開 %1 Sign in... - + 登入中... Sign out - + 登出 Quota n/a - + 無配額 @@ -2158,7 +2158,7 @@ It is not advisable to use it. &Local Folder - + 本地資料夾(&L) @@ -2168,12 +2168,12 @@ It is not advisable to use it. &Keep local data - + 保留本地資料(&K) <small>Syncs your existing data to new location.</small> - + <small>將現有的資料同步至新地點。</small> @@ -2183,7 +2183,7 @@ It is not advisable to use it. &Start a clean sync - + 開始一個全新的同步 @@ -2193,7 +2193,7 @@ It is not advisable to use it. Status message - + 狀態訊息 @@ -2206,17 +2206,17 @@ It is not advisable to use it. &Username - + 使用者名稱 &Password - + 密碼 Error Label - + 錯誤標籤 @@ -2342,27 +2342,27 @@ It is not advisable to use it. %L1 TB - + %L1 TB %L1 GB - + %L1 GB %L1 MB - + %L1 MB %L1 kB - + %L1 kB %L1 B - + %L1 B @@ -2420,7 +2420,7 @@ It is not advisable to use it. Moved to %1 - + 搬移到 %1 @@ -2446,12 +2446,12 @@ It is not advisable to use it. downloading - + 下載中 uploading - + 上傳中 @@ -2511,7 +2511,7 @@ It is not advisable to use it. Sync Error - + 同步失敗 @@ -2521,22 +2521,22 @@ It is not advisable to use it. The server is currently unavailable - + 伺服器目前無法使用。 Preparing to sync - + 正在準備同步。 Aborting... - + 中斷中… Sync is paused - + 同步已暫停 \ No newline at end of file From a92f1cb0550ad5b88ee8e4225d6d9f831cdeb959 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Wed, 25 Jun 2014 06:34:41 -0400 Subject: [PATCH 083/190] [tx-robot] updated from transifex --- admin/win/nsi/l10n/Catalan.nsh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/admin/win/nsi/l10n/Catalan.nsh b/admin/win/nsi/l10n/Catalan.nsh index 05ee422be..4440e209a 100644 --- a/admin/win/nsi/l10n/Catalan.nsh +++ b/admin/win/nsi/l10n/Catalan.nsh @@ -6,15 +6,15 @@ StrCpy $PageReinstall_NEW_Field_2 "Desinstal·lar abans d'instal·lar" StrCpy $PageReinstall_NEW_Field_3 "No instal·lar" StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Ja instal·lat" StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Trieu la manera com voleu instal·lar ${APPLICATION_NAME}." +StrCpy $PageReinstall_OLD_Field_1 "Una versió més recent de ${APPLICATION_NAME} ja està instal.lada!! No es recomana instal.lar una versió més antiga. Si realment voleu instal.lar una versió més antiga, és millor primer desinstal.lar la versió actual. Seleccioni l'operació que desitjeu realitzar i feu clic a Següent per a continuar." +StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} ja està instal.lat.↩\nSeleccioneu l'operació que desitjeu realitzar i feu clic a Següent per continuar." +StrCpy $PageReinstall_SAME_Field_2 "Afegir/Reinstal.lar components" +StrCpy $PageReinstall_SAME_Field_3 "Desinstal.lar ${APPLICATION_NAME}" +StrCpy $UNINSTALLER_APPDATA_TITLE "Desinstal.lar ${APPLICATION_NAME}" StrCpy $UNINSTALLER_FINISHED_Detail "Acabat" StrCpy $SectionGroup_Shortcuts "Dreceres" StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Found ${APPLICATION_EXECUTABLE} process(s) which need to be stopped.$\nDo you want the installer to stop these for you?" StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Killing ${APPLICATION_EXECUTABLE} processes." -StrCpy $PageReinstall_OLD_Field_1 "A newer version of ${APPLICATION_NAME} is already installed! It is not recommended that you install an older version. If you really want to install this older version, it is better to uninstall the current version first. Select the operation you want to perform and click Next to continue." -StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is already installed.\r\nSelect the operation you want to perform and click Next to continue." -StrCpy $PageReinstall_SAME_Field_2 "Add/Reinstall components" -StrCpy $PageReinstall_SAME_Field_3 "Uninstall ${APPLICATION_NAME}" -StrCpy $UNINSTALLER_APPDATA_TITLE "Uninstall ${APPLICATION_NAME}" StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Choose the maintenance option to perform." StrCpy $SEC_APPLICATION_DETAILS "Installing ${APPLICATION_NAME} essentials." StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Start Menu Program Shortcut" From 23e0af5cc16da2ba8b25c1ccb8e946ad0fb06a04 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Wed, 25 Jun 2014 22:04:33 +0200 Subject: [PATCH 084/190] Documentation update from Mark. --- doc/accountsetup.rst | 41 ++- doc/architecture.rst | 249 +++++++------- doc/autoupdate.rst | 139 +++++--- doc/building.rst | 160 +++++---- doc/conffile.rst | 24 +- doc/faq.rst | 19 +- doc/images/client_setup_wizard_components.png | Bin 0 -> 35196 bytes .../client_setup_wizard_install_finish.png | Bin 0 -> 21141 bytes .../client_setup_wizard_install_progress.png | Bin 0 -> 19726 bytes doc/images/client_setup_wizard_location.png | Bin 0 -> 30498 bytes doc/images/client_setup_wizard_main.png | Bin 0 -> 25868 bytes doc/images/client_setup_wizard_reinstall.png | Bin 0 -> 33624 bytes doc/images/client_setup_wizard_uninstall.png | Bin 0 -> 33621 bytes .../client_setup_wizard_uninstall_2.png | Bin 0 -> 29159 bytes .../client_setup_wizard_uninstall_3.png | Bin 0 -> 31134 bytes doc/images/download_button.png | Bin 0 -> 1163 bytes doc/images/log_output_window.png | Bin 0 -> 43946 bytes doc/images/oc_client_download_options.png | Bin 0 -> 7171 bytes doc/images/oc_client_linux_download.png | Bin 0 -> 35366 bytes doc/images/oc_client_macosx_download.png | Bin 0 -> 33779 bytes doc/images/oc_client_windows_download.png | Bin 0 -> 24779 bytes doc/images/oc_client_windows_option.png | Bin 0 -> 1689 bytes .../oc_connection_wizard_credentials.png | Bin 0 -> 33007 bytes doc/images/oc_connection_wizard_finish.png | Bin 0 -> 40657 bytes .../oc_connection_wizard_localfolder.png | Bin 0 -> 37287 bytes doc/images/oc_connection_wizard_server.png | Bin 0 -> 32433 bytes doc/images/oc_website.png | Bin 0 -> 72353 bytes doc/images/owncloud_logo_transparent.png | Bin 0 -> 47374 bytes doc/images/owncloud_small_wh_bl.jpg | Bin 0 -> 11741 bytes doc/images/save_log_file.png | Bin 0 -> 68034 bytes doc/images/security_warning_windows.png | Bin 0 -> 13093 bytes doc/index.rst | 5 +- doc/installing-linux.rst | 208 ++++++++++++ doc/installing-macosx.rst | 4 + doc/installing-windows.rst | 102 ++++++ doc/installing.rst | 13 + doc/introduction.rst | 34 +- doc/logo-blue.pdf | Bin 1851 -> 1849 bytes doc/navigating.rst | 313 ++++++++++++++++++ doc/ocdoc | 2 +- doc/options.rst | 15 +- doc/owncloud.1.rst | 8 +- doc/owncloudcmd.1.rst | 28 +- doc/owncloudcmd.rst | 57 ++-- doc/troubleshooting.rst | 265 +++++++++------ 45 files changed, 1218 insertions(+), 468 deletions(-) create mode 100644 doc/images/client_setup_wizard_components.png create mode 100644 doc/images/client_setup_wizard_install_finish.png create mode 100644 doc/images/client_setup_wizard_install_progress.png create mode 100644 doc/images/client_setup_wizard_location.png create mode 100644 doc/images/client_setup_wizard_main.png create mode 100644 doc/images/client_setup_wizard_reinstall.png create mode 100644 doc/images/client_setup_wizard_uninstall.png create mode 100644 doc/images/client_setup_wizard_uninstall_2.png create mode 100644 doc/images/client_setup_wizard_uninstall_3.png create mode 100644 doc/images/download_button.png create mode 100644 doc/images/log_output_window.png create mode 100644 doc/images/oc_client_download_options.png create mode 100644 doc/images/oc_client_linux_download.png create mode 100644 doc/images/oc_client_macosx_download.png create mode 100644 doc/images/oc_client_windows_download.png create mode 100644 doc/images/oc_client_windows_option.png create mode 100644 doc/images/oc_connection_wizard_credentials.png create mode 100644 doc/images/oc_connection_wizard_finish.png create mode 100644 doc/images/oc_connection_wizard_localfolder.png create mode 100644 doc/images/oc_connection_wizard_server.png create mode 100644 doc/images/oc_website.png create mode 100644 doc/images/owncloud_logo_transparent.png create mode 100644 doc/images/owncloud_small_wh_bl.jpg create mode 100644 doc/images/save_log_file.png create mode 100644 doc/images/security_warning_windows.png create mode 100644 doc/installing-linux.rst create mode 100644 doc/installing-macosx.rst create mode 100644 doc/installing-windows.rst create mode 100644 doc/installing.rst create mode 100644 doc/navigating.rst diff --git a/doc/accountsetup.rst b/doc/accountsetup.rst index d3d15509e..972bd6ec3 100644 --- a/doc/accountsetup.rst +++ b/doc/accountsetup.rst @@ -1,45 +1,42 @@ Setting up an Account ===================== -If no account has been configured, the ownCloud Client will automatically -assist in connecting to your ownCloud server after the application has been -started. +If no account has been configured, the ownCloud Client automatically assist in +connecting to your ownCloud server after the application has been started. -As a first step, specify the URL to your Server. This is the same address -that is used in the browser. +To set up an account: + +1. Specify the URL to your Server. This is the same address that is used in the browser. .. image:: images/wizard_url.png :scale: 50 % .. note:: Make sure to use ``https://`` if the server supports it. Otherwise, - your password and all data will be transferred to the server unencrypted. - This makes it easy for third parties to intercept your communication, and - getting hold of your password! + your password and all data will be transferred to the server unencrypted. This + makes it easy for third parties to intercept your communication, and getting + hold of your password! -Next, enter the username and password. These are the same credentials used -to log into the web interface. +2. Enter the username and password. These are the same credentials used to log into the web interface. .. image:: images/wizard_user.png :scale: 50 % -Finally, choose the folder that ownCloud Client is supposed to sync the -contents of your ownCloud account with. By default, this is a folder -called `ownCloud`, which will be created in the home directory. +3. Choose the folder with which you want the ownCloud Client to synchronize the + contents of your ownCloud account. By default, this is a folder called + `ownCloud`. This folder is created in the home directory. .. image:: images/wizard_targetfolder.png :scale: 50 % -At this time, the synchronization between the root directories of the -ownCloud server will begin. + The synchronization between the root directories of the ownCloud server begins. .. image:: images/wizard_overview.png :scale: 50 % -If selecting a local folder that already contains data, there are -two options that exist. +When selecting a local folder that already contains data, you can choose from two options: -* Keep local data: If selected, the files in the local folder on the - client will be synced up to the ownCloud server. -* Start a clean sync: If selected, all files in the local folder on - the client will be deleted and therefore not synced to the ownCloud - server. +* :guilabel:`Keep local data`: When selected, the files in the local folder on + the client are synchronized to the ownCloud server. + +* :guilabel:`Start a clean sync`: When selected, all files in the local folder on the + client are deleted. These files are not syncrhonized to the ownCloud server. diff --git a/doc/architecture.rst b/doc/architecture.rst index 4099bba39..7496db4eb 100644 --- a/doc/architecture.rst +++ b/doc/architecture.rst @@ -1,88 +1,96 @@ -Appendix B: Architecture -======================== +Appendix B: History and Architecture +==================================== -.. index:: architecture +.. index:: architecture -The ownCloud project provides desktop sync clients to synchronize the -contents of local directories on the desktop machines to the ownCloud. +ownCloud provides desktop sync clients to synchronize the contents of local +directories from computers, tablets, and handheld devices to the ownCloud +server. -The syncing is done with csync_, a bidirectional file synchronizing tool which -provides both a command line client as well as a library. A special module for -csync was written to synchronize with ownCloud’s built-in WebDAV server. +Synchronization is accomplished using csync_, a bidirectional file +synchronizing tool that provides both a command line client as well as a +library. A special module for csync was written to synchronize with the +ownCloud built-in WebDAV server. -The ownCloud sync client is based on a tool called mirall initially written by -Duncan Mac Vicar. Later Klaas Freitag joined the project and enhanced it to work -with ownCloud server. +The ownCloud sync client is based on a tool called *mirall*, initially written +by Duncan Mac Vicar. Later Klaas Freitag joined the project and enhanced it to +function with the ownCloud server. -ownCloud Client is written in C++ using the `Qt Framework`_. As a result, the -ownCloud Client runs on the three important platforms Linux, Windows and MacOS. +The ownCloud Client software is written in C++ using the `Qt Framework`_. As a +result, the ownCloud Client runs on Linux, Windows, and MacOS. .. _csync: http://www.csync.org .. _`Qt Framework`: http://www.qt-project.org -The Sync Process ----------------- +The Synchronization Process +--------------------------- -First it is important to recall what syncing is: It tries to keep the files -on two repositories the same. That means if a file is added to one repository -it is going to be copied to the other repository. If a file is changed on one -repository, the change is propagated to the other repository. Also, if a file -is deleted on one side, it is deleted on the other. As a matter of fact, in -ownCloud syncing we do not have a typical client/server system where the -server is always master. +The process of synchronization keeps files in two separate repositories the same. When syncrhonized: -This is the major difference to other systems like a file backup where just -changes and new files are propagated but files never get deleted. +- If a file is added to one repository it is copied to the other synchronized repository. +- When a file is changed in one repository, the change is propagated to any + syncrhonized other repositories- If a file is deleted in one repository, it + is deleted in any other. -The ownCloud Client checks both repositories for changes frequently after a -certain time span. That is refered to as a sync run. In between the local -repository is monitored by a file system monitor system that starts a sync run -immediately if something was edited, added or removed. +It is important to note that the ownCloud synchronization process does not use +a typical client/server system where the server is always master. This is a +major difference between the ownCloud syncrhonizatin process and other systems +like a file backup, where only changes to files or folders and the addition of +new files are propagated, but these files and folders are never deleted unless +explicitly deleted in the backup. -Sync by Time versus ETag ------------------------- -.. index:: time stamps, file times, etag, unique id +During synchronization, the ownCloud Client checks both repositories for +changes frequently. This process is referred to as a *sync run*. In between +sync runs, the local repository is monitored by a file system monitoring +process that starts a sync run immediately if something was edited, added, or +removed. -Until the release of ownCloud 4.5 and ownCloud Client 1.1, ownCloud employed -a single file property to decide which file is newer and hence needs to be -synced to the other repository: the files modification time. +Synchronization by Time versus ETag +----------------------------------- +.. index:: time stamps, file times, etag, unique id + +Until the release of ownCloud 4.5 and ownCloud Client 1.1, the ownCloud +synchronization process employed a single file property -- the file modificatin +time -- to decide which file was newer and needed to be synchronized to the +other repository. The *modification timestamp* is part of the files metadata. It is available on -every relevant filesystem and is the natural indicator for a file change. -Modification timestamps do not require special action to create and have -a general meaning. One design goal of csync is to not require a special server -component, that’s why it was chosen as the backend component. +every relevant filesystem and is the typical indicator for a file change. +Modification timestamps do not require special action to create, and have a +general meaning. One design goal of csync is to not require a special server +component. This design goal is why csync was chosen as the backend component. -To compare the modification times of two files from different systems, -it is needed to operate on the same base. Before version 1.1.0, -csync requires both sides running on the exact same time, which can -be achieved through enterprise standard `NTP time synchronisation`_ on all -machines. +To compare the modification times of two files from different systems, csync +must operate on the same base. Before ownCloud Client version 1.1.0, csync +required both device repositories to run on the exact same time. This +requirement was achieved through the use of enterprise standard `NTP time +synchronisation`_ on all machines. -Since this strategy is rather fragile without NTP, ownCloud 4.5 introduced a -unique number, which changes whenever the file changes. Although it is a unique -value, it is not a hash of the file, but a randomly chosen number, which it will -transmit in the Etag_ field. Since the file number is guaranteed to change if -the file changes, it can now be used to determine if one of the files has -changed. +Because this timing strategy is rather fragile without the use of NTP, ownCloud +4.5 introduced a unique number (for each file?) that changes whenever the file +changes. Although this number is a unique value, it is not a hash of the file. +Instead, it is a randomly chosen number, that is transmitted in the Etag_ +field. Because the file number changes if the file changes, its use is +guaranteed to determine if one of the files has changed and, thereby, launching +a synchronization process. -.. note:: ownCloud Client 1.1 and newer require file ID capabilities on the - ownCloud server, hence using them with a server earlier than 4.5.0 is - not supported. +.. note:: ownCloud Client release 1.1 and later requires file ID capabilities + on the ownCloud server. Servers that run with release earlier than 4.5.0 do + not support using the file ID functionality. -Before the 1.3.0 release of the client the sync process might create faux -conflict files if time deviates. The original and the conflict files only -differed in the timestamp, but not in content. This behaviour was changed -towards a binary check if the files are different. +Before the 1.3.0 release of the Desktop Client, the synchronization process +might create faux conflict files if time deviates. Original and changed files +conflict only in their timestamp, but not in their content. This behaviour was +changed to employ a binary check if files differ. -Just like files, directories also hold a unique id, which changes whenever -one of the contained files or directories gets modified. Since this is a -recursive process, it significantly reduces the effort required for a sync -cycle, because the client will only walk directories with a modified unique id. +Like files, directories also hold a unique ID that changes whenever one of the +contained files or directories is modified. Because this is a recursive +process, it significantly reduces the effort required for a synchronization +cycle, because the client only analyzes directories with a modified ID. -This table outlines the different sync methods attempted depending -on server/client combination: +The following table outlines the different synchronization methods used, +depending on server/client combination: .. index:: compatiblity table @@ -98,10 +106,10 @@ on server/client combination: | 4.5 or later | 1.1 or later | File ID, Time Stamp | +--------------------+-------------------+----------------------------+ -It is highly recommended to upgrade to ownCloud 4.5 or later with ownCloud -Client 1.1 or later, since the time stamp-based sync mechanism can -lead to data loss in certain edge-cases, especially when multiple clients -are involved and one of them is not in sync with NTP time. +We strongly recommend using ownCloud Server release 4.5 or later when using +ownCloud Client 1.1 or later. Using incompatible time stamp-based +synchronization mechanism can lead to data loss in rare cases, especially when +multiple clients are involved and one utilizes a non-synchronized NTP time. .. _`NTP time synchronisation`: http://en.wikipedia.org/wiki/Network_Time_Protocol .. _Etag: http://en.wikipedia.org/wiki/HTTP_ETag @@ -109,27 +117,28 @@ are involved and one of them is not in sync with NTP time. Comparison and Conflict Cases ----------------------------- -In a sync run the client first has to detect if one of the two repositories have -changed files. On the local repository, the client traverses the file -tree and compares the modification time of each file with the value it was -before. The previous value is stored in the client's database. If it is not, it -means that the file has been added to the local repository. Note that on -the local side, the modificaton time a good attribute to detect changes because -it does not depend on time shifts and such. +As mentioned above, during a *sync run* the client must first detect if one of +the two repositories have changed files. On the local repository, the client +traverses the file tree and compares the modification time of each file with an +expected value stored in its database. If the value is not the same, the client +determines that the file has been modified in the local repository. -For the remote (ie. ownCloud) repository, the client compares the ETag of each -file with it's previous value. Again the previous value is queried from the -database. If the ETag is still the same, the file has not changed. +.. note:: On the local side, the modificaton time a good attribute to use for detecting changes, because +the value does not depend on time shifts and such. -In case a file has changed on both, the local and the remote repository since -the last sync run, it can not easily be decided which version of the file is -the one that should be used. However, changes to any side must not be lost. +For the remote (that is, ownCloud server) repository, the client compares the +ETag of each file with its expected value. Again, the expected ETag value is +queried from the client database. If the ETag is the same, the file has not +changed and no synchronization occurs. -That is called a **conflict case**. The client solves it by creating a conflict -file of the older of the two files and save the newer one under the original -file name. Conflict files are always created on the client and never on the -server. The conflict file has the same name as the original file appended with -the timestamp of the conflict detection. +In the event a file has changed on both the local and the remote repository +since the last sync run, it can not easily be decided which version of the file +is the one that should be used. However, changes to any side be lost. Instead, +a *conflict case* is created. The client resolves this conflic by creating a +conflict file of the older of the two files and saving the newer file under the +original file name. Conflict files are always created on the client and never +on the server. The conflict file uses the same name as the original file, but +is appended with the timestamp of the conflict detection. .. _ignored-files-label: @@ -137,40 +146,40 @@ the timestamp of the conflict detection. Ignored Files ------------- -ownCloud Client supports that certain files are excluded or ignored from -the synchronization. There are a couple of system wide file patterns which -come with the client. Custom patterns can be added by the user. +The ownCloud Client supports the ability to exclude or ignore certain files +from the synchronization process. Some system wide file patterns that are used +to exclude or ignore files are included with the client by default and the +ownCloud Client provides the ability to add custom patterns. -ownCloud Client will ignore the following files: +By default, the ownCloud Client ignores the following files: -* Files matched by one of the pattern in :ref:`ignoredFilesEditor-label` -* Files containing characters that do not work on certain file systems. - Currently, these characters are: `\, :, ?, *, ", >, <, |` -* Files starting in ``.csync_journal.db*`` (reserved for journalling) +- Files matched by one of the patterns defined in :ref:`ignoredFilesEditor-label`. +- Files containing characters that do not work on certain file systems (`\, :, ?, *, ", >, <, |`). +* Files starting in ``.csync_journal.db*``, as these files are reserved for journalling. -If a pattern is checkmarked in the `ignoredFilesEditor-label` (or if a line in -the exclude file starts with the character `]` directly followed -by the file pattern), files matching this pattern are considered fleeting -meta data. These files are ingored and *removed* by the client if found -in the sync folder. This is suitable for meta files created by some +If a pattern selected using a checkbox in the `ignoredFilesEditor-label` (or if +a line in the exclude file starts with the character `]` directly followed by +the file pattern), files matching the pattern are considered *fleeting meta +data*. These files are ingored and *removed* by the client if found in the +synchronized folder. This is suitable for meta files created by some applications that have no sustainable meaning. -If a pattern is ending with character `/` it means that only directories are -matched. The pattern is only applied for directory components of the checked -filename. +If a pattern ends with the backslash (`/`) character, only directories are +matched. The pattern is only applied for directory components of filenames +selected using the checkbox. -To match file names against the exclude patterns, the unix standard C -library function fnmatch is used. It checks the filename against the pattern -using standard shell wildcard pattern matching. Check `The opengroup website -` -for the gory details. +To match filenames against the exclude patterns, the unix standard C library +function fnmatch is used. This procesx checks the filename against the +specified pattern using standard shell wildcard pattern matching. For more +information, please refer to `The opengroup website +`. -The path that is checked is the relative path unter the sync root directory. +The path that is checked is the relative path under the sync root directory. + +**Pattern and File Match Examples:** -Examples: -^^^^^^^^^ +-----------+------------------------------+ -| Pattern | Matches | +| Pattern | File Matches | +===========+==============================+ | ``~$*`` | ``~$foo``, ``~$example.doc`` | +-----------+------------------------------+ @@ -183,15 +192,17 @@ Examples: The Sync Journal ---------------- -The client stores the ETag number in a per-directory database, -called the journal. It is a hidden file right in the directory -to be synced. +The client stores the ETag number in a per-directory database, called the +*journal*. This database is a hidden file contained in the directory to be +synchronized. -If the journal database gets removed, ownCloud Client's CSync backend will -rebuild the database by comparing the files and their modification times. Thus -it should be made sure that both server and client synchronized with NTP time -before restarting the client after a database removal. +If the journal database is removed, the ownCloud Client CSync backend rebuilds +the database by comparing the files and their modification times. This process +ensures that both server and client are synchronized using the appropriate NTP +time before restarting the client following a database removal. -Pressing ``F5`` in the Account Settings Dialog that allows to "reset" the -journal. That can be used to recreate the journal database. Use this only -if advised to do so by the developer or support staff. +Pressing ``F5`` while in the Account Settings Dialog enables you to "reset" the +journal. This function can be used to recreate the journal database. + +.. note:: We recommend that you use this function only when advised to do so by + ownCloud support staff. diff --git a/doc/autoupdate.rst b/doc/autoupdate.rst index f3175dc87..12fb963e8 100644 --- a/doc/autoupdate.rst +++ b/doc/autoupdate.rst @@ -1,81 +1,126 @@ The Automatic Updater ===================== -To ensure you're always using the latest version of ownCloud Client, an -auto-update mechanism has been added in Version 1.5.1. It will ensure -that will automatically profit from the latest features and bugfixes. +To ensure that you are always using the latest version of the ownCloud client, +an auto-update mechanism has been added in Version 1.5.1. The Automatic Updater +ensures that you automatically profit from the latest features and bugfixes. -The updater works differently depending on the operating system. +.. note:: The Automatic Updater functions differently, depending on the operating system. Basic Workflow -------------- +The following sections describe how to use the Automatic Updater on different operating systems: + Windows ^^^^^^^ -ownCloud client will check for updates and download the update if one -is available. You can view the status under ``Settings -> General -> Updates``. -If an update is available and has been successfully downloaded, ownCloud -Client will start a silent update prior to its next launch and then start itself. -If the silent update fails, the client offers a manual download. +The ownCloud client checks for updates and downloads them when available. You +can view the update status under ``Settings -> General -> Updates`` in the +ownCloud client. -.. note:: The user needs to be able to attain administrative privileges - to successfully perform the update. +If an update is available, and has been successfully downloaded, the ownCloud +client starts a silent update prior to its next launch and then restarts +itself. Should the silent update fail, the client offers a manual download. + +.. note:: Administrative privileges are required to perform the update. Mac OS X ^^^^^^^^ -If a new update is available, ownCloud client will ask the user to update -to the latest version using a pop-up dialog. This is the default for Mac -OS X applications which use the Sparkle framework. +If a new update is available, the ownCloud client initializes a pop-up dialog +to alert you of the update and requesting that you update to the latest +version. Due to their use of the Sparkle frameworks, this is the default +process for Mac OS X applications. Linux ^^^^^ -Since distributions provide their own update tool, ownCloud Client on Linux -will not perform any updates on its own. It will, however, check for the -latest version and passively notify the user (``Settings -> General -> Updates``) -if an update is available. +Linux distributions provide their own update tool, so ownCloud clients that use +the Linux operating system do not perform any updates on their own. Linux +operating systems do, however, check for the latest version of the ownCloud +client and passively notify the user (``Settings -> General -> Updates``) when +an update is available. -Preventing Auto Updates ------------------------ +Preventing Automatic Updates +---------------------------- -In controlled environment such as companies or universities, the auto-update -mechanism might not be desired as it interferes with controlled deployment -tools and policies. In this case, it is possible to disable the auto-updater -entirely: +In controlled environments, such as companies or universities, you might not +want to enable the auto-update mechanism, as it interferes with controlled +deployment tools and policies. To address this case, it is possible to disable +the auto-updater entirely. The following sections describe how to disable the +auto-update mechanism for different operating systems. -Windows -^^^^^^^ +Preventing Automatic Updates in Windows Environents +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -There are two alternative approaches: +You can prevent automatic updates from occuring in Windows environments using +one of two methods. The first method allows users to override the automatic +update check mechanism whereas the second method prevents any manual overrides. -1. In ``HKEY_LOCAL_MACHINE\Software\ownCloud\ownCloud``, add a key ``skipUpdateCheck`` (of type DWORD) with the value 1 to the machine. This key - can be manually overrideen by the same value in ``HKEY_CURRENT_USER``. +To prevent automatic updates, but allow manual overrides: -2. In ``HKEY_LOCAL_MACHINE\Software\Policies\ownCloud\ownCloud``, add a key - ``skipUpdateCheck`` (of type DWORD) with the value 1 to the machine. - Setting the value here cannot be overridden by the user and is the preferred - way to control the updater behavior via Group Policies. +1. Migrate to the following directory:: -Mac OS X -^^^^^^^^ + HKEY_LOCAL_MACHINE\Software\ownCloud\ownCloud -You can disable the update check via a system-wide ``.plist`` file located -at ``/Library/Preferences/com.owncloud.desktopclient.plist``. Add a new root -level item of type bool and the name ``skipUpdateCheck`` and set it to ``true``. -You can also just copy the file -``owncloud.app/Contents/Resources/deny_autoupdate_com.owncloud.desktopclient.plist``` +2. Add the key ``skipUpdateCheck`` (of type DWORD). + +3. Specify a value of ``1`` to the machine. + +To manually override this key, use the same value in ``HKEY_CURRENT_USER``. + +To prevent automatic updates and disallow manual overrides: + +.. note::This is the preferred method of controlling the updater behavior using Group Policies. + +1. Migrate to the following directory:: + + HKEY_LOCAL_MACHINE\Software\Policies\ownCloud\ownCloud + +2. Add the key ``skipUpdateCheck`` (of type DWORD). + +3. Specify a value of ``1`` to the machine. + + +Preventing Automatic Updates in Mac OS X Environments +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +You can disable the automatic update mechanism in MAC OS X operating systems +using the system-wide ``.plist`` file. To access this file: + +1. Using the Windows explorer, migrate to the following location:: + + /Library/Preferences/ + + 2. Locate and open the following file:: + + com.owncloud.desktopclient.plist + +3. Add a new root level item of type ``bool``. + +4. Name the item ``skipUpdateCheck``. + +5. Set the item to ``true``. + +Alternatively, you can copy the file +``owncloud.app/Contents/Resources/deny_autoupdate_com.owncloud.desktopclient.plist`` to ``/Library/Preferences/com.owncloud.desktopclient.plist``. -Linux -^^^^^ +Preventing Automatic Updates in Linux Environments +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Since there is no updating functionality, there is no need to remove the check. -If you want to disable the check nontheless, open a file called -``/etc/ownCloud/ownCloud.conf`` and add the following content:: +Because Linux does not provide automatic updating functionality, there is no +need to remove the automatic-update check. However, if you want to disable +this check: - [General] - skipUpdateCheck=true +1. Locate and open the following file:: + + /etc/ownCloud/ownCloud.conf + +2. Add the following content to the file:: + + [General] + skipUpdateCheck=true diff --git a/doc/building.rst b/doc/building.rst index daa5bd3c8..0a24811cb 100644 --- a/doc/building.rst +++ b/doc/building.rst @@ -3,20 +3,20 @@ Appendix A: Building the Client =============================== -This section explains how to build the ownCloud Client from source -for all major platforms. You should read this section if you want -to development on the desktop client. +This section explains how to build the ownCloud Client from source for all +major platforms. You should read this section if you want to develop for the +desktop client. -Note that the building instruction are subject to change as development -proceeds. It is important to check the version which is to built. +.. note:: Building instruction are subject to change as development proceeds. + Please check the version for which you want to built. -This instructions were updated to work with ownCloud Client 1.5. +The instructions contained in this topic were updated to work with version 1.5 of the ownCloud Client. Linux ----- 1. Add the `ownCloud repository from OBS`_. -2. Install the dependencies (as root, or via sudo): +2. Install the dependencies (as root, or using ``sudo``) using the following commands for your specific Linux distribution: * Debian/Ubuntu: ``apt-get update; apt-get build-dep owncloud-client`` * openSUSE: ``zypper ref; zypper si -d owncloud-client`` @@ -27,47 +27,51 @@ Linux Mac OS X -------- -Next to XCode (and the command line tools!), you will need some -extra dependencies. +In additon to needing XCode (along with the command line tools), developing in +the MAC OS X environment requires extra dependencies. You can install these +dependencies through MacPorts_ or Homebrew_. These dependencies are required +only on the build machine, because non-standard libs are deployed in the app +bundle. -You can install these dependencies via MacPorts_ or Homebrew_. -This is only needed on the build machine, since non-standard libs -will be deployed in the app bundle. +The tested and preferred way to develop in this environment is through the use +of HomeBrew_. The ownCloud team has its own repository containing non-standard +recipes. -The tested and preferred way is to use HomeBrew_. The ownCloud team has -its own repository which contains non-standard recipes. Add it with:: +To set up your build enviroment for development using HomeBrew_: + +1. Add the ownCloud repository using the following command:: brew tap owncloud/owncloud -Next, install the missing dependencies:: +2. Install any missing dependencies:: brew install $(brew deps mirall) - To build mirall, follow the `generic build instructions`_. -.. note:: - You should not call ``make install`` at any time, since the product of the - mirall build is an app bundle. Call ``make package`` instead to create an - install-ready disk image. +.. 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. -Windows (cross-compile) +Windows (Cross-Compile) ----------------------- -Due to the amount of dependencies, building the client for Windows -is **currently only supported on openSUSE**, by using the MinGW -cross compiler. You can set up openSUSE 12.1, 12.2 or 13.1 in a virtual machine -if you do not have it installed already. +Due to the large number of dependencies, building the client for Windows is +**currently only supported on openSUSE**, by using the MinGW cross compiler. +You can set up openSUSE 12.1, 12.2, or 13.1 in a virtual machine if you do not +have it installed already. -In order to cross-compile, the following repositories need to be added -via YaST or ``zypper ar`` (adjust when using openSUSE 12.2 or 13.1):: +To cross-compile: - 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 +1. Add the following repositories using YaST or ``zypper ar`` (adjust when using openSUSE 12.2 or 13.1): -Next, install the cross-compiler packages and the cross-compiled dependencies:: + - ``zypper ar http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_13.1/windows:mingw:win32.repo`` - zypper install cmake make mingw32-cross-binutils mingw32-cross-cpp mingw32-cross-gcc \ + - ``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 \ 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 \ @@ -78,74 +82,86 @@ Next, install the cross-compiler packages and the cross-compiled dependencies:: 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`` -For the installer, the NSIS installer package is also required:: +3. For the installer, install the NSIS installer package:: - zypper install mingw32-cross-nsis + ``zypper install mingw32-cross-nsis`` -.. Usually, the following would be needed as well, but due to a bug in mingw, they - will currently not build properly from source. +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`` -You will also need to manually download and install the following files with -``rpm -ivh `` (They will also work with openSUSE 12.2 and newer):: + .. note:: This plugin is typically required. However, due to a current bug + in ``mingw``, the plugins do not currently build properly from source. - 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 +5. Manually download and install the following files using ``rpm -ivh ``: -Now, follow the `generic build instructions`_, but pay attention to -the following differences: + ..note:: These files operate using openSUSE 12.2 and newer. -For building for windows a special toolchain file has to be specified. -That makes cmake finding the platform specific tools. This parameter -has to be added to the call to cmake: + - ``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`` - ``-DCMAKE_TOOLCHAIN_FILE=../mirall/admin/win/Toolchain-mingw32-openSUSE.cmake`` + - ``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`` -Finally, just build by running ``make``. ``make package`` will produce -an NSIS-based installer, provided the NSIS mingw32 packages are installed. +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``. + +7. Build by running ``make``. + + ..note:: Using ``make package`` produces an NSIS-based installer, provided + the NSIS mingw32 packages are installed. Generic Build Instructions -------------------------- .. _`generic build instructions` -Compared to previous versions building of Mirall has become more easy. -CSync, which is the sync engine library of Mirall, is now part of the -Mirall source repository, not, like it was before, a separate module. +Compared to previous versions, building Mirall has become easier. Unlike +earlier versions, CSync, which is the sync engine library of Mirall, is now +part of the Mirall source repository and not a separate module. -Mirall can be downloaded at ownCloud's `Client Download Page`_. +You can download Mirall from the ownCloud `Client Download Page`_. -If you want to build the leading edge version of the client, you should -use the latest versions of Mirall via Git_, like so:: +To build the most up to date version of the client: - git clone git://github.com/owncloud/mirall.git +1. Clone the latest versions of Mirall from Git_ as follows: -Next, create build directories:: + ``git clone git://github.com/owncloud/mirall.git`` - mkdir mirall-build +2. Create build directories: -Now build mirall:: + ``mkdir mirall-build`` - cd ../mirall-build - cmake -DCMAKE_BUILD_TYPE="Debug" ../mirall +3. Build mirall: -Note that it is important to use absolute pathes for the include- and library -directories. If this succeeds, call ``make``. The owncloud binary should appear -in the ``bin`` directory. You can also run ``make install`` to install the client to -``/usr/local/bin``. + ``cd ../mirall-build`` + ``cmake -DCMAKE_BUILD_TYPE="Debug" ../mirall`` -To build an installer/app bundle (requires the mingw32-cross-nsis packages on Windows):: + ..note:: You must use absolute pathes for the ``include`` and ``library`` directories. - make package +4. Call ``make``. -Known cmake parameters: + The owncloud binary appear in the ``bin`` directory. -* QTKEYCHAIN_LIBRARY=/path/to/qtkeychain.dylib -DQTKEYCHAIN_INCLUDE_DIR=/path/to/qtkeychain/: Use QtKeychain 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: create doc and manpages via running ``make``; also adds install statements to be able to install it via ``make install``. -* CMAKE_PREFIX_PATH=/path/to/Qt5.2.0/5.2.0/yourarch/lib/cmake/ : to build with Qt5 -* BUILD_WITH_QT4=ON : to build with Qt4 even if Qt5 is found +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``. +* ``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). .. _`ownCloud repository from OBS`: http://software.opensuse.org/download/package?project=isv:ownCloud:devel&package=owncloud-client .. _CSync: http://www.csync.org diff --git a/doc/conffile.rst b/doc/conffile.rst index 760a3b4bd..57fcf0766 100644 --- a/doc/conffile.rst +++ b/doc/conffile.rst @@ -1,26 +1,24 @@ -ownCloud Client reads a configuration file. +The ownCloud Client reads a configuration file. You can locate this configuration files as follows: -On Linux it can be found in: +- On Linux distributions: ``$HOME/.local/share/data/ownCloud/owncloud.cfg`` -On Windows it can be found in: +- In Microsoft Windows systems: ``%LOCALAPPDATA%\ownCloud\owncloud.cfg`` -On Mac it can be found in: +- In MAC OS X systems: ``$HOME/Library/Application Support/ownCloud`` -It contains settings in the ini file format known from Windows. +The configuration file contains settings using the Microsoft Windows .ini file +format. You can overwrite changes using the ownCloud configuration dialog. -.. note:: Changes here should be done carefully as wrong settings can cause disfunctionality. +.. note:: Use caution when making changes to the ownCloud Client configuration + file. Incorrect settings can produce unintended results. -.. note:: Changes may be overwritten by using ownCloud's configuration dialog. +You can change the following configuration settings: -These are config settings that may be changed: +- ``remotePollInterval`` (default: ``30000``) -- Specifies the poll time for the remote repository in milliseconds. -``remotePollInterval`` (default: ``30000``) - Poll time for the remote repository in milliseconds - -``maxLogLines`` (default: ``20000``) - Maximum count of log lines shown in the log window +- ``maxLogLines`` (default: ``20000``) -- Specifies the maximum number of log lines displayed in the log window. diff --git a/doc/faq.rst b/doc/faq.rst index a6d493a66..cf5d830fb 100644 --- a/doc/faq.rst +++ b/doc/faq.rst @@ -1,16 +1,17 @@ FAQ === -Some files are continuously uploaded to the server even when they are not modified ----------------------------------------------------------------------------------- +**Issue:** + +Some files are continuously uploaded to the server, even when they are not modified. + +**Resolution:** It is possible that another program is changing the modification date of the file. -If the file is a ``.eml`` file, Windows automatically change all file all the time unless you remove -``\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers`` from -the windows registry. -See http://petersteier.wordpress.com/2011/10/22/windows-indexer-changes-modification-dates-of-eml-files/ - - - +If the file is uses the ``.eml`` extention, Windows automatically and +continually changes all files, unless you remove +``\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers` +from the windows registry. +See http://petersteier.wordpress.com/2011/10/22/windows-indexer-changes-modification-dates-of-eml-files/ for more information. diff --git a/doc/images/client_setup_wizard_components.png b/doc/images/client_setup_wizard_components.png new file mode 100644 index 0000000000000000000000000000000000000000..d66bb8b9ae738747c3879f8c6af6c07e9ef3476d GIT binary patch literal 35196 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 literal 0 HcmV?d00001 diff --git a/doc/images/client_setup_wizard_install_finish.png b/doc/images/client_setup_wizard_install_finish.png new file mode 100644 index 0000000000000000000000000000000000000000..545a29a35bb5b0e86403285723013ca0eed4955c GIT binary patch literal 21141 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 literal 0 HcmV?d00001 diff --git a/doc/images/client_setup_wizard_reinstall.png b/doc/images/client_setup_wizard_reinstall.png new file mode 100644 index 0000000000000000000000000000000000000000..d23d88acb1847d797a986213b4993c144d510e59 GIT binary patch literal 33624 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 literal 0 HcmV?d00001 diff --git a/doc/images/client_setup_wizard_uninstall.png b/doc/images/client_setup_wizard_uninstall.png new file mode 100644 index 0000000000000000000000000000000000000000..9e7671db7edde5150c9e365c25bef52604828e5f GIT binary patch literal 33621 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

=jr`m+!E`3^6zd3Jp;E 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 literal 0 HcmV?d00001 diff --git a/doc/images/client_setup_wizard_uninstall_2.png b/doc/images/client_setup_wizard_uninstall_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2de1ff22b1f74ed828a52a9422314f91f3e37657 GIT binary patch literal 29159 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 E7cM2cN&o-= literal 0 HcmV?d00001 diff --git a/doc/images/client_setup_wizard_uninstall_3.png b/doc/images/client_setup_wizard_uninstall_3.png new file mode 100644 index 0000000000000000000000000000000000000000..745e0fb2e30c5f784c905f8aab5eb515fd4a28e9 GIT binary patch literal 31134 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%0A(c&N{R0-UNmTb##`?W}qLhoD@(c3X;~ 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 literal 0 HcmV?d00001 diff --git a/doc/images/log_output_window.png b/doc/images/log_output_window.png new file mode 100644 index 0000000000000000000000000000000000000000..29aaf9ed5a49ccbd1b0567a923e12eec2ed57869 GIT binary patch literal 43946 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 E0HBnyvH$=8 literal 0 HcmV?d00001 diff --git a/doc/images/oc_client_download_options.png b/doc/images/oc_client_download_options.png new file mode 100644 index 0000000000000000000000000000000000000000..cb94876a0f6525765e5f700575effef2b0c1660c GIT binary patch literal 7171 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 FV1gVnkP83+ literal 0 HcmV?d00001 diff --git a/doc/images/oc_client_linux_download.png b/doc/images/oc_client_linux_download.png new file mode 100644 index 0000000000000000000000000000000000000000..c544d3cc86068167bdbc8042bf9e904f9d746dbe GIT binary patch literal 35366 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 E0JQS3E&u=k literal 0 HcmV?d00001 diff --git a/doc/images/oc_client_macosx_download.png b/doc/images/oc_client_macosx_download.png new file mode 100644 index 0000000000000000000000000000000000000000..4565de2352c8f6a45befe6be2d78b92256344f2b GIT binary patch literal 33779 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%0A7qvmblG*d<(egE=nul)*?{Q<@i^7yBMsS#VJQK5 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

|q}PK{xpgD3wnxzC$6%YTGrsT4y_RTMzY3QC0{ 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 S#xFa7&!r0{2BmsVG5-aIWR_h3 literal 0 HcmV?d00001 diff --git a/doc/images/oc_connection_wizard_localfolder.png b/doc/images/oc_connection_wizard_localfolder.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0cbf9ffbd56f285a55e371c01a903ca27435be GIT binary patch literal 37287 zcmbTdbx>SS@GqJWoDd|zEm&}O51!z%i)(=3wz#_l4ek&ec43j=9tZ>{=n~u(+u-hZ z^ZngF?yI`>s@^+QTc_rnGqOF?)BX8$&le3fMO}SuO;ePxer}gX^ir%wl&m%F> zkx$Coo~V(x=WbexGS8snlzYemsXvi{_%Lje8XU|^s{rf%tL; z>{*idM>%PLx5>dWn*WT=D%ZWl<)FyX9kt)Mo0H+H-$B=rz*6b^5H(|Fttw%TH(p-G zOUuj4Ed7Q{%cYze4(nGYPYirxD$|~37{v3Yk_FCuAEB1X_PlNn*_OOC{!cYDn~P7E zBK~%lGC7&V6^3m10`}Jg$V*ew4s~&D#~911izCkY5%KH#)>N`rNX80+7kFP_TJgoC zg6c5Qm*9tuo|GIGBOM)Gk$=QDlf1Va4mZHc@T13HI|*MeLKteI7eWkLz}kH8i3lI% zkXLHWvl%E+^sR@ihBA)6Ndmn-&4>M%3aap9ZYg9dbiQaF2-ISQ3NEFfJNmBVU|@S$ zw_s>A@-k8NuApJizVQZXJV(g-Jxq^OR&`Qs0 ze%+t#&}g&dIgiEc8K)j|3D7fSNN}pTuxfD*mm03vn}q-ya#vN-fl6uBy3NGCm%E`! zeHa#hGuI7FBN6g5Gx;NVR-KSgln0IeMI0iwRB6>!Sa;rINZ0Wt6!mD>N<+5uSjQ^5 zr2wDcLA3A(I3BM8jKTiV;HFZml`^z*c*FasY><48FzW>c{r4ctR|4#tiIsal(uTo! z*1(ldA~NZ~RxSDSBN$F`Aa#tnEQZ*;t}{jjIeGj&`YDIE4oL!_1laMy5W<=#I7itN^jg>AtKlZqBq|O z$oL*%mRwb22?-bvqv^7T?E^d6GZ+g$;sFDAT;A7+54p4G4nacU^(&r%kAcj(g_KHf z*g|_FunWIxHRx%21DPYLam$S}SYqctEl#Y(raLtV|4Dpf8pR4d}e((`8iP~>^n+he3k6#dU=r?;xuF&ty6&zb+!Y_Te zGcOQ4KoxAfkTEMIY)wBw0Cd;Eg!>bc6|lP>1QnVJo#WsY$RdhneJyrPL~LQ1y3h5^ zO|i-zew;)_&BPCa5azQ57?%*_;U}1qfB-(R+Kesvv?I0t;-i5M7{D4uElrfPB!d6Z z5p3%u=V#$e&-JVJt2vo7P5PtMpi9aLe1sSVy}p7H2XEN5cn=X`>ZEC_ zlFJAfRcM%p`({KI)D##rCo}7mL<<%$Yc();0FN;R^S@`?btnU!LiO)126!^&B{5ln zl#E6wI++H6(g^lx2n3$-JHMT|7xFO=ppEN8R_#!!W!D*haeUHPc~Yt|qo=+T`JKV; zT4!$fPiylEBSG1I={FDe^86(h`mNSsAamlUh>IQ8qI`%!>5|p3pO3BLa)T8SXXq(h zsjx(s&0%uR6ea!9fP_OwCPEHqP2{gpzR0aYP99HAq(t|#Ia#r3q{@hqg0<1ud}bZH zK^u+&0V-CqI@UgJxf)3{k_R}j3IicAT13Th+}@vA1@>o+g~BY_X6OP>^pAdDOIT*D!boHkOf%kSvuSThT%>#1uQ zZ1q_T%TNUcE(acVm0DKoLqDsB)mH%iVmKr+SK}(1MsAX)x}_$a@)nFbo9L(@hzNQ z5k48LE_sfUkIe8leID|7}{ zTq6GfzH#plPc*j~A`Wz0Qx|McO@F=5!Bfh>8)?qJw<1GJ#hNmaHN7xevEg??_oSLF zK-`DGGv|0Pfg?oIGPMQRm{v- zMMi|f3I?05c8%`ZGs@q?hkbDirE5Sa9jgMDV8W~Xo+i$f3ILQ}2}T)jvCty0``7qo zf9_lj!!WM#m6r?dQhTEGVM4E6=^7Rl+u|)&&E1knq9G$905jdTnjiDVzUZq z8&YOf)nDhN=IaCx<$>$UP_QJG2_&@y}`pE zU2F^Ueb~qLICRCy&}2?e8*Wzc({X^W!|z`oiw!%3I}EsHDZW{}CeQ?9D#7xDU-SC= zlkY=3SPyN^Q_oI>Ap%ODq&`E|Y|mH|wN?)5R4Ker#Qc<8SkSxeh%`D4tN>swO|jdJ z&DUSq%pw4q@ea=sMnIWw$~~<5_5RRcV41szyHV0w=2h><;>kA#eflVck|qgl$@E@_ zRn6Vib|DBo)oP3JCKlq0H*0UWt4C0QtPxXIti>zgc>~wjhQ;)cQ9LUQ`OecydDtQpiaKrgs zZ=}zk>osU&*7V8dJI5EcSk5c}5PNz^+;JWb_qVVsA z;7c5Uv_gVPYn5T+KKR7TK!=5B9PpOIB`>y6?)h^_r~$@ZlCb{exdL3X#Kj!o;Ft^M zB_IE~Peg^#?uw}~L>RYbW4}a$TDWTCH$uym)Z)85$hbs8^%{#$j3{`RD^RgXSY!6{ zbarXI4VkV}zw#c`%Hzml=`Bj&mu|_N(3P%jmhKN!LSqU)OwuvygDVzJ7_T!6x*1}8 z%-UHYE(m8Zm!XGqDhoWKg6KA>G*+3S*eDBgRHSTMqyckLt@5!|J{qb=j2jnlwDmGz zF%MDx2Ao>r@vJ z^0GO@1H68vN{zjNz)yh>UyxcSIm^1CjiuMLKSjFrPBC5$#uaHuu)4037bIMTcaOnJ z^7LFe8_nhc*KS_ic(_38Y)F&stbXBVgWRGZ2e3OrAvE=&F3YFGq^oqgeo6Bk2>MuX zKeT6~(I)H4Co3Rc8p>@~FnK&v6ZR!)X7l^4{E(qo#JA;z&HWS2 zsxRPYt1(s}0pC)kG}-ygWrG`tefBq*x*|1cD{r%p;Q-C`A**Gu&e=p`)iC(EhkYIn zrXCz9k>SK|iiiHIyeJ<$5<>(QF*T%z?NpGgc1glnMKG#5<_y_(21JQDzU6lSNL?VD z^gCOW@vcNt=#5H5Lo9A~=;UBWT!;>}C*w- z?qN<98J-pr)UU;Cynw+m0OdB3`hKurzt^@xo2LA&O4p0y`5{ zN4SoH0KdH~&gSRp?#<6*&H`dDx+8Qak7^}EpLrFr*#?lU5M2u?lCg9vjOmsET+6NG z1*>A`s0%O+O1X0;uoH}F!X6q|9zqT2}99}Xf~(z7P2WmO>S6XRwbq%$MZ{ZTS0Zj{PP zC^}pb`TY|xBl5d&C|Jj3CM}~Go8GC)OP?#p@M3@ATl<_gV`Bo^tX2PpJP4(yKTnU} zlUd;@*8cqRTI6e>Ot!k%$%811|IQb&kEg8uY9T zhL@*1ui&u(bj-)QYfj>Omh~Dn695OjyI%>JVK&6$;FFA|G1#R_*?Ogn3oIx;OO*Q-dmEI4#pg9v| zq0852P51;!eqbNn-!IY`IM|3rG8D>{B3z0uS6zw+bhBd#q|DVJ&z9`;Z_WW+87y!B__Ti8CL*4##%JrDoiWj(`-$_e#U`76t-`ts_=Q z3ygy+V*1ys$y2AyrRb&Em;kbrTk(SSTZ3tmho{*#01n_w$(1G)*%1C(M&~nyr6i zaicVB1ISOxFy^Tf42#aU(d!thiR*ZsN`L8%014!Rp0{^G!M=WwTK!{RT{gpkP7ijZ zHZ5W5f%q#*s>|!BqUy^0@P~<6;*e;k*gFDztQ|732myO$+b8O5G$gqu)-4?PWXh&9h0!^OC?{7RcM6S>$0@GJIV5J>GN;tJ7s!3OO6z)Ma*lR#aKK>Obv>>^{ZZ-I{d_6yHcb7mBO zCGhwp?`c7$9}JlF>oZ5{v2}{viTHD?X!53nIX_5-1klUQ20ca0@~g#t06 z=&LLV08Y)l*Xi?`RgMQ}tEciBAJxcO`2nR$+fHU9et$FsTS%I0;Ox1%Uk2cSO@k?t z7hZpU9rg7pz%`02`%&ifp|s%8cMFw_0r&kWQJ^lecOXE2U`kKajiH|*?a!%#cs+jceS9_cMSS{ZqOvQQXcS4sFadw*&i9&B_au z2h1GM%`Wx9Cofm;fS?&i@sCoD6}d~DKuUg!{HT)fgSuLFBoHDA8o`EQpT ztS)T`hF6nEbPOgH_h?CN0FGfT#P?)Sw1Dh?sQf15{$tLBoj#~NVla}x=8e8CVy9oS z(_t?;eT4M`e0YU5)2Dc7?N78o*G3RaAjkGa>^8Sr@DIov-h2$XL9osik-QG@-Votv`?)qmELxM7@#4JccQE%4iIo1AiXPQKNJ z^w%fdPbNYl!vInsD^OFqiah&O)|b2!Maqew%j0)d1;1ZDvR3>7^nj}Qyyh0mwfg;G zbq4T#w7C>uPd#`9yf45GZ7Lr6MmFy`_~_VdAxzf%rWlbCWqR}J7;HquI5PhmbWQnJ zjk^oYYyIuU_RpSfcgL1Fhfx&E1?+q``dM-`)kGE!K3Fk_XS?)Ji}lp%NJWh9mjxUVf%tDT5V- zru@Kbd)$|#A>nW)rQM^_QL%E0xh$XFIsm)a_oisU{on?WMF>_IZyJsl#DQ?@5yLyc z-&(NUFMVQ(*@~7Y*sjj}KDYlxY=Hq0`vdBDLmjvF97^dByExsuY~6A1ogJ+ZKm_xh zU?vf#)|HCNxktap}4mp{wM&6uVBX>~7a8tYr(L3JE$4|+Sh05T{$ zZe*^Ln}z;AcGLNFO^nrX9cq=5i4|~xHFH!0>hLj@6$ogr0lHq8wx7eBQLH+24CB7THU^e|PGEVEKPVbDD?gZa%Yr zo%j&GAV%JjqImwNNcw**mj6HA`e^AFV7??5AiBe&>AT4B`kJ5g#jyEk{dZCdDNo=# zR&@T_+@sFk|N6?;_{sKCS=V{sY=`Ts>D5L*PStY5YevXiz0tT|$n#j_=mV?ClN^)M z^KIpruiC0G@Fuz2+To`wKFBen-Bo;*ios}Bcu)(|Ty2lB%358*lVsk4Q3}#fNH%4w z$(?5da2-ScDkjFypM#dC%O~)SY8v67Roj2HnOCS0G~@-S*J$kqw+0z^)%W-bp6%K* z*?Y@lw(%zsKoPnk)AeZ@hz(3F?W#ITJ*eU@>C=_gV~fX5*9q3SoiWIc92@x3!?(+e z`o-Mh08T-A#q*lzahu6j`j`hB;5)AF&nCm#CkgXg*T4R9ywsCYFk54^xB&b@{`vfK zt0cQj?tsGSz3!+#iQKl^pZw4BNZySbS;jqhEZ5w3re{K3Xm&M2Avfz`1#~xtJbB8UHX6Sz^kE z97Z`&yIC*6FOhEXcGFjQKh;+uKBTqLyIyt!_e29s%7@UMHCLNipJ1M?Ea+YE7ru7aeZ)OL$={d-7%UpWwP>O-as% zu66-t%Q_3T66&4^!J}RwMh8+6b3xGyvM-{lVz%YX)pJMHSE4WG6#EU$=Ol{f;yCwu zwA>w+(SZSW-=e)x!GgPA#$OAW-`y56pM;Iv_wN^;%yS64NK9kCN=))z$KQVG6jc6B#u!mar1l(Anpwv`{t3D3^jvo)M2t55w4k7QUB@)IYzXi=BP8#8s=<@ z@H*!WEDSwpw1#I~h)39c8(0I*2MUtm#s9t$M{p80aVpr;I9JDMe*hh5!Dzol_k(b` zglb5-jt`@|l<_wGV_b(XZP7WYmcoB%5?t?#x%~+R{7Cdr{B#SAZGq^b2Wl=7b-QvJ zpxbniwab-LSv28D)z1Zhrro6ls$Q+9 zNJF9LfSpxe+@k0(zB%+At^A>Gv`i&6%tA79Ixbl~g{SOH#%JKJu0Ez1&s&B*Q%Nvd zth^FA0B3t>^N~yXaK4l>(JARvrC1y@e&%n`#aEUm#3)>T$T<+vF%%5MlHxaxnf9qp z*yrRr_(I1S0-N&cI;L==^eJ#r9=J8}h(}+=k@ArIjQV0$LM&XNG#*y#f-|bZKR{0~ z-5dX;*M%pIpdYZAwQ}4KcAmNJo-_Iq+V%a^>*AetQGZ)!yzp@71E03buF^ZxkYFi^q znaEnamAE({Jf)+?5zApDr^i+{4?H%CdXc0RqU!lj}nNpJ)8`W~l zY$p*Gt>Tn)^Lb@$a!u=tF%>6rekfAUYb4vlp;Do5oU`-#NK@E64o!=@J)OEFHw?|i z&WuCC{f&JXQ3Ctj8?i;yHF|*+0W*mam4O4X%7IBazbkx1_MJUk>R!<*mC`{pF;a!y zdBa+T?S0^L1n_cJ7h7-Tm^^5V)cL61MbYu>g~i|s(%d95y{RFDF1s4HwO^%hTc6nd zbf=2Tj$gDd$6(xbSRp7^ov2Y(QJOqFTq#|hz>JPoxF8?n?-DTl=5yCYD&fPKkSAV_ zRxuxNvJi1`d9*yNqh@s0WzZU5mC+l5{m5Z2o-{6Q^?Ou=W4eXE2ohcRy1mld`8}yD z_364&*R*PaTLHr97C_-&U0s7`=fF>8?dOS!tDM!uDCL7*rMskS%4kOPW#ImeMZ(HPHPAL zz^3~?O2)6@Q6=n98sEb4_tUu3ucpo_PN)+5l4|k``UYPaH|D8Nf2Q*k<~;F<7D$q` zqn@pG=4Ood8(Bjf+IGPRkSpMq`*dMJNon3 z%u)-fbThYdHXghFsCgFHmBA3pJXx2QX*zD8Fnde3)P}8+v^0 zWHMJtpip}y-`QD)nbC@C-hXaI#60n^MRYZ*i>X&|lM`A-84%kbk{?CV`g#&Ur&uX^ zK^=0IG5Vy6$U`kzP!%JW70JsLNTLUTk~;3!&i354zhlfTcmA{-HE6+R?69|O4%Dl+ zOWEAjH_0=4=8Rm>@h~q`h)7x1L`fc1{Klct^jUy#TRzXW=5k;4L8HAB<#bR*{0d3j z7x0LlHD%%8cY>!HhTm8BXeio#iy3jXfQN)jD=gsL1oBz*}>4t%A}8< zQO9L4ut;n}1!h8Zh`;NfU8O>^WmJESa`$OQFta?z9~ks~?|cn-e&s4@dFQdErcGrc zhv)pzaYIrVyC%Gr+(aO41(Gq{C%aQ~!=Zl>reTesw;&ak&`a>#8yOcf1Io{4m7(sn zd^L$^;V9!iS4PQB9oL8X!y5}a_PcJepDXW+E|cOINgvsj+2jB7H3TXMmoPJGmiZ<1 zL0%b9BN)nj^`c1p!n80=Yatf0=kH@&y!Qt_Rfv3Dq`iRtO+2LQb z2jA-EIeQ$v)u_U-n}ueksL7%Z0*BL0@()e>Bm!b(PZ}5jT;#8T8Fh2oZ*dy34q{XID+%{Ylwkz(wOii+S9}^6p>tHoI;6bapPLNi6jwt30 za2?Eiw^%FG9Sn3%VKFoAdj<=hwaM5!|0C}%gpzLbTe8np`p!|sMhe4M^20!`pvBj3 z5;{+4xQN)B1UKk-^T{BWnU6YOr$WX%isuk))&!w~`jMZ!XPV#cx5#QuTumP;pDSdd z%$3$%P?bk7j|CH67U`*6j>Zg&0ZnKZI`(FX0_CO_QU2?Iy*d--@S(mTZ z!!{M*Rm_Z#tA!cAl7 zT;M8E$*XTWH;lZ6f59eq?Mk zNGSF;Y}GYJ0}%F9l>6k6JVC+3VUN+PtoW_wp+bElEf=IHlh0=+(nVo@HcJ`)!u6n&D{ZtessV$Cb%Mx&+ z5aU8L5g&eTac|PC2@%%L2)6pqN?9BMW-5#XnDhqa5q3HL!;9+c0GV|srkSaOWj>^v zKrK&+TSwBxY={#Pvpe!+f6cq)FSJJ6Ka5&)QqoH%WjO7lC@QSA9NZN9jZ!9C}m zbT_D7M#AnUW+y6>6j4BKc1=`V<=zY{GH1M#KeVV_JP-8tGz$*Yb+=gILR9J0@ z2pwKht@~zryS3f98mE5-qI#)yZr@4_OCJQTmj(z~#JM$_+gHIoJBUoIdy)sB8^x%024+mLJ=Sj0Ip@yH%KK}%GGt6u7%Yt`(827^X=?rOy*H9;}^6`M!n{`|7~XtUF5ecYv-bB^$t8^nDfBdoa!C7_0zIMIG!J^DhQzPWku20sr0!edi9?wGY~| z=x)eJn*MHSbb6-LcDA{=e}S9pZO|Xq(e~1T=8dhZ^|jq`mW5j0<)T4_ZA6af>c-|@ z?^Ms5(4P=Ac1leC&4jVDp<4L-z<_MOp4}Sg_8M+-4h(FZV zp&O@O3Sp7;{ib9)EmWMEs4Q1>Q$i)|e-?5=bIVs^q}J0*kf%9yVXd)Z)-!caiu#lv zTl;uTRU-C^MqF|30TI30`YNp0PB?Fhupm8NCMv5=7&PMkbKMplnl~SIQmqQ_ZZ1@U zS4U>7`S)38q7ioUfaIx6IEXSwcU&mG~Ec!JkYS^~LKvk5qfcema&|xdGzzA#oLjs067pDgQ(@!^p_|S#cjYmH#%)62z+-bQHPbw9M zH*&>@soQ$q?YExA;KSh`uI_K4K>;JTK8{HLB|3V=)L!tA|C7Q>o@sUZ0v>n!B8Nep zbUW={&f!*68JxUccdzMS!C7Cb2KOHsH+lClP^s)2jcU4D;C7j6^N#_IA9+UjT&wT> zrwi+ zw&=~f^^p~|-lYpt;eq;m6O8{60U%H+)!}eUQu~ynj}anBW^sDB^||CbF;oUg_*snR zAhy)bI7H8p66`YU02NzFbiR72SCb~hdcGRXq3l_Ff zp@(xzScxjvOB$hRQr{b=tChZmF-;~F(~4z!<%Gz9+psg$aS6B=S*;|i(Thip_8-kv zBNG|kxwryw#Q?52MV5>L-;<8e{1F_}TfF|>l%WCjJ@KBEz((v>auGQew*hOHRb@U; z_ex1Nqv~j!iI4&>%sW*;?<&e-vFr50IKqSho6kwSzuL<2e3hJm&KGZ}dE2Bc#d!gU z?RpAOAJ(i`=%oA>RvEBY9MNM+|}V(AommT zr$Y4I<~usiMBC7A(KIGH-=I{V2yJiB>xrP$OW5HQCrO0YJ|7`G0AU+4+?Y}<6{ev2 zPa~MF_L5iWQ@>q+mj@jE*b(r_&0oh@&QAJ?HT!ul^$Gxg6R8qIc66J~Z6;Q1=D}Q| z2?miq#fBU9v8T|$#OH|3(=hy}4VET>W_Wgb&DB5sczETnUy_|qZBj4hd&=I$Vm{r) z$ozn0ipjKd+i#R%cIN%}DPlF>5i@?MMWUBNktWqSf?i}Y6na58CrkZo*IRxQd4GJF zUd+L8n`vL~=>eMC;O-~3Hvyl1 zX3s66*=hS$m{)@+5|%!A-G4m|GyKI}qpt05@3WjDzk35EANJIXkr0~oo|RB;4NmJT zI>9@`!^lXGIcnVbS`l$hGT72WeKG94-gnf8-?-PbK;G$>?M;5xJ|~dSyG2tgS;>oC z9(QxjiF<~qIAFI4U`H~!^83XXy_+qi4L}>PSyqSjGRD_n{@ox-{Jj%#D75b6e1}b-gxfQ zUN>=xc5JE~Ioh{&bb<_(3P)=iZ?u0%<7s8-EtW=H_9X#P=#Q5ZbrhS7Ug&s)R}G#17-prUC`aF}X- zqg;D)YIrs5kAOW4V{Ebewi%;TS#{*MOtz6?x^Bj*`u-rn4?A;Jj&gk;p_(7JP;%DG zmBnqN}ov4M~(&Tk6MTKuIo6%{ww948c=VO>0?-X~M-Wpf; z<+h;}4BwSZeaP+6cCdeEwTz{gSXcMOw$-UB(Z1)lWy6fp_f;;1rqB+GPlk3l+H5zx zt>yY1h=RAl_t-V=ZsyLKp<+jpN26QV6i=cY-*}GNlC{w0iXN=sWNsNO?qvcqLuM-J z`a+Mw2mSm3sXa;S?cj6-&=_PCtyH#LSaJdszgnDiqPZ7Hq}d*GL^`7ffL1e%X|;(EJ3#U=I+3 z6N&xie2?4yy4K{P6-;YZx3Ej$rqQY)@2}%XDmc9JJB)3f+d^1|RkvU9(h9j5M{aqd zaxD&d071%;%DShw;uCwErtOsh?aoL#dVqAo<3v&27Eu>C;$$%j@c^B4Q6`Du2Q86W zEXz0To9jnycoEf7c76Y0y~GFuSiNv;WdN!e6=y!m=z!fca4IA*1f(M`?&em>P zXkqWu{p@bnhi4AHBGng2ZT2TIe;y*x+={;g24@`;+Wb1xX^ z*Juz17)?Vo|2=C#tqR?LYD9hu0^kYH(`umQ!YFDT&VWU20yIECPqHfw5%f!~q;egi z$;i+X$1Mj&Iyzw@)xI zNu)eHywf$|h`^3N?huuo29@LEbKd5{$XqQxjtK%^PBl3)mM06UbIFWfEUj@InA&GS zi-5W1{Wpbpy+RVGP&GxL17G%1cV|j>T)oR3P_|HFFnr*4{>5Bg>+N1c;>cCsiuHbX z2uqnEWlJs{d&MKpD?OqU)#8J}(anbCA!(mHIzWvsLil3oiklX|$=zId2rciqab>oB zl?N@yG~H`OE{v$&BvM~_tI@E|6RPgc4|2{S&M}K7qLyPuwS*?maT}+D(L9h;u9tYm zec5_V=R5oHjoAfUX)B*o)qaG~5vjHbG(|fPw2nND@GG%^)WXdRq#UD@hauebWB7>9 zECA?6JXfV3Y+~$JWHPO0^V^4xI3HO3c*eKOqL>uJ-=8@G9;jC{^L<*0wpk)bGX7Pl zsJ*GS$tY^(L43SB=r1R95UsErS*XS+P=HM-q2Bdu3eQ62>ab$DgzwY#NbEjgZT@P{ z{z>0tgS>8oAg5=SKSpFZ( zBBU9Cs42IXat8`|ze^DBQPZnqcx5@kSYCCXKH!DVIG`I&X9*u+>Om*q9h`H81MwF( zJSZy*8b%J@V*L((BLdRDpAjE2U#h-K!a^ zcnTwqR9laL%bg^8eI&m49hkmt<-G2)JNWTHl;y7eZy*>y6xYxqUhB}KzA71LZ+kYP zs)^)9?NnS3sl`VX+NovTB+4PH@;$eL{%^Jq+C$}jNuJ^hB|7%^44O&2XDLXxj}4(1 zU+*H&GqqgqougH-xmL7#dO$99fh-k*C{!aZD- zBz1OrZ2mjKp$v!>^cRA;iph4HrGEZg)DJH@;tikY{-jdG42q2N+u@ez)$@Yw@TN1J zz7#-%sxu-(E0l^;`RkV(%>FE!ftb?Q6;#6Jrqbf_!xt%;i|^hPkdBPiJT7DF#XQVm zu`Jx35kQYjV~EQPnRW|zo+r?>mp%@sSgwth4PkPoxY48}D)B3>9tg!#Oi2!;#fNEh zR4DgoE%`w^P;`La@xsv*e-=_IE(U-08@p-zYT-a5m|QIJPIEa>Oo6vCz&JT1ULygV zoW`<_+8KZJemdfFF-Y!1V2VaULe|Le*vC8Ef(nWBRkqaFkt-U>^qr(yoD8UWZ=5_P z6t-Y1qO(P<1N#2EL#F87J<&Cn0$BqQehPG!C5!4I)tGueiLr2e*ekUP{jYhCV zHW)*OJvwqvQ+gPs!3vgQ2Mu}msEPI>UW3ipaJAFZ?~*Tq@{1(O!&z_UN`OAu zq_r#WkkqJLO$HK{dS^ahB9UHWt`lQT@CDT3|9qdgl&XCwA;3`JC#!GXGxZ-5*5nL` zQgykPi=RF3;5OU)59czIi1;!})j9}pNWIh({SRT9t~)b6aJ!GXQ;N8ve;lg(pr$$< znCd-KBC?Q3YdA(<@?-pHMHz&6(HguMD8c>TZ>_! zRo2$D&{^?bv64ES%XZ#V2F>4sBJa_lz6uk#tFZkIbJx+y;1Mi0ZL&u(3-%;(jA zWbTY*Ahte9vHQq$0tXS*55_9Ft(ey1rgL2%vvmIjujS6sXKWX+SZwzes-JJEtqV{z z!`ycTUi#rtOMjkw!S84hFcJ)XP_VtStIvM7MXfdkzfu*u$;$3Xr&+cQz7z`wiJ{y? z8lyeklKXVn`sE68lp)MUeBg^d<>Mv|xjOh>DCz!wnujx-9zst0{s$Bxv-bS5eY=MX z)ijpN>Cly`2bBaw2gus1bu1KdeXo-D9nj9!Im?e#dFpTIbub;Mt%+iUjGwtx(#)p) zOP<;FfWYb@o>FBAosouWB&P>rwjGRrTh#pWo-60;c0DkK^m}CIRdwIT#f4+TY(eIC zO~!X_@m`A3&y^Fd^Sa%EhL1vwRYy_Gim6-7YtYW9<2}6bt2gJCJ^K=t;=H`y8-jO4 z$B5Jk2nh%}KZEvF$UnDMmd(2JiR3X#k6xrMA+Ys8n<`jpKFbc%Dkzz#JTQ-x=^T5Z z19$QrXei2DGBBs%fOB`_<{$nHq*HW4x1&C)31gNkx?bnyj7RJ&zRgbd)SZJyFACV$qeT0~MhYMV=Graj3yS;G@M$QVXL?xB*C z9V_f}R$pd0%G`duSi|(!ZPy!fB;QQuJGOPpfJLh_T_xx7w}vX7C(+ONxw2aK5FTgF zFL=3CRAB3zs#?}i|Ly5r#P-P{GU77iVaMg>n2}43JV3fq(P@#(gp%%{t22kpyYX^s zz32XyC54m&Hs@Qq1yFWc%yZm^)uFqY^Z1^B!_DS09NYdkTq%8e#k5g#r9evkCLSc` zqOI?>MN<22!r)X(F+O}INo3TQ&TPmQu($Qe@Be6aIXUQndBj#{O9z|Fq~mvJY`_u% zQ;#sYB*hsgdjzhiw)krRa^D<2FqFGG`}MFQL$>*n z0g*jz)wu&C4Bf%A_Q%3MX(X&f#)f~b`q^F)LtsU*7P(6kN&`duZh!6v-G<#3qu?{e z{wHt0CEU?w{kI$ia<~K5mGjDyalkvACY$_fPDd`MqiE%>pZ_@@YbmQ^N{kHx(fiw^ zmzF(*r;fcyHv2?7;;Yg0=~U~{2TC!YagYI70jBsJoFw%aY9+FqW<-CnW-i#pt~JJU z_zwn^b1ioUD&;HZYoiqV+#|^fP{7GsDZ+s*pXxH?e)MnJKZ0-*bKmht<#Y^ss3g)z z4bAq996Yz|m>uJfFsk4*J}9H&K)UNmKN=IN(^2G8T6i3Kw(gxlRW2#3`Eap zx$M~1B_60)yEUbK)?Exs3nbkUE)KITW}2AowKeguW}2WCGDr(Xh^jgjJv+1ua1esnPZo#m;8N))i}MoeeR&1{G%QVuzvrBg80^g z%ql8eUQerp>g}@av*$D;81{<& zpScW5t80K{e;yCouk06{h>95esiZt!Ap?9rSC#cm6&cTlA`VXZ#HCWdOJXx4n5P4J z&z`h`{cYd()-DP5+O-k=w;}5?NPVY+v3w-`TA)?;R28$d{hkv)LtFc_S_tAJk2G-$ zNwskMW;?}(;k#Lw)81RD26hs!5nNSdP``+(ItkITWs^oZxj^mr9>?kQK<@0+M6stn zWmPqGjiFG3QzxU?3-nzLOBQMcZ$=$kg!@uuQR23{!`nP9Rn*dkCnd0yK>U?QwO9tv zQV=btcj*PWqG|L>m9}KaOu{n3nwicS^Mbt6 z8DK?Gn)2QTsMDmZhBoXulqlM+mO-!b5UD<+_F_S-)i~VfnyXxKxi#8&xBOMb&j0sR&;Orq=M3pKFU{F=#L*}? z84T5e__SO+b{ygg>Trans>)KV8Q1^T7w!sxaG>3Dw`v2WV|?7^kF-n5&Dm;}v?8zh za*&?RpbCSb>eaW`->D0&3fPyn9zPx>A>G&EmYm@J2gA2ZF!Y?UNP~c;^*O^!1vLr2 z*YOUG+`N*LpxY7UAN>(yW@m`FWv^M6TL~lamKSy9M{oP;J6aNDW$k+A+^IQB3{;sW z+M)si!p!ZvFf&Z-16Ji7go5S`YJT7fnhkzvi=%J%T-zN3jO@JVs@G4_taM}e zlzBeXm-euWysMigtk=Ot^vFnZaXc7qOLnDhKApM}{lD0I�!lZ+-LyM0!){O+`WJ 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%0A&^z^b#r@a0LwMKc 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ɮ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 Tgmbp9Ho>ID6~t;pjDr6kqIi)A literal 0 HcmV?d00001 diff --git a/doc/images/owncloud_small_wh_bl.jpg b/doc/images/owncloud_small_wh_bl.jpg new file mode 100644 index 0000000000000000000000000000000000000000..10105fe4868e031a4dc6a3ab98c1b18dea7f885f GIT binary patch literal 11741 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 E10lWc3IG5A literal 0 HcmV?d00001 diff --git a/doc/images/security_warning_windows.png b/doc/images/security_warning_windows.png new file mode 100644 index 0000000000000000000000000000000000000000..45200b71b5412296109e564ffe2136dbe4f23aa6 GIT binary patch literal 13093 zcmV+=Guq6FP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXfGP+4bK~#8N?R^Je zRM(mAH@(lO_l^)v6wwi2im@GIAO(lQ0fj<^pcH^ct%9G*3HW@RbO=-jN~=&R5%32>Aylv6 zP4pnT3VW@R~THKci-ED$OsG3Oo=hs=}1pY zh1c&Dnd#ITw6(WFZZetC+gO4(SFeU#9gT#9c*Ms# z&9&%gXobzKMM`13!(se1bc8Tm79SLk$9eb&P+j#l4U!b+P1f4z|ob`v%((A;g?Hh@x z9?Z&{gv~F%jvH=UiiXN=^ap$>-Tfg_W-USj5mKumt|0f}y`B5+fhUAedj2O@$T46YfZ1Xhp3%&4 zgTyg6ZQ73Nn$z%k+%$0vg7D0hxh5)_7ojj?sO|mQ`rz_dp8`1{zDT^H?R!=1BbeqYvUYKYSEx z4;G@~@G)TGjc_#7;6TAX>^a$i{5jdE?A7A-Tkpe`Up@?%ZVEDHEyI7m_#wW##DY3q zEDo&Qg^g>rK}yVlWH%w!8Hb(6OVHw?nQl>{V1FxOlWefMLyh5%3bAo+{tzMP92PBq z>k-O>4!Q|-bNJuc=VB((pFn`-T=+a3KQ!CKJrSGl!#RlX@FAYl1<`X<_^5+N0$orU zEZ!6fg<#Qq$mv=}-0b^5coL64z7k*k+7rkclOf7fkmyw^SsZ(yCebYG=#T+=7=eUDGb9f)Od0&jAc;P1fSSf-DSrOPRe1i_uR!f}46$4) zU-a5&oSkWZCx}&tM<;@Ll~hSjH4TIf z=S>-qHY1}tkaQ&W6UtNc?@$?Xde+z7LWH*<%B&O0BTtLazYBl@g&e=|)4vJa_OrC+ z3p%K5R!(_l$%K;1;Z)wRLdHa;YrY-Q#zI+8{1J8HWK5so`~`+?!Y6vjgX*H-cw7|s z2OZRz!hfxf3ewcwt6ElA~19*s3xu$LV+R5@n8yR;zQx$ zf>VT=Em8==g>Sf{=z_1gCpd(N&04ZwjIa=ixueg;aOoV4r`z9)q4I|jt{;WVsPDMX znCQdA5Y;|gE_Y|>ZYYfJ&psBQ)WeTMpfbgMIB;Z+7l7yz?hmq@s4g0zuu`f6g~gKB zH5iIC5}eyP?Ybr3M`7t%gcvn_jO$5 zxK8M61Q#To|+^j1HwnkDATD!<~;mixs!u2{#e8%j$qmqryPHjd;EUx6_68u6}^*WA*@h zd_hQL7yHO=4*0$3w_4HO(Mcv$03DrOD0=@-cx`JHEEXRgf8e_?ll|M$(Ib4_2>8&_ z(oCij;PtrBbEX|uhlk=C@T0GP2T$H}4|dgdpsB1Fjoo&1b@$UV3x4^PyYSOj*5ap6 zJcPAH9k6zHLE*FFg%^L0nfZ6ZNO7*?EG{^sSzEjLo+q$4Pm5X8Z^w_n@nzKc^fcmEl25vh1*-5M-^ z@SEr#WXDSoRaK4nw=dp{-#`C7Y_7Cp&r46?`%gcGU%q@04}38f53PI(53IbC;wn*A zcoc?M18R1?ff+a4i#PxL66P$-M=R-#ZnqLq&N}R_uwmWLzKMsw@=tjFgA=%ILL6>e z`8Xt>o11bSLr|=I_|a!G(^ABn7zVRv|DY8gZQTZ4{8ZeS7Y(ZvgS%JUf*F(2@aCQt zJpa{2C~fu=VdkS?UkPT+TZHMkGvFTR#iB)vkrQWzPj8}`mxOP9=W8_E+K@hO2Ifp2 zi}IplxZ&ohIMw3Am%n@uygeP5e$!p3IkpW!jRkk#^*B-!RhYkU30mqZp^M7G1CQK+ zn(9`}n==*g$gyC>-H>&kLGpyL@VaGKaMOI4bV^L0w*-*}J(k|G1ajgOpCe1>e+?`K zySlm{+qh+?v}|!cyxz0s70YP7Rw-P5l8ik*fXn4V-HAfz)2AaV!6Hmy_NlU;CP1^t zhx2-Y%UDi2cXdE+1*CzRKl$)(t2G8NHPTdzEN)3YZ+nlO7{MT zo2A=sSqhJ5$YJscP$)>Dl0pj;uHzpA!*(<~N-Dr zI=z;};B`V@?U3`k=<5^u>WBP7vzfhNYL)7OhlaFctwtk+{NDn#N-ex!yu5|Aap7^J zgUvbiyj|?ww~{PG&+xQ*eCBlkfRD z9G@L^e6OXrYKq5>yl~iXS#)q-3^kRd8uCKu)YPs}F!XfImz<}8uDMQ}AIIVAa9tRj zfB4MLN7jkk&ERV-r6VIq|#Y2xi_H0IK@~|Dv1UOlJ3dbv|(b&?8 zhNc#AoNjDJQ%f64%d1gTa)LTGi1@g;PiOmbCDenJc;w$#!6>&urKWO}I&^fj!sc+o zq>|8KbwlQLi{->4!Hq4fb0RBVf&X}?7xm5{<|eC9V-3Pcl;xt?H|KB!U<=ByyWEcK zXcf9VfY;@RmnbSHQ||R5J0`}d@Nu0B>G2wz=^+!2dPhMW81PDP2P8E1co7$&!fSi` zV5K}yHu_;!QysKqw)uFG0|nBbR}b5;c%lIx9qdI94c>843cR?n2a$1FWJD_PtBu{5 zI>88AuLr;W*hXflAKhf~Z8^}79wN)mlMbXOY7wiIp`pu%NV5WG1_F5RU_Vk4w1Svk zs#AS8)hAL7Y0!(eO6@q^4|Mcay|7|NA$Z6{Hpp4ID8$iO{Zo4~|o#y3WX< z3%YP>5Qw38eKeig8a)^{jtJN0hej_)3>^U?ikq@Xv&gWwEr7|?k=@<^B53H(Cjt#p zo(D^v#F^MWm(W9<6+_m9CPD-2fFDz`Ex3KM94~FM(Lj($iJ_V6CoTjp^@ALp?f{mK z)j=B!5TP}=DO-(gN33X-sc~0g5G&s3$D2>4V60JwcMn=|tkH`x=^99`0Q&7dcxd2E zOEkcs2M(VY#NsRk{!r~lUW6PuMEv9&9d;eEBYBJ#E{_VcEdfMjs!>qnLxRqSCHYbK z#i}-#Qw^xDa^T)+I=ocj!y7AOX;7c9R)@_i#UqbC@oZX3((sJt5imGtBVyR_^qP;c z?PN7hG&N({qzpJ+E?A6u{OI*Vn4YFVVq%h5BJ^np`kXK%<|1fsB#xnjAub;I^A;d2 zIi3iW0)sITF%~V1W|MG`DC9wGE^(l$nWm+1{KV*0JYzc8tU-Xv&7pS1 zM60p(gcF$-ISQM6xNVjRT9*&I8@#Bs1z}Q1XzLFknr3feq!P(G1(aqLv2_LJ(O?R% zu^Wlu8NFlo$I^ni(}!m?v+h%;PQe;9=MFQi8E+A6<4?1|&IT@tY?e`o}{hCp$c&$xMSFD%A@R)H~}|A%^7?GhT8h6xYT(6=Ho1jJ_UdC`du_NKUh&sl5X|J$}iaiA2fr;Cw3<8GAhej7HQ5`KFZPS*6}-sSV~+%J9ygU60OLo&X6 z`$95BNcp1KsIMb{stIgq#Gkkp{+xB?E{^G~r(t=*h(CN54gns`7r+ zdB|F*v!jNz@=Vf{C#C5SX;h%R)rDT43YAo5tyhUh#*=nU0-WXEwSX|8WpA&2PrCPx z+u`<5Cl7%g7+xV?F97Z!qAh>P7`hn^Udq$l+={W|a!|Bu1G->=wZ0lNZ(0uDpa<=B zMTi+QkL+13oYr2H*7sm~ZVtR;x+P_#5?cw-)zIUY%}aOFElimq9RqK^#|eN zy7juz7LZ|V9BI*QPGpZUp{3CduR()2$&V(loNRO-9-eN*y5mmdB$0VToX0ijM+4~| zKfWg(xzUP{ZG4r3W%P*?Cm>t5VY9USrlmuQ)8zpZn?*rbDdVpg{6p);Noy`Kd#;glR+nl&Wf9YG;dzz$+Bc5)LNbRK#Vo=&?-=k*bzai(+WL+xdk_Z{qB0B zDU=uGq19@{=cHO5RN<+89Z-CcwC*t@wC*bfg+>p3uMP3zk}>Gl;qZ=iIMFnKX!PN5 zbr*D!55@?K;Kv%B5gT6l34BSjaBANsw0czNKUIwK4kz|~xB+grAA>!0Xzw3H@yU9u zd+}-Xxb%n`6N`1Pe}Js?IILOo4wA;rfI-Q723)%cD`Rqp-A*Ha^lZ8kV6(~Nalsfr z25-IaA1H5AlE&SK7hib|Ck`D%%7pPkVdB}Zmf5hkq#3)my@}dZKWYmLaHPBy*2-fD z=uBv=Eyvy?O-MA!vF(l5kuc|Wq-g9||MFYNoSKC{|LV`knL7iUR_`H>pbAys8i!)V zio2ejoICN-T$z6lh|o%{p6prfq)6i?pT7tokwxs zgLfb*CKd@%7FZ$-Vvt>{7&foodgndqi+7DSudWnW%VvV}#x_B+Wm)@X?U&UAzdvx+ z`9d6qSBA>uB!l%@cwKI&Nap%IZn3+8h$2>}hTN&_J7$fVeF3~G)a#=`OL?(&ex*gy z=N-e!n89HD%tpM56ew1xoK6?qE+?6EyaR$yX#Ar*Z0xD$*PBErr(;koA9g#Pbmoug z17dkEn`@lT?e-9%X~0k%HnVtF1^(dvTq3ji6<*xHiXbmH{v@2M9EK4Nzt}>Fkzhqr zbpb^)jI(*sz#hsj{OJ*cl}Z76&i%$40PyBB9EaP(3MrePmjbzlwA;^u(7a93-i>SV z`uZK>lNw&@t<&kmE;>5akVkZeT&YHPV>v$9c?bcw3o>e4XGa&jj(!aK48q>L0xN)*rJNd)oCR3_PSsnu#twY!umJLDxxUU|d$ zgxbXIYpOhg9S4ih*EJy0h*dhIGpIQ)%DcC-i`uG$kJ{C1_X^A5Xu(#TINd4oJk#2Q zph68e+OcN)L8yIw*jG}6vID!(M+$0X(QdR@J(omm#lw$1{%ppG_t94hY$om4v;i5} zNm#e~Bb1jGqNbq*Teoe-$+~tVM@Pb7<^}tJR&K+p56ke+UtWa0g@@5@4WfAWex&GK z*ng-BO@1Ys4!(<1HW#+Mvm31q)v(%o5S3)ax4-rh@}~N*VQU9Ymu`l~;laVW3haNo z0DgrNrc@)Uii7BC*bSH4i4V3H!RG2mO-Ttl?fuyI!Fn93ZbMsj4V-%M>G zL(gVqq+W4Z#_Xu7t^;4bV+u;E9f*ohVn;z0^7Cg9tMy>wlw7EXSe05OVehU3h>VGZ zJ~j)^uG2ItTF^l=BXjCR94jeBdBJ|<-8c(_?FIx~m6){T4wM}(fLT(ai^P$+r2(6c z9)rExha2y`1+V@0tN6xK-$O;&ew;XP3dYz7;sQO82JFx&25{nJ2bw$*qGU!yNKV)T zGT8e2;HH66(@=$?(i&)kR6m6Z$q^oC)90eEtpp8~od{~p*#E%>XjNwrRHkC`!hF>3 zJ_4uTg}78RPFL2!W_QEs@uH>XBx+ik;kJ2%Zvg%Qct{Mj4H8Fj_v3~|xp@1-eUO^! zaG;_JDVe$Gtv`&CHU(0nG^njAf!A$8Z%ZwvPRl`IaWgbz%{13FLz|QUU04PTAxvo5 z>UY;m_pG?}iYsF*)7XEmRx3%(B39hif`sH`lD8rEr-u}-@FzGdi#(2AwD&rZl#~c> zZ#!g>vFN3llOCr-zgGz(vFX8p3MQQfJ>6YMOi4r2>1w2=j)5eX#Lh@P-Mxs3juNb& zJ#r4RzwOp81gRde8RMWQf;JONPmR{Y2L<(kZ)mXbYd;y}0T*lm4KzL*5i=4hB8nrZ zgUmgE$i!51G&jJYCGinW9MR(tWw2!-kscvQa(JCR=ygg+j*G_twZR;pP6MxzSXM0b z7(~BEfsB-RbhMm?OHw0-INBMSsma;d@VkRFQy~;fyJG--11_W_M8E?BJl0l3BxR$A z218O-25h}H(Z?DRVduWaA9jKM_03h%$}im~_OQCrU}CdAz;$8&_qnWQq^=NFP=u03 zgy)wXLcwCcHa+J(K6y}t;_~VZ-oi>D&Y}zo>3pyP z$7S%-5b?wDIA8wWiy=v&wRNHEvvs0Bp_HP0W~~7+h$;1OUZH$KTSN(eKC@tclSl!g zRzqRoRWZWz&vAzGV&yd4wvqi8#<14SnlNYfSs+{y{>v5Q`;o^;NJQAsUYm4Hjp9xa z;)Tv)p}`OV`QXlCuz3~EhtKEUhvKrSC@x=%coZH=bM_g7&!VjykLxVbhyT!tpNqCons6L?#AorGZbp`UA;@{f z$EQWQj(>c7X6Ds({O^K4kr=wXj;k4RuiG;$%&%pzBFBo$d5~6tjakTvbWz| zC*8YZ`Dfzm{=9-azoD@ay*)jm!!9Qr4hJSqngom4EVS$T`g&NcRzaN01t##ozyPLB zoho)@8Yzmo9ARF)_0GG}7w=keO%s|sqqw*j3l=Q6_*ywKZ1`mi!|iej&G=Hl3m^&# z3NUBR9C6RvHO`+u|GaY8RALt@YvmW+eS&@7Dmgsf^WQX%ENA4K$S|ShIvpAKmt5_u z7d)$ZpBDBfcxcd%KD?l(`0>-v;6I=K1%f&qrQk0^mBQ9PKYr-oy!ha}!w8o%Dz48D zUvC4R{_&5odi@UZ4uD@`a9rjB;su6U3!Q2JYd0RI8OwuVbUAz;Sv8DW1g%V(Y$+)@0xbJXE+ z!0Iz1FHwQQids~Ytew5&J}BK?NKH!Jqk&&1&X&l_pAtO10%JYmWhugq%n#&10Vi@7J z$u?}+Dc!s{Ulew&f;*mNXIxyI=(G!Kud*ROy&P%;rCh?Gliv-5_n47^w*!OZKTk$8VIv|U#Lp#h zIp@yk<(^{{*~W+Jp%c5EBz42+M4oHF2J4mkXS)-EPO^ z$&(RDGk@fa9wzi(-dH6)c>ibfQseWCu;Ozi!16fU`JYueVGI-c&9~P|U%K}W!Sk=< z>H`zHtgH-j-YQw}{_D7^A?Gzu*I#N}-C+8XEq=a+$>s}92o%Gu4>FC8P} zhd+c1A+#a;<-&#P#Xnp+y3A`2tf&b>bBB)v6S=&i0*4BZ;An9Pj+Ipi|EyLeM{`>@ zX{G~0<>wWUV)?E{EeOU-TiJ!j;I&XZK-lZn*V`)`0=!P!YI6w_g}NJeT z(9Q?E0+YQ#jPQ3=;-fqwpje*E_q^JY<7s%gu0n+Kl3@O^(*Ay{a8Zh1&ZT&~UkZQG zVITA$D5tbTd0&fQVk;hc^oeKFQxbh1Xb51xc9H6HK3 zU4Z4wW@E?Bb%;n`itTUw8uxwm0UR#uL29BAL7Kr)K@WBsA7nAU5Vh+!G}lj-~+c{_LQ;c^XV{S+7$HE9zoi~T)e%y0MEVj9QrC7uOk}1eAUQDsPMI9DC+CU;RHedhvs)R8^Mc zm$Lc%)dp6oOG-*EPUwFGgf+_RxHyIhy><6~Y03Oq*Ys=3s~OC?Lo<5UerZfvg4o#g zI<79T-#a5CT1zC7aMkf1!vY%e`Q|xGfZZDfxa@_*6o3h1qYc zQtO1j`C{OB4#yyDRvRRr9i4qnv7w&~Sx1dsroda51n}jW`RP&C$WQWt4?PXhU zGu+S!-#KqA%i(Olb6=TEMmU}HlhMv9H-sKJ1SV2E6bE6=IJvPRHQE$_M-4#olF2uuX9yHHVHikg$f7z~<`niNO2Yv{|rkzP zc5j8+WWttrK0r)r3@Ylok!cygfBx(>R8)2#Em?t1y9SjRzFXRG!gb1BFn$S#SoD53z?3u=8o85d zY=nHE8gH)s7=!)*=H*Yqubz4V_dRhBw(oC4SM@$LH?*LgW|%(^3v10LY}#Ed+VH@m zU&7|sUcu5k?!>V}CD=v8cjyw~>1stzMkExbIQ;U-@4_2rgi@P^%Ho6Q?>K|HmU?{j z>Km}?R9 z;gY*CX38AMiF4EyZNvI?$8rB-^YPfj&ye}!MBWYav2k+&7EDb;c}Xo+z4aD7YIVuiI=1+k~X2z6>8Sr^!h>lOj{26I5MP*V$ z9GEt14)i1ylF~Dw^-!e}CSl^(F-Rs(lbn(O>*;!Afopd z6H=&*jUVj5*Pr z(Zk4BK1#A95-+V9z_Y6d(f;)w^mPKq#(V{7cm4pGDeu zekAw#$H`4bE$ntDj3mQ39?SI58fSKmhD;0gk$WgU?*hahloPWOb#uE0NjR#}O62nq?CMW>vp&H!^HBk;6C5u)O00Pnd=!s;>+I7P zI}}g{5AA6HSAQ!S`sGN9F~guyK}AHA#7y2 zc0pr~fl>*-x<`p zqw(z}UIerTv?VS>Oy*3nd24t^^CEz^|MFMFW{t)6_ddi&8`mHzD;v9a9)`l%hW$lH z@YY*vp(TZ5|DnTZsxHRbJvCT3J_3VM05AUhw}{Ee#-Z(N;8B>cd;1pDpRPq)57k36 zh_*o`nkx&jucQ$cy$UXSFScylgYmPc;iETRhAu7%@4vMH=13X#?cIm|K_~WY+exz8 zgt#azp8V>!kdrq7yY?N&K;v<^^+|}+JMh-~rAUxEP}Nyvwb@zjnBjx8VAP< zK0t?$2A`u1A8ptOWpp|sr9Q0Mb_7~SE6Pc4`Rxm@qPjDPqzE0X{k=F|egv&uR-7n2 zj{5piXyeA>ga3LSw#axYw+5y4y>PXc<3QmtC?itg>ubWst^0}dS>Unt<9EOP6{2D- z_`@HzBPqd;{dx#Uoje&EH|~PM--CjEMeu7QkQikWFLFK!BUtxi7bJ9hj}4Z# zV^H;Vp|#%wWn2zc+#H1=EWAy{<@@SQnE%GY8{&PgIg@AueK(t}BH z25jBF9+B}W*uHrmBn^p&#CV#S-LQGwQ25-a?dT*n?ZO$W5`84svnIviPj4TD+24y` z>{tvo9!6P}ovaNPj_fPO*T3@!zH---u%t!c=qW3*jCRzt3=)f<0N!!&lQ2x^l@Af2 z(}~a{*Z|Mc2#W>BPxm3qz6YH>9<*q(@r4`JXdXyMhxR5+8kaGOZSyjo7k=?O{OI{- zuy^}GJaG3sL}!eL≠NW%Cf9mz&xU z=Qy5t^fvKXN?ME@tJWUEkAM0k-urMn7EPZ(8ubi#0$SX-Fb}pfJLmgY}|hLkj4*Gc%J#$wjgToN-TB$A@l=G9?ZbP$I0>B!DZCNob$ z{@nSPJtLdUFgsMysmNb=6XG=vqm4GQ0{Ri3yO0LY7+8#;fi#;G+a%=W&xEVbjhnx)kY=@$IOhZ;Mw>~YyR;d7 z(U0tyx0hBmA*ub3FjantCT%h%jrHQ)p6}wWyYCRQ`CJprWHJ!(IjvI2GkzX&pfHzE zh)+et`(lzcEH52)o7g3=W5A0+cK``G5*ef@O^#(5MDmnmH2@SeS7E}s~!@hw~ACl%u zI*ad9W;0{>HRa}QMCcnX{52&n!Yd$iBuiOBvZ)J4`f@QbZ!Y3vB1g?;20K5hiA6gb z4x_3|frYcjBS^$bjkM#LR}N!Bf)=;lcQ?AL>qs6}p{$}4|NZ>;5pX)N_LvR(8hluu zqal0JgSnF|kUKr7qicP#5lbyHY;O1CpC+pCqa9Yb{Yrdou?fXBPAr>cL0792dpi8c z(F1jM2{V(_h>TL9rOuAj36V%s6H$lid9C5Bulo~xV;+(zi}Ul~idu#$i2_+!0B$1-_0%@CiXaqh;7rVF^+VKYn8|&p;-AaY29fTUmeLrWfLelF;>jl zbHD8ggW1oXvQ|9v^}A5k;J^*zEoii>FqLFm$LV$~yX_Vn*tZ?aS9}3JeFU=fYMPmT zn9OEusBplkl9R&XM~^FjE{B8zr=19>6)0)&5X%l=dy^M3GSfDn7!*I86=S zMCWnC_8!~Pyw;j`>SKAx3mlZx@hszbJ7yj@Mhy=jmgkfS%Q~V9%Q*&z^Aa`wZA$*t z8$JsKgyRT%lCCKo$L2Krc@fJwj>EE(e@BwDyjF2mMqfrkU&rSUXJzztToV{#de?Ea zL$-12Zt1pV3*ougQlihZfD>a>CTv$SG}%}e!RO*qhO%fT{~6^Up!0d{4+l`LBQriP z9%DoxDGb8*&2?nufrIF{V6smGCkm3~L$);gBZiImForVbP-fkS4jqE5w5nceX>6qO zN7kCau_%aNS@Iz&Dx!$$j>1sXiz57-JCLt01tLCQP#Uo?Uz8tmAc%a1@{)XR_SF#Os=Bz6qo8PQ9NF35%jpobnHW5&?b~q#wYa~`_. + +Linux Installation Methods +-------------------------- + +You can install the ownCloud Desktop Client using either of the following three methods: + +- One Click Install (openSUSE and SUSE SLE distributions only) — Installs the + ownCloud Desktop using a bundled installation package. +- Adding the ownCloud package repository — Installs the ownCloud Desktop client + using a Linux terminal and keeps it up to date using the distribution's + package manager. + +.. note:: + + Manual command line installation requires that you perform the installation as root. + +- Binary package — Installs the ownCloud Desktop Client using a raw binary package. + +Installing the Desktop Client on Redhat or CentOS Linux Operating Systems +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +To install the ownCloud Desktop Client on a Redhat or CentOS operating system manually: + +1. Open a Linux terminal window. + +2. Specify the directory in which you want to install the client. + + ``cd /etc/yum.repos.d/`` + +3. Choose and download the client for your specific distribution: + + * Red Hat RHEL-6: ``wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/RedHat_RHEL-6/isv:ownCloud:desktop.repo`` + * CentOS CentOS-6: ``wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/CentOS_CentOS-6/isv:ownCloud:desktop.repo`` + +4. Install the client. + + ``yum install owncloud-client`` + +5. After the installation completes, go to Setting Up the ownCloud Desktop Client. + +**Installing the Desktop Client on Debian 7.0 Linux Operating Systems Manually** + +To install the ownCloud Desktop Client on the Debian 7.0 distribution manually: + +1. Open a Linux terminal window. + +2. Download the client. + + ``echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Debian_7.0/ /' >> /etc/apt/sources.list.d/owncloud-client.list`` + +3. Download the package lists from any repositories and updates them to ensure the latest package versions and their dependencies. + + ``apt-get update`` + +4. Install the client. + + ``apt-get install owncloud-client`` + +5. (Optional) Download the apt-key for the Debian repository + + ``wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/Debian_7.0/Release.key`` + +6. After the installation completes, go to Setting Up the ownCloud Desktop Client. + +Installing the Desktop Client on Fedora Linux Operating Systems +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +To install the ownCloud Desktop Client on the Fedora operating system manually: + +1. Open a Linux terminal window. +2. Specify the directory in which you want to install the client. + + cd /etc/yum.repos.d/ + +3. Choose and download the client for your specific distribution + + * Fedora 19: ``wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/Fedora_19/isv:ownCloud:desktop.repo`` + * Fedora 20: ``wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/Fedora_20/isv:ownCloud:desktop.repo`` + +4. Install the client. + + ``yum install owncloud-client`` + +5. After the installation completes, go to Setting Up the ownCloud Desktop Client. + +Installing the Desktop Client on openSUSE Linux Operating Systems +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +To install the ownCloud Desktop Client on the openSUSE operating system manually: + +1. Open a Linux terminal window. + +2. Choose and download the client for your specific distribution: + + * Factory PPC: ``zypper addrepo http://download.opensuse.org/repositories/isv:ownCloud:desktop/openSUSE_Factory_PPC/isv:ownCloud:desktop.repo`` + * **Factory ARM**: ``zypper addrepo http://download.opensuse.org/repositories/isv:ownCloud:desktop/openSUSE_Factory_ARM/isv:ownCloud:desktop.repo`` + * **Factory**: ``zypper addrepo http://download.opensuse.org/repositories/isv:ownCloud:desktop/openSUSE_Factory/isv:ownCloud:desktop.repo`` + * **13.1 Ports**: ``zypper addrepo http://download.opensuse.org/repositories/isv:ownCloud:desktop/openSUSE_13.1_Ports/isv:ownCloud:desktop.repo`` + * **13.1**: ``zypper addrepo http://download.opensuse.org/repositories/isv:ownCloud:desktop/openSUSE_13.1/isv:ownCloud:desktop.repo`` + * **12.3 Ports**: ``zypper addrepo http://download.opensuse.org/repositories/isv:ownCloud:desktop/openSUSE_12.3_Ports/isv:ownCloud:desktop.repo`` + * **12.3**: ``zypper addrepo http://download.opensuse.org/repositories/isv:ownCloud:desktop/openSUSE_12.3/isv:ownCloud:desktop.repo`` + * **12.2**: ``zypper addrepo http://download.opensuse.org/repositories/isv:ownCloud:desktop/openSUSE_12.2/isv:ownCloud:desktop.repo`` + +3. Download any package metadata from the medium and store it in local cache. + + ``zypper refresh`` + +4. Install the client. + + ``zypper install owncloud-client`` + +5. After the installation completes, go to Setting Up the ownCloud Desktop Client. + +Installing the Desktop Client on SLE Linux Operating Systems +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +To install the ownCloud Desktop Client on the SUSE Linux Enterprise (SLE) operating system. + +1. Open a Linux terminal window. + +2. Download the client. + + ``zypper addrepo http://download.opensuse.org/repositories/isv:ownCloud:desktop/SLE_11_SP3/isv:ownCloud:desktop.repo`` + +3. Download any package metadata from the medium and store it in local cache. + + ``zypper refresh`` + +4. Install the client. + + ``zypper install owncloud-client`` + +5. After the installation completes, go to Setting Up the ownCloud Desktop Client. + +Installing the Desktop Client on Ubuntu Linux Operating Systems +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +To install the ownCloud Desktop Client on the Ubuntu operating system: + +1. Open a Linux terminal window. + +2. Choose and download the client for your specific distribution: + + * **xUbuntu 14.04**: ``sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/xUbuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"`` + * **xUbuntu 13.10**: ``sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/xUbuntu_13.10/ /' >> /etc/apt/sources.list.d/owncloud-client.list"`` + * **xUbuntu 12.10**: ``sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/xUbuntu_12.10/ /' >> /etc/apt/sources.list.d/owncloud-client.list"`` + * **xUbuntu 12.04**: ``sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"`` + +3. Download the package lists from any repositories and updates them to ensure the latest package versions and their dependencies. + + ``apt-get update`` + +4. Install the client. + + ``sudo apt-get install owncloud-client`` + +5. (Optional) Download the apt-key for the Ubuntu repository: + + * **xUbuntu 14.04**: ``wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/xUbuntu_14.04/Release.key`` + * **xUbuntu 13.10**: ``wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/xUbuntu_13.10/Release.key`` + * **xUbuntu 12.10**: ``wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/xUbuntu_12.10/Release.key`` + * **xUbuntu 12.04**: ``wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/xUbuntu_12.04/Release.key`` + +6. (Optional) Add the apt key. + + ``sudo apt-key add - < Release.key`` + +7. After the installation completes, go to `Setting Up the ownCloud Desktop Client`_. diff --git a/doc/installing-macosx.rst b/doc/installing-macosx.rst new file mode 100644 index 000000000..664f0e1e3 --- /dev/null +++ b/doc/installing-macosx.rst @@ -0,0 +1,4 @@ +.. _installing-macosx: + +Installing the MAC OSX Desktop Client +===================================== \ No newline at end of file diff --git a/doc/installing-windows.rst b/doc/installing-windows.rst new file mode 100644 index 000000000..86df98fc3 --- /dev/null +++ b/doc/installing-windows.rst @@ -0,0 +1,102 @@ +.. _installing-windows: + +Installing the Windows Desktop Client +===================================== + +The ownCloud desktop client for Windows is provided as a Nullsoft Scriptable Install System (NSIS) setup file for machine-wide installation. + +To install the ownCloud desktop client: + +1. Access the ownCloud website. + + The ownCloud web page opens. + + .. image:: images/oc_website.png + + ownCloud Web Page + +2. Select Products > Desktop Clients from the website menu. + + The Desktop Client download page opens. + + .. image:: images/oc_client_download_options.png + + Desktop client download selections + +3. Click the 'Download for Windows' option. + The Desktop Client download page opens. + + .. image:: images/oc_client_windows_download.png + + ownCloud Windows Client Download + +4. Click the 'download' button. + + The Microsoft Windows client download begins. Depending on your browser + settings, the client installation file might launch automatically. + +5. Once the download completes, locate the client installation file in your system Downloads folder. + +6. Double-click the client installation file to start the download. + + The Open File - Security Warning dialog box opens. + + .. image:: images/security_warning_windows.png + + Open File - Security Warning dialog box + +7. Click 'Run' in the dialog box to begin the installation. + + On systems running virus protection software, you might have to verify + that you want to install the ownCloud Desktop Client software. + +8. Click 'Yes' to continue with the software installation. + + The ownCloud Setup Wizard window opens. + + .. image:: images/client_setup_wizard_main.png + + ownCloud Setup Wizard Window + +9. Click 'Next' to continue. + + The Choose Components window opens. + + .. image:: images/client_setup_wizard_components.png + + Choose Components Window + +10. Choose the components that you want to install for the Desktop Client. + + All relevant components for your platform are selected by default. + However, you can choose to exlude different components from the installation. + +11. Click Next to continue. + + The Choose Install Location window opens. + + .. image:: images/client_setup_wizard_location.png + + Choose Install Location window + +12. Verify the destination folder for the Desktop Client installation and then click Install. + + The Installing window opens. + + .. image:: images/client_setup_wizard_install_progress.png + + Installing window + +13. Once the installation completes, click 'Next' to continue. + + The Setup Wizard Completion window opens. + + .. image:: images/client_setup_wizard_install_finish.png + + Completion window + + You can choose to launch the Desktop Client from this window or launch the application at another time. + +14. Click 'Finish' to complete the installation. + + After the installation completes, go to Setting Up the ownCloud Desktop Client. diff --git a/doc/installing.rst b/doc/installing.rst new file mode 100644 index 000000000..34c9e09d9 --- /dev/null +++ b/doc/installing.rst @@ -0,0 +1,13 @@ +Installing the Synchronization Client +===================================== + +The latest version of the ownCloud Synchronization Client can be obtained from +the `ownCloud Website `_. You can download and install +the client on Windows, MAC OSX, and various Linux software distrubutions. The +following sections describe specific support and installation procedures for +the different software platforms: + +- :ref:`installing-windows` +- :ref:`installing-macosx` +- :ref:`installing-linux` + diff --git a/doc/introduction.rst b/doc/introduction.rst index 4cd1e8562..3bd3a164d 100644 --- a/doc/introduction.rst +++ b/doc/introduction.rst @@ -1,32 +1,14 @@ Introduction ============ -The ownCloud Sync Client is a desktop program installed on a user’s computer. -It allows a user to specify one or more directories on the local machine to -sync to the ownCloud server. It allows the user to always have the latest -files wherever they may be. When a change is made to the file on the -computer, it will sync to the ownCloud server via the sync client. +Available for Windows, MAC OS X, and various Linux distributions, the ownCloud +Sync client is a desktop program installed on your computer. The client enables +you to: -The ownCloud Sync Client is available for Windows, MAC OS X, and various -Linux distributions. +- Specify one or more directories on your computer that you want to synchronize + to the ownCloud server. +- Always have the latest files synchronized, wherever they are located. -Obtaining the Client --------------------- +Changes made to any synchronized file on the computer are automatically made to +the files on the ownCloud server using the sync client. -The latest version of the Client can be obtained on the ownCloud web site. - -ownCloud client for **Windows** is provided as a NSIS-based setup file for -machine-wide install. Installing the ownCloud client on **Mac OS** follows -the normal app bundle installation pattern: - -1. Download the installation file: Click ``ownCloud-x.y.z.dmg``, a window with - the ownCloud icon opens. -2. In that window, drag the ownCloud application into the ``Applications`` - folder. -3. On the right hand side From ``Applications``, choose ``ownCloud``. - -The ownCloud client is also provided as in a convenient repository for a wide -range of popular **Linux distributions**. - -Supported distributions are Fedora, openSUSE, Ubuntu and Debian. -To support other distributions, a is required, see :ref:`building-label` diff --git a/doc/logo-blue.pdf b/doc/logo-blue.pdf index 81562944c654b8ac719c819b1e06660ab27271e1..5fd39dfa5e71add7ae63f0c63e1fc9c4bec7e61a 100644 GIT binary patch delta 17 YcmdnZx07!}G~?zN#wCoK8JVqE066{yM*si- delta 21 acmdnVx0`Q6G$SML=4i$xAnHGp6$=1M&IVrq diff --git a/doc/navigating.rst b/doc/navigating.rst new file mode 100644 index 000000000..9e6bfeca9 --- /dev/null +++ b/doc/navigating.rst @@ -0,0 +1,313 @@ +Using the Synchronization Client +================================ + +.. index:: navigating, usage + +The ownCloud Client remains in the background and is visible as an icon in the +system tray (Windows, KDE), status bar (MAC OS X), or notification area +(Ubuntu). + +.. image:: images/icon.png + +**ownCloud Desktop Client icon** + +Using the Desktop Client Menu +----------------------------- + +A right click on the icon (left click on Ubuntu and Mac OS X) provides the +following menu: + +.. image:: images/menu.png + +**ownCloud Desktop Client menu** + +The Desktop Client menu provides the following options: + +* ``Open ownCloud in browser``: Launches the ownCloud WEB interface. +* ``Open folder 'ownCloud'``: Opens the ownCloud local folder. If you have defined multiple synchronization targets, the window displays each local folder. +* **Disk space indicator**: Indicates the amount of space currently used on the server. +* Operation indicator: Displays the status of the current synchronization process or indicates ``Up to date`` if the server and client are in sync. +* **Recent Changes**: Displays the last six files modified by the synchronization operations and provides access to the current synchronization status listing all changes since the last restart of the ownCloud client. +* ``Settings...``: Provides access to the settings menu. +* ``Help``: Opens a browser to display ownCloud Desktop Client Guide. +* ``Sign out``: Disables the client from continued synchronizations. +* ``Quit ownCloud``: Quits the ownCloud Client, ending any currently running + synchronizations. + +Using the Account Settings Window +--------------------------------- + +.. index:: account settings, user, password, Server URL + +The ``Account`` window provides a summary for general settings associated with the ownCloud account. This window enalbes you to manage any synchronized folders in the account and enables you to modify them. + +To access and modify the account settings: + +.. image:: images/settings_account.png + :scale: 50 % + +The fields and options in this window include: + +* ``Connected to as `` field: Indicates the ownCloud server to which the client is synchronizing and the user account on that server. + +* ``Add Folder...`` button: Provides the ability to add another folder to the synchronization process (see ``Adding a Folder``). + +* ``Pause/Resume`` button: Pauses the current sync (or prevents the client from starting a new sync) or resumes the sync process. + +* ``Remove`` button: Removes the selected folder from the sync process. This button is used when you want to synchronize only a few folders and not the root folder. If only the root folder is available, you must first remove the root from the synchronization and then add individual folders that you want to synchronize as desired. + +* ``Storage Usage`` field: Indicates the storage utilization on the ownCloud server. + +* ``Edit Ignored Files`` button: Launches the Ignored Files Editor. + +* ``Modify Account`` button: Enables you to change the ownCloud server to which you are synchronizing. This option launches the ``Setting up an Account`` windows (See ??). + + +Adding a Folder +^^^^^^^^^^^^^^^ + +The ``Add a Folder ...`` button enables you to add a new folder to the syncrhonization process. + +To add a new folder: + +1. Click the ``Add a Folder ...`` button in the Account window. + + The ``Add Folder...`` window opens + + .. image:: images/folderwizard_local.png + :scale: 50 % + + **``Add Folder...`` window (local folder)** + +2. Specify a *unique* path and alias name to the folder or use the ``Choose...`` button to locate the new folder on your system to which you want to synchronize. + + ..note:: Nested synchronizations are not supported. In other words, you + cannot add a folder that is already contained within another synchronized + folder. In addition, you cannot add a higher level (parent) folder that + contains a folder to which you are already synchronizing. By default, the + ownCloud Set Up Wizard syncrhonizes your entire ownCloud account to the root + folder of the ownCloud server. Due to this default setup, you must first remove + the top-level folder prior to specifying new synchronizations. + +3. Click 'Next' to continue. + + A window opens prompting you to select a remote destination folder on the + ownCloud server to which you want to synchronize. + + .. image:: images/folderwizard_remote.png + :scale: 50 % + + **``Add Folder...`` window (remote destination)** + +4. Select a folder on the ownCloud server to which you want to synchronize your newly added folder. + + ..note:: A server folder can only be synchronized with a particular client once. + If you attempt to sync the root directory, you cannot sync with other folders + on the server. Similarly, if you sync with folder ``/a``, you cannot create + another sync with ``/a/b``, since ``b`` is already being synched. + +Editing Ignored Files +^^^^^^^^^^^^^^^^^^^^^ + +The :guilabel:`Ignored Files Editor` provides a list of preconfigured files +that are ignored (that is, not synchronized) by the client and server during +synchronizations. The Ignored Files Editor enables you to add patterns for +files or directories that you want to exclude from the synchronization process. +In addition to using standard characters, the Ignored Files Editor enables you +to use wild cards (for example, using an asterisk ‘*’ to indicate multiple +characters or a question mark ‘?’ to incidate a single character). + +For additional information about this editor, see `Using the Ignored Files Editor`_ + +Using the Activity Settings Window +---------------------------------- + +.. index:: activity, recent changes, sync activity + +The Activity window provides an in-depth account of recent synchronization +activity. It shows files that have not been synchronized because they are on +the ignored files list or because they cannot be synced in a cross-platform +manner due to containing special characters that cannot be stored on certain +file systems. + +.. image:: images/settings_activity.png + :scale: 50 % + + **Activity settings window** + +You can open the Activity window in one of the following ways: + +- Click 'Activity' in the left frame of the ownCloud Settings window. + +- Invoke the window from the ownCloud Desktop Client menu by selecting ``Recent + Changes`` > ``Details...``. (See Using the Desktop Client Menu.) + +Using the General Settings Window +--------------------------------- + +.. index:: general settings, auto start, startup, desktop notifications + +The General settings window enables you to set general settings for the +ownCloud Desktop Client and provides information about the software version, +its creator, and the existance of any updates. + +.. image:: images/settings_general.png + :scale: 50 % + + **General settings window** + +The settings and information contained in this window are as follows: + +* ``Launch on System Startup`` checkbox: Provides the option to check (enable) + or uncheck (disable) whether the ownCloud Desktop Client launches upon system + startup. By default, this option is enabled (checked)once you have configured + your account. + +* ``Show Desktop Nofications`` checkbox: Provides the option to check (enable) + or uncheck (disable) bubble notifications alerting you as to when a set of + synchronization operations is performed. + +* ``Use Monochrome Icons`` checkbox: Provides the option to check (enable) or + uncheck (disable) the use of monochrome (visually less obtrusive) icons. + + .. note:: This option can be useful on MAC OSX platforms. + +* ``About`` field: Provides information about the software authors along with + pertinent build conditions. + + .. note:: Information in this field can be valuable when submitting a support request. + +* ``Updates`` field: Provides information about any available updates for the + ownCloud Desktop Client. + +Using the Network Settings Window +--------------------------------- + +.. index:: proxy settings, SOCKS, bandwith, throttling, limiting + +The Network settings window enables you to define network proxy settings as +well as limit the download and upload bandwidth utilization of file +synchronizations. + +.. image:: images/settings_network.png + :scale: 50 % + + **Network settings window** + +Specifying Proxy Settings +^^^^^^^^^^^^^^^^^^^^^^^^^ + +A proxy server is a server (for example, a computer system or an application) +that functions as an intermediary contact for requests from clients that are +seeking resources from other servers. For the ownCloud Desktop Client, you can +define the following proxy settings: + +* ``No Proxy`` option: Specifies that the ownCloud Client circumvent the default proxy configured on the system. +* ``Use system proxy`` option: Default setting. Follows the systems proxy + settings. On Linux systems, this setting uses the value of the variable + ``http_proxy``. +* ``Specify proxy manually as`` option: Enables you to specify + the following custom proxy settings: + - ``HTTP(S)``: Used when you are required to use an HTTP(S) proxy server (for example, Squid or Microsoft Forefront TMG). + - ``SOCKSv5``: Typically used in special company LAN setups, or in combination with the OpenSSH + dynamic application level forwarding feature (see ``ssh -D``). + - ``Host``: Host name or IP address of the proxy server along with the port number. HTTP proxies + typically listen over Ports 8080 (default) or 3128. SOCKS servers typically listen over port 1080. +* ``Proxy Server requires authentication`` checkbox: Provides the option to check (enable/require) or + uncheck (disable/not require) proxy server authentication. When not checked, the proxy server must + be configured to allow anonymous usage. When checked, a proxy server username and password is required. + +Bandwidth Limiting +^^^^^^^^^^^^^^^^^^ + +Synchronization of files between a client and server can utilized a lot of +bandwidth. Bandwidth limiting can assist in shaping the total download or +upload bandwidth (or both) of your client/server connection to a more +manageable level. By limiting your bandwidth usage, you can maintain free +bandwidth for other applications to use. + +The ownCloud Desktop Client enables you to limit (throttle) the bandwidth usage +for both file downloads and file uploads. The Download Bandwidth field (for +data flowing from the ownCloud server to the client) provides the following +options: + +- ``No limit`` option: The default setting for the client; specifies that there + are no limit settings on the amount of data downloaded from the server. + +- ``Limit to KBytes/s`` option: Limits (throttles) the bandwidth to + a customized value (in KBytes/second). + +The Upload Bandwidth field (for data flowing from the ownCloud client to the +server) provides the following options: + +- ``No limit`` option: The default setting for the client; specifies that there + are no limit settings on the amount of data downloaded from the server. + +- ``Limit automatically``: When enabled, the ownCloud client surrenders + available bandwidth to other applications. Use this option if there are + issues with real time communication (for example, the use of IP phone or live + streaming) in conjunction with the ownCloud Client. + +- ``Limit to KBytes/s`` option: Limits (throttles) the bandwidth to a + customized value (in KBytes/second). + + +.. _ignoredFilesEditor-label: + +Using the Ignored Files Editor +------------------------------ + +.. index:: ignored files, exclude files, pattern + +You might have some files or directories that you do not want to backup and +store on the server. To identify and exclude these files or directories, you +can use the *Ignored Files Editor* that is embedded in the ownCloud Desktop +Client. + +.. image:: images/ignored_files_editor.png + :scale: 50% + + Ignored Files Editor window + +The :guilabel:`Ignored Files Editor` enables you to define customized patterns that the +ownCloud Client uses to identify files and directories that you want to exclude +from the synchronization process. For your convenience, the editor is +pre-populated with a default list of typically ignore patterns. These patterns +are contained in a system file (typically ``sync-exclude.lst``) located in the +ownCloud Client application directory. You cannot modify these pre-populated +patterns directly from the editor. However, if necessary, you can hover over +any pattern in the list to show the path and filename associated with that +pattern, locate the file, and edit the ``sync-exclude.lst`` file. + +.. note:: Modifying the global exclude definition file might render the client + unusable or result in undesired behavior. + +Each line in the editor contains an ignore pattern string. When creating custom +patterns, in addition to being able to use normal characters to define an +ignore pattern, you can use wildcards characters for matching values. As an +example, you can use an asterisk (``*``) to idenfify an arbitrary number of +characters or a question mark (``?``) to identify a single character. + +Patterns that end with a slash character (``/``) are applied to only directory +components of the path being checked. + +.. note:: Custom entries are currently not validated for syntactical + correctness by the editor, but might fail to load correctly. + +Each pattern string in the list is preceded by a checkbox. When the check box +contains a check mark, in addition to ignoring the file or directory component +matched by the pattern, any matched files are also deemed "fleeting metadata" +and removed by the client. + +In addition to excluding files and directories that use patterns defined in +this list: + +- The ownCloud Client always excludes files containing characters that cannot + be synchronized to other file systems. + +- As of ownCloud Desktop Client version 1.5.0, files are removed that cause + individual errors three times during a synchronization. However, the client + provides the option of retrying a synchronization three additional times on + files that produce errors. + +For more detailed information see :ref:`ignored-files-label`. diff --git a/doc/ocdoc b/doc/ocdoc index 2c3e584b2..c612df399 160000 --- a/doc/ocdoc +++ b/doc/ocdoc @@ -1 +1 @@ -Subproject commit 2c3e584b2356dc4324e6e0720b7aa908aaa480a3 +Subproject commit c612df399e3c775a2f9db1dc5e39d25920ab467b diff --git a/doc/options.rst b/doc/options.rst index e3dc8875f..6f6536d84 100644 --- a/doc/options.rst +++ b/doc/options.rst @@ -1,24 +1,23 @@ When invoking the client from the command line, the following options are supported: ``-h``, ``--help`` - shows all the below options (opens a window on Windows) + Displays all the options below or, when used on Windows, opens a window displaying all options. ``--logwindow`` - open a window to show log output. + Opens a window displaying log output. ``--logfile`` `` - write log output to file . To write to stdout, specify `-` - as filename + Write log output to the file specified. To write to stdout, specify `-` as the filename. ``--logdir`` `` - write each sync log output in a new file in directory + Writes each synchronization log output in a new file in the specified directory. ``--logexpire`` `` - removes logs older than hours. (to be used with --logdir) + Removes logs older than the value specified (in hours). This command is used with ``--logdir``. ``--logflush`` - flush the log file after every write. + Clears (flushes) the log file after each write action. ``--confdir`` `` - Use the given configuration directory. + Uses the specified configuration directory. diff --git a/doc/owncloud.1.rst b/doc/owncloud.1.rst index a67cf1834..26e431e85 100644 --- a/doc/owncloud.1.rst +++ b/doc/owncloud.1.rst @@ -10,13 +10,9 @@ SYNOPSIS DESCRIPTION =========== -ownCloud is a file synchronisation desktop utility based on mirall. -It synchronizes files on your local machine with an ownCloud Server. If you -make a change to the files on one computer, it will flow across the others -using this desktop sync clients. +The ownCloud Client is a file synchronization desktop utility based on mirall. It synchronizes files on your local computer, tablet, or handheld device with an ownCloud Server. If you make a change to the files on one device, the change is propagated to all other syncrhonized devices using the desktop synchronization clients. -Normally you start the client by click on the desktop icon or start from the -application menu. After starting an ownCloud icon appears in the system tray. +Normally, you start the client by clicking on the desktop icon or by starting it from the client application menu. After starting, an ownCloud icon appears in the computer system tray or on your tablet or handheld device. Options ======= diff --git a/doc/owncloudcmd.1.rst b/doc/owncloudcmd.1.rst index 8ea736d03..e33e51917 100644 --- a/doc/owncloudcmd.1.rst +++ b/doc/owncloudcmd.1.rst @@ -9,38 +9,38 @@ SYNOPSIS DESCRIPTION =========== -owncloudcmd is the command line tool for the ownCloud file synchronisation -desktop utility, based on mirall. +owncloudcmd is the command line tool used for the ownCloud file synchronization +desktop utility. This command line tool is based on mirall. -Contrary to the :manpage:`owncloud(1)` GUI client, `owncloudcmd` will only -perform a single sync run and then exit. It thus replaces the `ocsync` binary -used for the same purpose in earlier releases. +Contrary to the :manpage:`owncloud(1)` GUI client, `owncloudcmd` only performs +a single sync run and then exits. In so doing, `owncloudcmd` replaces the +`ocsync` binary used for the same purpose in earlier releases. -A sync run will sync a single local directory with a WebDAV share on a +A *sync run* synchronizes a single local directory using a WebDAV share on a remote ownCloud server. To invoke the command line client, provide the local and the remote repository: The first parameter is the local directory. The second parameter is the server URL. -.. note:: Prior to 1.6, the tool only accepted ``owncloud://`` or ``ownclouds://`` - in place of ``http://`` and ``https://`` as a scheme. See ``Examples`` - for details. +.. note:: Prior to the 1.6 release of owncloudcmd, the tool only accepted + ``owncloud://`` or ``ownclouds://`` in place of ``http://`` and ``https://`` as + a scheme. See ``Examples`` for details. OPTIONS ======= ``--confdir`` `PATH` - The configuration dir where `csync.conf` is located + Specifies the configuration directory where `csync.conf` is located. ``--silent`` - Don't give verbose log output + Inhibits verbose log output. ``--httpproxy http://[user@pass:]:`` - Use ``server`` as HTTP proxy + Uses ``server`` as HTTP proxy. Example ======= -To sync the ownCloud directory ``Music`` to the local directory ``media/music`` +To synchronize the ownCloud directory ``Music`` to the local directory ``media/music`` through a proxy listening on port ``8080`` on the gateway machine ``192.168.178.1``, the command line would be:: @@ -49,7 +49,7 @@ the command line would be:: https://server/owncloud/remote.php/webdav/Music -Using the legacy scheme, it would look like this:: +Using the legacy scheme, it would be:: $ owncloudcmd --httpproxy http://192.168.178.1:8080 \ $HOME/media/music \ diff --git a/doc/owncloudcmd.rst b/doc/owncloudcmd.rst index 479d39b74..61836c37a 100644 --- a/doc/owncloudcmd.rst +++ b/doc/owncloudcmd.rst @@ -1,44 +1,43 @@ -The ownCloud Client packages come with a command line client which -can be used to synchronize ownCloud files to client machines. The -command line client is called ``owncloudcmd``. +The ownCloud Client packages contain a command line client that can be used to +synchronize ownCloud files to client machines. The command line client is +called ``owncloudcmd``. -owncloudcmd performs a single sync run and then exits. -That means that it processes the differences between client- and -server directory and propagates the files to get both repositories -on the same status. Contrary to the GUI based client, it does not -repeat syncs on its own. It does also not monitor for file system -changes. +owncloudcmd performs a single *sync run* and then exits the synchronization +process. In this manner, owncloudcmd processes the differences between client +and server directories and propagates the files to bring both repositories to +the same state. Contrary to the GUI-based client, owncloudcmd does not repeat +synchronizations on its own. It also does not monitor for file system changes. -To invoke the command line client, the user has to provide the local -and the remote repository urls:: +To invoke the owncloudcmd, you must provide the local and the remote repository +urls using the following command:: owncloudcmd [OPTIONS...] sourcedir owncloudurl where ``sourcedir`` is the local directory and ``owncloudurl`` is -the server url. +the server URL. -.. note:: Prior to 1.6, the tool only accepted ``owncloud://`` or - ``ownclouds://`` in place of ``http://`` and ``https://`` - as a scheme. See ``Examples`` for details. +.. note:: Prior to the 1.6 version of owncloudcmd, the tool only accepted + ``owncloud://`` or ``ownclouds://`` in place of ``http://`` and ``https://`` as + a scheme. See ``Examples`` for details. -These are other comand line switches supported by owncloudcmd: +Other comand line switches supported by owncloudcmd include the following: -``--silent`` - Don't give verbose log output +- ``--silent`` + Supresses verbose log output. -``--confdir`` `PATH` - Fetch or store configuration in this custom config directory +- ``--confdir`` `PATH` + Fetches or stores configuration in the specified configuration directory. -``--httpproxy http://[user@pass:]:`` - Use ``server`` as HTTP proxy +- ``--httpproxy http://[user@pass:]:`` + Uses the specified ``server`` as the HTTP proxy. Credential Handling ~~~~~~~~~~~~~~~~~~~ By default, owncloudcmd reads the client configuration and uses the credentials -of the GUI sync client. If no client was configured or to use a different user -to sync, the user password setting can be specified with the usual URL pattern, -for example:: +of the GUI syncrhonization client. If no client is configured, or if you choose +to use a different user to synchronize, you can specify the user password +setting with the usual URL pattern. For example:: https://user:secret@192.168.178.2/remote.php/webdav @@ -46,16 +45,16 @@ for example:: Example ~~~~~~~ -To sync the ownCloud directory ``Music`` to the local directory ``media/music`` -through a proxy listening on port ``8080`` on the gateway machine ``192.168.178.1``, -the command line would be:: +To synchronize the ownCloud directory ``Music`` to the local directory +``media/music`, through a proxy listening on port ``8080``, and on a gateway +machine using IP address ``192.168.178.1``, the command line would be:: $ owncloudcmd --httpproxy http://192.168.178.1:8080 \ $HOME/media/music \ https://server/owncloud/remote.php/webdav/Music -Using the legacy scheme, it would look like this:: +Using the legacy scheme, the command line would be:: $ owncloudcmd --httpproxy http://192.168.178.1:8080 \ $HOME/media/music \ diff --git a/doc/troubleshooting.rst b/doc/troubleshooting.rst index b1dc39f0b..c501a2576 100644 --- a/doc/troubleshooting.rst +++ b/doc/troubleshooting.rst @@ -1,158 +1,223 @@ Appendix C: Troubleshooting =========================== -If the client fails to start syncing it basically can have two -basic reasons: Either the server setup has a problem or the client -has a bug. When reporting bugs, it is crucial to find out what part -of the system causes the problem. +The following two general issues can result in failed synchronization: -Identifying basic functionality problems +- The server setup is incorrect. +- The client contains a bug. + +When reporting bugs, it is helpful if you first determine what part of the +system is causing the issue. + +Identifying Basic Functionality Problems ---------------------------------------- -:Perform a general ownCloud Server test: - A very first check is to verify that you can log on to ownClouds web - application. Assuming your ownCloud instance is installed at - ``http://yourserver.com/owncloud``, type - ``http://yourserver.com/owncloud/`` into your browsers address bar. +:Performing a general ownCloud Server test: + The first step in troubleshooting synchronization issues is to verify that + you can log on to the ownCloud web application. To verify connectivity to the + ownCloud server: + + - Open a browser window and enter the server address to your own server in the location/address bar. + + For example, if your ownCloud instance is installed at URL address + ``http://yourserver.com/owncloud``, enter ``http://yourserver.com/owncloud/`` + into your browsers location/address bar. - If you are not prompted to enter your user name and password, or if you - see a red warning box on the page, your server setup is not correct or needs - fixes. Please verify that your server installation is working correctly. + If you are not prompted for your username and password, or if a red warning + box appears on the page, your server setup requires modification. Please verify + that your server installation is working correctly. :Ensure the WebDAV API is working: - If all desktop clients fail to connect to ownCloud, but the access via the - web interface works, the problem often is a mis-configuration of the WebDAV - API. + If all desktop clients fail to connect to the ownCloud Server, but access + using the web interface functions properly, the problem is often a + misconfiguration of the WebDAV API. - The ownCloud client uses the built-in WebDAV access of the server content. - Verify that you can log on to ownClouds WebDAV server. Assuming your ownCloud - instance is installed at ``http://yourserver.com/owncloud``, type - ``http://yourserver.com/owncloud/remote.php/webdav`` into your browsers - address bar. + The ownCloud Client uses the built-in WebDAV access of the server content. + Verify that you can log on to ownClouds WebDAV server. To verify connectivity + with the ownCloud WebDAV server: - If you are prompted, but the authentication fails even though the credentials - your provided are correct, please ensure that your authentication backend - is configured properly. + - Open a browser window and enter the address to the ownCloud WebDAV server. + + For example, if your ownCloud instance is installed at + ``http://yourserver.com/owncloud``, your WebDAV server address is + ``http://yourserver.com/owncloud/remote.php/webdav``. + + If you are prompted for your username and password but, after providing the + correct credentials, authentication fails, please ensure that your + authentication backend is configured properly. :Use a WebDAV command line tool to test: - A more sophisticated test is to use a WebDAV command line client and log - into the ownCloud WebDAV server, such as a little app called cadaver, - available on Linux. It can be used to further verify that the WebDAV server is - running properly, for example by performing PROPFIND calls: + A more sophisticated test method for troubleshooting syncrhonization issues + is to use a WebDAV command line client and log into the ownCloud WebDAV server. + One such command line client -- called cadaver -- is available for Linux + distributions. You can use this application to further verify that the WebDAV + server is running properly using PROPFIND calls. + + As an example, after installing the cadaver app, you can issue the + ``propget`` command to obtain various properties pertaining to the current + directory and also verify WebDAV server connection. - ``propget .`` called within cadaver will return some properties of the current - directory and thus be a successful WebDAV connect. Isolating other issues ---------------------- -If the sync result is unreliable, please ensure that the folder synced with -ownCloud is not shared with other syncing apps. +Other issues can affect synchronization of your ownCloud files: -.. note:: Syncing the same directory with ownCloud and other sync software such - as Unison, rsync, Microsoft Windows Offline Folders or cloud services - such as DropBox or Microsoft SkyDrive is not supported and should - not be attempted. In the worst case, doing so can result in data - loss. +- If you find that the results of the synchronizations are unreliable, please + ensure that the folder to which you are synchronizing is not shared with + other synchronization applications. -If some files do not get take a look at the sync protocol. Some files are -automatically automatically being ignored because they are system files, -others get ignored because their file name contains characters that cannot -be represented on certain file systems. See :ref:`_ignored-files-label` for -details. + .. note:: Synchronizing the same directory with ownCloud and other + synchronization software such as Unison, rsync, Microsoft Windows Offline + Folders, or other cloud services such as DropBox or Microsoft SkyDrive is not + supported and should not be attempted. In the worst case, it is possible that + synchronizing folders or files using ownCloud and other synchronization + software or services can result in data loss. -If you are operating your own server and use the local storage backend (the -default), make sure that ownCloud has exclusive access to the directory. +- If you find that only specific files are not synrchronized, the + synchronization protocol might be having an effect. Some files are + automatically ignored because they are system files, other files might be + ignored because their filename contains characters that are not supported on + certain file systems. For more information about ignored files, see + :ref:`_ignored-files-label`. -.. note:: The data directory on the server is exclusive to ownCloud and must - not be modified manually. +- If you are operating your own server, and use the local storage backend (the + default), make sure that ownCloud has exclusive access to the directory. -If you are using a different backend, you can try to exclude a bug in the -backend by reverting to the local backend. + .. note:: The data directory on the server is exclusive to ownCloud and must not be modified manually. -Logfiles --------- + If you are using a different file backend on the server, you can try to exclude a bug in the + backend by reverting to the built-in backend. -Doing effective debugging requires to provide as much as relevant logs as -possible. The log output can help you with tracking down problem, and if you -report a bug, you're advised to include the output. +Log Files +--------- -Client Logfile -~~~~~~~~~~~~~~ +Effectively debugging software requires as much relative information as can be +obtained. To assist the ownCloud support personnel, please try to provide as +many relevant logs as possible. Log output can help with tracking down +problems and, if you report a bug, log output can help to resolve an issue more +quickly. -Start the client with ``--logwindow``. That opens a window providing a view -on the current log. It provides a Save button to let you save the log to a -file. +Obtaining the Client Log File +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -You can also open a log window for an already running session, by simply -starting the client again with this parameter. Syntax: +To obtain the client log file: + +1. Open the ownCloud Desktop Client. + +2. Press F12 on your keyboard. + + The Log Output window opens. + + .. image:: images/log_output_window.png + +3. Click the 'Save' button. + + The Save Log File window opens. + + .. image:: images/save_log_file.png + +4. Migrate to a location on your system where you want to save your log file. + +5. Name the log file and click the 'Save' button. + + The log files is saved in the location specifed. + +Alternatively, you can launch the ownCloud Log Output window using the +``--logwindow`` command. After issuing this command, the Log Output window +opens to show the current log. You can then follow the same procedures +mentioned above to save the log to a file. + + .. note:: You can also open a log window for an already running session, by + restarting the client using the following command: * Windows: ``C:\Program Files (x86)\ownCloud\owncloud.exe --logwindow`` * Mac OS X: ``/Applications/owncloud.app/Contents/MacOS/owncloud --logwindow`` * Linux: ``owncloud --logwindow`` -It is also possible to directly log to a directory, which is an useful option -in case the problem only happens ocassionally. In that case it is better to -create a huge amount of data, as the log window has a limited buffer. +Saving Files Directly +~~~~~~~~~~~~~~~~~~~~~ -To write logs to disk, start the client with ``--logfile ``, where -````, where ``

`` -is an existing directory. In case of ``--logdir``, each sync run will create a -new file. To limit the amount of data that accumulates over time, there is another -useful parameter: ``--logexpire ```. If that is combined with ```--logdir``` -the client automatically erases log data in that directory that is older than the -given expiry period. +The ownCloud client enables you to save log files directly to a predefined file +or directory. This is a useful option for troubleshooting sporadic issues as +it enables you to log large amounts of data and bypasses the limited buffer +settings associated with the log window. -For example, for a long running test where you intend to keep the log data of the -last two days, this would be the command line: +To save log files to a file or a directory: + +1. To save to a file, start the client using the ``--logfile `` command, + where ```` is the filename to which you want to save the file. + +2. To save to a directory, start the client using the ``--logdir `` command, where ```` + is an existing directory. + +When using the ``--logdir`` command, each sync run creates a new file. To limit +the amount of data that accumulates over time, you can specify the +``--logexpire `` command. When combined with the ``--logdir`` command, +the client automatically erases saved log data in the directory that is older +than the specified number of hours. + +As an example, to define a test where you keep log data for two days, you can +issue the following command: ``` owncloud --logdir /tmp/owncloud_logs --logexpire 48 ``` -ownCloud server Logfile -~~~~~~~~~~~~~~~~~~~~~~~ +ownCloud server Log File +~~~~~~~~~~~~~~~~~~~~~~~~ -The ownCloud server maintains an ownCloud specific logfile as well. It can and -must be enabled through the ownCloud Administration page. There you can adjust -the loglevel. It is advisable to set it to a verbose level like ``Debug`` or -``Info``. +The ownCloud server also maintains an ownCloud specific log file. This log file +must be enabled through the ownCloud Administration page. On that page, you can +adjust the log level. We recommend that when setting the log file level that +you set it to a verbose level like ``Debug`` or ``Info``. -The logfile can be viewed either in the web interface or can be found in the -filesystem in the ownCloud server data dir. +You can view the server log file using the web interface or you can open it +directly from the file system in the ownCloud server data directory. -Webserver Logfiles -~~~~~~~~~~~~~~~~~~ +.. todo:: Need more information on this. How is the log file accessed? + Need to explore procedural steps in access and in saving this file ... similar + to how the log file is managed for the client. Perhaps it is detailed in the + Admin Guide and a link should be provided from here. I will look into that + when I begin heavily editing the Admin Guide. -Also, please take a look at your webservers error log file to check if there -are problems. For Apache on Linux, the error logs usually can be found at -``/var/log/apache2``. A file called ``error_log`` shows errors like PHP code -problems. A file called ``access_log`` usually records all requests handled -by the server. Especially the access_log is a very good debugging tool as the -log line contains a lot of information of every request and it's result. +Webserver Log Files +~~~~~~~~~~~~~~~~~~~ + +It can be helpful to view your webservers error log file to isolate any +ownCloud-related problems. For Apache on Linux, the error logs are typically +located in the ``/var/log/apache2`` directory. Some helpful files include the +following: + +- ``error_log`` -- Maintains errors associated with PHP code. +- ``access_log`` -- Typically records all requests handled by the server; very + useful as a debugging tool because the log line contains information specific + to each request and its result. -More information about the apache logging can be found at +You can find more information about Apache logging at ``http://httpd.apache.org/docs/current/logs.html``. Core Dumps ---------- -In case of crashes of the client software, having a core dump helps to -debug the issue tremendously. +On MAC OS X and Linux systems, and in the unlikely event the client software +crashes, the client is able to write a core dump file. Obtaining a core dump +file can assist ownCloud Customer Support tremendously in the debugging +process. -The client is able to write a core dump in case of crashing on Linux and -MacOSX. To enable that, the environment variable ``OWNCLOUD_CORE_DUMP`` has -to be defined. +To enable the writing of core dump files, you must define the +``OWNCLOUD_CORE_DUMP`` environment variable on the system. -For example +For example: ``` OWNCLOUD_CORE_DUMP=1 owncloud ``` -starts the client with core dumping enabled. Core dumps appear in the -current working directory, and since they can be fairly large, it is -important to have plenty of disk space when running with dumps enabled. +This command starts the client with core dumping enabled and saves the files in +the current working directory. -If a core dump file should be transfered back to the developers it -should be compressed properly before. +.. note:: Core dump files can be fairly large. Before enabling core dumps on + your system, ensure that you have enough disk space to accommodate these files. + Also, due to their size, we strongly recommend that you properly compress any + core dump files prior to sending them to ownCloud Customer Support. From 730e86c4cd390543faebc587554a4ff13d618442 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Thu, 26 Jun 2014 01:25:24 -0400 Subject: [PATCH 085/190] [tx-robot] updated from transifex --- translations/mirall_pl.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index 5dc84c6fd..19ab74332 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -189,7 +189,8 @@ %1 of %2, file %3 of %4 Total time left %5 - + %1 z %2, plik %3 z %4 +Pozostało czasu %5 @@ -1999,12 +2000,12 @@ Niezalecane jest jego użycie. the destination - + docelowy the source - + źródło @@ -2133,12 +2134,12 @@ Niezalecane jest jego użycie. Syncing %1 of %2 (%3 left) - + Synchronizacja %1 z %2 (%3 pozostało) Syncing %1 (%2 left) - + Synchronizuję %1 (%2 pozostało) From b3b3ca0e16fbd4a3af7ec72424f84da566d84202 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Thu, 26 Jun 2014 02:06:14 -0400 Subject: [PATCH 086/190] [tx-robot] updated from transifex --- admin/win/nsi/l10n/Catalan.nsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/win/nsi/l10n/Catalan.nsh b/admin/win/nsi/l10n/Catalan.nsh index 4440e209a..0d3ad573e 100644 --- a/admin/win/nsi/l10n/Catalan.nsh +++ b/admin/win/nsi/l10n/Catalan.nsh @@ -11,13 +11,13 @@ StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} ja està inst StrCpy $PageReinstall_SAME_Field_2 "Afegir/Reinstal.lar components" StrCpy $PageReinstall_SAME_Field_3 "Desinstal.lar ${APPLICATION_NAME}" StrCpy $UNINSTALLER_APPDATA_TITLE "Desinstal.lar ${APPLICATION_NAME}" +StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Accés directe del programa al menú d'inici" StrCpy $UNINSTALLER_FINISHED_Detail "Acabat" StrCpy $SectionGroup_Shortcuts "Dreceres" StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Found ${APPLICATION_EXECUTABLE} process(s) which need to be stopped.$\nDo you want the installer to stop these for you?" StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Killing ${APPLICATION_EXECUTABLE} processes." StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Choose the maintenance option to perform." StrCpy $SEC_APPLICATION_DETAILS "Installing ${APPLICATION_NAME} essentials." -StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Start Menu Program Shortcut" StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Adding shortcut for ${APPLICATION_NAME} to the Start Menu." StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Desktop Shortcut" StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Creating Desktop Shortcuts" From e76386be4f5008fc4f6d77e4fb77054045cd5555 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 26 Jun 2014 10:16:56 +0200 Subject: [PATCH 087/190] Revert "ownCloudcmd: Use Account object and ConnectionValidator." We decided that owncloudcmd should not share the config with mirall. This reverts commit 5f96de32bb602d51d5ea30084f05c62c12637dc2. --- src/owncloudcmd/owncloudcmd.cpp | 246 ++++++++++++++------------------ src/owncloudcmd/owncloudcmd.h | 36 +---- 2 files changed, 110 insertions(+), 172 deletions(-) diff --git a/src/owncloudcmd/owncloudcmd.cpp b/src/owncloudcmd/owncloudcmd.cpp index ca6155736..23a110fe3 100644 --- a/src/owncloudcmd/owncloudcmd.cpp +++ b/src/owncloudcmd/owncloudcmd.cpp @@ -25,152 +25,42 @@ #include "mirall/syncengine.h" #include "mirall/syncjournaldb.h" #include "mirall/logger.h" - +#include "csync.h" +#include "mirall/clientproxy.h" +#include "mirall/account.h" #include "creds/httpcredentials.h" #include "owncloudcmd.h" #include "simplesslerrorhandler.h" +using namespace Mirall; -OwncloudCmd::OwncloudCmd(CmdOptions options) - : QObject(), _options(options) +struct CmdOptions { + QString source_dir; + QString target_url; + QString config_directory; + QString proxy; + bool silent; + bool trustSSL; +}; + +int getauth(const char* prompt, char* buf, size_t len, int a, int b, void *userdata) { + (void) a; + (void) b; -} + struct CmdOptions *opts = (struct CmdOptions*) userdata; -void OwncloudCmd::slotConnectionValidatorResult(ConnectionValidator::Status stat) -{ - // call csync_create even if the connect fails, since csync_destroy is - // called later in any case, and that needs a proper initialized csync_ctx. - if( csync_create( &_csync_ctx, _options.source_dir.toUtf8(), - _options.target_url.toUtf8()) < 0 ) { - qCritical("Unable to create csync-context!"); - emit( finished() ); - return; - } - - if( stat != ConnectionValidator::Connected ) { - qCritical("Connection cound not be established!"); - emit( finished() ); - return; - - } - - int rc = ne_sock_init(); - if (rc < 0) { - qCritical("ne_sock_init failed!"); - emit( finished() ); - return; - } - - csync_set_userdata(_csync_ctx, &_options); - - if( csync_init( _csync_ctx ) < 0 ) { - qCritical("Could not initialize csync!"); - _csync_ctx = 0; - emit( finished() ); - return; - } - - csync_set_module_property(_csync_ctx, "csync_context", _csync_ctx); - if( !_options.proxy.isNull() ) { - QString host; - int port = 0; - bool ok; - // Set as default and let overwrite later - csync_set_module_property(_csync_ctx, "proxy_type", (void*) "NoProxy"); - - QStringList pList = _options.proxy.split(':'); - if(pList.count() == 3) { - // http: //192.168.178.23 : 8080 - // 0 1 2 - host = pList.at(1); - if( host.startsWith("//") ) host.remove(0, 2); - - port = pList.at(2).toInt(&ok); - - if( !host.isNull() ) { - csync_set_module_property(_csync_ctx, "proxy_type", (void*) "HttpProxy"); - csync_set_module_property(_csync_ctx, "proxy_host", host.toUtf8().data()); - if( ok && port ) { - csync_set_module_property(_csync_ctx, "proxy_port", (void*) &port); - } - } - } + std::cout << "** Authentication required: \n" << prompt << std::endl; + std::string s; + if(opts && opts->trustSSL) { + s = "yes"; } else { - _clientProxy.setupQtProxyFromConfig(); - QString url( _options.target_url ); - if( url.startsWith("owncloud")) { - url.remove(0, 8); - url = QString("http%1").arg(url); - } - _clientProxy.setCSyncProxy(QUrl(url), _csync_ctx); + std::getline(std::cin, s); } - - SyncJournalDb *db = new SyncJournalDb(_options.source_dir); - SyncEngine *engine = new SyncEngine(_csync_ctx, _options.source_dir, QUrl(_options.target_url).path(), _folder, db); - connect( engine, SIGNAL(finished()), this, SIGNAL(finished()) ); - QObject::connect(engine, SIGNAL(transmissionProgress(Progress::Info)), this, SLOT(transmissionProgressSlot())); - - // Have to be done async, else, an error before exec() does not terminate the event loop. - QMetaObject::invokeMethod(engine, "startSync", Qt::QueuedConnection); - + strncpy( buf, s.c_str(), len ); + return 0; } -bool OwncloudCmd::runSync() -{ - QUrl url(_options.target_url.toUtf8()); - - _account = new Account; - - // Find the folder and the original owncloud url - QStringList splitted = url.path().split(_account->davPath()); - url.setPath(splitted.value(0)); - url.setScheme(url.scheme().replace("owncloud", "http")); - _folder = splitted.value(1); - - SimpleSslErrorHandler *sslErrorHandler = new SimpleSslErrorHandler; - - csync_set_log_level(_options.silent ? 1 : 11); - Logger::instance()->setLogFile("-"); - - if( url.userInfo().isEmpty() ) { - // If there was no credentials coming in commandline url - // than restore the credentials from a configured client - delete _account; - _account = Account::restore(); - } else { - // set the commandline credentials - _account->setCredentials(new HttpCredentials(url.userName(), url.password())); - } - - if (_account) { - _account->setUrl(url); - _account->setSslErrorHandler(sslErrorHandler); - AccountManager::instance()->setAccount(_account); - - _conValidator = new ConnectionValidator(_account); - connect( _conValidator, SIGNAL(connectionResult(ConnectionValidator::Status)), - this, SLOT(slotConnectionValidatorResult(ConnectionValidator::Status)) ); - _conValidator->checkConnection(); - } else { - // no account found - return false; - } - - return true; -} - -void OwncloudCmd::destroy() -{ - csync_destroy(_csync_ctx); -} - -void OwncloudCmd::transmissionProgressSlot() -{ - // do something nice here. -} - - void help() { std::cout << "owncloudcmd - command line ownCloud client tool." << std::endl; @@ -246,20 +136,98 @@ int main(int argc, char **argv) { CmdOptions options; options.silent = false; options.trustSSL = false; + ClientProxy clientProxy; parseOptions( app.arguments(), &options ); - OwncloudCmd owncloudCmd(options); + QUrl url(options.target_url.toUtf8()); + Account account; - QObject::connect(&owncloudCmd, SIGNAL(finished()), &app, SLOT(quit())); - if( !owncloudCmd.runSync() ) { - return 1; + // Find the folder and the original owncloud url + QStringList splitted = url.path().split(account.davPath()); + url.setPath(splitted.value(0)); + url.setScheme(url.scheme().replace("owncloud", "http")); + QString folder = splitted.value(1); + + SimpleSslErrorHandler *sslErrorHandler = new SimpleSslErrorHandler; + + account.setUrl(url); + account.setCredentials(new HttpCredentials(url.userName(), url.password())); + account.setSslErrorHandler(sslErrorHandler); + AccountManager::instance()->setAccount(&account); + + CSYNC *_csync_ctx; + if( csync_create( &_csync_ctx, options.source_dir.toUtf8(), + options.target_url.toUtf8()) < 0 ) { + qFatal("Unable to create csync-context!"); + return EXIT_FAILURE; } + int rc = ne_sock_init(); + if (rc < 0) { + qFatal("ne_sock_init failed!"); + } + + csync_set_log_level(options.silent ? 1 : 11); + Logger::instance()->setLogFile("-"); + + csync_set_userdata(_csync_ctx, &options); + csync_set_auth_callback( _csync_ctx, getauth ); + + if( csync_init( _csync_ctx ) < 0 ) { + qFatal("Could not initialize csync!"); + return EXIT_FAILURE; + } + + csync_set_module_property(_csync_ctx, "csync_context", _csync_ctx); + if( !options.proxy.isNull() ) { + QString host; + int port = 0; + bool ok; + + // Set as default and let overwrite later + csync_set_module_property(_csync_ctx, "proxy_type", (void*) "NoProxy"); + + QStringList pList = options.proxy.split(':'); + if(pList.count() == 3) { + // http: //192.168.178.23 : 8080 + // 0 1 2 + host = pList.at(1); + if( host.startsWith("//") ) host.remove(0, 2); + + port = pList.at(2).toInt(&ok); + + if( !host.isNull() ) { + csync_set_module_property(_csync_ctx, "proxy_type", (void*) "HttpProxy"); + csync_set_module_property(_csync_ctx, "proxy_host", host.toUtf8().data()); + if( ok && port ) { + csync_set_module_property(_csync_ctx, "proxy_port", (void*) &port); + } + } + } + } else { + clientProxy.setupQtProxyFromConfig(); + QString url( options.target_url ); + if( url.startsWith("owncloud")) { + url.remove(0, 8); + url = QString("http%1").arg(url); + } + clientProxy.setCSyncProxy(QUrl(url), _csync_ctx); + } + + OwncloudCmd owncloudCmd; + + SyncJournalDb db(options.source_dir); + SyncEngine engine(_csync_ctx, options.source_dir, QUrl(options.target_url).path(), folder, &db); + QObject::connect(&engine, SIGNAL(finished()), &app, SLOT(quit())); + QObject::connect(&engine, SIGNAL(transmissionProgress(Progress::Info)), &owncloudCmd, SLOT(transmissionProgressSlot())); + + // Have to be done async, else, an error before exec() does not terminate the event loop. + QMetaObject::invokeMethod(&engine, "startSync", Qt::QueuedConnection); app.exec(); - owncloudCmd.destroy(); + csync_destroy(_csync_ctx); ne_sock_exit(); diff --git a/src/owncloudcmd/owncloudcmd.h b/src/owncloudcmd/owncloudcmd.h index 4b6836bd6..ae55305b0 100644 --- a/src/owncloudcmd/owncloudcmd.h +++ b/src/owncloudcmd/owncloudcmd.h @@ -18,44 +18,14 @@ #include -#include "csync.h" - -#include "mirall/connectionvalidator.h" -#include "mirall/clientproxy.h" -#include "mirall/account.h" - -using namespace Mirall; - -struct CmdOptions { - QString source_dir; - QString target_url; - QString config_directory; - QString proxy; - bool silent; - bool trustSSL; -}; class OwncloudCmd : public QObject { Q_OBJECT public: - OwncloudCmd(CmdOptions options); - bool runSync(); - void destroy(); - + OwncloudCmd() : QObject() { } public slots: - void slotConnectionValidatorResult(ConnectionValidator::Status stat); - void transmissionProgressSlot(); - -signals: - void finished(); - -private: - CmdOptions _options; - ConnectionValidator *_conValidator; - CSYNC *_csync_ctx; - Account *_account; - ClientProxy _clientProxy; - QString _folder; + void transmissionProgressSlot() { + } }; #endif From 21d7d8988ad58e8203f2c143a786ac8f3e266329 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 26 Jun 2014 13:11:47 +0200 Subject: [PATCH 088/190] t1.pl: add a sleep to make sure the mtime of the files are different It could be that the files are changed in the same second if the previous sync was fast, and therefore the changes not detected. --- csync/tests/ownCloud/t1.pl | 1 + 1 file changed, 1 insertion(+) diff --git a/csync/tests/ownCloud/t1.pl b/csync/tests/ownCloud/t1.pl index 5834290b0..3e2ade503 100755 --- a/csync/tests/ownCloud/t1.pl +++ b/csync/tests/ownCloud/t1.pl @@ -123,6 +123,7 @@ assertLocalAndRemoteDir( '', 0); # The previous sync should have updated the etags, and this should NOT be a conflict printInfo( "Update the file again"); +system("sleep 1"); system("echo more data >> " . localDir() . "remoteToLocal1/kernelcrash.txt"); system("echo corruption >> " . localDir() . "remoteToLocal1/kraft_logo.gif"); csync( ); From 40d765c73aa64de2fcf8503886f27c8da7b7d3d9 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 26 Jun 2014 16:09:21 +0200 Subject: [PATCH 089/190] Remove version suffix, final release 1.6.1 --- VERSION.cmake | 2 +- doc/ocdoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION.cmake b/VERSION.cmake index 1427e65f0..6be5d277e 100644 --- a/VERSION.cmake +++ b/VERSION.cmake @@ -4,7 +4,7 @@ set( MIRALL_VERSION_PATCH 1 ) set( MIRALL_SOVERSION 0 ) if ( NOT DEFINED MIRALL_VERSION_SUFFIX ) - set( MIRALL_VERSION_SUFFIX "rc1") #e.g. beta1, beta2, rc1 + set( MIRALL_VERSION_SUFFIX "") #e.g. beta1, beta2, rc1 endif( NOT DEFINED MIRALL_VERSION_SUFFIX ) if( NOT DEFINED MIRALL_VERSION_BUILD ) diff --git a/doc/ocdoc b/doc/ocdoc index c612df399..2c3e584b2 160000 --- a/doc/ocdoc +++ b/doc/ocdoc @@ -1 +1 @@ -Subproject commit c612df399e3c775a2f9db1dc5e39d25920ab467b +Subproject commit 2c3e584b2356dc4324e6e0720b7aa908aaa480a3 From eaa3a2eae23bd5f91e4eb4ce526a4377e4c0ea03 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Fri, 27 Jun 2014 01:25:23 -0400 Subject: [PATCH 090/190] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 20 ++++---- translations/mirall_cs.ts | 6 +-- translations/mirall_it.ts | 20 ++++---- translations/mirall_ja.ts | 20 ++++---- translations/mirall_pt.ts | 4 +- translations/mirall_ru.ts | 4 +- translations/mirall_uk.ts | 105 ++++++++++++++++++++------------------ 7 files changed, 91 insertions(+), 88 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index a3d872bcd..b6e3cfe5d 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -1290,7 +1290,7 @@ No és aconsellada usar-la. ; Restoration Failed: - + ; La restauració ha fallat: @@ -1964,48 +1964,48 @@ Proveu de sincronitzar-los de nou. 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 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 diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 7d5ccd6d2..2c0631b3f 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -610,7 +610,7 @@ Opravdu chcete provést tuto akci? Connection Timeout - Spojení Vypršelo + Spojení vypršelo @@ -1251,7 +1251,7 @@ Nedoporučuje se jí používat. Connection Timeout - Spojení Vypršelo + Spojení vypršelo @@ -1290,7 +1290,7 @@ Nedoporučuje se jí používat. ; Restoration Failed: - ; Obnovení Selhalo: + ; Obnovení selhalo: diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 5202591bf..eeff13faf 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -1289,7 +1289,7 @@ Non è consigliabile utilizzarlo. ; Restoration Failed: - + ; Ripristino non riuscito: @@ -1963,48 +1963,48 @@ Prova a sincronizzare nuovamente. 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 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 diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index ea2050473..fa5c93633 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -1288,7 +1288,7 @@ It is not advisable to use it. ; Restoration Failed: - + ; 復元に失敗: @@ -1962,48 +1962,48 @@ It is not advisable to use it. 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 - + 削除できません、復元しています Move not allowed, item restored - + 移動できません、項目を復元しました Move not allowed because %1 is read-only - + %1 は読み取り専用のため移動できません the destination - + 移動先 the source - + 移動元 diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 08e45672b..75479be0d 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -1998,12 +1998,12 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n the destination - + o destino the source - + a origem diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 5f3eb8e3c..5d8200e1e 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -1999,12 +1999,12 @@ It is not advisable to use it. the destination - + Назначение the source - + Источник diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index f5eef55ff..66b86368d 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -47,7 +47,7 @@ Folders - + Теки @@ -65,17 +65,17 @@ Account Maintenance - + Управління обліковим записом Edit Ignored Files - + Ігноровані файли Modify Account - + Редагувати запис @@ -106,12 +106,12 @@ Storage Usage - + Використання сховища Retrieving usage information... - + Отримання інформації по використання... @@ -131,7 +131,7 @@ <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will not remove the files from your client.</p> - + <p>Дійсно бажаєте зупинити синхронізацію теки <i>%1</i>?</p><p><b>Примітка:</b> Файли у вашому клієнті не будуть видалені.</p> @@ -350,29 +350,32 @@ Total time left %5 This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + Ця синхронізація видалить усі файли з вашої локальної теки синхронізації '%1'. +Якщо ви або ваш адміністратор скинув ваш запис на цьому сервері, оберіть "Зберегти файли". Якщо бажаєте видалити дані, оберіть "Видалити усі файли". 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? - + Ця синхронізація видалить усі файли з теки синхронізації '%1'. +Це може бути через те, що тека була переналаштована або усі файли були видалені з неї вручну. +Ви дійсно бажаєте продовжити цю операцію? Remove All Files? - + Видалити усі файли? Remove all files - + Видалити усі файли Keep files - + Зберегти файли @@ -380,7 +383,7 @@ Are you sure you want to perform this operation? Could not reset folder state - + Не вдалося скинути стан теки @@ -400,7 +403,7 @@ Are you sure you want to perform this operation? Preparing for sync. - + Підготовка до синхронізації @@ -410,7 +413,7 @@ Are you sure you want to perform this operation? Server is currently not available. - + Сервер наразі недоступний. @@ -449,12 +452,12 @@ Are you sure you want to perform this operation? File - + Файл Syncing all files in your account with - + Синхронізація усіх ваших файлів з @@ -624,17 +627,17 @@ Are you sure you want to perform this operation? Launch on System Startup - + Запускати при старті системи Show Desktop Notifications - + Показувати сповіщення Use Monochrome Icons - + Монохромні значки @@ -671,7 +674,7 @@ Are you sure you want to perform this operation? Ignored Files Editor - + Редактор ігнорованих файлів @@ -693,22 +696,22 @@ Checked items will also be deleted if they prevent a directory from being remove Could not open file - + Не вдалося відкрити файл Cannot write changes to '%1'. - + Неможливо запиасати зміни до '%1'. Add Ignore Pattern - + Додати шаблон ігнорування Add a new ignore pattern: - + Додати новий шаблон ігнорування: @@ -845,7 +848,7 @@ Checked items will also be deleted if they prevent a directory from being remove Specify proxy manually as - + Вказати проксі вручну @@ -855,17 +858,17 @@ Checked items will also be deleted if they prevent a directory from being remove : - + : Proxy server requires authentication - + Проксі-сервер вимагає пароль Download Bandwidth - + Швидкість завантаження @@ -913,12 +916,12 @@ Checked items will also be deleted if they prevent a directory from being remove HTTP(S) proxy - + HTTP(S) проксі SOCKS5 proxy - + SOCKS5 проксі @@ -1057,7 +1060,7 @@ It is not advisable to use it. This url is secure. You can use it. - + Ця адреса безпечна. Її можна використовувати. @@ -1080,7 +1083,7 @@ It is not advisable to use it. Folder rename failed - + Не вдалося перейменувати теку @@ -1126,7 +1129,7 @@ It is not advisable to use it. Could not create local folder %1 - + Не вдалося створити локальну теку $1 @@ -1142,12 +1145,12 @@ It is not advisable to use it. Error: %1 - + Помилка: %1 creating folder on ownCloud: %1 - + створення теки на ownCloud: %1 @@ -1168,7 +1171,7 @@ It is not advisable to use it. The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> - + Створити віддалену теку не вдалося через невірно вказані облікові дані.<br/>Поверніться назад та перевірте облікові дані.</p> @@ -1215,22 +1218,22 @@ It is not advisable to use it. Open %1 - + Відкрити %1 Open Local Folder - + Відкрити локальну теку Everything set up! - + Усе налаштовано! Your entire account is synced to the local folder <i>%1</i> - + Ваш запис цілком синхронізовано із локальною текою <i>%1</i> @@ -1422,7 +1425,7 @@ It is not advisable to use it. File - + Файл @@ -1501,12 +1504,12 @@ It is not advisable to use it. Network - + Мережа Account - + Обліковий запис @@ -1519,7 +1522,7 @@ It is not advisable to use it. Account - + Обліковий запис @@ -1534,7 +1537,7 @@ It is not advisable to use it. Network - + Мережа @@ -2043,7 +2046,7 @@ It is not advisable to use it. Recent Changes - + Недавні зміни @@ -2300,12 +2303,12 @@ It is not advisable to use it. Server &Address - + &Адреса сервера https://... - + https://... @@ -2328,7 +2331,7 @@ It is not advisable to use it. Your entire account is synced to the local folder - + Ваш запис цілком синхронізовано із локальною текою @@ -2384,7 +2387,7 @@ It is not advisable to use it. If you don't have an ownCloud server yet, see <a href="https://owncloud.com">owncloud.com</a> for more info. Top text in setup wizard. Keep short! - + Якщо ви ще не маєте власного сервера ownCloud, подивіться <a href="https://owncloud.com">owncloud.com</a> з цього приводу. From e7d597045b69ec9d2cd99338f6bf74e5d4e476aa Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Fri, 27 Jun 2014 02:06:13 -0400 Subject: [PATCH 091/190] [tx-robot] updated from transifex --- admin/win/nsi/l10n/Catalan.nsh | 56 +++++++++++++++++----------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/admin/win/nsi/l10n/Catalan.nsh b/admin/win/nsi/l10n/Catalan.nsh index 0d3ad573e..2e81c7bd8 100644 --- a/admin/win/nsi/l10n/Catalan.nsh +++ b/admin/win/nsi/l10n/Catalan.nsh @@ -1,5 +1,7 @@ # Auto-generated - do not modify StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Mostrar les notes de versió" +StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "S'ha trobat el(s) procés ${APPLICATION_EXECUTABLE} que s'ha d'aturar.$\nVoleu que l'instal·lador l'aturi?" +StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "S'estan matant els processos ${APPLICATION_EXECUTABLE}." StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Procés per matar no trobat!" StrCpy $PageReinstall_NEW_Field_1 "Una versió anterior de ${APPLICATION_NAME} està instal·lada en el vostre sistema. Es recomana desinstal·lar la versió actual abans d'instal·lar. Seleccioneu l'operació que desitjeu realitzar i feu clic a Següent per continuar." StrCpy $PageReinstall_NEW_Field_2 "Desinstal·lar abans d'instal·lar" @@ -11,34 +13,32 @@ StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} ja està inst StrCpy $PageReinstall_SAME_Field_2 "Afegir/Reinstal.lar components" StrCpy $PageReinstall_SAME_Field_3 "Desinstal.lar ${APPLICATION_NAME}" StrCpy $UNINSTALLER_APPDATA_TITLE "Desinstal.lar ${APPLICATION_NAME}" +StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Escolliu l'opció de manteniment per executar-ho." +StrCpy $SEC_APPLICATION_DETAILS "Instal·lant ${APPLICATION_NAME} essencial." StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Accés directe del programa al menú d'inici" +StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Afegint la drecera per ${APPLICATION_NAME} al menú d'inici." +StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Drecera a l'escriptori" +StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Creant les dreceres a l'escriptori" +StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Drecera d'inici ràpid" +StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Creant la drecera per l'inici ràpid" +StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} essencial." +StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Drecera ${APPLICATION_NAME}." +StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Drecera a l'escrptori per ${APPLICATION_NAME}." +StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Drecera d'inici ràpid per ${APPLICATION_NAME}." +StrCpy $UNINSTALLER_APPDATA_SUBTITLE "Esborra la carpeta de dades de ${APPLICATION_NAME} del vostre equip." +StrCpy $UNINSTALLER_APPDATA_LABEL_1 "Voleu esborrar la carpeta de dades de ${APPLICATION_NAME}?" +StrCpy $UNINSTALLER_APPDATA_LABEL_2 "Deixeu-ho sense marcar per mantenir la carpeta de dades per un ús posterior o marqueu-ho per esborrar la carpeta de dades." +StrCpy $UNINSTALLER_APPDATA_CHECKBOX "Sí, esborra la carpeta de dades." +StrCpy $UNINSTALLER_FILE_Detail "Escrivint el desinstal·lador" +StrCpy $UNINSTALLER_REGISTRY_Detail "Escrivint les claus del registre de l'instal·lador" StrCpy $UNINSTALLER_FINISHED_Detail "Acabat" +StrCpy $UNINSTALL_MESSAGEBOX "No sembla que ${APPLICATION_NAME} estigui instal·lat en la carpeta '$INSTDIR'.$\n$\nContinuo igualment (no recomanat)?" +StrCpy $UNINSTALL_ABORT "La desinstal·lació s'ha cancel·lat." +StrCpy $INIT_NO_QUICK_LAUNCH "Drecera d'inici ràpid (N/A)" +StrCpy $INIT_NO_DESKTOP "Drecera de l'escrpitori (sobreescriu l'existent)" +StrCpy $UAC_ERROR_ELEVATE "No es pot elevar, error:" +StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "Aquest instal·lador requereix accés d'administrador, intenteu-ho de nou" +StrCpy $INIT_INSTALLER_RUNNING "L'instal·lador ja s'està executant." +StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Aquest desinstal·lador requereix accés d'administrador, intenteu-ho de nou." +StrCpy $INIT_UNINSTALLER_RUNNING "El desinstal·lador ja s'està executant." StrCpy $SectionGroup_Shortcuts "Dreceres" -StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Found ${APPLICATION_EXECUTABLE} process(s) which need to be stopped.$\nDo you want the installer to stop these for you?" -StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Killing ${APPLICATION_EXECUTABLE} processes." -StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Choose the maintenance option to perform." -StrCpy $SEC_APPLICATION_DETAILS "Installing ${APPLICATION_NAME} essentials." -StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Adding shortcut for ${APPLICATION_NAME} to the Start Menu." -StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Desktop Shortcut" -StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Creating Desktop Shortcuts" -StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Quick Launch Shortcut" -StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Creating Quick Launch Shortcut" -StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} essentials." -StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME} shortcut." -StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Desktop shortcut for ${APPLICATION_NAME}." -StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Quick Launch shortcut for ${APPLICATION_NAME}." -StrCpy $UNINSTALLER_APPDATA_SUBTITLE "Remove ${APPLICATION_NAME}'s data folder from your computer." -StrCpy $UNINSTALLER_APPDATA_LABEL_1 "Do you want to delete ${APPLICATION_NAME}'s data folder?" -StrCpy $UNINSTALLER_APPDATA_LABEL_2 "Leave unchecked to keep the data folder for later use or check to delete the data folder." -StrCpy $UNINSTALLER_APPDATA_CHECKBOX "Yes, delete this data folder." -StrCpy $UNINSTALLER_FILE_Detail "Writing Uninstaller" -StrCpy $UNINSTALLER_REGISTRY_Detail "Writing Installer Registry Keys" -StrCpy $UNINSTALL_MESSAGEBOX "It does not appear that ${APPLICATION_NAME} is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?" -StrCpy $UNINSTALL_ABORT "Uninstall aborted by user" -StrCpy $INIT_NO_QUICK_LAUNCH "Quick Launch Shortcut (N/A)" -StrCpy $INIT_NO_DESKTOP "Desktop Shortcut (overwrites existing)" -StrCpy $UAC_ERROR_ELEVATE "Unable to elevate, error:" -StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "This installer requires admin access, try again" -StrCpy $INIT_INSTALLER_RUNNING "The installer is already running." -StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "This uninstaller requires admin access, try again" -StrCpy $INIT_UNINSTALLER_RUNNING "The uninstaller is already running." From 62d0e670dc76eb289505d14742eb7037e2940aa0 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 27 Jun 2014 11:22:53 +0200 Subject: [PATCH 092/190] Add t7.pl Test for operation of files with restrictions --- csync/tests/ownCloud/t5.pl | 1 - csync/tests/ownCloud/t7.pl | 158 +++++++++++++++++++++++++++++++++++++ 2 files changed, 158 insertions(+), 1 deletion(-) create mode 100755 csync/tests/ownCloud/t7.pl diff --git a/csync/tests/ownCloud/t5.pl b/csync/tests/ownCloud/t5.pl index 23ed18301..fce39a033 100755 --- a/csync/tests/ownCloud/t5.pl +++ b/csync/tests/ownCloud/t5.pl @@ -30,7 +30,6 @@ use ownCloud::Test; use strict; print "Hello, this is t5, a tester for syncing of files in Shares\n"; -# stat error occours on windsows when the file is busy for example initTesting(); diff --git a/csync/tests/ownCloud/t7.pl b/csync/tests/ownCloud/t7.pl new file mode 100755 index 000000000..8ce153313 --- /dev/null +++ b/csync/tests/ownCloud/t7.pl @@ -0,0 +1,158 @@ +#!/usr/bin/perl +# +# Test script for the ownCloud module of csync. +# This script requires a running ownCloud instance accessible via HTTP. +# It does quite some fancy tests and asserts the results. +# +# Copyright (C) by Klaas Freitag +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# + +use lib "."; + +use Carp::Assert; +use File::Copy; +use ownCloud::Test; + +use strict; + +print "Hello, this is t7, a tester for syncing of files in read only directory\n"; + + +# IMPORTANT NOTE : +print "This test use the OWNCLOUD_TEST_PERMISSIONS environement variable and _PERM_xxx_ on filenames to set the permission. "; +print "It does not rely on real permission set on the server. This test is just for testing the propagation choices\n"; +# "It would be nice" to have a test that test with real permissions on the server + +$ENV{OWNCLOUD_TEST_PERMISSIONS} = "1"; + +initTesting(); + +printInfo( "Init" ); + +#create some files localy +my $tmpdir = "/tmp/t7/"; +mkdir($tmpdir); +createLocalFile( $tmpdir . "cannotBeRemoved_PERM_WVN_.data", 101 ); +createLocalFile( $tmpdir . "canBeRemoved_PERM_D_.data", 102 ); +my $md5CanotBeModified = createLocalFile( $tmpdir . "canotBeModified_PERM_DVN_.data", 103 ); +createLocalFile( $tmpdir . "canBeModified_PERM_W_.data", 104 ); + +#put them in some directories +createRemoteDir( "normalDirectory_PERM_CKDNV_" ); +glob_put( "$tmpdir/*", "normalDirectory_PERM_CKDNV_" ); +createRemoteDir( "readonlyDirectory_PERM_M_" ); +glob_put( "$tmpdir/*", "readonlyDirectory_PERM_M_" ); + +csync(); +assertLocalAndRemoteDir( '', 0); + +system("sleep 1"); #make sure changes have different mtime + +printInfo( "Do some changes and see how they propagate" ); + +#1. remove the file than cannot be removed +# (they should be recovered) +unlink( localDir() . 'normalDirectory_PERM_CKDNV_/cannotBeRemoved_PERM_WVN_.data' ); +unlink( localDir() . 'readonlyDirectory_PERM_M_/cannotBeRemoved_PERM_WVN_.data' ); + +#2. remove the file that can be removed +# (they should properly be gone) +unlink( localDir() . 'normalDirectory_PERM_CKDNV_/canBeRemoved_PERM_D_.data' ); +unlink( localDir() . 'readonlyDirectory_PERM_M_/canBeRemoved_PERM_D_.data' ); + +#3. Edit the files that cannot be modified +# (they should be recovered, and a conflict shall be created) +system("echo 'modified' > ". localDir() . "normalDirectory_PERM_CKDNV_/canotBeModified_PERM_DVN_.data"); +system("echo 'modified_' > ". localDir() . "readonlyDirectory_PERM_M_/canotBeModified_PERM_DVN_.data"); + +#4. Edit other files +# (they should be uploaded) +system("echo '__modified' > ". localDir() . "normalDirectory_PERM_CKDNV_/canBeModified_PERM_W_.data"); +system("echo '__modified_' > ". localDir() . "readonlyDirectory_PERM_M_/canBeModified_PERM_W_.data"); + +#5. Create a new file in a read only folder +# (they should not be uploaded) +createLocalFile( localDir() . "readonlyDirectory_PERM_M_/newFile_PERM_WDNV_.data", 105 ); + +#6. Create a new file in a read only folder +# (should be uploaded) +createLocalFile( localDir() . "normalDirectory_PERM_CKDNV_/newFile_PERM_WDNV_.data", 106 ); + +#do the sync +csync(); + + +#1. +# File should be recovered +assert( -e localDir(). 'normalDirectory_PERM_CKDNV_/cannotBeRemoved_PERM_WVN_.data' ); +assert( -e localDir(). 'readonlyDirectory_PERM_M_/cannotBeRemoved_PERM_WVN_.data' ); + +#2. +# File should be deleted +assert( !-e localDir() . 'normalDirectory_PERM_CKDNV_/canBeRemoved_PERM_D_.data' ); +assert( !-e localDir() . 'readonlyDirectory_PERM_M_/canBeRemoved_PERM_D_.data' ); + +#3. +# File should be recovered +assert($md5CanotBeModified eq md5OfFile( localDir().'normalDirectory_PERM_CKDNV_/canotBeModified_PERM_DVN_.data' )); +assert($md5CanotBeModified eq md5OfFile( localDir().'readonlyDirectory_PERM_M_/canotBeModified_PERM_DVN_.data' )); +# and conflict created +# TODO check that the conflict file has the right content +assert( -e glob(localDir().'normalDirectory_PERM_CKDNV_/canotBeModified_PERM_DVN__conflict-*.data' ) ); +assert( -e glob(localDir().'readonlyDirectory_PERM_M_/canotBeModified_PERM_DVN__conflict-*.data' ) ); +# remove the conflicts for the next assertLocalAndRemoteDir +system("rm " . localDir().'normalDirectory_PERM_CKDNV_/canotBeModified_PERM_DVN__conflict-*.data' ); +system("rm " . localDir().'readonlyDirectory_PERM_M_/canotBeModified_PERM_DVN__conflict-*.data' ); + +#4. File should be updated, that's tested by assertLocalAndRemoteDir + +#5. +# The file should not exist on the remote +# TODO: test that the file is NOT on the server +# but still be there +assert( -e localDir() . "readonlyDirectory_PERM_M_/newFile_PERM_WDNV_.data" ); +# remove it so assertLocalAndRemoteDir succeed. +unlink(localDir() . "readonlyDirectory_PERM_M_/newFile_PERM_WDNV_.data"); + +#6. +# the file should be in the server and local +assert( -e localDir() . "normalDirectory_PERM_CKDNV_/newFile_PERM_WDNV_.data" ); + + +### Both side should still be the same +assertLocalAndRemoteDir( '', 0); + + + + + + + + + + + + + + + + + + + + + From 9066ad579042e29abf2bd6f2f706ee604a0cc34b Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 27 Jun 2014 11:31:35 +0200 Subject: [PATCH 093/190] t7.pl: Test that deleting a directory restores it and all its sub directories --- csync/tests/ownCloud/t7.pl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/csync/tests/ownCloud/t7.pl b/csync/tests/ownCloud/t7.pl index 8ce153313..ebaa5a47d 100755 --- a/csync/tests/ownCloud/t7.pl +++ b/csync/tests/ownCloud/t7.pl @@ -46,6 +46,7 @@ printInfo( "Init" ); #create some files localy my $tmpdir = "/tmp/t7/"; mkdir($tmpdir); +createLocalFile( $tmpdir . "normalFile_PERM_WVND_.data", 100 ); createLocalFile( $tmpdir . "cannotBeRemoved_PERM_WVN_.data", 101 ); createLocalFile( $tmpdir . "canBeRemoved_PERM_D_.data", 102 ); my $md5CanotBeModified = createLocalFile( $tmpdir . "canotBeModified_PERM_DVN_.data", 103 ); @@ -56,6 +57,10 @@ createRemoteDir( "normalDirectory_PERM_CKDNV_" ); glob_put( "$tmpdir/*", "normalDirectory_PERM_CKDNV_" ); createRemoteDir( "readonlyDirectory_PERM_M_" ); glob_put( "$tmpdir/*", "readonlyDirectory_PERM_M_" ); +createRemoteDir( "readonlyDirectory_PERM_M_/subdir_PERM_CKDNV_" ); +createRemoteDir( "readonlyDirectory_PERM_M_/subdir_PERM_CKDNV_/subsubdir_PERM_CKDNV_" ); +glob_put( "$tmpdir/normalFile_PERM_WVND_.data", "readonlyDirectory_PERM_M_/subdir_PERM_CKDNV_/subsubdir_PERM_CKDNV_" ); + csync(); assertLocalAndRemoteDir( '', 0); @@ -139,6 +144,17 @@ assertLocalAndRemoteDir( '', 0); +####################################################################### +printInfo( "remove the read only directory" ); +# -> It must be recovered +system("rm -r " . localDir().'readonlyDirectory_PERM_M_' ); +csync(); +assert( -e localDir(). 'readonlyDirectory_PERM_M_/cannotBeRemoved_PERM_WVN_.data' ); +assert( -e localDir(). 'readonlyDirectory_PERM_M_/subdir_PERM_CKDNV_/subsubdir_PERM_CKDNV_/normalFile_PERM_WVND_.data' ); +assertLocalAndRemoteDir( '', 0); + + + From 09881040a3d96f74b5160d4c2f976e9f12f162dc Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 27 Jun 2014 13:34:15 +0200 Subject: [PATCH 094/190] Permissions: fix restoring subdirectories The sync item vector must be sorted before we call checkForPermission --- src/mirall/owncloudpropagator.cpp | 9 ++++----- src/mirall/syncengine.cpp | 3 +++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/mirall/owncloudpropagator.cpp b/src/mirall/owncloudpropagator.cpp index d5ff55f2b..62376ba73 100644 --- a/src/mirall/owncloudpropagator.cpp +++ b/src/mirall/owncloudpropagator.cpp @@ -216,14 +216,13 @@ PropagateItemJob* OwncloudPropagator::createJob(const SyncFileItem& item) { return 0; } -void OwncloudPropagator::start(const SyncFileItemVector& _syncedItems) +void OwncloudPropagator::start(const SyncFileItemVector& items) { /* This builds all the job needed for the propagation. * Each directories is a PropagateDirectory job, which contains the files in it. - * In order to do that we sort the items by destination. and loop over it. When we enter a - * directory, we can create the directory job and push it on the stack. */ - SyncFileItemVector items = _syncedItems; - std::sort(items.begin(), items.end()); + * In order to do that we loop over the items. (which are sorted by destination) + * When we enter adirectory, we can create the directory job and push it on the stack. */ + _rootJob.reset(new PropagateDirectory(this)); QStack > directories; directories.push(qMakePair(QString(), _rootJob.data())); diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index 6352d4d00..7d4dbb0cd 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -557,6 +557,9 @@ void SyncEngine::slotUpdateFinished(int updateResult) it->_file = adjustRenamedPath(it->_file); } + // Sort items per destination + std::sort(_syncedItems.begin(), _syncedItems.end()); + // make sure everything is allowed checkForPermission(); From 2f284209d89fd2d1ba64215775ede71c190d0dd1 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 27 Jun 2014 15:26:12 +0200 Subject: [PATCH 095/190] Permissions: When moving is not allowed, fallback to delete and upload We decided that we never want to rename a directory behind the back of the user as the user may be using files in the directory during the sync. If moving is not allowed, we just erase the inode form the database so the next sync will try to do an upload and delete and recover from there using normal resolution. This also add some code to update the inode back to the db when it is detected as changed. --- csync/src/csync_reconcile.c | 2 ++ csync/src/csync_update.c | 8 ++--- csync/tests/ownCloud/t7.pl | 69 ++++++++++++++++++++++++++++++++++--- src/mirall/syncengine.cpp | 19 +++++++--- 4 files changed, 86 insertions(+), 12 deletions(-) diff --git a/csync/src/csync_reconcile.c b/csync/src/csync_reconcile.c index 621afcf4e..fda28aadc 100644 --- a/csync/src/csync_reconcile.c +++ b/csync/src/csync_reconcile.c @@ -184,6 +184,7 @@ static int _csync_merge_algorithm_visitor(void *obj, void *data) { csync_vio_set_file_id( other->file_id, cur->file_id ); } other->inode = cur->inode; + other->should_update_etag = true; cur->instruction = CSYNC_INSTRUCTION_NONE; } else if (other->instruction == CSYNC_INSTRUCTION_REMOVE) { other->instruction = CSYNC_INSTRUCTION_RENAME; @@ -193,6 +194,7 @@ static int _csync_merge_algorithm_visitor(void *obj, void *data) { csync_vio_set_file_id( other->file_id, cur->file_id ); } other->inode = cur->inode; + other->should_update_etag = true; cur->instruction = CSYNC_INSTRUCTION_NONE; } else if (other->instruction == CSYNC_INSTRUCTION_NEW) { CSYNC_LOG(CSYNC_LOG_PRIORITY_TRACE, "OOOO=> NEW detected in other tree!"); diff --git a/csync/src/csync_update.c b/csync/src/csync_update.c index c2a5891d7..2fab73010 100644 --- a/csync/src/csync_update.c +++ b/csync/src/csync_update.c @@ -254,8 +254,9 @@ static int _csync_detect_update(CSYNC *ctx, const char *file, st->instruction = CSYNC_INSTRUCTION_EVAL; goto out; } - bool metadata_differ = ctx->current == REMOTE_REPLICA && (!c_streq(fs->file_id, tmp->file_id) - || !c_streq(fs->remotePerm, tmp->remotePerm)); + bool metadata_differ = (ctx->current == REMOTE_REPLICA && (!c_streq(fs->file_id, tmp->file_id) + || !c_streq(fs->remotePerm, tmp->remotePerm))) + || (ctx->current == LOCAL_REPLICA && fs->inode != tmp->inode); if (type == CSYNC_FTW_TYPE_DIR && ctx->current == REMOTE_REPLICA && !metadata_differ && !ctx->read_from_db_disabled) { /* If both etag and file id are equal for a directory, read all contents from @@ -691,8 +692,7 @@ int csync_ftw(CSYNC *ctx, const char *uri, csync_walker_fn fn, if (flag == CSYNC_FTW_FLAG_DIR && ctx->current_fs && (ctx->current_fs->instruction == CSYNC_INSTRUCTION_EVAL || - ctx->current_fs->instruction == CSYNC_INSTRUCTION_NEW || - ctx->current_fs->instruction == CSYNC_INSTRUCTION_EVAL_RENAME)) { + ctx->current_fs->instruction == CSYNC_INSTRUCTION_NEW)) { ctx->current_fs->should_update_etag = true; } diff --git a/csync/tests/ownCloud/t7.pl b/csync/tests/ownCloud/t7.pl index ebaa5a47d..837c4da28 100755 --- a/csync/tests/ownCloud/t7.pl +++ b/csync/tests/ownCloud/t7.pl @@ -57,9 +57,9 @@ createRemoteDir( "normalDirectory_PERM_CKDNV_" ); glob_put( "$tmpdir/*", "normalDirectory_PERM_CKDNV_" ); createRemoteDir( "readonlyDirectory_PERM_M_" ); glob_put( "$tmpdir/*", "readonlyDirectory_PERM_M_" ); -createRemoteDir( "readonlyDirectory_PERM_M_/subdir_PERM_CKDNV_" ); -createRemoteDir( "readonlyDirectory_PERM_M_/subdir_PERM_CKDNV_/subsubdir_PERM_CKDNV_" ); -glob_put( "$tmpdir/normalFile_PERM_WVND_.data", "readonlyDirectory_PERM_M_/subdir_PERM_CKDNV_/subsubdir_PERM_CKDNV_" ); +createRemoteDir( "readonlyDirectory_PERM_M_/subdir_PERM_CK_" ); +createRemoteDir( "readonlyDirectory_PERM_M_/subdir_PERM_CK_/subsubdir_PERM_CKDNV_" ); +glob_put( "$tmpdir/normalFile_PERM_WVND_.data", "readonlyDirectory_PERM_M_/subdir_PERM_CK_/subsubdir_PERM_CKDNV_" ); csync(); @@ -150,13 +150,74 @@ printInfo( "remove the read only directory" ); system("rm -r " . localDir().'readonlyDirectory_PERM_M_' ); csync(); assert( -e localDir(). 'readonlyDirectory_PERM_M_/cannotBeRemoved_PERM_WVN_.data' ); -assert( -e localDir(). 'readonlyDirectory_PERM_M_/subdir_PERM_CKDNV_/subsubdir_PERM_CKDNV_/normalFile_PERM_WVND_.data' ); +assert( -e localDir(). 'readonlyDirectory_PERM_M_/subdir_PERM_CK_/subsubdir_PERM_CKDNV_/normalFile_PERM_WVND_.data' ); +assertLocalAndRemoteDir( '', 0); + + +####################################################################### +printInfo( "move a directory in a outside read only folder" ); +#Missing directory should be restored +#new directory should be uploaded +system("mv " . localDir().'readonlyDirectory_PERM_M_/subdir_PERM_CK_ ' . localDir().'normalDirectory_PERM_CKDNV_/subdir_PERM_CKDNV_' ); + +# two syncs may be necessary for now +csync(); +csync(); + +# old name restored +assert( -e localDir(). 'readonlyDirectory_PERM_M_/subdir_PERM_CK_/subsubdir_PERM_CKDNV_/normalFile_PERM_WVND_.data' ); + +# new still exist +assert( -e localDir(). 'normalDirectory_PERM_CKDNV_/subdir_PERM_CKDNV_/subsubdir_PERM_CKDNV_/normalFile_PERM_WVND_.data' ); + assertLocalAndRemoteDir( '', 0); +####################################################################### +printInfo( "rename a directory in a read only folder and move a directory to a read-only" ); + +# do a sync to update the database +csync(); + +#1. rename a directory in a read only folder +#Missing directory should be restored +#new directory should stay but not be uploaded +system("mv " . localDir().'readonlyDirectory_PERM_M_/subdir_PERM_CK_ ' . localDir().'readonlyDirectory_PERM_M_/newname_PERM_CK_' ); + +#2. move a directory from read to read only (move the directory from previous step) +system("mv " . localDir().'normalDirectory_PERM_CKDNV_/subdir_PERM_CKDNV_ ' . localDir().'readonlyDirectory_PERM_M_/moved_PERM_CK_' ); + +# two syncs may be necessary for now +csync(); +csync(); + +#1. +# old name restored +assert( -e localDir(). 'readonlyDirectory_PERM_M_/subdir_PERM_CK_/subsubdir_PERM_CKDNV_/normalFile_PERM_WVND_.data' ); + +# new still exist +assert( -e localDir(). 'readonlyDirectory_PERM_M_/newname_PERM_CK_/subsubdir_PERM_CKDNV_/normalFile_PERM_WVND_.data' ); +# but is not on server: so remove for assertLocalAndRemoteDir +system("rm -r " . localDir(). "readonlyDirectory_PERM_M_/newname_PERM_CK_"); + +#2. +# old removed +assert( ! -e localDir(). 'normalDirectory_PERM_CKDNV_/subdir_PERM_CKDNV_/' ); +# new still there +assert( -e localDir(). 'readonlyDirectory_PERM_M_/moved_PERM_CK_/subsubdir_PERM_CKDNV_/normalFile_PERM_WVND_.data' ); +#but not on server +system("rm -r " . localDir(). "readonlyDirectory_PERM_M_/moved_PERM_CK_"); + +assertLocalAndRemoteDir( '', 0); + + + +cleanup(); + + diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index 7d4dbb0cd..0d0929b15 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -336,7 +336,7 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) _journal->setFileRecord(SyncJournalFileRecord(item, _localPath + item._file)); item._should_update_etag = false; } - if (item._isDirectory && remote) { + if (item._isDirectory && (remote || file->should_update_etag)) { // Because we want still to update etags of directories dir = SyncFileItem::None; } else { @@ -846,6 +846,8 @@ void SyncEngine::checkForPermission() } } +#if 0 /* We don't like the idea of renaming behind user's back, as the user may be working with the files */ + if (!sourceOK && !destinationOK) { // Both the source and the destination won't allow move. Move back to the original std::swap(it->_file, it->_renameTarget); @@ -853,7 +855,9 @@ void SyncEngine::checkForPermission() it->_errorString = tr("Move not allowed, item restored"); it->_isRestoration = true; qDebug() << "checkForPermission: MOVING BACK" << it->_file; - } else if (!sourceOK || !destinationOK) { + } else +#endif + if (!sourceOK || !destinationOK) { // One of them is not possible, just throw an error it->_instruction = CSYNC_INSTRUCTION_ERROR; it->_status = SyncFileItem::NormalError; @@ -863,10 +867,17 @@ void SyncEngine::checkForPermission() qDebug() << "checkForPermission: ERROR MOVING" << it->_file << errorString; + // Avoid a rename on next sync: + // TODO: do the resolution now already so we don't need two sync + // At this point we would need to go back to the propagate phase on both remote to take + // the decision. + _journal->avoidRenamesOnNextSync(it->_file); + + if (it->_isDirectory) { - const QString path = it->_file + QLatin1Char('/'); + const QString path = it->_renameTarget + QLatin1Char('/'); for (SyncFileItemVector::iterator it_next = it + 1; - it_next != _syncedItems.end() && it_next->_file.startsWith(path); ++it_next) { + it_next != _syncedItems.end() && it_next->destination().startsWith(path); ++it_next) { it = it_next; it->_instruction = CSYNC_INSTRUCTION_ERROR; it->_status = SyncFileItem::NormalError; From ca63b79ed86182ddf9bc4d0289247b8566ba4574 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sat, 28 Jun 2014 01:25:25 -0400 Subject: [PATCH 096/190] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 4 ++-- translations/mirall_cs.ts | 4 ++-- translations/mirall_de.ts | 4 ++-- translations/mirall_el.ts | 4 ++-- translations/mirall_en.ts | 4 ++-- translations/mirall_es.ts | 4 ++-- translations/mirall_es_AR.ts | 4 ++-- translations/mirall_et.ts | 4 ++-- translations/mirall_eu.ts | 4 ++-- translations/mirall_fa.ts | 4 ++-- translations/mirall_fi.ts | 4 ++-- translations/mirall_fr.ts | 4 ++-- translations/mirall_gl.ts | 4 ++-- translations/mirall_hu.ts | 4 ++-- translations/mirall_it.ts | 4 ++-- translations/mirall_ja.ts | 4 ++-- translations/mirall_nl.ts | 4 ++-- translations/mirall_pl.ts | 4 ++-- translations/mirall_pt.ts | 4 ++-- translations/mirall_pt_BR.ts | 4 ++-- translations/mirall_ru.ts | 4 ++-- translations/mirall_sk.ts | 4 ++-- translations/mirall_sl.ts | 4 ++-- translations/mirall_sv.ts | 4 ++-- translations/mirall_th.ts | 4 ++-- translations/mirall_tr.ts | 4 ++-- translations/mirall_uk.ts | 4 ++-- translations/mirall_zh_CN.ts | 4 ++-- translations/mirall_zh_TW.ts | 4 ++-- 29 files changed, 58 insertions(+), 58 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index b6e3cfe5d..a92c6c72a 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -1549,12 +1549,12 @@ Proveu de sincronitzar-los de nou. Mirall::ShibbolethCredentials - + Login Error Error d'accés - + You must sign in as user %1 Cal identificar-se com a usuari %1 diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 2c0631b3f..72dd1fabf 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -1550,12 +1550,12 @@ Zkuste provést novou synchronizaci. Mirall::ShibbolethCredentials - + Login Error Chyba přihlášení - + You must sign in as user %1 Musíte se přihlásit jako uživatel %1 diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index 92426580f..45ac516cd 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -1550,12 +1550,12 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::ShibbolethCredentials - + Login Error Log-In Fehler - + You must sign in as user %1 Sie müssen sich als %1 einloggen diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 12e818011..c7c6a3aa5 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -1550,12 +1550,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error Σφάλμα σύνδεσης - + You must sign in as user %1 Πρέπει να εισέλθετε σαν χρήστης %1 diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index ebf6fd3e3..8bb953337 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -1542,12 +1542,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 7763db32b..7caf663f0 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -1549,12 +1549,12 @@ Intente sincronizar los archivos nuevamente. Mirall::ShibbolethCredentials - + Login Error Error al iniciar sesión - + You must sign in as user %1 Debe iniciar sesión como el usuario %1 diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index 5df40f592..ad76b3be3 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -1546,12 +1546,12 @@ Intente sincronizar estos nuevamente. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index bcfdd40e3..bb65e8c58 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -1549,12 +1549,12 @@ Proovi neid uuesti sünkroniseerida. Mirall::ShibbolethCredentials - + Login Error Sisselogimise viga - + You must sign in as user %1 Pead sisse logima kui kasutaja %1 diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 4c78417a2..73408aa74 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -1543,12 +1543,12 @@ Saiatu horiek berriz sinkronizatzen. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 48d9cfeed..e4826253c 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -1540,12 +1540,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index be057410b..30f308501 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -1543,12 +1543,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::ShibbolethCredentials - + Login Error Kirjautumisvirhe - + You must sign in as user %1 Kirjaudu käyttäjänä %1 diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 5b67af1d8..78bd420b5 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -1549,12 +1549,12 @@ Il est déconseillé de l'utiliser. Mirall::ShibbolethCredentials - + Login Error Erreur de connexion - + You must sign in as user %1 Vous devez vous connecter en tant qu'utilisateur %1 diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index 8f936b568..00367b692 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -1549,12 +1549,12 @@ Tente sincronizalos de novo. Mirall::ShibbolethCredentials - + Login Error Erro de acceso - + You must sign in as user %1 Ten que rexistrarse como usuario %1 diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index f0905e08b..dd49984a3 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -1540,12 +1540,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index eeff13faf..6e78e1473 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -1548,12 +1548,12 @@ Prova a sincronizzare nuovamente. Mirall::ShibbolethCredentials - + Login Error Errore di accesso - + You must sign in as user %1 Devi accedere con l'utente %1 diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index fa5c93633..be7c35f16 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -1547,12 +1547,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error ログインエラー - + You must sign in as user %1 ユーザー %1 としてログインする必要があります diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 76a81eac8..4e6c28b94 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -1549,12 +1549,12 @@ Probeer opnieuw te synchroniseren. Mirall::ShibbolethCredentials - + Login Error Inlogfout - + You must sign in as user %1 U moet inloggen als gebruiker %1 diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index 19ab74332..e7ebc4521 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -1549,12 +1549,12 @@ Niezalecane jest jego użycie. Mirall::ShibbolethCredentials - + Login Error Błąd logowania - + You must sign in as user %1 Musisz zalogować się jako użytkownik %1 diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 75479be0d..5efedd1ca 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -1546,12 +1546,12 @@ Por favor tente sincronizar novamente. Mirall::ShibbolethCredentials - + Login Error Erro de login - + You must sign in as user %1 Deve fazer o login como utilizador %1. diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index ed3b713e0..8d9af5896 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -1547,12 +1547,12 @@ Tente sincronizar novamente. Mirall::ShibbolethCredentials - + Login Error Erro de Login - + You must sign in as user %1 Você deve entrar como usuário %1 diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 5d8200e1e..5368a49f9 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -1548,12 +1548,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 Вы должны войти как пользователь %1 diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index 066b13553..db1312444 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -1547,12 +1547,12 @@ Nie je vhodné ju používať. Mirall::ShibbolethCredentials - + Login Error Chybné prihlásenie - + You must sign in as user %1 Musíte sa prihlásiť ako používateľ %1 diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 2b33b9d51..5681ac246 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -1548,12 +1548,12 @@ Te je treba uskladiti znova. Mirall::ShibbolethCredentials - + Login Error Napaka prijave - + You must sign in as user %1 Prijaviti se je treba kot uporabnik %1 diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index f13d56c07..22d50949f 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -1548,12 +1548,12 @@ Försök att synka dessa igen. Mirall::ShibbolethCredentials - + Login Error Login fel - + You must sign in as user %1 Du måste logga in som en användare %1 diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index d8e9ae955..830cd8f7a 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -1540,12 +1540,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index 4d1b80d52..74bdae24e 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -1549,12 +1549,12 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::ShibbolethCredentials - + Login Error Oturum Açma Hatası - + You must sign in as user %1 %1 kullanıcısı olarak oturum açmalısınız diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 66b86368d..f65c091f6 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -1543,12 +1543,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index e0f856833..ff82b5efd 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -1545,12 +1545,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error 登录错误 - + You must sign in as user %1 diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index e6d0477b7..22bf2b3b3 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -1540,12 +1540,12 @@ It is not advisable to use it. Mirall::ShibbolethCredentials - + Login Error - + You must sign in as user %1 From 2fa5a5b8c35c1f85cbefbb37b04d73e0ef725a97 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sun, 29 Jun 2014 01:25:23 -0400 Subject: [PATCH 097/190] [tx-robot] updated from transifex --- translations/mirall_el.ts | 160 +++++++++++++++++++------------------- translations/mirall_fr.ts | 4 +- translations/mirall_sv.ts | 29 +++---- 3 files changed, 97 insertions(+), 96 deletions(-) diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index c7c6a3aa5..b421c09ab 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -152,7 +152,7 @@ %1 (%3%) of %2 server space in use. - Χρησιμοποιούμενος χώρος στον διακομιστή: %1 (%3%) από %2 + %1 (%3%) από %2 αποθηκευτικός χώρος διακομιστή σε χρήση. @@ -183,7 +183,7 @@ %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 από %4) %5 απομένουν με ταχύτητα %6/s + %1 %2 (%3 από %4) %5 απομένουν με ταχύτητα %6/δευτ @@ -214,22 +214,22 @@ Total time left %5 Authentication Required - Απαιτείται πιστοποίηση + Απαιτείται Πιστοποίηση Enter username and password for '%1' at %2. - Εισάγετε όνομα χρήστη και συνθηματικό για τον '%1' στο %2. + Εισάγετε όνομα χρήστη και κωδικό πρόσβασης για το '%1' στο %2. &User: - @Χρήστης: + &Χρήστης: &Password: - &Συνθηματικό: + &Κωδικός Πρόσβασης: @@ -291,25 +291,25 @@ Total time left %5 %1 and %2 other files have been removed. %1 names a file. - Το %1 και άλλα %2 αρχεία διαγράφηκαν. + Το %1 και άλλα %2 αρχεία αφαιρέθηκαν. %1 has been removed. %1 names a file. - Το %1 έχει διαγραφεί. + Το %1 αφαιρέθηκε. %1 and %2 other files have been downloaded. %1 names a file. - Το αρχείο %1 και άλλα %2 αρχεία έχουν μεταφορτωθεί. + Το αρχείο %1 και άλλα %2 αρχεία έχουν ληφθεί. %1 has been downloaded. %1 names a file. - Το αρχείο %1 έχει μεταφορτωθεί. + Το %1 έχει ληφθεί. @@ -320,7 +320,7 @@ Total time left %5 %1 has been updated. %1 names a file. - Το αρχείο %1 έχει ενημερωθεί. + Το %1 έχει ενημερωθεί. @@ -331,7 +331,7 @@ Total time left %5 %1 has been renamed to %2. %1 and %2 name files. - Το αρχείο %1 έχει μετονομαστεί σε %2 + Το %1 έχει μετονομαστεί σε %2. @@ -341,7 +341,7 @@ Total time left %5 %1 has been moved to %2. - Το αρχείο %1 έχει μετακινηθεί στο %2. + Το %1 έχει μετακινηθεί στο %2. @@ -440,7 +440,7 @@ Are you sure you want to perform this operation? Sync is paused. - Ο Συγχρονισμός Παύθηκε + Παύση συγχρονισμού. @@ -506,7 +506,7 @@ Are you sure you want to perform this operation? The local path %1 is already an upload folder. Please pick another one! - Το τοπικό μονοπάτι %1 είναι ήδη φάκελος φόρτωσης. Παρακαλώ επιλέξτε κάποιον άλλο! + Η τοπική διαδρομή %1 είναι ήδη ένας φάκελος μεταφόρτωσης. Παρακαλώ επιλέξτε κάποιον άλλο! @@ -516,7 +516,7 @@ Are you sure you want to perform this operation? The selected folder is a symbolic link. An already configured folder is contained in the folder this link is pointing to. - Ο επιλεγμένος φάκελος είναι ένας συμβολικός σύνδεσμος. Ένας ήδη ρυθμισμένος φάκελος περιέχεται στον φάκελο στον οποίο καταλήγει αυτός ο σύνδεσμος. + Ο επιλεγμένος φάκελος είναι ένας συμβολικός σύνδεσμος. Ένας ήδη ρυθμισμένος φάκελος περιέχεται στο φάκελο στον οποίο καταλήγει αυτός ο σύνδεσμος. @@ -541,7 +541,7 @@ Are you sure you want to perform this operation? Select the source folder - Επέλεξε το φάκελο πηγής + Επιλογή του φακέλου προέλευσης @@ -559,7 +559,7 @@ Are you sure you want to perform this operation? Folder was successfully created on %1. - Επιτυχής δημιουργία καταλόγου στο %1. + Επιτυχής δημιουργία φακέλου στο %1. @@ -579,12 +579,12 @@ Are you sure you want to perform this operation? You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. - Ο φάκελος <i>%1</i> συγχρονίζεται ήδη, ο οποίος είναι γονικός φάκελος του <i>%2</i>. + Ο φάκελος <i>%1</i>, ο οποίος είναι γονεϊκός φάκελος του <i>%2</i>, συγχρονίζεται ήδη. You are already syncing all your files. Syncing another folder is <b>not</b> supported. If you want to sync multiple folders, please remove the currently configured root folder sync. - Συγχρονίζετε ήδη όλα σας τα αρχεία. Ο συγχρονισμός ενός ακόμα φακέλου <b>δεν</b> υποστηρίζεται. Εάν θέλετε να συγχρονίσετε πολλαπλούς φακέλους, παρακαλώ αφαιρέστε την τρέχουσα ρύθμιση συχρονισμού του φακέλου ρίζας. + Συγχρονίζετε ήδη όλα σας τα αρχεία. Ο συγχρονισμός ενός ακόμα φακέλου <b>δεν</b> υποστηρίζεται. Εάν θέλετε να συγχρονίσετε πολλαπλούς φακέλους, παρακαλώ αφαιρέστε την τρέχουσα ρύθμιση συχρονισμού του βασικού φακέλου. @@ -601,7 +601,7 @@ Are you sure you want to perform this operation? No E-Tag received from server, check Proxy/Gateway - Δεν ελήφθη E-Tag από τον διακομιστή, ελέγξτε τον διακομιστή μεσολάβησης/πύλη + Δεν ελήφθη E-Tag από το διακομιστή, ελέγξτε το διακομιστή μεσολάβησης/πύλη @@ -611,7 +611,7 @@ Are you sure you want to perform this operation? Connection Timeout - Χρονικό όριο σύνδεσης + Λήξη Χρόνου Αναμονής Σύνδεσης @@ -804,12 +804,12 @@ Checked items will also be deleted if they prevent a directory from being remove New Version Available - Νέα Εκδοχή Διαθέσιμη + Νέα Έκδοση Διαθέσιμη <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - Μια νέα εκδοχή του Δέκτη %1 είναι διαθέσιμη. </p><p><b>%2</b>είναι διαθέσιμη για άνοιγμα. Η εγκατεστημένη εκδοχή είναι %3,<p>. + <p>Μια νέα έκδοση του Δέκτη %1 είναι διαθέσιμη. </p><p><b>%2</b>είναι διαθέσιμη για άνοιγμα. Η εγκατεστημένη έκδοση είναι %3.<p> @@ -824,7 +824,7 @@ Checked items will also be deleted if they prevent a directory from being remove Get update - Λάβετε την ενημέρωση + Λήψη ενημέρωσης @@ -933,7 +933,7 @@ Checked items will also be deleted if they prevent a directory from being remove New Update Ready - Νέα ενημέρωση διαθέσιμη + Νέα Ενημέρωση Διαθέσιμη @@ -1146,7 +1146,7 @@ It is not advisable to use it. No remote folder specified! - Κανένας απομακρυσμένος φάκελος δεν προσδιορίστηκε! + Δεν προσδιορίστηκε κανένας απομακρυσμένος φάκελος! @@ -1208,7 +1208,7 @@ It is not advisable to use it. Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. - Αδυναμία αφαίρεσης και δημιουργίας αντιγράφου ασφαλείας φακέλου διότι ο φάκελος ή ένα αρχείο του είναι ανοικτό από άλλο πρόγραμμα. Παρακαλώ κλείστε τον φάκελο ή το αρχείο και πατήστε επανάληψη ή ακυρώστε την ρύθμιση. + Αδυναμία αφαίρεσης και δημιουργίας αντιγράφου ασφαλείας του φακέλου διότι ο φάκελος ή ένα αρχείο του είναι ανοικτό από άλλο πρόγραμμα. Παρακαλώ κλείστε τον φάκελο ή το αρχείο και πατήστε επανάληψη ή ακυρώστε την ρύθμιση. @@ -1252,7 +1252,7 @@ It is not advisable to use it. Connection Timeout - Χρονικό όριο σύνδεσης + Λήξη Χρόνου Αναμονής Σύνδεσης @@ -1260,7 +1260,7 @@ It is not advisable to use it. Sync was aborted by user. - Ο συγχρονισμός ματαιώθηκε από το χρήστη. + Ο συγχρονισμός ματαιώθηκε από τον χρήστη. @@ -1275,7 +1275,7 @@ It is not advisable to use it. File %1 can not be downloaded because of a local file name clash! - Το αρχείο %1 δεν είναι δυνατό να μεταφορτωθεί λόγω διένεξης με το όνομα ενός τοπικού ονόματος αρχείου! + Το αρχείο %1 δεν είναι δυνατό να ληφθεί λόγω διένεξης με το όνομα ενός τοπικού αρχείου! @@ -1283,7 +1283,7 @@ It is not advisable to use it. File %1 can not be downloaded because of a local file name clash! - Το αρχείο %1 δεν είναι δυνατό να μεταφορτωθεί λόγω διένεξης με το όνομα ενός τοπικού ονόματος αρχείου! + Το αρχείο %1 δεν είναι δυνατό να ληφθεί λόγω διένεξης με το όνομα ενός τοπικού αρχείου! @@ -1291,7 +1291,7 @@ It is not advisable to use it. ; Restoration Failed: - + - Η αποκατάσταση Απέτυχε: @@ -1317,7 +1317,7 @@ It is not advisable to use it. Could not remove %1 because of a local file name clash - Δεν ήταν δυνατή η διαγραφή του %1 λόγω διένεξης με ένα τοπικό όνομα αρχείου + Δεν ήταν δυνατή η αφαίρεση του %1 λόγω διένεξης με το όνομα ενός τοπικού αρχείου @@ -1330,7 +1330,7 @@ It is not advisable to use it. File %1 can not be renamed to %2 because of a local file name clash - Το αρχείο %1 δεν είναι δυνατό να μετονομαστεί σε %2 λόγω μιας διένεξης με τοπικό όνομα αρχείου + Το αρχείο %1 δεν είναι δυνατό να μετονομαστεί σε %2 λόγω μιας διένεξης με το όνομα ενός τοπικού αρχείου @@ -1338,7 +1338,7 @@ It is not advisable to use it. The file has been removed from a read only share. It was restored. - Το αρχείο διαγράφηκε από ένα διαμοιρασμένο κατάλογο μόνο για ανάγνωση. Το αρχείο επαναφέρθηκε. + Το αρχείο αφαιρέθηκε από ένα διαμοιρασμένο κατάλογο μόνο για ανάγνωση. Το αρχείο επαναφέρθηκε. @@ -1351,7 +1351,7 @@ It is not advisable to use it. This folder must not be renamed. Please name it back to Shared. - Αυτός ο φάκελος δεν πρέπει να μετονομαστεί. Παρακαλώ ονομάστε το ξανά Κοινόχρηστος. + Αυτός ο φάκελος δεν πρέπει να μετονομαστεί. Παρακαλώ ονομάστε τον ξανά Κοινόχρηστος. @@ -1370,12 +1370,12 @@ It is not advisable to use it. Sync was aborted by user. - Ο συγχρονισμός ματαιώθηκε από το χρήστη. + Ο συγχρονισμός ματαιώθηκε από τον χρήστη. The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - Το αρχείο υπέστη επεξεργασία τοπικά αλλά είναι τμήμα ενός διαμοιρασμένου καταλόγου μόνο για ανάγνωση. Επαναφέρθηκε και η επεξεργασία σας βρίσκεται στο αρχείο συγκρούσεων. + Το αρχείο υπέστη επεξεργασία τοπικά αλλά είναι τμήμα ενός διαμοιρασμένου καταλόγου μόνο για ανάγνωση. Επαναφέρθηκε και το επεξεργασμένο βρίσκεται στο αρχείο συγκρούσεων. @@ -1383,12 +1383,12 @@ It is not advisable to use it. The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - Το αρχείο υπέστη επεξεργασία τοπικά αλλά είναι τμήμα ενός διαμοιρασμένου καταλόγου μόνο για ανάγνωση. Επαναφέρθηκε και η επεξεργασία σας βρίσκεται στο αρχείο συγκρούσεων. + Το αρχείο υπέστη επεξεργασία τοπικά αλλά είναι τμήμα ενός διαμοιρασμένου καταλόγου μόνο για ανάγνωση. Επαναφέρθηκε και το επεξεργασμένο βρίσκεται στο αρχείο συγκρούσεων. The local file was removed during sync. - Το τοπικό αρχείο διαγράφηκε κατά τον συγχρονισμό. + Το τοπικό αρχείο αφαιρέθηκε κατά το συγχρονισμό. @@ -1398,7 +1398,7 @@ It is not advisable to use it. The server did not acknowledge the last chunk. (No e-tag were present) - Ο διακομιστής δεν επιβεβαίωσε το τελευταίο τμήμα. (Δεν υπήρχε E-Tag) + Ο διακομιστής δεν αναγνώρισε το τελευταίο τμήμα. (Δεν υπήρχε e-tag) @@ -1552,7 +1552,7 @@ It is not advisable to use it. Login Error - Σφάλμα σύνδεσης + Σφάλμα Σύνδεσης @@ -1593,7 +1593,7 @@ It is not advisable to use it. Common Name (CN): - Κοινό Όνομα (ΚΝ): + Κοινό Όνομα (ΚΟ): @@ -1613,7 +1613,7 @@ It is not advisable to use it. State/Province: - Νομός ή περιφέρεια: + Νομός/Περιφέρεια: @@ -1684,7 +1684,7 @@ It is not advisable to use it. This connection is encrypted using %1 bit %2. - Η σύνδεση είναι κρυπτογραφημένη με χρήση %1 bit %2 + Η σύνδεση είναι κρυπτογραφημένη με %1 bit %2 @@ -1804,17 +1804,17 @@ It is not advisable to use it. <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> - Το πρόσθετο του %1 για το csync δεν μπόρεσε να φορτωθεί.<br/>Παρακαλούμε επαληθεύσετε την εγκατάσταση!</p> + <p>Το πρόσθετο του %1 για το csync δεν μπόρεσε να φορτωθεί.<br/>Παρακαλούμε επαληθεύσετε την εγκατάσταση!</p> The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. - Η ώρα του συστήματος μεταξύ του τοπικού υπολογιστή και του διακομιστή διαφέρει πάρα πολύ. Παρακαλούμε χρησιμοποιήστε μια υπηρεσία συγχρονισμός του χρόνου (NTP) και στους δύο υπολογιστές. + Η ώρα του συστήματος στον τοπικό υπολογιστή διαφέρει από την ώρα του συστήματος στο διακομιστή. Παρακαλούμε χρησιμοποιήστε μια υπηρεσία χρονικού συγχρονισμού (NTP) στο διακομιστή και στον τοπικό υπολογιστή ώστε η ώρα να παραμένει η ίδια. CSync could not detect the filesystem type. - To CSync δεν μπορούσε να ανιχνεύσει τον τύπο του αρχείου συστήματος. + To CSync δεν μπορούσε να ανιχνεύσει τον τύπο του συστήματος αρχείων. @@ -1824,17 +1824,17 @@ It is not advisable to use it. CSync failed to reserve memory. - Το CSync απέτυχε να διατηρήσει τη μνήμη. + Το CSync απέτυχε να δεσμεύσει μνήμη. CSync fatal parameter error. - CSync μοιραίο σφαλμα παράμετρου. + Μοιραίο σφάλμα παράμετρου CSync. CSync processing step update failed. - CSync ενημέρωση στάδιο επεξεργασίας απέτυχε. + Η ενημέρωση του βήματος επεξεργασίας του CSync απέτυχε. @@ -1844,42 +1844,42 @@ It is not advisable to use it. CSync processing step propagate failed. - Η προώθηση του CSync απέτυχε. + Η μετάδοση του βήματος επεξεργασίας του CSync απέτυχε. <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - <p>Ο στοχευμένος κατάλογος δεν υπάρχει.</p><p>Παρακαλώ ελέγξτε τις ρυθμίσεις συγχρονισμού.</p> + <p>Ο κατάλογος προορισμού δεν υπάρχει.</p><p>Παρακαλώ ελέγξτε τις ρυθμίσεις συγχρονισμού.</p> A remote file can not be written. Please check the remote access. - Ένα απομακρυσμένο αρχείο δεν μπόρεσε να επεξεργαστεί. Παρακαλούμε ελέγξτε την απομακρυσμένη πρόσβαση. + Ένα απομακρυσμένο αρχείο δεν μπορεί να εγγραφεί. Παρακαλούμε ελέγξτε την απομακρυσμένη πρόσβαση. The local filesystem can not be written. Please check permissions. - Το τοπικό σύστημα αρχείων δεν μπορεί να εγγράψει. Παρακαλούμε ελέγξτε τα δικαιώματα. + Το τοπικό σύστημα αρχείων δεν είναι εγγράψιμο. Παρακαλούμε ελέγξτε τα δικαιώματα. CSync failed to connect through a proxy. - Το CSync απέτυχε να συνδεθεί μέσω ενός proxy. + Το CSync απέτυχε να συνδεθεί μέσω ενός διαμεσολαβητή. CSync could not authenticate at the proxy. - CSync αδυναμία ελέγχου ταυτότητας στο διακομιστή μεσολάβησης. + Το CSync δεν μπόρεσε να πιστοποιηθεί στο διακομιστή μεσολάβησης. CSync failed to lookup proxy or server. - CSync απέτυχε να lookup μεσολάβησης ή διακομιστή. + Το CSync απέτυχε να διερευνήσει το διαμεσολαβητή ή το διακομιστή. CSync failed to authenticate at the %1 server. - CSync απέτυχε τον έλεγχο ταυτότητας στο 1% διακομιστή. + Το CSync απέτυχε να πιστοποιηθεί στο διακομιστή 1%. @@ -1889,7 +1889,7 @@ It is not advisable to use it. A network connection timeout happend. - Συνέβη ένα χρονικό όριο σύνδεσης δικτύου. + Λήξη χρόνου αναμονής προέκυψε για μια σύνδεση δικτύου. @@ -1899,7 +1899,7 @@ It is not advisable to use it. CSync failed due to not handled permission deniend. - CSync απέτυχε λόγω μη γίνεται deniend άδεια. + Το CSync απέτυχε λόγω απόρριψης μη-διαχειρίσιμων δικαιωμάτων. @@ -1909,18 +1909,18 @@ It is not advisable to use it. CSync tried to create a directory that already exists. - Το CSync προσπαθησε να δημιουργησει εναν χωρο αποθηκευσης που υπηρχε ηδη. + Το CSync προσπάθησε να δημιουργήσει ένα κατάλογο που υπάρχει ήδη. CSync: No space on %1 server available. - CSync: Δεν υπαρχει διαθεσιμος χωρος στον %1 διακομιστη. + CSync: Δεν υπάρχει διαθέσιμος χώρος στο διακομιστή 1%. CSync unspecified error. - CSync αγνωστο σφαλμα. + Άγνωστο σφάλμα CSync. @@ -1960,53 +1960,53 @@ It is not advisable to use it. Cannot open the sync journal - Αποτυχία ανοίγματος του ημερολογίου συγχρονισμού. + Αδυναμία ανοίγματος του αρχείου συγχρονισμού 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 - + Δεν επιτρέπεται η αφαίρεση, αποκατάσταση σε εξέλιξη Move not allowed, item restored - + Η μετακίνηση δεν επιτρέπεται, το αντικείμενο αποκαταστάθηκε Move not allowed because %1 is read-only - + Η μετακίνηση δεν επιτρέπεται επειδή το %1 είναι μόνο για ανάγνωση the destination - + ο προορισμός the source - + η προέλευση @@ -2022,7 +2022,7 @@ It is not advisable to use it. <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<br>United States, other countries, or both.</p> - <p>Έκδοση %1 Για περισσότερες πληροφορίες, παρακαλώ επισκεφθείτε την ιστοσελίδα <a href='%2'>%3</a>.</p><p>Πνευματική ιδιοκτησία ownCloud, Inc.<p><p>Διανέμεται από %4 και αδειοδοτείται με την GNU General Public License (GPL) Έκδοση 2.0.<br>Το %5 και το λογότυπο %5 είναι σήμα κατατεθέν του %4 στις<br>Ηνωμένες Πολιτείες, άλλες χώρες ή όλες.</p> + <p>Έκδοση %1 Για περισσότερες πληροφορίες, παρακαλώ επισκεφθείτε την ιστοσελίδα <a href='%2'>%3</a>.</p><p>Πνευματική ιδιοκτησία ownCloud, Inc.<p><p>Διανέμεται από %4 και αδειοδοτείται με την GNU General Public License (GPL) Έκδοση 2.0.<br>Το %5 και το λογότυπο %5 είναι σήμα κατατεθέν του %4 στις<br>Ηνωμένες Πολιτείες, άλλες χώρες ή και τα δυο.</p> @@ -2035,7 +2035,7 @@ It is not advisable to use it. Disconnected from server - Αποσύνδεση από τον διακομιστή + Αποσύνδεση από το διακομιστή @@ -2418,17 +2418,17 @@ It is not advisable to use it. Downloaded - Λυφθηκε + Ελήφθη Uploaded - Καταχωρήθηκε + Μεταφορτώθηκε Deleted - Διαγραμμένα + Διεγράφη diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 78bd420b5..d24e76f99 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -2000,12 +2000,12 @@ Il est déconseillé de l'utiliser. the destination - + la destination the source - + la source diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 22d50949f..f5dceba45 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -183,13 +183,14 @@ %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 of %4) %5 återstående. Hastighet %6/s %1 of %2, file %3 of %4 Total time left %5 - + %1 av %2, fil %3 av %4 +Tid kvar %5 @@ -1289,7 +1290,7 @@ Det är inte lämpligt använda den. ; Restoration Failed: - + ; Restaurering Misslyckades: @@ -1963,48 +1964,48 @@ Försök att synka dessa igen. 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 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 @@ -2133,12 +2134,12 @@ Försök att synka dessa igen. Syncing %1 of %2 (%3 left) - + Synkroniserar %1 av %2 (%3 kvar) Syncing %1 (%2 left) - + Synkroniserar %1 (%2 kvar) From 393eb7bb4d443b87cdcb5e4debb66a6c905b8d3a Mon Sep 17 00:00:00 2001 From: Volkan Gezer Date: Sun, 29 Jun 2014 14:02:50 +0200 Subject: [PATCH 098/190] Typo fix Suggested by [mnestis](https://www.transifex.com/accounts/profile/mnestis/) --- src/mirall/generalsettings.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mirall/generalsettings.ui b/src/mirall/generalsettings.ui index 987230c5a..1ae6761bd 100644 --- a/src/mirall/generalsettings.ui +++ b/src/mirall/generalsettings.ui @@ -17,7 +17,7 @@ - General Setttings + General Settings From e673d76f224eab6411c9c521487160b3003980ed Mon Sep 17 00:00:00 2001 From: Volkan Gezer Date: Sun, 29 Jun 2014 14:04:30 +0200 Subject: [PATCH 099/190] Typo fix Suggested by [mnestis](https://www.transifex.com/accounts/profile/mnestis/) --- src/updater/ocupdater.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/updater/ocupdater.cpp b/src/updater/ocupdater.cpp index e0f7c2795..394e3f901 100644 --- a/src/updater/ocupdater.cpp +++ b/src/updater/ocupdater.cpp @@ -256,7 +256,7 @@ void NSISUpdater::showDialog(const UpdateInfo &info) ico->setPixmap(infoIcon.pixmap(iconSize)); QLabel *lbl = new QLabel; QString txt = tr("

A new version of the %1 Client is available.

" - "

%2 is available for download. The installed version is %3.

") + "

%2 is available for download. The installed version is %3.

") .arg(Theme::instance()->appNameGUI()).arg(info.versionString()).arg(clientVersion()); lbl->setText(txt); From dd5296f03ca8020f474c9cedfb49ede352ecde9d Mon Sep 17 00:00:00 2001 From: Volkan Gezer Date: Sun, 29 Jun 2014 14:06:45 +0200 Subject: [PATCH 100/190] Typo fix Suggested by [mnestis](https://www.transifex.com/accounts/profile/mnestis/) --- src/mirall/syncengine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index 064dfdf7a..75e2c228b 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -154,7 +154,7 @@ QString SyncEngine::csyncErrorToString(CSYNC_STATUS err) errStr = tr("CSync failed to connect to the network."); break; case CSYNC_STATUS_TIMEOUT: - errStr = tr("A network connection timeout happend."); + errStr = tr("A network connection timeout happened."); break; case CSYNC_STATUS_HTTP_ERROR: errStr = tr("A HTTP transmission error happened."); From 3ad9356ca41275bef69eee1ad1a5d4ad8513f602 Mon Sep 17 00:00:00 2001 From: Volkan Gezer Date: Sun, 29 Jun 2014 14:14:44 +0200 Subject: [PATCH 101/190] Typo fix --- src/updater/ocupdater.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/updater/ocupdater.cpp b/src/updater/ocupdater.cpp index 394e3f901..e4ed9073f 100644 --- a/src/updater/ocupdater.cpp +++ b/src/updater/ocupdater.cpp @@ -82,7 +82,7 @@ QString OCUpdater::statusString() const case DownloadTimedOut: return tr("Could not check for new updates."); case UpdateOnlyAvailableThroughSystem: - return tr("New version %1 available. Please use the systems update tool to install it.").arg(updateVersion); + return tr("New version %1 available. Please use the system's update tool to install it.").arg(updateVersion); case Unknown: return tr("Checking update server..."); case UpToDate: From caa75d98be3e44d15f5798e5174b888a31446ffa Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Mon, 30 Jun 2014 01:25:23 -0400 Subject: [PATCH 102/190] [tx-robot] updated from transifex --- translations/mirall_tr.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index 74bdae24e..c1446e9f1 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -964,7 +964,7 @@ bu süreç sırasında ek yetki talebinde bulunabilir. New version %1 available. Please use the systems update tool to install it. - Yeni %1 sürüm mevcut. Lütfen kurulum için sistem güncelleştirme aracını kullanın. + Yeni sürüm %1 mevcut. Lütfen kurulum için sistem güncelleştirme aracını kullanın. From 26c377d05b05d8341ca9a8d79aac0c1d9c4aab7e Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Mon, 30 Jun 2014 14:13:45 +0200 Subject: [PATCH 103/190] Utility: export new functions --- src/mirall/utility.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mirall/utility.h b/src/mirall/utility.h index cfe1fd06d..e43975107 100644 --- a/src/mirall/utility.h +++ b/src/mirall/utility.h @@ -70,8 +70,8 @@ namespace Utility * @param uint precision the amount of sub dviving scale to include in the result. * @return an HMS representation of the milliseconds value. */ - QString timeToDescriptiveString(QList > &timeMapping, quint64 msecs, quint8 precision, QString separator, bool specific); - QString timeToDescriptiveString(quint64 msecs, quint8 precision, QString separator, bool specific); + OWNCLOUDSYNC_EXPORT QString timeToDescriptiveString(QList > &timeMapping, quint64 msecs, quint8 precision, QString separator, bool specific); + OWNCLOUDSYNC_EXPORT QString timeToDescriptiveString(quint64 msecs, quint8 precision, QString separator, bool specific); // convinience OS detection methods OWNCLOUDSYNC_EXPORT bool isWindows(); From ad2eabeb3b1d3d9e4f9dd40ad6c30225c2169578 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Tue, 1 Jul 2014 16:24:14 +0200 Subject: [PATCH 104/190] SocketAPI: Try to make the folder selection work on windows --- src/mirall/folderman.cpp | 7 +++---- src/mirall/folderman.h | 2 +- src/mirall/socketapi.cpp | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/mirall/folderman.cpp b/src/mirall/folderman.cpp index 6c4b1b801..5b55e4c01 100644 --- a/src/mirall/folderman.cpp +++ b/src/mirall/folderman.cpp @@ -496,14 +496,13 @@ void FolderMan::addFolderDefinition(const QString& alias, const QString& sourceF settings.sync(); } -Folder *FolderMan::folderForPath(const QUrl &path) +Folder *FolderMan::folderForPath(const QString &path) { - QString absolutePath = path.toLocalFile(); - absolutePath.append("/"); + QString absolutePath = QDir::cleanPath(path+QLatin1Char('/')); foreach(Folder* folder, map().values()) { - if(absolutePath.startsWith(folder->path())) + if(absolutePath.startsWith(QDir::cleanPath(folder->path()))) { qDebug() << "found folder: " << folder->path() << " for " << absolutePath; return folder; diff --git a/src/mirall/folderman.h b/src/mirall/folderman.h index 0f4a79d70..3c51a0e62 100644 --- a/src/mirall/folderman.h +++ b/src/mirall/folderman.h @@ -52,7 +52,7 @@ public: void addFolderDefinition(const QString&, const QString&, const QString& ); /** Returns the folder which the file or directory stored in path is in */ - Folder* folderForPath(const QUrl& path); + Folder* folderForPath(const QString& path); /** Returns the folder by alias or NULL if no folder with the alias exists. */ Folder *folder( const QString& ); diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index bc193ae37..4b960fd94 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -294,7 +294,7 @@ void SocketApi::command_RETRIEVE_FILE_STATUS(const QString& argument, QLocalSock QString statusString; - Folder* folder = FolderMan::instance()->folderForPath( QUrl::fromLocalFile(argument) ); + Folder* folder = FolderMan::instance()->folderForPath( argument ); // this can happen in offline mode e.g.: nothing to worry about if (!folder) { DEBUG << "folder offline or not watched:" << argument; From 6ec218ef11b76acb1e993c39019fc4ecc204a17a Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Tue, 1 Jul 2014 16:24:34 +0200 Subject: [PATCH 105/190] FF docs submodules --- doc/ocdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/ocdoc b/doc/ocdoc index 2c3e584b2..c612df399 160000 --- a/doc/ocdoc +++ b/doc/ocdoc @@ -1 +1 @@ -Subproject commit 2c3e584b2356dc4324e6e0720b7aa908aaa480a3 +Subproject commit c612df399e3c775a2f9db1dc5e39d25920ab467b From ffa7f35a875d443aff90e777853552088c317077 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Wed, 2 Jul 2014 01:25:30 -0400 Subject: [PATCH 106/190] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 72 +++++++++---------- translations/mirall_cs.ts | 72 +++++++++---------- translations/mirall_de.ts | 72 +++++++++---------- translations/mirall_el.ts | 72 +++++++++---------- translations/mirall_en.ts | 64 ++++++++--------- translations/mirall_es.ts | 72 +++++++++---------- translations/mirall_es_AR.ts | 70 +++++++++---------- translations/mirall_et.ts | 72 +++++++++---------- translations/mirall_eu.ts | 72 +++++++++---------- translations/mirall_fa.ts | 68 +++++++++--------- translations/mirall_fi.ts | 72 +++++++++---------- translations/mirall_fr.ts | 72 +++++++++---------- translations/mirall_gl.ts | 72 +++++++++---------- translations/mirall_hu.ts | 68 +++++++++--------- translations/mirall_it.ts | 72 +++++++++---------- translations/mirall_ja.ts | 72 +++++++++---------- translations/mirall_nl.ts | 72 +++++++++---------- translations/mirall_pl.ts | 72 +++++++++---------- translations/mirall_pt.ts | 122 ++++++++++++++++---------------- translations/mirall_pt_BR.ts | 130 +++++++++++++++++------------------ translations/mirall_ru.ts | 72 +++++++++---------- translations/mirall_sk.ts | 72 +++++++++---------- translations/mirall_sl.ts | 84 +++++++++++----------- translations/mirall_sv.ts | 72 +++++++++---------- translations/mirall_th.ts | 66 +++++++++--------- translations/mirall_tr.ts | 72 +++++++++---------- translations/mirall_uk.ts | 66 +++++++++--------- translations/mirall_zh_CN.ts | 72 +++++++++---------- translations/mirall_zh_TW.ts | 70 +++++++++---------- 29 files changed, 1088 insertions(+), 1088 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index a92c6c72a..8f3a81880 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -392,57 +392,57 @@ 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. - + Server is currently not available. El servidor no està disponible actualment. - + 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) @@ -622,8 +622,8 @@ Esteu segur que voleu executar aquesta operació?
- General Setttings - Arranjament general + General Settings + @@ -660,12 +660,12 @@ Esteu segur que voleu executar aquesta operació? Mirall::HttpCredentials - + Enter Password Escriviu contrasenya - + Please enter %1 password for user '%2': Escriviu %1 contrasenya per s'usuari '%2': @@ -807,8 +807,8 @@ Els elements marcats també s'eliminaran si prevenen l'eliminació d&a - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Hi ha una versió nova del client %1.</p><p><b>%2</b> disponible per baixar. La versió instal·lada és %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -963,8 +963,8 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. - La nova versió %1 està disponible. Si us plau, utilitzeu l'eina d'actualització dels sistemes per instal·lar. + New version %1 available. Please use the system's update tool to install it. + @@ -1327,7 +1327,7 @@ No és aconsellada usar-la. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash El fitxer %1 no es pot reanomenar a %2 perquè hi ha un xoc amb el nom d'un fitxer local @@ -1343,17 +1343,17 @@ No és aconsellada usar-la. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. No s'ha de canviar el nom d'aquesta carpeta. Es reanomena de nou amb el seu nom original. - + This folder must not be renamed. Please name it back to Shared. Aquesta carpeta no es pot reanomenar. Reanomeneu-la de nou Shared. - + The file was renamed but is part of a read only share. The original file was restored. El fitxer s'ha reanomenat però és part d'una compartició només de lectura. El fixter original s'ha restaurat. @@ -1887,8 +1887,8 @@ Proveu de sincronitzar-los de nou. - A network connection timeout happend. - S'ha superat el temps d'espera de la connexió a la xarxa. + A network connection timeout happened. + @@ -1957,53 +1957,53 @@ Proveu de sincronitzar-los de nou. No es pot inicialitzar un periòdic de sincronització - + Cannot open the sync journal No es pot obrir el diari de sincronització - + 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 - + 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 diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 72dd1fabf..20e62d16d 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -392,57 +392,57 @@ 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á. - + Server is currently not available. Server je nyní nedostupný. - + 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) @@ -622,8 +622,8 @@ Opravdu chcete provést tuto akci? - General Setttings - Základní nastavení + General Settings + @@ -660,12 +660,12 @@ Opravdu chcete provést tuto akci? Mirall::HttpCredentials - + Enter Password Zadejte heslo - + Please enter %1 password for user '%2': Zadejte prosím %1 heslo pro uživatele '%2': @@ -807,8 +807,8 @@ Zvolené položky budou smazány také v případě, že brání smazání adres - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Je k dispozici nová verze klienta %1.</p><p><b>%2</b> je k dispozici ke stažení. Aktuálně nainstalovaná verze je %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -963,8 +963,8 @@ si může v průběhu vyžádat dodatečná práva. - New version %1 available. Please use the systems update tool to install it. - Nová verze %1 je dostupná. Pro instalaci použijte, prosím, aktualizační nástroj systému. + New version %1 available. Please use the system's update tool to install it. + @@ -1327,7 +1327,7 @@ Nedoporučuje se jí používat. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Soubor %1 nemohl být přejmenován na %2 z důvodu kolize názvu se souborem v místním systému. @@ -1343,17 +1343,17 @@ Nedoporučuje se jí používat. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Tato složka nemůže být přejmenována. Byl jí vrácen původní název. - + This folder must not be renamed. Please name it back to Shared. Tato složka nemůže být přejmenována. Přejmenujte jí prosím zpět na Shared. - + The file was renamed but is part of a read only share. The original file was restored. Soubor byl přejmenován, ale je součástí sdílení pouze pro čtení. Původní soubor byl obnoven. @@ -1888,8 +1888,8 @@ Zkuste provést novou synchronizaci. - A network connection timeout happend. - Došlo k vypršení časového limitu síťového spojení. + A network connection timeout happened. + @@ -1958,53 +1958,53 @@ Zkuste provést novou synchronizaci. Nemohu inicializovat synchronizační žurnál. - + Cannot open the sync journal Nelze otevřít synchronizační žurnál - + 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 - + 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 diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index 45ac516cd..ec8390308 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -393,57 +393,57 @@ 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. - + Server is currently not available. Der Server ist momentan nicht erreichbar. - + 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) @@ -623,8 +623,8 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? - General Setttings - Allgemeine Einstellungen + General Settings + @@ -661,12 +661,12 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::HttpCredentials - + Enter Password Passwort eingeben - + Please enter %1 password for user '%2': Bitte %1 Passwort für den Nutzer '%2' eingeben: @@ -808,8 +808,8 @@ Aktivierte Elemente werden ebenfalls gelöscht, wenn diese das Löschen eines Ve - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Eine neue Version des %1-Clients ist verfügbar.</p><p>Version <b>%2</b> steht zum Download bereit. Die zur Zeit installierte Version: %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -964,8 +964,8 @@ nach zusätzlichen Privilegien während des Prozesses. - New version %1 available. Please use the systems update tool to install it. - Neue Version %1 verfügbar. Bitte nutzen Sie zur Installation das Systemaktualisierungstool. + New version %1 available. Please use the system's update tool to install it. + @@ -1328,7 +1328,7 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash %1 kann aufgrund eines Konfliktes mit dem lokalen Dateinamen nicht zu %2 umbenannt werden @@ -1344,17 +1344,17 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Dieser Ordner muss nicht umbenannt werden. Er wurde zurück zum Originalnamen umbenannt. - + This folder must not be renamed. Please name it back to Shared. Dieser Ordner muss nicht umbenannt werden. Bitte benennen Sie es zurück wie in der Freigabe. - + The file was renamed but is part of a read only share. The original file was restored. Die Datei wurde auf einer Nur-Lese-Freigabe umbenannt. Die Original-Datei wurde wiederhergestellt. @@ -1888,8 +1888,8 @@ Versuchen Sie diese nochmals zu synchronisieren. - A network connection timeout happend. - Es ist zu einer Zeitüberschreitung der Netzwerkverbindung gekommen. + A network connection timeout happened. + @@ -1958,53 +1958,53 @@ Versuchen Sie diese nochmals zu synchronisieren. Synchronisationsbericht konnte nicht initialisiert werden. - + Cannot open the sync journal Synchronisationsbericht kann nicht geöffnet werden - + 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 - + 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 diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index b421c09ab..90ff1c3c9 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -393,57 +393,57 @@ Are you sure you want to perform this operation? Βρέθηκε ένα παλαιότερο αρχείο συγχρονισμού '%1', αλλά δεν μπόρεσε να αφαιρεθεί. Παρακαλώ βεβαιωθείτε ότι καμμία εφαρμογή δεν το χρησιμοποιεί αυτή τη στιγμή. - + Undefined State. Απροσδιόριστη Κατάσταση. - + Waits to start syncing. Αναμονή έναρξης συγχρονισμού. - + Preparing for sync. Προετοιμασία για συγχρονισμό. - + Sync is running. Ο συγχρονισμός εκτελείται. - + Server is currently not available. Ο διακομιστής δεν είναι διαθέσιμος προς το παρόν. - + 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 (Παύση συγχρονισμού) @@ -623,8 +623,8 @@ Are you sure you want to perform this operation? - General Setttings - Γενικές Ρυθμίσεις + General Settings + @@ -661,12 +661,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password Εισάγετε Κωδικό Πρόσβασης - + Please enter %1 password for user '%2': Παρακαλώ εισάγετε τον κωδικό %1 για το χρήστη '%2': @@ -808,8 +808,8 @@ Checked items will also be deleted if they prevent a directory from being remove - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Μια νέα έκδοση του Δέκτη %1 είναι διαθέσιμη. </p><p><b>%2</b>είναι διαθέσιμη για άνοιγμα. Η εγκατεστημένη έκδοση είναι %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -964,8 +964,8 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. - Νέα έκδοση %1 διαθέσιμη. Παρακαλώ χρησιμοποιήστε το εργαλείο ενημερώσεων του συστήματος για την εγκαταστήσετε. + New version %1 available. Please use the system's update tool to install it. + @@ -1328,7 +1328,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Το αρχείο %1 δεν είναι δυνατό να μετονομαστεί σε %2 λόγω μιας διένεξης με το όνομα ενός τοπικού αρχείου @@ -1344,17 +1344,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Αυτός ο φάκελος δεν πρέπει να μετονομαστεί. Μετονομάζεται πίσω στο αρχικό του όνομα. - + This folder must not be renamed. Please name it back to Shared. Αυτός ο φάκελος δεν πρέπει να μετονομαστεί. Παρακαλώ ονομάστε τον ξανά Κοινόχρηστος. - + The file was renamed but is part of a read only share. The original file was restored. Το αρχείο μετονομάστηκε αλλά είναι τμήμα ενός διαμοιρασμένου καταλόγου μόνο για ανάγνωση. Το αρχικό αρχείο επαναφέρθηκε. @@ -1888,8 +1888,8 @@ It is not advisable to use it. - A network connection timeout happend. - Λήξη χρόνου αναμονής προέκυψε για μια σύνδεση δικτύου. + A network connection timeout happened. + @@ -1958,53 +1958,53 @@ It is not advisable to use it. Αδυναμία προετοιμασίας αρχείου συγχρονισμού. - + Cannot open the sync journal Αδυναμία ανοίγματος του αρχείου συγχρονισμού - + 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 Δεν επιτρέπεται η αφαίρεση, αποκατάσταση σε εξέλιξη - + Move not allowed, item restored Η μετακίνηση δεν επιτρέπεται, το αντικείμενο αποκαταστάθηκε - + Move not allowed because %1 is read-only Η μετακίνηση δεν επιτρέπεται επειδή το %1 είναι μόνο για ανάγνωση - + the destination ο προορισμός - + the source η προέλευση diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index 8bb953337..49069bd4f 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -390,57 +390,57 @@ Are you sure you want to perform this operation? - + Undefined State. - + Waits to start syncing. - + Preparing for sync. - + Sync is running. - + Server is currently not available. - + 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) @@ -620,7 +620,7 @@ Are you sure you want to perform this operation? - General Setttings + General Settings @@ -658,12 +658,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password - + Please enter %1 password for user '%2': @@ -803,7 +803,7 @@ Checked items will also be deleted if they prevent a directory from being remove - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> @@ -958,7 +958,7 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. + New version %1 available. Please use the system's update tool to install it. @@ -1321,7 +1321,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1337,17 +1337,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1878,7 +1878,7 @@ It is not advisable to use it. - A network connection timeout happend. + A network connection timeout happened. @@ -1948,53 +1948,53 @@ It is not advisable to use it. - + Cannot open the sync journal - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 7caf663f0..b75cce148 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -392,57 +392,57 @@ 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. - + Server is currently not available. El servidor no está disponible en el momento - + 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) @@ -622,8 +622,8 @@ Está seguro de que desea realizar esta operación? - General Setttings - Opciones generales + General Settings + @@ -660,12 +660,12 @@ Está seguro de que desea realizar esta operación? Mirall::HttpCredentials - + Enter Password Introduzca la Contraseña - + Please enter %1 password for user '%2': Por favor, introduzca su %1 contraseña para el usuario '%2': @@ -807,8 +807,8 @@ Los elementos marcados también se eliminarán si impiden la eliminación de alg - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Una nueva versión del cliente %1 está disponible.</p><p><b>%2</b> está disponible para descarga. La versión instalada es la %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -963,8 +963,8 @@ pida privilegios adicionales durante el proceso. - New version %1 available. Please use the systems update tool to install it. - Nueva versión %1 disponible. Use la actualización de sistema para instalarla. + New version %1 available. Please use the system's update tool to install it. + @@ -1327,7 +1327,7 @@ No se recomienda usarlo. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash El archivo %1 no se puede renombrar a %2 por causa de un conflicto con el nombre de un archivo local @@ -1343,17 +1343,17 @@ No se recomienda usarlo. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Esta carpeta no debe ser renombrada. Ha sido renombrada a su nombre original - + This folder must not be renamed. Please name it back to Shared. Esta carpeta no debe ser renombrada. Favor de renombrar a Compartida. - + The file was renamed but is part of a read only share. The original file was restored. El archivo fue renombrado, pero es parte de una carpeta compartida en modo de solo lectura. El archivo original ha sido recuperado. @@ -1887,8 +1887,8 @@ Intente sincronizar los archivos nuevamente. - A network connection timeout happend. - Ha transcurrido el tiempo máximo de conexión a la red. + A network connection timeout happened. + @@ -1957,53 +1957,53 @@ Intente sincronizar los archivos nuevamente. No se pudo inicializar un registro (journal) de sincronización. - + Cannot open the sync journal No es posible abrir el diario de sincronización - + 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. - + 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 diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index ad76b3be3..c35a6162f 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -391,57 +391,57 @@ 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. - + Server is currently not available. El servidor actualmente no está disponible. - + 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) @@ -621,8 +621,8 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o - General Setttings - Configuraciones Generales + General Settings + @@ -659,12 +659,12 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::HttpCredentials - + Enter Password Ingresar contraseña - + Please enter %1 password for user '%2': Por favor, ingresa %1 contraseña para el usuario '%2': @@ -806,8 +806,8 @@ Los elementos marcados también se borrarán si impiden la eliminación de algú - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Hay disponible una nueva versión del cliente %1.</p><p><b>%2</b> está disponible para su descarga. La versión instalada es %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -961,7 +961,7 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. + New version %1 available. Please use the system's update tool to install it. @@ -1324,7 +1324,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1340,17 +1340,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1882,8 +1882,8 @@ Intente sincronizar estos nuevamente. - A network connection timeout happend. - Ha transcurrido el tiempo máximo de conexión a la red. + A network connection timeout happened. + @@ -1952,53 +1952,53 @@ Intente sincronizar estos nuevamente. Imposible inicializar un diario de sincronización. - + Cannot open the sync journal - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index bb65e8c58..05c905098 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -392,57 +392,57 @@ 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. - + Server is currently not available. Server pole hetkel saadaval. - + 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) @@ -622,8 +622,8 @@ Oled kindel, et soovid seda operatsiooni teostada? - General Setttings - Üldised seaded + General Settings + @@ -660,12 +660,12 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::HttpCredentials - + Enter Password Sisesta parool - + Please enter %1 password for user '%2': Palun sisesta %1 parool kasutajale '%2': @@ -807,8 +807,8 @@ Checked items will also be deleted if they prevent a directory from being remove - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Uus versioon %1 kliendist on saadaval.</p><p><b>%2</b> on saadaval alla laadimiseks. Paigaldatud on versioon %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -963,8 +963,8 @@ täiendavaid õigusi protsessi käigus. - New version %1 available. Please use the systems update tool to install it. - Uus versioon %1 on saadaval. Palun kasuta süsteemi uuendushaldurit selle paigaldamiseks. + New version %1 available. Please use the system's update tool to install it. + @@ -1327,7 +1327,7 @@ Selle kasutamine pole soovitatav. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Faili %1 ei saa ümber nimetada %2-ks, kuna on konflikt kohaliku faili nimega @@ -1343,17 +1343,17 @@ Selle kasutamine pole soovitatav. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Kausta ei tohi ümber nimetada. Kausta algne nimi taastati. - + This folder must not be renamed. Please name it back to Shared. Kausta nime ei tohi muuta. Palun pane selle nimeks tagasi Shared. - + The file was renamed but is part of a read only share. The original file was restored. Fail oli ümber nimetatud, kuid see on osa kirjutamisõiguseta jagamisest. Algne fail taastati. @@ -1887,8 +1887,8 @@ Proovi neid uuesti sünkroniseerida. - A network connection timeout happend. - Toimus võrgukatkestus. + A network connection timeout happened. + @@ -1957,53 +1957,53 @@ Proovi neid uuesti sünkroniseerida. Ei suuda lähtestada sünkroniseeringu zurnaali. - + Cannot open the sync journal Ei suuda avada sünkroniseeringu zurnaali - + 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 - + 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 diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 73408aa74..a1cf831fe 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -388,57 +388,57 @@ Are you sure you want to perform this operation? - + Undefined State. Definitu gabeko egoera. - + Waits to start syncing. Itxoiten sinkronizazioa hasteko. - + Preparing for sync. Sinkronizazioa prestatzen. - + Sync is running. Sinkronizazioa martxan da. - + Server is currently not available. Zerbitzaria orain ez dago eskuragarri. - + 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) @@ -618,8 +618,8 @@ Are you sure you want to perform this operation? - General Setttings - Ezarpen Orokorrak + General Settings + @@ -656,12 +656,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password Sartu Pasahitza - + Please enter %1 password for user '%2': Mesedez sartu %1 pasahitza '%2' erabiltzailerako: @@ -803,8 +803,8 @@ Markatutakoak ezabatuko dira karpeta bat ezabatzeko beharrezkoa bada. Hau meta d - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>%1 Bezeroaren bertsio berri bat eskuragarri dago.</p><p><b>%2</b> deskargatzeko eskuragarri dago. Instalatutako bertsioa %3 da.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -958,8 +958,8 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. - %1 Bertsio berria eskuragarri dago. Mesedez erabili sistemako eguneraketa tresna instalatzeko. + New version %1 available. Please use the system's update tool to install it. + @@ -1321,7 +1321,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1337,17 +1337,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Karpeta hau ezin da berrizendatu. Bere jatorrizko izenera berrizendatu da. - + This folder must not be renamed. Please name it back to Shared. Karpeta hau ezin da berrizendatu. Mesedez jarri berriz Shared izena. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1879,8 +1879,8 @@ Saiatu horiek berriz sinkronizatzen. - A network connection timeout happend. - Sarearen konexioan denbora-muga gertatu da. + A network connection timeout happened. + @@ -1949,53 +1949,53 @@ Saiatu horiek berriz sinkronizatzen. Ezin izan da sinkronizazio egunerokoa hasieratu. - + Cannot open the sync journal - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index e4826253c..665254519 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -388,57 +388,57 @@ Are you sure you want to perform this operation? - + Undefined State. موقعیت تعریف نشده - + Waits to start syncing. صبر کنید تا همگام سازی آغاز شود - + Preparing for sync. - + Sync is running. همگام سازی در حال اجراست - + Server is currently not available. - + 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) @@ -618,7 +618,7 @@ Are you sure you want to perform this operation? - General Setttings + General Settings @@ -656,12 +656,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password - + Please enter %1 password for user '%2': @@ -801,8 +801,8 @@ Checked items will also be deleted if they prevent a directory from being remove - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>یک نسخه جدید از %1 نرم افزار در دسترس است. </p><p><b>%2</b> برای دریافت در دسترس است. نسخه نصب شده %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -956,7 +956,7 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. + New version %1 available. Please use the system's update tool to install it. @@ -1319,7 +1319,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1335,17 +1335,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1876,8 +1876,8 @@ It is not advisable to use it. - A network connection timeout happend. - اتصال به یک شبکه متوقف شده است. + A network connection timeout happened. + @@ -1946,53 +1946,53 @@ It is not advisable to use it. - + Cannot open the sync journal - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 30f308501..40eb0cfe8 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -389,57 +389,57 @@ 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. - + Server is currently not available. Palvelin ei ole käytettävissä. - + 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) @@ -619,8 +619,8 @@ Are you sure you want to perform this operation? - General Setttings - Yleiset asetukset + General Settings + @@ -657,12 +657,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password Anna salasana - + Please enter %1 password for user '%2': Anna käyttäjän '%2' %1-salasana: @@ -802,8 +802,8 @@ Checked items will also be deleted if they prevent a directory from being remove - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Uusi versio %1-asiakassovelluksesta on saatavilla.</p><p><b>%2</b> on valmiina ladattavaksi. Tällä hetkellä asennettu versio on %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -958,8 +958,8 @@ saattaa kysyä lisäoikeuksia toimenpiteen aikana. - New version %1 available. Please use the systems update tool to install it. - Uusi versio %1 on saatavilla. Käytä järjestelmän päivitystyökalua asentaaksesi sen. + New version %1 available. Please use the system's update tool to install it. + @@ -1322,7 +1322,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1338,17 +1338,17 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Tätä kansiota ei ole tule nimetä uudelleen. Muutetaan takaisin alkuperäinen nimi. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1881,8 +1881,8 @@ Osoitteen käyttäminen ei ole suositeltavaa. - A network connection timeout happend. - Verkon aikakatkaisuvirhe. + A network connection timeout happened. + @@ -1951,53 +1951,53 @@ Osoitteen käyttäminen ei ole suositeltavaa. - + Cannot open the sync journal - + 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 - + Move not allowed, item restored - + 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 diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index d24e76f99..0c38073f4 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -392,57 +392,57 @@ 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. - + Server is currently not available. Le serveur est indisponible actuellement. - + 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) @@ -622,8 +622,8 @@ Voulez-vous réellement effectuer cette opération ? - General Setttings - Paramètres Généraux + General Settings + @@ -660,12 +660,12 @@ Voulez-vous réellement effectuer cette opération ? Mirall::HttpCredentials - + Enter Password Entrez le mot de passe - + Please enter %1 password for user '%2': Veuillez entrer %1 mot de passe pour l'utilisateur '%2': @@ -807,8 +807,8 @@ Les items cochés seront également supprimés s'ils empêchent la suppress - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Une nouvelle version du client de synchronisation %1 est disponible.</p><p><b>%2</b> est disponible au téléchargement. La version installée est %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -963,8 +963,8 @@ peut demander des privilèges additionnels durant le processus. - New version %1 available. Please use the systems update tool to install it. - Nouvelle version %1 disponible. Merci d'utiliser les outils de mise à jour système pour l'installer. + New version %1 available. Please use the system's update tool to install it. + @@ -1327,7 +1327,7 @@ Il est déconseillé de l'utiliser. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Le fichier %1 ne peut pas être renommé en %2 à cause d'un conflit local de nom de fichier @@ -1343,17 +1343,17 @@ Il est déconseillé de l'utiliser. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Ce dossier ne doit pas être renommé. Il sera renommé avec son nom original. - + This folder must not be renamed. Please name it back to Shared. Ce dossier ne doit pas être renommé. Veuillez le nommer Partagé uniquement. - + The file was renamed but is part of a read only share. The original file was restored. Le fichier a été renommé mais appartient à un partage en lecture seule. Le fichier original a été restauré. @@ -1887,8 +1887,8 @@ Il est déconseillé de l'utiliser. - A network connection timeout happend. - Le temps d'attente pour la connexion réseau s'est écoulé. + A network connection timeout happened. + @@ -1957,53 +1957,53 @@ Il est déconseillé de l'utiliser. Impossible d'initialiser un journal de synchronisation. - + Cannot open the sync journal Impossible d'ouvrir le journal de synchronisation - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination la destination - + the source la source diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index 00367b692..df4924df9 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -392,57 +392,57 @@ 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 ningún aplicativo. - + 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. - + Server is currently not available. O servidor non está dispoñíbel actualmente. - + 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) @@ -622,8 +622,8 @@ Confirma que quere realizar esta operación? - General Setttings - Axustes xerais + General Settings + @@ -660,12 +660,12 @@ Confirma que quere realizar esta operación? Mirall::HttpCredentials - + Enter Password Escriba o contrasinal - + Please enter %1 password for user '%2': Escriba o contrasinal %1 para o usuario «%2»: @@ -807,8 +807,8 @@ Os elementos marcados tamén se eliminarán se impiden retirar un directorio. Is - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Hai dispoñíbel unha nova versión do cliente %1.</p><p>Pode descargar a versión <b>%2</b>. A versión instalada é a %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -963,8 +963,8 @@ actualización pode pedir privilexios adicionais durante o proceso. - New version %1 available. Please use the systems update tool to install it. - Está dispoñíbel unha nova versión %1. Utilice a ferramenta de actualización do sistema para instalala. + New version %1 available. Please use the system's update tool to install it. + @@ -1327,7 +1327,7 @@ Recomendámoslle que non o use. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Non é posíbel renomear o ficheiro %1 como %2 por mor dunha colisión co nome dun ficheiro local @@ -1343,17 +1343,17 @@ Recomendámoslle que non o use. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Non é posíbel renomear este cartafol. Non se lle cambiou o nome, mantense o orixinal. - + This folder must not be renamed. Please name it back to Shared. Non é posíbel renomear este cartafol. Devólvalle o nome ao compartido. - + The file was renamed but is part of a read only share. The original file was restored. O ficheiro foi renomeado mais é parte dunha compartición de só lectura. O ficheiro orixinal foi restaurado. @@ -1887,8 +1887,8 @@ Tente sincronizalos de novo. - A network connection timeout happend. - Excedeuse do tempo de espera para a conexión á rede. + A network connection timeout happened. + @@ -1957,53 +1957,53 @@ Tente sincronizalos de novo. Non é posíbel iniciar un rexistro de sincronización. - + Cannot open the sync journal Non foi posíbel abrir o rexistro de sincronización - + 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 - + 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 diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index dd49984a3..585f855c7 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -388,57 +388,57 @@ 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. - + Server is currently not available. A kiszolgáló jelenleg nem érhető el. - + 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) @@ -618,8 +618,8 @@ Are you sure you want to perform this operation? - General Setttings - Általános beállítások + General Settings + @@ -656,12 +656,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password Jelszómegadás - + Please enter %1 password for user '%2': @@ -801,7 +801,7 @@ Checked items will also be deleted if they prevent a directory from being remove - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> @@ -956,7 +956,7 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. + New version %1 available. Please use the system's update tool to install it. @@ -1319,7 +1319,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1335,17 +1335,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1876,8 +1876,8 @@ It is not advisable to use it. - A network connection timeout happend. - Hálózati kapcsolat időtúllépési hiba lépett fel. + A network connection timeout happened. + @@ -1946,53 +1946,53 @@ It is not advisable to use it. - + Cannot open the sync journal - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 6e78e1473..011bf5284 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -392,57 +392,57 @@ 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. - + Server is currently not available. Il server è attualmente non disponibile. - + 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) @@ -622,8 +622,8 @@ Sei sicuro di voler eseguire questa operazione? - General Setttings - Impostazioni generali + General Settings + @@ -660,12 +660,12 @@ Sei sicuro di voler eseguire questa operazione? Mirall::HttpCredentials - + Enter Password Digita la password - + Please enter %1 password for user '%2': Digita la password di %1 per l'utente '%2': @@ -807,8 +807,8 @@ Gli elementi marcati saranno inoltre eliminati se impediscono la rimozione di un - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Una nuova versione del client %1 è disponibile.</p><p><b>%2</b> è disponibile per lo scaricamento. La versione installata è %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -962,8 +962,8 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. - La nuova versione %1 è disponibile. Utilizza lo strumento di aggiornamento di sistema per installarlo. + New version %1 available. Please use the system's update tool to install it. + @@ -1326,7 +1326,7 @@ Non è consigliabile utilizzarlo. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Il file %1 non può essere rinominato in %2 a causa di un conflitto con il nome di un file locale @@ -1342,17 +1342,17 @@ Non è consigliabile utilizzarlo. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Questa cartella non può essere rinominata. Il nome originale è stato ripristinato. - + This folder must not be renamed. Please name it back to Shared. Questa cartella non può essere rinominata. Ripristina il nome Shared. - + The file was renamed but is part of a read only share. The original file was restored. Il file è stato rinominato, ma è parte di una condivisione in sola lettura. Il file originale è stato ripristinato. @@ -1886,8 +1886,8 @@ Prova a sincronizzare nuovamente. - A network connection timeout happend. - Si è verificato un timeout sulla connessione alla rete. + A network connection timeout happened. + @@ -1956,53 +1956,53 @@ Prova a sincronizzare nuovamente. Impossibile inizializzare il registro di sincronizzazione. - + Cannot open the sync journal Impossibile aprire il registro di sincronizzazione - + 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 - + 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 diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index be7c35f16..84ce472ed 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -392,57 +392,57 @@ Are you sure you want to perform this operation? 古い同期ジャーナル '%1' が見つかりましたが、削除できませんでした。それを現在使用しているアプリケーションが存在しないか確認してください。 - + Undefined State. 未定義の状態。 - + Waits to start syncing. 同期開始を待機中 - + Preparing for sync. 同期の準備中。 - + Sync is running. 同期を実行中です。 - + Server is currently not available. サーバーは現在利用できません。 - + 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 (同期を一時停止) @@ -622,8 +622,8 @@ Are you sure you want to perform this operation? - General Setttings - 一般設定 + General Settings + @@ -660,12 +660,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password パスワードを入力してください - + Please enter %1 password for user '%2': ユーザー '%2' の %1 パスワードを入力してください: @@ -807,8 +807,8 @@ Checked items will also be deleted if they prevent a directory from being remove - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>%1 クライアントの新しいバージョンが利用可能です。</p><p><b>%2</b> がダウンロード可能です。インストールされているバージョンは %3 です。<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -962,8 +962,8 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. - 新しいバージョン %1 が利用可能です。インストールするには、システムアップデートツールを利用してください。 + New version %1 available. Please use the system's update tool to install it. + @@ -1325,7 +1325,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash ファイル %1 はローカルファイル名が衝突しているため %2 に名前を変更できません @@ -1341,17 +1341,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. このフォルダー名は変更できません。元の名前に戻します。 - + This folder must not be renamed. Please name it back to Shared. このフォルダー名は変更できません。名前を Shared に戻してください。 - + The file was renamed but is part of a read only share. The original file was restored. ファイルの名前が変更されましたが、読み込み専用の共有の一部です。オリジナルのファイルが復元されました。 @@ -1885,8 +1885,8 @@ It is not advisable to use it. - A network connection timeout happend. - ネットワーク接続のタイムアウトが発生しました。 + A network connection timeout happened. + @@ -1955,53 +1955,53 @@ It is not advisable to use it. 同期ジャーナルの初期化ができません。 - + Cannot open the sync journal 同期ジャーナルを開くことができません - + 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 削除できません、復元しています - + Move not allowed, item restored 移動できません、項目を復元しました - + Move not allowed because %1 is read-only %1 は読み取り専用のため移動できません - + the destination 移動先 - + the source 移動元 diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 4e6c28b94..fad2476cd 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -392,57 +392,57 @@ 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. - + Server is currently not available. De server is nu niet beschikbaar. - + 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) @@ -622,8 +622,8 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? - General Setttings - Algemene Instellingen + General Settings + @@ -660,12 +660,12 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::HttpCredentials - + Enter Password Vul het wachtwoord in - + Please enter %1 password for user '%2': Vul het %1 wachtwoord in voor gebruiker '%2': @@ -807,8 +807,8 @@ Aangevinkte onderdelen zullen ook gewist worden als ze anders verhinderen dat ee - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Er is een nieuwe versie van de %1-client.</p><p><b>%2</b> kan gedownload worden. De geïnstalleerde versie is %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -963,8 +963,8 @@ vragen om extra autorisaties tijdens installatie. - New version %1 available. Please use the systems update tool to install it. - Nieuwe versie %1 beschikbaar. Gebruik de Bijwerkapplicatie voor installeren ervan. + New version %1 available. Please use the system's update tool to install it. + @@ -1327,7 +1327,7 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Bestand %1 kan niet worden hernoemd naar %2, omdat de naam conflicteert met een lokaal bestand @@ -1343,17 +1343,17 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Deze map mag niet worden hernoemd. De naam van de map is teruggezet naar de originele naam. - + This folder must not be renamed. Please name it back to Shared. Deze map mag niet worden hernoemd. Verander de naam terug in Gedeeld. - + The file was renamed but is part of a read only share. The original file was restored. Het bestand is hernoemd, maar hoort bij een alleen-lezen share. Het originele bestand is teruggezet. @@ -1887,8 +1887,8 @@ Probeer opnieuw te synchroniseren. - A network connection timeout happend. - verbindingstime-out + A network connection timeout happened. + @@ -1957,53 +1957,53 @@ Probeer opnieuw te synchroniseren. Niet in staat om een synchornisatie journaal te starten. - + Cannot open the sync journal Kan het sync journal niet openen - + 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 - + 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 diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index e7ebc4521..d353b902a 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -392,57 +392,57 @@ 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 - + Server is currently not available. Serwer jest obecnie niedostępny. - + 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) @@ -622,8 +622,8 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? - General Setttings - Główne ustawienie + General Settings + @@ -660,12 +660,12 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::HttpCredentials - + Enter Password Wprowadź hasło - + Please enter %1 password for user '%2': Proszę podać %1 hasło dla użytkownika '%2': @@ -807,8 +807,8 @@ Zaznaczone przedmioty także będą usunięte, jeżeli będą przeszkadzać w us - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Nowa wersja klienta %1 jest dostępna.</p><p><b>%2</b>jest dostępna do pobrania. Zainstalowana wersja to %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -963,8 +963,8 @@ poprosić o dodatkowe uprawnienia podczas tego procesu. - New version %1 available. Please use the systems update tool to install it. - Nowa wersja %1 jest dostępna. Aby ją zainstalować, użyj narzędzia systemowego do aktualizacji. + New version %1 available. Please use the system's update tool to install it. + @@ -1327,7 +1327,7 @@ Niezalecane jest jego użycie. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Plik %1 nie może być nazwany %2 z powodu kolizji z lokalną nazwą pliku @@ -1343,17 +1343,17 @@ Niezalecane jest jego użycie. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Folder ten nie może być zmieniony. Został zmieniony z powrotem do pierwotnej nazwy. - + This folder must not be renamed. Please name it back to Shared. Nie wolno zmieniać nazwy tego folderu. Proszę zmień nazwę z powrotem na Shared. - + The file was renamed but is part of a read only share. The original file was restored. Plik był edytowany lokalnie ale jest częścią udziału z prawem tylko do odczytu. Przywrócono oryginalny plik @@ -1887,8 +1887,8 @@ Niezalecane jest jego użycie. - A network connection timeout happend. - Upłynął limit czasu połączenia. + A network connection timeout happened. + @@ -1957,53 +1957,53 @@ Niezalecane jest jego użycie. Nie można zainicjować synchronizacji dziennika. - + Cannot open the sync journal Nie można otworzyć dziennika synchronizacji - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination docelowy - + the source źródło diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 5efedd1ca..8c6d19ddf 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -324,7 +324,7 @@ Total time left %5 %1 has been renamed to %2 and %3 other files have been renamed. - + %1 foi renomeado para %2 e %3 outros ficheiros foram renomeados. @@ -335,7 +335,7 @@ Total time left %5 %1 has been moved to %2 and %3 other files have been moved. - + %1 foi movido para %2 e %3 outros ficheiros foram movidos. @@ -391,57 +391,57 @@ 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. - + Server is currently not available. O servidor não está disponível de momento. - + 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) @@ -514,7 +514,7 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q The selected folder is a symbolic link. An already configured folder is contained in the folder this link is pointing to. - + O directório seleccionado é uma hiperligação simbólica. Um directório já configurado está contido no directório para a qual a hiperligação está apontada. @@ -621,8 +621,8 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q - General Setttings - Configurações gerais + General Settings + @@ -659,12 +659,12 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::HttpCredentials - + Enter Password Introduza a Palavra-passe - + Please enter %1 password for user '%2': Por favor introduza %1 password para o utilizador '%2': @@ -806,8 +806,8 @@ Itens verificados também serão removidos se evitarem que um diretório seja re - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Nova versão do cliente %1 disponível.</p><p>A versão <b>%2</b> está disponível. A versão instalada é: %3</p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -961,8 +961,8 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. - Nova versão %1 disponível. Por favor utilize a ferramenta de actualização para a instalar. + New version %1 available. Please use the system's update tool to install it. + @@ -1204,7 +1204,7 @@ It is not advisable to use it. Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. - + Não é possível remover e fazer backup à pasta porque a pasta ou um ficheiro nesta está aberto em outro programa. Por favor, feche a pasta ou o ficheiro e clique novamente ou cancele a configuração. @@ -1271,7 +1271,7 @@ It is not advisable to use it. File %1 can not be downloaded because of a local file name clash! - + O ficheiro %1 não pode ser descarregado devido a conflito com um nome de ficheiro local! @@ -1279,7 +1279,7 @@ It is not advisable to use it. File %1 can not be downloaded because of a local file name clash! - + O ficheiro %1 não pode ser descarregado devido a conflito com um nome de ficheiro local! @@ -1287,7 +1287,7 @@ It is not advisable to use it. ; Restoration Failed: - + ; Restauração Falhou: @@ -1300,7 +1300,7 @@ It is not advisable to use it. Attention, possible case sensitivity clash with %1 - + Atenção, possível sensibilidade a maiúsculas em conflito com %1 @@ -1313,7 +1313,7 @@ It is not advisable to use it. Could not remove %1 because of a local file name clash - + Nao foi possivel remover %1 devido a conflito local com nome de ficheiro @@ -1324,9 +1324,9 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash - + O ficheiro %1 nao pode ser renomeado para %2 devido a conflito com nome de ficheiro local @@ -1340,17 +1340,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Esta pasta não pode ser renomeada. A alterar para nome original. - + This folder must not be renamed. Please name it back to Shared. Esta pasta não pode ser renomeada. Por favor renomeie para o seu nome original: Shared. - + The file was renamed but is part of a read only share. The original file was restored. O ficheiro foi renomeado mas faz parte de uma partilha só de leitura. O ficheiro original foi restaurado. @@ -1566,12 +1566,12 @@ Por favor tente sincronizar novamente. Reauthentication required - + Requerido reautenticação Your session has expired. You need to re-login to continue to use the client. - + A sessão expirou. Precisa reiniciar a sessão para poder continuar usando o cliente. @@ -1790,12 +1790,12 @@ Por favor tente sincronizar novamente. CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync falhou no carregamento ou criação do ficheiro jornal. Confirme que tem permissões de escrita e leitura no directório de sincronismo local. CSync failed to write the journal file. - + CSync falhou a escrever o ficheiro do jornal. @@ -1885,8 +1885,8 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n - A network connection timeout happend. - Houve um erro de timeout de rede (fim de tempo) + A network connection timeout happened. + @@ -1937,7 +1937,7 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n Symbolic links are not supported in syncing. - + Hiperligações simbólicas não são suportadas em sincronização. @@ -1955,53 +1955,53 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n Impossível inicializar sincronização 'journal'. - + Cannot open the sync journal - + Impossível abrir o jornal de sincronismo - + 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 - + 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 @@ -2019,7 +2019,7 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n <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<br>United States, other countries, or both.</p> - + <p>Versão %1 Para mais informações por favor visite <a href='%2'>%3</a>.</p><p>Direitos de autor ownCloud, Inc.<p><p>Distribuido por %4 e licenciado através da versão 2.0 GNU General Public License (GPL) .<br>%5 e os %5 logotipos são marca registada de %4 nos<br>Estados Unidos, outros paises ou em ambos.</p> @@ -2401,7 +2401,7 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> - + <p><small>Construído a partir de revisão Git <a href="%1">%2</a> em %3, %4 usando Qt %5.</small></p> diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 8d9af5896..85af342ff 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -70,7 +70,7 @@ Edit Ignored Files - Editar arquivos ignorados + Editar Arquivos Ignorados @@ -91,7 +91,7 @@ Pause - Pause + Pausa @@ -126,7 +126,7 @@ Confirm Folder Remove - Confirma remoção da pasta + Confirma Remoção da Pasta @@ -141,7 +141,7 @@ <p>Do you really want to reset folder <i>%1</i> and rebuild your client database?</p><p><b>Note:</b> This function is designed for maintenance purposes only. No files will be removed, but this can cause significant data traffic and take several minutes or hours to complete, depending on the size of the folder. Only use this option if advised by your administrator.</p> - <p>Você realmente deseja redefinir a pasta <i>%1</i> e reconstruir seu banco de dados de clientes?</p><p><b>Nota:</b> Esta função é usada somente para manutenção. Nenhum arquivo será removido, mas isso pode causar o tráfego de dados significativo e levar vários minutos ou horas, dependendo do tamanho da pasta. Somente use esta opção se adivertido por seu administrador.</p> + <p>Você realmente deseja redefinir a pasta <i>%1</i> e reconstruir seu banco de dados de clientes?</p><p><b>Nota:</b> Esta função é usada somente para manutenção. Nenhum arquivo será removido, mas isso pode causar significativo tráfego de dados e levar vários minutos ou horas, dependendo do tamanho da pasta. Somente use esta opção se adivertido por seu administrador.</p> @@ -162,12 +162,12 @@ No %1 connection configured. - Sem %1 conexão configurada. + Nenhuma %1 conexão configurada. Sync Running - Sincronização acontecendo + Sincronização Acontecendo @@ -177,7 +177,7 @@ The syncing operation is running.<br/>Do you want to terminate it? - A operação de sincronização está acontecendo.<br/>deseja finaliza-la? + A operação de sincronização está acontecendo.<br/>Você deseja finaliza-la? @@ -264,7 +264,7 @@ Total de tempo que falta 5% Unable to create csync-context - Não é possível criar csync-contexto + Não é possível criar csync-context @@ -366,7 +366,7 @@ Você tem certeza que quer executar esta operação? Remove All Files? - Deseja remover todos os arquivos? + Deseja Remover Todos os Arquivos? @@ -392,57 +392,57 @@ 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. - + Server is currently not available. Servidor indisponível no momento. - + 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. + Erro de Configuração. - + User Abort. Usuário Abortou - + Sync is paused. Sincronização pausada. - + %1 (Sync is paused) %1 (Pausa na Sincronização) @@ -578,7 +578,7 @@ Você tem certeza que quer executar esta operação? You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. - Você já está sincronizando <i>%1</i>, que é uma pasta pai de <i>%2</i>. + Você já está sincronizando <i>%1</i>, que é uma pasta mãe de <i>%2</i>. @@ -622,8 +622,8 @@ Você tem certeza que quer executar esta operação? - General Setttings - Configurações Gerais + General Settings + @@ -638,7 +638,7 @@ Você tem certeza que quer executar esta operação? Use Monochrome Icons - Usar ícones monocromáticos + Usar Ícones Monocromáticos @@ -661,12 +661,12 @@ Você tem certeza que quer executar esta operação? Mirall::HttpCredentials - + Enter Password Entrar Senha - + Please enter %1 password for user '%2': Por favor entrar %1 senha para o usuário '%2': @@ -807,8 +807,8 @@ Itens marcados também serão excluídos se estiverem impedindo a remoção de u - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Uma nova versão do Cliente %1 está disponível.</p><p><b>%2</b> está disponível para baixar. A versão instalada é %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -856,7 +856,7 @@ Itens marcados também serão excluídos se estiverem impedindo a remoção de u Host - Servidor + Host @@ -871,7 +871,7 @@ Itens marcados também serão excluídos se estiverem impedindo a remoção de u Download Bandwidth - Baixar banda + Baixar Banda @@ -894,7 +894,7 @@ Itens marcados também serão excluídos se estiverem impedindo a remoção de u Upload Bandwidth - Enviar banda + Enviar Banda @@ -938,7 +938,7 @@ Itens marcados também serão excluídos se estiverem impedindo a remoção de u A new update is about to be installed. The updater may ask for additional privileges during the process. - Uma nova atualização está prestes a ser instalado. O atualizador pode pedir por privilégios adicionais durante o processo. + Uma nova atualização está prestes a ser instalada. O atualizador pode pedir por privilégios adicionais durante o processo. @@ -962,8 +962,8 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. - Nova versão %1 disponível. Por favor, use a ferramenta de atualização do sistema para atualizar. + New version %1 available. Please use the system's update tool to install it. + @@ -1034,7 +1034,7 @@ for additional privileges during the process. Enter user credentials - Entre com suas credenciais + Entre com as credenciais do usuário @@ -1102,7 +1102,7 @@ It is not advisable to use it. <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> - <font color="green">Conectado com sucesso a %1: versão %2 %3 (%4)</font><br/><br/> + <font color="green">Conectado com sucesso a %1: 2% versão %3 (%4)</font><br/><br/> @@ -1169,7 +1169,7 @@ It is not advisable to use it. The folder creation resulted in HTTP error code %1 - A criação da pasta resultou em um erro HTTP %1 + A criação da pasta resultou em um erro do código HTTP %1 @@ -1205,7 +1205,7 @@ It is not advisable to use it. Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. - Não é possível remover e fazer backup da pasta porque a pasta ou um arquivo em que nesta pasta está aberto em outro programa. Por favor, feche a pasta ou arquivo e clique tentar novamente ou cancelar a operação. + Não é possível remover e fazer backup da pasta porque a pasta ou um arquivo que está nesta pasta está aberto em outro programa. Por favor, feche a pasta ou arquivo e clique tentar novamente ou cancelar a operação. @@ -1325,7 +1325,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash O arquivo %1 não pode ser renomeado para %2 por causa de um choque com nome de arquivo local @@ -1341,17 +1341,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - Esta pasta não pode ser renomeada. Ele será renomeado de volta ao seu nome original. + Esta pasta não pode ser renomeada. Ela será renomeado de volta ao seu nome original. - + This folder must not be renamed. Please name it back to Shared. Esta pasta não pode ser renomeada. Por favor, nomeie-a de volta para Compartilhada. - + The file was renamed but is part of a read only share. The original file was restored. O arquivo foi renomeado mas faz parte de compartilhamento só de leitura. O arquivo original foi restaurado. @@ -1468,7 +1468,7 @@ It is not advisable to use it. The sync status has been copied to the clipboard. - O estado de sincronização foi copiado para o clipboard. + O estado de sincronização foi copiado para a área de transferência. @@ -1806,7 +1806,7 @@ Tente sincronizar novamente. The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. - A hora do sistema neste cliente é diferente do que o tempo de sistema no servidor. Por favor, use um serviço de sincronização de tempo (NTP) no servidor e máquinas clientes para que os tempos continuam os mesmos. + A hora do sistema neste cliente é diferente da hora de sistema no servidor. Por favor, use um serviço de sincronização de tempo (NTP) no servidor e máquinas clientes para que as datas continuam as mesmas. @@ -1826,7 +1826,7 @@ Tente sincronizar novamente. CSync fatal parameter error. - Erro fatal permanente do CSync. + Erro fatal de parametro do CSync. @@ -1885,8 +1885,8 @@ Tente sincronizar novamente. - A network connection timeout happend. - Atingido o tempo limite para conexão à rede. + A network connection timeout happened. + @@ -1912,7 +1912,7 @@ Tente sincronizar novamente. CSync: No space on %1 server available. - CSync: sem espaço disponível no servidor %1. + CSync: Sem espaço disponível no servidor %1. @@ -1927,7 +1927,7 @@ Tente sincronizar novamente. An internal error number %1 happened. - Um ocorreu um erro interno de número %1. + Ocorreu um erro interno de número %1. @@ -1955,53 +1955,53 @@ Tente sincronizar novamente. Impossibilitado de iniciar a sincronização. - + Cannot open the sync journal Não é possível abrir o arquivo de sincronização - + 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 - + 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 @@ -2202,7 +2202,7 @@ Tente sincronizar novamente. Status message - Status da mensagem + Mensagem de status @@ -2406,7 +2406,7 @@ Tente sincronizar novamente. <p>Version %2. For more information visit <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 - <p>Versão %2. Para mais informações visite <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>BAseado em Mirall by Duncan Mac-Vicar P.</small></p>%7 + <p>Versão %2. Para mais informações visite <a href="%3">%4</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Baseado em Mirall by Duncan Mac-Vicar P.</small></p>%7 @@ -2510,7 +2510,7 @@ Tente sincronizar novamente. Sync Success - Sucesso da Sincronização + Sucesso na Sincronização diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 5368a49f9..319e15d50 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -391,57 +391,57 @@ Are you sure you want to perform this operation? Найден старый журнал синхронизации '%1', и он не может быть удалён. Пожалуйста убедитесь что он не открыт в каком-либо приложении. - + Undefined State. Неопределенное состояние. - + Waits to start syncing. Ожидает, чтобы начать синхронизацию. - + Preparing for sync. Подготовка к синхронизации. - + Sync is running. Идет синхронизация. - + Server is currently not available. Сервер недоступен. - + 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) %! (синхронизация приостановлена) @@ -621,8 +621,8 @@ Are you sure you want to perform this operation? - General Setttings - Общие настройки + General Settings + @@ -659,12 +659,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password Введите пароль - + Please enter %1 password for user '%2': Пожалуйста введите пароль от %1 для пользователя '%2': @@ -806,8 +806,8 @@ Checked items will also be deleted if they prevent a directory from being remove - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Новая версия программы-клиента %1 доступна.</p><p><b>%2</b> доступна для скачивания. Установленная версия %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -962,8 +962,8 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. - Доступна новая версия %1. Для её установки перейдите в раздел обновления системы. + New version %1 available. Please use the system's update tool to install it. + @@ -1326,7 +1326,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1342,17 +1342,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Эта папка не должна переименовываться. Ей будет присвоено изначальное имя. - + This folder must not be renamed. Please name it back to Shared. Эта папка не должна переименовываться. Пожалуйста, верните ей имя Shared - + The file was renamed but is part of a read only share. The original file was restored. @@ -1886,8 +1886,8 @@ It is not advisable to use it. - A network connection timeout happend. - Произошёл таймаут соединения сети. + A network connection timeout happened. + @@ -1956,53 +1956,53 @@ It is not advisable to use it. Не удалось инициализировать журнал синхронизации. - + Cannot open the sync journal Не удаётся открыть журнал синхронизации - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination Назначение - + the source Источник diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index db1312444..b6163e0ac 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -391,57 +391,57 @@ 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. - + Server is currently not available. Sever momentálne nie je prístupný. - + 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á) @@ -621,8 +621,8 @@ Ste si istý, že chcete uskutočniť danú operáciu? - General Setttings - Všeobecné nastavenia + General Settings + @@ -659,12 +659,12 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::HttpCredentials - + Enter Password Vložte heslo - + Please enter %1 password for user '%2': Zadajte prosím %1 heslo pre používateľa '%2': @@ -806,8 +806,8 @@ Zaškrtnuté položky budú taktiež zmazané pokiaľ bránia priečinku pri ods - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Nová verzia %1 klienta je dostupná.</p><p><b>%2</b> je dostupný na stiahnutie. Nainštalovaná verzia je %3.</p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -962,8 +962,8 @@ si počas procesu aktualizácie môže vyžiadať dodatočné práva. - New version %1 available. Please use the systems update tool to install it. - Nová verzia %1 je dostupná. Pre inštaláciu použite aktualizačný nástroj systému. + New version %1 available. Please use the system's update tool to install it. + @@ -1326,7 +1326,7 @@ Nie je vhodné ju používať. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Súbor %1 nemôže byť premenovaný na %2 z dôvodu, že tento názov je už použitý @@ -1342,17 +1342,17 @@ Nie je vhodné ju používať. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Tento priečinok nemôže byť premenovaný. Prosím, vráťte mu pôvodné meno. - + This folder must not be renamed. Please name it back to Shared. Tento priečinok nemôže byť premenovaný. Prosím, vráťte mu meno Shared. - + The file was renamed but is part of a read only share. The original file was restored. Súbor bol premenovaný, ale je súčasťou zdieľania len na čítanie. Pôvodný súbor bol obnovený. @@ -1885,8 +1885,8 @@ Nie je vhodné ju používať. - A network connection timeout happend. - Skončil sa časový limit sieťového pripojenia. + A network connection timeout happened. + @@ -1955,53 +1955,53 @@ Nie je vhodné ju používať. Nemôžem inicializovať synchronizačný žurnál. - + Cannot open the sync journal Nemožno otvoriť sync žurnál - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 5681ac246..7834f57d4 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -391,57 +391,57 @@ 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. - + Server is currently not available. Strežnik trenutno ni na voljo. - + 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) @@ -621,8 +621,8 @@ Ali sta prepričani, da želite izvesti to opravilo? - General Setttings - Splošne nastavitve + General Settings + @@ -659,12 +659,12 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::HttpCredentials - + Enter Password Vnos gesla - + Please enter %1 password for user '%2': Vpisati je treba geslo %1 za uporabnika '%2': @@ -806,8 +806,8 @@ Izbrani predmeti bodo tudi izbrisani, v kolikor bi sicer onemogočali brisanje m - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>Na voljo je nova različica odjemalca %1.</p><p>Datoteka <b>%2</b> je na voljo za prejem. Trenutno je nameščena različica %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -962,8 +962,8 @@ zahteva skrbniška dovoljenja za dokončanje opravila. - New version %1 available. Please use the systems update tool to install it. - Na voljo je nova različica %1. Priporočeno je uporabiti sistemsko orodje za nameščanje. + New version %1 available. Please use the system's update tool to install it. + @@ -1206,7 +1206,7 @@ Uporaba ni priporočljiva. Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. - Mape ni mogoče odstraniti in ustvariti njeno varnostno kopijo, saj je mapa oziroma dokument v njej odprt v drugem programu. Zaprite mapo/dokument ali prekinite namestitev. + Mape ni mogoče odstraniti niti ni mogoče ustvariti varnostne kopije, saj je mapa oziroma dokument v njej odprt v z drugim programom. Zaprite mapo/dokument ali prekinite namestitev. @@ -1326,7 +1326,7 @@ Uporaba ni priporočljiva. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Datoteko %1 ne morete preimenovati v %2 zaradin nesoglasja s krajevnim imenom datoteke @@ -1342,17 +1342,17 @@ Uporaba ni priporočljiva. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Te mape ni dovoljeno preimenovati, zato bo samodejno preimenovana v izvorno ime. - + This folder must not be renamed. Please name it back to Shared. Mape ni dovoljeno preimenovati. Preimenujte jo nazaj na privzeto vrednost. - + The file was renamed but is part of a read only share. The original file was restored. Datoteka je preimenovana, vendar je označena za souporabo le za branje. Obnovljena je izvirna datoteka. @@ -1568,12 +1568,12 @@ Te je treba uskladiti znova. Reauthentication required - Zahtevano je vnovično preverjanje pristnosti + Zahtevano je vnovično overjanje istovetnosti Your session has expired. You need to re-login to continue to use the client. - Vaša seja je potekla.Ponovno se prijavite za nadaljevanje z uporabo odjemalca. + Seja je potekla. Ponovno se je treba prijaviti in nadaljevati z uporabo odjemalca. @@ -1886,8 +1886,8 @@ Te je treba uskladiti znova. - A network connection timeout happend. - Poskus vzpostavitve povezave je časovno potekel. + A network connection timeout happened. + @@ -1956,55 +1956,55 @@ Te je treba uskladiti znova. Dnevnika usklajevanja ni mogoče začeti. - + Cannot open the sync journal Ni mogoče odpreti dnevnika usklajevanja - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + cilj - + the source - + vir @@ -2402,7 +2402,7 @@ Te je treba uskladiti znova. <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5.</small></p> - <p><small>Zgrajeno s pomočjo Git revizije <a href="%1">%2</a> na %3, %4 uporablja Qt %5.</small></p> + <p><small>Zgrajeno s predelavo Git <a href="%1">%2</a> na %3, %4 s podporo Qt %5.</small></p> diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index f5dceba45..2b90c9434 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -392,57 +392,57 @@ 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. - + Server is currently not available. Servern är för tillfället inte tillgänglig. - + 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) @@ -622,8 +622,8 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file - General Setttings - Allmänna inställningar + General Settings + @@ -660,12 +660,12 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::HttpCredentials - + Enter Password Ange lösenord - + Please enter %1 password for user '%2': Vänligen ange %1 lösenord för användare '%2': @@ -807,8 +807,8 @@ Valda objekt kommer också att raderas om dom hindrar en mapp från att tas bort - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>En ny version av %1 Client är tillgänglig.</p><p><b>%2</b> är tillgänglig för nedladdning. Den installerade versionen är %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -963,8 +963,8 @@ efter ytterligare privilegier under processen. - New version %1 available. Please use the systems update tool to install it. - Ny version %1 tillgänglig. Använd systemets uppdateringsverktyg för att installera det. + New version %1 available. Please use the system's update tool to install it. + @@ -1327,7 +1327,7 @@ Det är inte lämpligt använda den. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Filen %1 kan inte döpas om till %2 på grund av ett lokalt filnamn @@ -1343,17 +1343,17 @@ Det är inte lämpligt använda den. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Denna mapp får inte byta namn. Den kommer att döpas om till sitt ursprungliga namn. - + This folder must not be renamed. Please name it back to Shared. Denna mapp får ej döpas om. Vänligen döp den till Delad igen. - + The file was renamed but is part of a read only share. The original file was restored. En fil döptes om men är en del av en endast-läsbar delning. Original filen återställdes. @@ -1887,8 +1887,8 @@ Försök att synka dessa igen. - A network connection timeout happend. - Ett anslutningsfel mot nätverket uppstod. + A network connection timeout happened. + @@ -1957,53 +1957,53 @@ Försök att synka dessa igen. Kan inte initialisera en synk journal. - + Cannot open the sync journal Kunde inte öppna synk journalen - + 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 - + 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 diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index 830cd8f7a..abd0e2bd0 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -388,57 +388,57 @@ Are you sure you want to perform this operation? - + Undefined State. สถานะที่ยังไม่ได้ถูกกำหนด - + Waits to start syncing. รอการเริ่มต้นซิงค์ข้อมูล - + Preparing for sync. - + Sync is running. การซิงค์ข้อมูลกำลังทำงาน - + Server is currently not available. - + 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) @@ -618,7 +618,7 @@ Are you sure you want to perform this operation? - General Setttings + General Settings @@ -656,12 +656,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password - + Please enter %1 password for user '%2': @@ -801,7 +801,7 @@ Checked items will also be deleted if they prevent a directory from being remove - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> @@ -956,7 +956,7 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. + New version %1 available. Please use the system's update tool to install it. @@ -1319,7 +1319,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1335,17 +1335,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1876,8 +1876,8 @@ It is not advisable to use it. - A network connection timeout happend. - หมดเวลาการเชื่อมต่อเครือข่าย + A network connection timeout happened. + @@ -1946,53 +1946,53 @@ It is not advisable to use it. - + Cannot open the sync journal - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index c1446e9f1..cd2abf85e 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -392,57 +392,57 @@ 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. - + Server is currently not available. Sunucu şu an kullanılabilir değil. - + 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ı) @@ -622,8 +622,8 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? - General Setttings - Genel Ayarlar + General Settings + @@ -660,12 +660,12 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::HttpCredentials - + Enter Password Parolayı Girin - + Please enter %1 password for user '%2': Lütfen '%2' kullanıcısı için %1 parolasını girin: @@ -807,8 +807,8 @@ Checked items will also be deleted if they prevent a directory from being remove - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>%1 İstemcisi yeni sürümü mevcut.</p><p><b>%2</b> artık indirilebilir. Kurulu sürüm %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -963,8 +963,8 @@ bu süreç sırasında ek yetki talebinde bulunabilir. - New version %1 available. Please use the systems update tool to install it. - Yeni sürüm %1 mevcut. Lütfen kurulum için sistem güncelleştirme aracını kullanın. + New version %1 available. Please use the system's update tool to install it. + @@ -1327,7 +1327,7 @@ Kullanmanız önerilmez. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Yerel bir dosya adı çakışması nedeniyle %1 dosyası %2 olarak adlandırılamadı @@ -1343,17 +1343,17 @@ Kullanmanız önerilmez. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Bu klasörün adı değiştirilmemelidir. Özgün adına geri dönüştürüldü. - + This folder must not be renamed. Please name it back to Shared. Bu klasörün adı değiştirilmemelidir. Lütfen Shared olarak geri adlandırın. - + The file was renamed but is part of a read only share. The original file was restored. Dosya adlandırıldı ancak salt okunur paylaşımın bir parçası. Özgün dosya geri yüklendi. @@ -1887,8 +1887,8 @@ Bu dosyaları tekrar eşitlemeyi deneyin. - A network connection timeout happend. - Bir ağ zaman aşımı meydana geldi. + A network connection timeout happened. + @@ -1957,53 +1957,53 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Bir eşitleme günlüğü başlatılamadı. - + Cannot open the sync journal Eşitleme günlüğü açılamıyor - + 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 - + 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 diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index f65c091f6..216175130 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -391,57 +391,57 @@ Are you sure you want to perform this operation? - + Undefined State. Невизначений стан. - + Waits to start syncing. Очікування початку синхронізації. - + Preparing for sync. Підготовка до синхронізації - + Sync is running. Синхронізація запущена. - + Server is currently not available. Сервер наразі недоступний. - + 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) @@ -621,7 +621,7 @@ Are you sure you want to perform this operation? - General Setttings + General Settings @@ -659,12 +659,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password - + Please enter %1 password for user '%2': @@ -804,7 +804,7 @@ Checked items will also be deleted if they prevent a directory from being remove - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> @@ -959,7 +959,7 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. + New version %1 available. Please use the system's update tool to install it. @@ -1322,7 +1322,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1338,17 +1338,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1879,8 +1879,8 @@ It is not advisable to use it. - A network connection timeout happend. - Час під'єднання до мережі вичерпався. + A network connection timeout happened. + @@ -1949,53 +1949,53 @@ It is not advisable to use it. - + Cannot open the sync journal - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index ff82b5efd..1e5bcd72c 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -391,57 +391,57 @@ Are you sure you want to perform this operation? 一个旧的同步日志 '%1' 被找到,但是不能被移除。请确定没有应用程序正在使用它。 - + Undefined State. 未知状态。 - + Waits to start syncing. 等待启动同步。 - + Preparing for sync. 准备同步。 - + Sync is running. 同步正在运行。 - + Server is currently not available. 服务器当前是不可用的。 - + 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 (同步已暂停) @@ -621,8 +621,8 @@ Are you sure you want to perform this operation? - General Setttings - 常规设置 + General Settings + @@ -659,12 +659,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password 输入密码 - + Please enter %1 password for user '%2': @@ -806,8 +806,8 @@ Checked items will also be deleted if they prevent a directory from being remove - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>新版本的 %1 客户端可用。</p><p><b>%2</b> 已经开放下载。已安装的版本是 %3。<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -961,8 +961,8 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. - 有 %1 新版本了.请使用系统更新工具升级。 + New version %1 available. Please use the system's update tool to install it. + @@ -1324,7 +1324,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1340,17 +1340,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1881,8 +1881,8 @@ It is not advisable to use it. - A network connection timeout happend. - 网络连接超时。 + A network connection timeout happened. + @@ -1951,53 +1951,53 @@ It is not advisable to use it. 无法初始化同步日志 - + Cannot open the sync journal 无法打开同步日志 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index 22bf2b3b3..ab3514391 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -388,57 +388,57 @@ Are you sure you want to perform this operation? 發現較舊的同步處理日誌'%1',但無法移除。請確認沒有應用程式正在使用它。 - + Undefined State. 未知狀態 - + Waits to start syncing. 等待啟動同步 - + Preparing for sync. 正在準備同步。 - + Sync is running. 同步執行中 - + Server is currently not available. - + 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 (同步暫停) @@ -618,8 +618,8 @@ Are you sure you want to perform this operation? - General Setttings - 一般設定 + General Settings + @@ -656,12 +656,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password 輸入密碼 - + Please enter %1 password for user '%2': 請輸入使用者 %2 的密碼 %1 : @@ -801,8 +801,8 @@ Checked items will also be deleted if they prevent a directory from being remove - <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.<p> - <p>%1 客戶端有新版本了。</p><p><b>%2</b> 可供下載,目前安裝的版本是 %3 。<p> + <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> + @@ -956,7 +956,7 @@ for additional privileges during the process. - New version %1 available. Please use the systems update tool to install it. + New version %1 available. Please use the system's update tool to install it. @@ -1319,7 +1319,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1335,17 +1335,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1876,8 +1876,8 @@ It is not advisable to use it. - A network connection timeout happend. - 網路連線逾時。 + A network connection timeout happened. + @@ -1946,53 +1946,53 @@ It is not advisable to use it. - + Cannot open the sync journal - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source From 623dfc028678cbbfc1cefa69630fab8a2e7be870 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Wed, 2 Jul 2014 10:10:22 +0200 Subject: [PATCH 107/190] Socket API: Add test client --- CMakeLists.txt | 1 + shell_integration/CMakeLists.txt | 1 + shell_integration/testclient/CMakeLists.txt | 9 ++ shell_integration/testclient/main.cpp | 27 +++++ shell_integration/testclient/socketclient.cpp | 22 ++++ shell_integration/testclient/socketclient.h | 21 ++++ shell_integration/testclient/window.cpp | 101 ++++++++++++++++++ shell_integration/testclient/window.h | 32 ++++++ shell_integration/testclient/window.ui | 31 ++++++ 9 files changed, 245 insertions(+) create mode 100644 shell_integration/CMakeLists.txt create mode 100644 shell_integration/testclient/CMakeLists.txt create mode 100644 shell_integration/testclient/main.cpp create mode 100644 shell_integration/testclient/socketclient.cpp create mode 100644 shell_integration/testclient/socketclient.h create mode 100644 shell_integration/testclient/window.cpp create mode 100644 shell_integration/testclient/window.h create mode 100644 shell_integration/testclient/window.ui diff --git a/CMakeLists.txt b/CMakeLists.txt index d3730846d..670759dfe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -140,6 +140,7 @@ set(TRANSLATIONS ${TRANS_FILES}) add_subdirectory(csync) add_subdirectory(src) +add_subdirectory(shell_integration) add_subdirectory(doc) if(UNIT_TESTING) diff --git a/shell_integration/CMakeLists.txt b/shell_integration/CMakeLists.txt new file mode 100644 index 000000000..8f561fbd3 --- /dev/null +++ b/shell_integration/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(testclient) diff --git a/shell_integration/testclient/CMakeLists.txt b/shell_integration/testclient/CMakeLists.txt new file mode 100644 index 000000000..0b171ef14 --- /dev/null +++ b/shell_integration/testclient/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 2.6) +project(testclient) +set(testclient_SOURCES main.cpp window.cpp) +set(testclient_HEADERS window.h) +qt_wrap_ui(testclient_UI_SRCS window.ui) +add_executable(testclient ${testclient_SOURCES} ${testclient_HEADERS} ${testclient_UI_SRCS}) +target_link_libraries(testclient ${QT_LIBRARIES}) +set_target_properties(testclient PROPERTIES AUTOMOC TRUE) +include_directories(${CMAKE_CURRENT_BINARY_DIR}) diff --git a/shell_integration/testclient/main.cpp b/shell_integration/testclient/main.cpp new file mode 100644 index 000000000..901767dc4 --- /dev/null +++ b/shell_integration/testclient/main.cpp @@ -0,0 +1,27 @@ +#include +#include +#include + +#include "window.h" + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + QLocalSocket sock; + QString sockAddr; +#ifdef Q_OS_UNIX + sockAddr = QDir::homePath() + QLatin1String("/.local/share/data/ownCloud/socket"); +#else + sockAddr = QLatin1String("\\\\.\\pipe\\ownCloud"); +#endif + Window win(&sock); + QObject::connect(&sock, SIGNAL(readyRead()), &win, SLOT(receive())); + QObject::connect(&sock, SIGNAL(error(QLocalSocket::LocalSocketError)), + &win, SLOT(receiveError(QLocalSocket::LocalSocketError))); + + win.show(); + sock.connectToServer(sockAddr, QIODevice::ReadWrite); + qDebug() << "Connecting to" << sockAddr; + + return app.exec(); +} diff --git a/shell_integration/testclient/socketclient.cpp b/shell_integration/testclient/socketclient.cpp new file mode 100644 index 000000000..dbe8bdfc1 --- /dev/null +++ b/shell_integration/testclient/socketclient.cpp @@ -0,0 +1,22 @@ + +#include "socketclient.h" + +SocketClient::SocketClient(QObject *parent) : + QObject(parent) + , sock(new QLocalSocket(this)) +{ + QString sockAddr; +#ifdef Q_OS_UNIX + sockAddr = QDir::homePath() + QLatin1String("/.local/share/data/ownCloud/"); +#else + sockAddr = QLatin1String("\\\\.\\pipe\\ownCloud"); +#endif + sock->connectToServer(sockAddr); + sock->open(QIODevice::ReadWrite); + connect(sock, SIGNAL(readyRead()), SLOT(writeData())); +} + +void SocketClient::writeData() +{ + qDebug() << sock->readAll(); +} diff --git a/shell_integration/testclient/socketclient.h b/shell_integration/testclient/socketclient.h new file mode 100644 index 000000000..59bb08863 --- /dev/null +++ b/shell_integration/testclient/socketclient.h @@ -0,0 +1,21 @@ +#ifndef SOCKETCLIENT_H +#define SOCKETCLIENT_H + +#include + +class QLocalSocket; + +class SocketClient : public QObject +{ + Q_OBJECT +public: + explicit SocketClient(QObject *parent = 0); + +public slots: + void writeData(); + +private: + QLocalSocket *sock; +}; + +#endif // SOCKETCLIENT_H diff --git a/shell_integration/testclient/window.cpp b/shell_integration/testclient/window.cpp new file mode 100644 index 000000000..a3f185b9e --- /dev/null +++ b/shell_integration/testclient/window.cpp @@ -0,0 +1,101 @@ +#include "window.h" +#include "ui_window.h" + +#include +#include + +class LogWindowHighlighter : public QSyntaxHighlighter +{ +public: + LogWindowHighlighter(QTextDocument *parent = 0); + +protected: + void highlightBlock(const QString &text); + void highlightHelper(const QString& text, const QTextCharFormat &format, const QString &exp); +}; + +Window::Window(QIODevice *dev, QWidget *parent) : + QWidget(parent), + ui(new Ui::Window) + , device(dev) +{ + ui->setupUi(this); + connect(ui->inputEdit->lineEdit(), SIGNAL(returnPressed()), SLOT(handleReturn())); + addDefaultItems(); + QFont f("Courier"); + f.setStyleHint(QFont::Monospace); + ui->outputs->setFont(f); + new LogWindowHighlighter(ui->outputs->document()); +} + +Window::~Window() +{ + delete ui; +} + +void Window::receive() +{ + QByteArray ba = device->readAll(); + ui->outputs->insertPlainText(QString::fromLatin1(ba)); +} + +void Window::receiveError(QLocalSocket::LocalSocketError error) +{ + qDebug() << "Error connecting to socket:" << error; +} + +void Window::handleReturn() +{ + QString cmd = ui->inputEdit->currentText()+QLatin1Char('\n'); + ui->outputs->insertPlainText(cmd); + device->write(cmd.toLatin1()); + ui->inputEdit->lineEdit()->clear(); +} + +void Window::addDefaultItems() +{ + QStringList commands; + commands << "RETRIEVE_FOLDER_STATUS:" << "RETRIEVE_FILE_STATUS:"; + ui->inputEdit->addItems(commands); +} + + +LogWindowHighlighter::LogWindowHighlighter(QTextDocument *parent) + : QSyntaxHighlighter(parent) +{ + +} + +void LogWindowHighlighter::highlightBlock(const QString &text) +{ + QTextCharFormat responseKeywordFormat; + responseKeywordFormat.setFontWeight(QFont::Bold); + responseKeywordFormat.setForeground(Qt::darkMagenta); + QString responsePattern = "(UPDATE_VIEW|BROADCAST:|STATUS:)"; + highlightHelper(text, responseKeywordFormat, responsePattern); + + QTextCharFormat messageKeywordFormat; + messageKeywordFormat.setFontWeight(QFont::Bold); + messageKeywordFormat.setForeground(Qt::darkYellow); + QString messagePattern = "(RETRIEVE_(FOLDER|FILE)_STATUS):"; + highlightHelper(text, messageKeywordFormat, messagePattern); +} + +void LogWindowHighlighter::highlightHelper(const QString& text, const QTextCharFormat &format, + const QString &pattern) +{ + QRegExp rex(pattern); + int index = text.indexOf(rex); + if (index >= 0) { + int len = rex.matchedLength(); + setFormat(index, len, format); + int lastMatchedEnd=index+len; + int secondDoubleDotIndex = text.indexOf(':', lastMatchedEnd); + if (secondDoubleDotIndex >= 0) { + QTextCharFormat boldFormat; + boldFormat.setFontWeight(QFont::Bold); + setFormat(lastMatchedEnd, secondDoubleDotIndex-lastMatchedEnd, boldFormat); + } + } + +} diff --git a/shell_integration/testclient/window.h b/shell_integration/testclient/window.h new file mode 100644 index 000000000..ec37d2154 --- /dev/null +++ b/shell_integration/testclient/window.h @@ -0,0 +1,32 @@ +#ifndef WINDOW_H +#define WINDOW_H + +#include +#include + +namespace Ui { +class Window; +} + +class Window : public QWidget +{ + Q_OBJECT + +public: + explicit Window(QIODevice *dev, QWidget *parent = 0); + ~Window(); + +public slots: + void receive(); + void receiveError(QLocalSocket::LocalSocketError); + +private slots: + void handleReturn(); + +private: + void addDefaultItems(); + Ui::Window *ui; + QIODevice *device; +}; + +#endif // WINDOW_H diff --git a/shell_integration/testclient/window.ui b/shell_integration/testclient/window.ui new file mode 100644 index 000000000..82ce2a901 --- /dev/null +++ b/shell_integration/testclient/window.ui @@ -0,0 +1,31 @@ + + + Window + + + + 0 + 0 + 400 + 300 + + + + SocketAPI Test Client + + + + + + true + + + + + + + + + + + From 553f186b7c0c0c3ae7833a259d401f5a11a3d954 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Wed, 2 Jul 2014 11:11:11 +0200 Subject: [PATCH 108/190] SocketAPI: Build test client with Qt5 --- shell_integration/testclient/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/shell_integration/testclient/CMakeLists.txt b/shell_integration/testclient/CMakeLists.txt index 0b171ef14..0ac7f407b 100644 --- a/shell_integration/testclient/CMakeLists.txt +++ b/shell_integration/testclient/CMakeLists.txt @@ -6,4 +6,5 @@ qt_wrap_ui(testclient_UI_SRCS window.ui) add_executable(testclient ${testclient_SOURCES} ${testclient_HEADERS} ${testclient_UI_SRCS}) target_link_libraries(testclient ${QT_LIBRARIES}) set_target_properties(testclient PROPERTIES AUTOMOC TRUE) +qt5_use_modules(testclient Widgets Network) include_directories(${CMAKE_CURRENT_BINARY_DIR}) From e63d45cca95c405123b048907f18ad7f0ff135b7 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Wed, 2 Jul 2014 11:15:39 +0200 Subject: [PATCH 109/190] SocketAPI: put binary into bin/ dir --- shell_integration/testclient/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/shell_integration/testclient/CMakeLists.txt b/shell_integration/testclient/CMakeLists.txt index 0ac7f407b..e26432312 100644 --- a/shell_integration/testclient/CMakeLists.txt +++ b/shell_integration/testclient/CMakeLists.txt @@ -8,3 +8,4 @@ target_link_libraries(testclient ${QT_LIBRARIES}) set_target_properties(testclient PROPERTIES AUTOMOC TRUE) qt5_use_modules(testclient Widgets Network) include_directories(${CMAKE_CURRENT_BINARY_DIR}) +set_target_properties(testclient PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) From 2cdfc168293f55aaecce3ece65e84b29a892dafc Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Wed, 2 Jul 2014 12:03:52 +0200 Subject: [PATCH 110/190] SocketAPI: rename test client binary to socketapiclient --- shell_integration/testclient/CMakeLists.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/shell_integration/testclient/CMakeLists.txt b/shell_integration/testclient/CMakeLists.txt index e26432312..ee201813a 100644 --- a/shell_integration/testclient/CMakeLists.txt +++ b/shell_integration/testclient/CMakeLists.txt @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 2.6) -project(testclient) -set(testclient_SOURCES main.cpp window.cpp) -set(testclient_HEADERS window.h) -qt_wrap_ui(testclient_UI_SRCS window.ui) -add_executable(testclient ${testclient_SOURCES} ${testclient_HEADERS} ${testclient_UI_SRCS}) -target_link_libraries(testclient ${QT_LIBRARIES}) -set_target_properties(testclient PROPERTIES AUTOMOC TRUE) -qt5_use_modules(testclient Widgets Network) +project(socketapiclient) +set(socketapiclient_SOURCES main.cpp window.cpp) +set(socketapiclient_HEADERS window.h) +qt_wrap_ui(socketapiclient_UI_SRCS window.ui) +add_executable(socketapiclient ${socketapiclient_SOURCES} ${socketapiclient_HEADERS} ${socketapiclient_UI_SRCS}) +target_link_libraries(socketapiclient ${QT_LIBRARIES}) +set_target_properties(socketapiclient PROPERTIES AUTOMOC TRUE) +qt5_use_modules(socketapiclient Widgets Network) include_directories(${CMAKE_CURRENT_BINARY_DIR}) -set_target_properties(testclient PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) +set_target_properties(socketapiclient PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) From 6bc425f981995600d6415eda821d185e8f874f30 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Wed, 2 Jul 2014 12:05:17 +0200 Subject: [PATCH 111/190] NSIS: Add socketapiclient --- cmake/modules/NSIS.template.in | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in index afbdc0c5c..bd2adc512 100644 --- a/cmake/modules/NSIS.template.in +++ b/cmake/modules/NSIS.template.in @@ -371,6 +371,7 @@ Section "${APPLICATION_NAME}" SEC_APPLICATION File "${BUILD_PATH}\bin\${APPLICATION_EXECUTABLE}" File "${BUILD_PATH}\bin\${APPLICATION_CMD_EXECUTABLE}" File "${BUILD_PATH}\src\lib${APPLICATION_SHORTNAME}sync.dll" + File "${BUILD_PATH}\csync\src\socketapiclient.dll" File "${BUILD_PATH}\csync\src\libocsync.dll" From 79d28bbc3516edc447ff6cc0a31d7eb9c6f061e5 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Thu, 3 Jul 2014 01:25:24 -0400 Subject: [PATCH 112/190] [tx-robot] updated from transifex --- translations/mirall_cs.ts | 8 ++++---- translations/mirall_de.ts | 8 ++++---- translations/mirall_el.ts | 4 ++-- translations/mirall_es.ts | 8 ++++---- translations/mirall_fi.ts | 8 ++++---- translations/mirall_gl.ts | 8 ++++---- translations/mirall_nl.ts | 8 ++++---- translations/mirall_pt.ts | 8 ++++---- translations/mirall_pt_BR.ts | 8 ++++---- translations/mirall_tr.ts | 8 ++++---- 10 files changed, 38 insertions(+), 38 deletions(-) diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 20e62d16d..b04fc0616 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -623,7 +623,7 @@ Opravdu chcete provést tuto akci? General Settings - + Hlavní nastavení @@ -808,7 +808,7 @@ Zvolené položky budou smazány také v případě, že brání smazání adres <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>Je k dispozici nová verze klienta %1.</p><p><b>%2</b> je k dispozici ke stažení. Momentálně je nainstalovaná verze %3.</p> @@ -964,7 +964,7 @@ si může v průběhu vyžádat dodatečná práva. New version %1 available. Please use the system's update tool to install it. - + Je dostupná nová verze %1. Pro instalaci použijte aktualizační nástroj systému. @@ -1889,7 +1889,7 @@ Zkuste provést novou synchronizaci. A network connection timeout happened. - + Došlo k vypršení časového limitu síťového spojení. diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index ec8390308..00431d31d 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -624,7 +624,7 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? General Settings - + Allgemeine Einstellungen @@ -809,7 +809,7 @@ Aktivierte Elemente werden ebenfalls gelöscht, wenn diese das Löschen eines Ve <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>Eine neue Version des %1 - Klients ist verfügbar.</p><p><b>%2</b> steht zum Herunterladen bereit. Die installierte Version ist %3.</p> @@ -965,7 +965,7 @@ nach zusätzlichen Privilegien während des Prozesses. New version %1 available. Please use the system's update tool to install it. - + Neue Version %1 verfügbar. Bitte nutzen Sie das System-Updatetool zur Installation. @@ -1889,7 +1889,7 @@ Versuchen Sie diese nochmals zu synchronisieren. A network connection timeout happened. - + Eine Zeitüberschreitung der Netzwerkverbindung ist aufgetreten. diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 90ff1c3c9..b1886b4a7 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -624,7 +624,7 @@ Are you sure you want to perform this operation? General Settings - + Γενικές ρυθμίσεις @@ -1889,7 +1889,7 @@ It is not advisable to use it. A network connection timeout happened. - + Διακοπή σύνδεσης δικτύου. diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index b75cce148..891bd45fb 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -623,7 +623,7 @@ Está seguro de que desea realizar esta operación? General Settings - + Ajustes generales @@ -808,7 +808,7 @@ Los elementos marcados también se eliminarán si impiden la eliminación de alg <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>Está disponible una nueva versión del programa cliente de %1.</p><p><b>%2</b> puede ser descargada. La versión instalada es %3.</p> @@ -964,7 +964,7 @@ pida privilegios adicionales durante el proceso. New version %1 available. Please use the system's update tool to install it. - + La nueva versión %1 está disponible. Use la herramienta de actualización de su sistema para instalarla. @@ -1888,7 +1888,7 @@ Intente sincronizar los archivos nuevamente. A network connection timeout happened. - + Se sobrepasó el tiempo de espera de la conexión de red. diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 40eb0cfe8..8518827e2 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -620,7 +620,7 @@ Are you sure you want to perform this operation? General Settings - + Yleisasetukset @@ -803,7 +803,7 @@ Checked items will also be deleted if they prevent a directory from being remove <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>Uusi versio %1-asiakasohjelmistosta on saatavilla.</p><p><b>%2</b> on ladattavissa. Asennettu versio on %3.</p> @@ -959,7 +959,7 @@ saattaa kysyä lisäoikeuksia toimenpiteen aikana. New version %1 available. Please use the system's update tool to install it. - + Uusi versio %1 on saatavilla. Käytä järjestelmän päivitystyökalua sen asennusta varten. @@ -1882,7 +1882,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. A network connection timeout happened. - + Tapahtui verkon aikakatkaisu. diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index df4924df9..10e34e280 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -623,7 +623,7 @@ Confirma que quere realizar esta operación? General Settings - + Axustes xerais @@ -808,7 +808,7 @@ Os elementos marcados tamén se eliminarán se impiden retirar un directorio. Is <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>Hai dispoñíbel unha nova versión do cliente %1.</p><p>Pode descargar a versión <b>%2</b>. A versión instalada é a %3</p> @@ -964,7 +964,7 @@ actualización pode pedir privilexios adicionais durante o proceso. New version %1 available. Please use the system's update tool to install it. - + Está dispoñíbel unha nova versión %1. Utilice a ferramenta de actualización do sistema para instalala. @@ -1888,7 +1888,7 @@ Tente sincronizalos de novo. A network connection timeout happened. - + Excedeuse do tempo de espera para a conexión á rede. diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index fad2476cd..5dd9b8114 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -623,7 +623,7 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? General Settings - + Algemene instellingen @@ -808,7 +808,7 @@ Aangevinkte onderdelen zullen ook gewist worden als ze anders verhinderen dat ee <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>Er is een nieuwe versie van de %1 Client beschikbaar.</p><p><b>%2</b> is beschikbaar voor download. De geïnstalleerde versie is %3.</p> @@ -964,7 +964,7 @@ vragen om extra autorisaties tijdens installatie. New version %1 available. Please use the system's update tool to install it. - + Nieuwe versie %1 beschikbaar. Gebruik de systeemupdate tool om te installeren. @@ -1888,7 +1888,7 @@ Probeer opnieuw te synchroniseren. A network connection timeout happened. - + Er trad een netwerk time-out op. diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 8c6d19ddf..b6382f532 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -622,7 +622,7 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q General Settings - + Configuração Geral @@ -807,7 +807,7 @@ Itens verificados também serão removidos se evitarem que um diretório seja re <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>A nova serão do %1 Cliente está disponivel.</p><p><b>%2</b> está disponível para descarga. A versão instalada é a %3.</p> @@ -962,7 +962,7 @@ for additional privileges during the process. New version %1 available. Please use the system's update tool to install it. - + Uma nova versão %1 está disponível. Por favor use o sistema de actualização para instalar. @@ -1886,7 +1886,7 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n A network connection timeout happened. - + Houve um erro de timeout de rede. diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 85af342ff..c1bb08947 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -623,7 +623,7 @@ Você tem certeza que quer executar esta operação? General Settings - + Configuração Geral @@ -808,7 +808,7 @@ Itens marcados também serão excluídos se estiverem impedindo a remoção de u <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>Uma nova versão %1 de Ciente está disponível.</p><p><b>%2</b> está disponível para baixar. A versão instalada é a %3.</p> @@ -963,7 +963,7 @@ for additional privileges during the process. New version %1 available. Please use the system's update tool to install it. - + Nova versão %1 disponível. Por favor use a ferramenta de atualização do sistema para instalar. @@ -1886,7 +1886,7 @@ Tente sincronizar novamente. A network connection timeout happened. - + Ocorreu uma desconexão de rede. diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index cd2abf85e..ec44646b7 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -623,7 +623,7 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? General Settings - + Genel Ayarlar @@ -808,7 +808,7 @@ Checked items will also be deleted if they prevent a directory from being remove <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>%1 İstemcisi yeni sürümü mevcut.</p><p><b>%2</b> artık indirilebilir. Kurulu sürüm %3.</p> @@ -964,7 +964,7 @@ bu süreç sırasında ek yetki talebinde bulunabilir. New version %1 available. Please use the system's update tool to install it. - + Yeni %1 sürüm mevcut. Lütfen kurulum için sistem güncelleştirme aracını kullanın. @@ -1888,7 +1888,7 @@ Bu dosyaları tekrar eşitlemeyi deneyin. A network connection timeout happened. - + Bir ağ zaman aşımı meydana geldi. From 997559dc6d13d15730f0d5ec36a92d0eee0a244e Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 3 Jul 2014 09:16:54 +0200 Subject: [PATCH 113/190] NSIS: fix typo --- cmake/modules/NSIS.template.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in index bd2adc512..934a5c8b3 100644 --- a/cmake/modules/NSIS.template.in +++ b/cmake/modules/NSIS.template.in @@ -371,7 +371,7 @@ Section "${APPLICATION_NAME}" SEC_APPLICATION File "${BUILD_PATH}\bin\${APPLICATION_EXECUTABLE}" File "${BUILD_PATH}\bin\${APPLICATION_CMD_EXECUTABLE}" File "${BUILD_PATH}\src\lib${APPLICATION_SHORTNAME}sync.dll" - File "${BUILD_PATH}\csync\src\socketapiclient.dll" + File "${BUILD_PATH}\csync\src\socketapiclient.exe" File "${BUILD_PATH}\csync\src\libocsync.dll" From 2961c44bbe1760f3094cc2381c60ab4b8686f594 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 3 Jul 2014 09:35:45 +0200 Subject: [PATCH 114/190] NSIS: look for socketapiclient in the right place --- cmake/modules/NSIS.template.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in index 934a5c8b3..5f0a204a8 100644 --- a/cmake/modules/NSIS.template.in +++ b/cmake/modules/NSIS.template.in @@ -370,8 +370,8 @@ Section "${APPLICATION_NAME}" SEC_APPLICATION ;Main executable & csync File "${BUILD_PATH}\bin\${APPLICATION_EXECUTABLE}" File "${BUILD_PATH}\bin\${APPLICATION_CMD_EXECUTABLE}" + File "${BUILD_PATH}\bin\socketapiclient.exe" File "${BUILD_PATH}\src\lib${APPLICATION_SHORTNAME}sync.dll" - File "${BUILD_PATH}\csync\src\socketapiclient.exe" File "${BUILD_PATH}\csync\src\libocsync.dll" From 367ff79ef1877f15aaa1de331bf07bed17fd66e4 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Fri, 4 Jul 2014 01:25:25 -0400 Subject: [PATCH 115/190] [tx-robot] updated from transifex --- translations/mirall_et.ts | 8 ++++---- translations/mirall_it.ts | 8 ++++---- translations/mirall_sl.ts | 22 +++++++++++----------- translations/mirall_sv.ts | 10 +++++----- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 05c905098..34d6ac227 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -623,7 +623,7 @@ Oled kindel, et soovid seda operatsiooni teostada? General Settings - + Üldised seaded @@ -808,7 +808,7 @@ Checked items will also be deleted if they prevent a directory from being remove <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>Uus versioon %1 kliendist on saadaval.</p><p><b>%2</b> on saadaval alla laadimiseks. Paigaldatud on versioon %3.<p> @@ -964,7 +964,7 @@ täiendavaid õigusi protsessi käigus. New version %1 available. Please use the system's update tool to install it. - + Uus versioon %1 on saadaval. Palun kasuta süsteemi uuendushaldurit selle paigaldamiseks. @@ -1888,7 +1888,7 @@ Proovi neid uuesti sünkroniseerida. A network connection timeout happened. - + Toimus võrgukatkestus. diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 011bf5284..e8dd2876b 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -623,7 +623,7 @@ Sei sicuro di voler eseguire questa operazione? General Settings - + Impostazioni generali @@ -808,7 +808,7 @@ Gli elementi marcati saranno inoltre eliminati se impediscono la rimozione di un <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>Una nuova versione del client %1 è disponibile.</p><p><b>%2</b> è disponibile per lo scaricamento. La versione installata è %3.</p> @@ -963,7 +963,7 @@ for additional privileges during the process. New version %1 available. Please use the system's update tool to install it. - + Nuova versione %1 disponibile. Utilizza lo strumento di aggiornamento di sistema per installarla. @@ -1887,7 +1887,7 @@ Prova a sincronizzare nuovamente. A network connection timeout happened. - + Si è verificato un timeout della connessione di rete. diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 7834f57d4..bec71051a 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -514,7 +514,7 @@ Ali sta prepričani, da želite izvesti to opravilo? The selected folder is a symbolic link. An already configured folder is contained in the folder this link is pointing to. - Označena mapa je simbolična povezava. Že vnaprej nastavljena mapa v mapi vsebuje povezavo do nje. + Označena mapa je simbolična povezava. V mapi je povezava do že nastavljene mape s povezavo. @@ -609,7 +609,7 @@ Ali sta prepričani, da želite izvesti to opravilo? Connection Timeout - Povezava prekinjena + Povezava časovno pretekla @@ -1250,7 +1250,7 @@ Uporaba ni priporočljiva. Connection Timeout - Povezava je prekinjena + Povezava časovno pretekla @@ -1273,7 +1273,7 @@ Uporaba ni priporočljiva. File %1 can not be downloaded because of a local file name clash! - Datoteke %1 ni možno prenesti zaradi nesoglasja z imenom lokalne datoteke! + Datoteke %1 ni možno prejeti, zaradi neskladja z imenom krajevne datoteke! @@ -1281,7 +1281,7 @@ Uporaba ni priporočljiva. File %1 can not be downloaded because of a local file name clash! - Datoteke %1 ni možno prenesti zaradi nesoglasja z imenom lokalne datoteke! + Datoteke %1 ni mogoče prejeti zaradi neskladja z imenom krajevne datoteke! @@ -1289,7 +1289,7 @@ Uporaba ni priporočljiva. ; Restoration Failed: - + ; obnovitev je spodletela: @@ -1302,7 +1302,7 @@ Uporaba ni priporočljiva. Attention, possible case sensitivity clash with %1 - Pozor, možno nesoglasje z %1 v razlikovanju med velikimi in malimi črkami + Pozor, mogoče je neskladje v velikosti črk imena %1 @@ -1315,7 +1315,7 @@ Uporaba ni priporočljiva. Could not remove %1 because of a local file name clash - Ne morem odstraniti %1 zaradin nesoglasja s krajevnim imenom datoteke + Ni mogoče odstraniti %1 zaradi neskladja s krajevnim imenom datoteke @@ -1328,7 +1328,7 @@ Uporaba ni priporočljiva. File %1 can not be renamed to %2 because of a local file name clash - Datoteko %1 ne morete preimenovati v %2 zaradin nesoglasja s krajevnim imenom datoteke + Datoteke %1 ni mogoče preimenovati v %2 zaradi že obstoječe datoteke s tem imenom. @@ -1396,7 +1396,7 @@ Uporaba ni priporočljiva. The server did not acknowledge the last chunk. (No e-tag were present) - Strežnik ni prepoznal zadnjega niza besed. (Ni bilo prisotnih e-značk) + Strežnik ni prepoznal zadnjega niza besed. (ni določenih e-oznak) @@ -2133,7 +2133,7 @@ Te je treba uskladiti znova. Syncing %1 of %2 (%3 left) - + Poteka usklajevanje %1 od %2 (preostaja %3) diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 2b90c9434..9dfad99da 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -623,7 +623,7 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file General Settings - + Generella Inställningar @@ -808,7 +808,7 @@ Valda objekt kommer också att raderas om dom hindrar en mapp från att tas bort <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>En ny version av %1 klienten är tillgänglig.</p><p><b>%2</b> är tillgänglig för nedladdning. Den installerade versionen är %3.</p> @@ -964,7 +964,7 @@ efter ytterligare privilegier under processen. New version %1 available. Please use the system's update tool to install it. - + Ny version %1 är tillgänglig. Vänligen använd systemets uppdateringverktyg för att installera den. @@ -1387,7 +1387,7 @@ Det är inte lämpligt använda den. The local file was removed during sync. - + Den lokala filen togs bort under synkronisering. @@ -1888,7 +1888,7 @@ Försök att synka dessa igen. A network connection timeout happened. - + En timeout på nätverksanslutningen har inträffat. From a9f1de84f013ce83f694aeaa310142f39535b7f0 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 2 Jul 2014 15:45:23 +0200 Subject: [PATCH 116/190] HTTP Credentials: Read the password from the old location if not found. Earlier clients used QtKeychain without a QSettings object, which made QtKeychain to write the password encrypted into a settings default location, ie. the registry under windows. If we can not find a password at the new location it is tried to read the password from the old default location once. That makes people happy in migration scenarios. --- src/creds/httpcredentials.cpp | 44 ++++++++++++++++++++++++++--------- src/creds/httpcredentials.h | 1 + 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/src/creds/httpcredentials.cpp b/src/creds/httpcredentials.cpp index f5ab3b68b..18d0602b9 100644 --- a/src/creds/httpcredentials.cpp +++ b/src/creds/httpcredentials.cpp @@ -101,7 +101,8 @@ HttpCredentials::HttpCredentials() : _user(), _password(), _ready(false), - _fetchJobInProgress(false) + _fetchJobInProgress(false), + _readPwdFromDeprecatedPlace(false) { } @@ -230,6 +231,7 @@ void HttpCredentials::fetch(Account *account) job->setProperty("account", QVariant::fromValue(account)); job->start(); _fetchJobInProgress = true; + _readPwdFromDeprecatedPlace = true; } } bool HttpCredentials::stillValid(QNetworkReply *reply) @@ -261,18 +263,38 @@ void HttpCredentials::slotReadJobDone(QKeychain::Job *job) _ready = true; emit fetched(); } else { - if( error != NoError ) { + + if( _password.isEmpty() || error == EntryNotFound ) { + if( _readPwdFromDeprecatedPlace ) { + // there simply was not a password. Lets restart a read job without + // a settings object as we did it in older client releases. + ReadPasswordJob *job = new ReadPasswordJob(Theme::instance()->appName()); + + const QString kck = keychainKey(account->url().toString(), _user); + job->setKey(kck); + + connect(job, SIGNAL(finished(QKeychain::Job*)), SLOT(slotReadJobDone(QKeychain::Job*))); + job->setProperty("account", QVariant::fromValue(account)); + job->start(); + _readPwdFromDeprecatedPlace = false; // do try that only once. + _fetchJobInProgress = true; + // Note: if this read job succeeds, the value from the old place is still + // NOT persisted into the new account. + } else { + + bool ok; + QString pwd = queryPassword(&ok); + _fetchJobInProgress = false; + if (ok) { + _password = pwd; + _ready = true; + persist(account); + } + emit fetched(); + } + } else { qDebug() << "Error while reading password" << job->errorString(); } - bool ok; - QString pwd = queryPassword(&ok); - _fetchJobInProgress = false; - if (ok) { - _password = pwd; - _ready = true; - persist(account); - } - emit fetched(); } } diff --git a/src/creds/httpcredentials.h b/src/creds/httpcredentials.h index 38402fc8c..22d739d57 100644 --- a/src/creds/httpcredentials.h +++ b/src/creds/httpcredentials.h @@ -63,6 +63,7 @@ private: QString _password; bool _ready; bool _fetchJobInProgress; //True if the keychain job is in progress or the input dialog visible + bool _readPwdFromDeprecatedPlace; }; } // ns Mirall From 88f26fb5489fd8c8d06f7d5d43b1785773eed278 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 2 Jul 2014 16:24:50 +0200 Subject: [PATCH 117/190] HTTP Creds: In case of Keychain error, open the interact password dialog But in case the user clicks cancel in the interactive dialog, invalidate the credentials. Emit fechted() also in error case. --- src/creds/httpcredentials.cpp | 58 ++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/src/creds/httpcredentials.cpp b/src/creds/httpcredentials.cpp index 18d0602b9..81899a2ba 100644 --- a/src/creds/httpcredentials.cpp +++ b/src/creds/httpcredentials.cpp @@ -263,37 +263,39 @@ void HttpCredentials::slotReadJobDone(QKeychain::Job *job) _ready = true; emit fetched(); } else { + // we come here if the password is empty or any other keychain + // error happend. + // In all error conditions it should + // ask the user for the password interactively now. + if( _readPwdFromDeprecatedPlace ) { + // there simply was not a password. Lets restart a read job without + // a settings object as we did it in older client releases. + ReadPasswordJob *job = new ReadPasswordJob(Theme::instance()->appName()); - if( _password.isEmpty() || error == EntryNotFound ) { - if( _readPwdFromDeprecatedPlace ) { - // there simply was not a password. Lets restart a read job without - // a settings object as we did it in older client releases. - ReadPasswordJob *job = new ReadPasswordJob(Theme::instance()->appName()); + const QString kck = keychainKey(account->url().toString(), _user); + job->setKey(kck); - const QString kck = keychainKey(account->url().toString(), _user); - job->setKey(kck); - - connect(job, SIGNAL(finished(QKeychain::Job*)), SLOT(slotReadJobDone(QKeychain::Job*))); - job->setProperty("account", QVariant::fromValue(account)); - job->start(); - _readPwdFromDeprecatedPlace = false; // do try that only once. - _fetchJobInProgress = true; - // Note: if this read job succeeds, the value from the old place is still - // NOT persisted into the new account. - } else { - - bool ok; - QString pwd = queryPassword(&ok); - _fetchJobInProgress = false; - if (ok) { - _password = pwd; - _ready = true; - persist(account); - } - emit fetched(); - } + connect(job, SIGNAL(finished(QKeychain::Job*)), SLOT(slotReadJobDone(QKeychain::Job*))); + job->setProperty("account", QVariant::fromValue(account)); + job->start(); + _readPwdFromDeprecatedPlace = false; // do try that only once. + _fetchJobInProgress = true; + // Note: if this read job succeeds, the value from the old place is still + // NOT persisted into the new account. } else { - qDebug() << "Error while reading password" << job->errorString(); + // interactive password dialog starts here + bool ok; + QString pwd = queryPassword(&ok); + _fetchJobInProgress = false; + if (ok) { + _password = pwd; + _ready = true; + persist(account); + } else { + _password = QString::null; + _ready = false; + } + emit fetched(); } } } From 4bb1172c84073c1573ac74dac3850537a7f8f2cc Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sat, 5 Jul 2014 01:25:23 -0400 Subject: [PATCH 118/190] [tx-robot] updated from transifex --- translations/mirall_fr.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 0c38073f4..fc53eeab7 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -623,7 +623,7 @@ Voulez-vous réellement effectuer cette opération ? General Settings - + Paramètres généraux @@ -964,7 +964,7 @@ peut demander des privilèges additionnels durant le processus. New version %1 available. Please use the system's update tool to install it. - + La nouvelle version %1 est disponible. Veuillez utiliser l'utilitaire de mise à jour système afin de l'installer. @@ -1290,7 +1290,7 @@ Il est déconseillé de l'utiliser. ; Restoration Failed: - + ; Échec de la restauration : @@ -1974,7 +1974,7 @@ Il est déconseillé de l'utiliser. Not allowed because you don't have permission to add files in that directory - + Non autorisé parce-que vous n'avez pas la permission d'ajouter des fichiers dans ce dossier @@ -1995,7 +1995,7 @@ Il est déconseillé de l'utiliser. Move not allowed because %1 is read-only - + Déplacement non autorisé car %1 est en mode lecture seule From 86bea9a9af23358e94809fc184dd3c4ab6e9d453 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 7 Jul 2014 13:52:55 +0200 Subject: [PATCH 119/190] shibboleth: Fix the waiting curser that would not disapear Fix #1915 --- src/creds/shibboleth/shibbolethwebview.cpp | 14 ++++++++++++-- src/creds/shibboleth/shibbolethwebview.h | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/creds/shibboleth/shibbolethwebview.cpp b/src/creds/shibboleth/shibbolethwebview.cpp index 8a9f6d9db..2961442fd 100644 --- a/src/creds/shibboleth/shibbolethwebview.cpp +++ b/src/creds/shibboleth/shibbolethwebview.cpp @@ -34,6 +34,7 @@ ShibbolethWebView::ShibbolethWebView(Account* account, QWidget* parent) : QWebView(parent) , _account(account) , _accepted(false) + , _cursorOverriden(false) { // no minimize setWindowFlags(Qt::Dialog); @@ -79,6 +80,10 @@ void ShibbolethWebView::onNewCookiesForUrl (const QList& cookieL void ShibbolethWebView::closeEvent(QCloseEvent *event) { + if (_cursorOverriden) { + QApplication::restoreOverrideCursor(); + } + if (!_accepted) { Q_EMIT rejected(); } @@ -87,12 +92,17 @@ void ShibbolethWebView::closeEvent(QCloseEvent *event) void ShibbolethWebView::slotLoadStarted() { - QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); + if (!_cursorOverriden) { + QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); + _cursorOverriden = true; + } } void ShibbolethWebView::slotLoadFinished(bool success) { - QApplication::restoreOverrideCursor(); + if (_cursorOverriden) { + QApplication::restoreOverrideCursor(); + } if (!title().isNull()) { setWindowTitle(tr("%1 - %2").arg(Theme::instance()->appNameGUI(), title())); diff --git a/src/creds/shibboleth/shibbolethwebview.h b/src/creds/shibboleth/shibbolethwebview.h index 37b58c8cb..9ba492be6 100644 --- a/src/creds/shibboleth/shibbolethwebview.h +++ b/src/creds/shibboleth/shibbolethwebview.h @@ -55,6 +55,7 @@ private: void setup(Account *account, ShibbolethCookieJar* jar); QPointer _account; bool _accepted; + bool _cursorOverriden; }; } // ns Mirall From 2496f23e45ef721c062373e45cdae19e7c6f7a3c Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Tue, 8 Jul 2014 01:25:22 -0400 Subject: [PATCH 120/190] [tx-robot] updated from transifex --- translations/mirall_ja.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index 84ce472ed..9616802ea 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -623,7 +623,7 @@ Are you sure you want to perform this operation? General Settings - + 一般設定 @@ -808,7 +808,7 @@ Checked items will also be deleted if they prevent a directory from being remove <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>%1 クライアントの新しいバージョンが利用可能です。</p><p><b>%2</b> がダウンロード可能です。インストールされているバージョンは %3 です。<p> @@ -963,7 +963,7 @@ for additional privileges during the process. New version %1 available. Please use the system's update tool to install it. - + 新しいバージョン %1 が利用可能です。インストールするには、システムのアップデートツールを利用してください。 @@ -1886,7 +1886,7 @@ It is not advisable to use it. A network connection timeout happened. - + ネットワーク接続のタイムアウトが発生しました。 From 82c254fecf8d3708c256d9d3afac9af720f17aab Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 8 Jul 2014 15:30:53 +0200 Subject: [PATCH 121/190] propagator_qnam: Avoid using too much memory The idea here was that the buffer would be maximum 8KiB, not minimum. --- src/mirall/propagator_qnam.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mirall/propagator_qnam.cpp b/src/mirall/propagator_qnam.cpp index 303034dad..ea7b4433b 100644 --- a/src/mirall/propagator_qnam.cpp +++ b/src/mirall/propagator_qnam.cpp @@ -427,7 +427,7 @@ void GETFileJob::slotMetaDataChanged() void GETFileJob::slotReadyRead() { - int bufferSize = qMax(1024*8ll , reply()->bytesAvailable()); + int bufferSize = qMin(1024*8ll , reply()->bytesAvailable()); QByteArray buffer(bufferSize, Qt::Uninitialized); while(reply()->bytesAvailable() > 0) { From 3806905f5bec39342a480bbe7ccc605c59353854 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Wed, 9 Jul 2014 01:25:24 -0400 Subject: [PATCH 122/190] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index 8f3a81880..e6a49eca1 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -623,7 +623,7 @@ Esteu segur que voleu executar aquesta operació? General Settings - + Arranjament general @@ -808,7 +808,7 @@ Els elements marcats també s'eliminaran si prevenen l'eliminació d&a <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>Hi ha una nova versió del client %1 disponible.</p><p><b>%2</b> està disponible per a la baixada. La versió instal·lada és la %3.</p> @@ -964,7 +964,7 @@ for additional privileges during the process. New version %1 available. Please use the system's update tool to install it. - + Nova versió %1 disponible. Utilitzeu l'eina d'actualització del sistema per instal·lar-la. @@ -1888,7 +1888,7 @@ Proveu de sincronitzar-los de nou. A network connection timeout happened. - + Temps excedit en la connexió. From 63cd5ef5637903c983c9be85a67171e84449f071 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 8 Jul 2014 21:52:57 +0200 Subject: [PATCH 123/190] ProtocolWidget: limit the number of items That should save memory instead of letting the number of items grow to infinity --- src/mirall/protocolwidget.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/mirall/protocolwidget.cpp b/src/mirall/protocolwidget.cpp index 965d77830..0238129f5 100644 --- a/src/mirall/protocolwidget.cpp +++ b/src/mirall/protocolwidget.cpp @@ -131,6 +131,13 @@ void ProtocolWidget::slotClearBlacklist() void ProtocolWidget::cleanIgnoreItems(const QString& folder) { int itemCnt = _ui->_treeWidget->topLevelItemCount(); + + // Limit the number of items + while(itemCnt > 2000) { + delete _ui->_treeWidget->takeTopLevelItem(itemCnt - 1); + itemCnt--; + } + for( int cnt = itemCnt-1; cnt >=0 ; cnt-- ) { QTreeWidgetItem *item = _ui->_treeWidget->topLevelItem(cnt); bool isErrorItem = item->data(0, IgnoredIndicatorRole).toBool(); From cbc7942a004dcf10fc453bca39f59bd17997d1d5 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 7 Jul 2014 13:00:38 +0200 Subject: [PATCH 124/190] Added t8.pl that test case sensitivity issues Made some change in the .cpp code in order to be able to test the code when the file system is case sensitive --- csync/tests/ownCloud/t8.pl | 110 ++++++++++++++++++++++++++++++ src/mirall/owncloudpropagator.cpp | 10 +++ src/mirall/propagatorjobs.cpp | 3 +- src/mirall/utility.cpp | 3 + 4 files changed, 124 insertions(+), 2 deletions(-) create mode 100755 csync/tests/ownCloud/t8.pl diff --git a/csync/tests/ownCloud/t8.pl b/csync/tests/ownCloud/t8.pl new file mode 100755 index 000000000..e8825bc34 --- /dev/null +++ b/csync/tests/ownCloud/t8.pl @@ -0,0 +1,110 @@ +#!/usr/bin/perl +# +# Test script for the ownCloud module of csync. +# This script requires a running ownCloud instance accessible via HTTP. +# It does quite some fancy tests and asserts the results. +# +# Copyright (C) by Olivier Goffart +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# + +use lib "."; + +use Carp::Assert; +use File::Copy; +use ownCloud::Test; + +use strict; + +print "Hello, this is t8, a tester for syncing of files on a case sensitive FS\n"; + + +# The test is run on a 'normal' file system, but we tell pwncloud that it is case preserving anyway +$ENV{OWNCLOUD_TEST_CASE_PRESERVING} = "1"; + +# FIXME! the code does not work with parallelism +$ENV{OWNCLOUD_MAX_PARALLEL}="1"; + +initTesting(); + +printInfo( "Syncing two files with the same name that differ with case" ); + +#create some files localy +my $tmpdir = "/tmp/t8/"; +mkdir($tmpdir); +createLocalFile( $tmpdir . "HELLO.dat", 100 ); +createLocalFile( $tmpdir . "Hello.dat", 150 ); +createLocalFile( $tmpdir . "Normal.dat", 110 ); + +#put them in some directories +createRemoteDir( "dir" ); +glob_put( "$tmpdir/*", "dir" ); + +csync(); + +# Check that only one of the two file was synced. +# The one that exist here is undefined, the current implementation will take the +# first one alphabetically, but the other one would also be fine. What's imporant +# is that there is only one. +assert( -e localDir() . 'dir/HELLO.dat' ); +assert( !-e localDir() . 'dir/Hello.dat' ); + +printInfo( "Remove one file should remove it on the server and download the other one" ); +unlink( localDir() . 'dir/HELLO.dat' ); + +csync(); +assert( -e localDir() . 'dir/Hello.dat' ); +assert( !-e localDir() . 'dir/HELLO.dat' ); +assertLocalAndRemoteDir( '', 0); + + +printInfo( "Renaming one file to the same name as another one with different casing" ); +moveRemoteFile( 'dir/Hello.dat', 'dir/NORMAL.dat'); + +csync(); + +#It should not have do the move +assert( -e localDir() . 'dir/Hello.dat' ); +assert( !-e localDir() . 'dir/NORMAL.dat' ); +assert( -e localDir() . 'dir/Normal.dat' ); + +printInfo( "Another directory with the same name but different casing is created" ); + +createRemoteDir( "DIR" ); +glob_put( "$tmpdir/*", "DIR" ); + +csync(); + +assert( !-e localDir() . 'DIR' ); + + +printInfo( "Remove the old dir localy" ); + +system("rm -r " . localDir() . "dir"); + +csync(); + +# now DIR was fetched +assert( -e localDir() . 'DIR' ); +assert( -e localDir() . 'DIR/HELLO.dat' ); +assert( !-e localDir() . 'DIR/Hello.dat' ); +assert( !-e localDir() . 'dir' ); + +# dir/NORMAL.dat is still on the server + +cleanup(); +system("rm -r " . $tmpdir); + diff --git a/src/mirall/owncloudpropagator.cpp b/src/mirall/owncloudpropagator.cpp index 62376ba73..876e97d94 100644 --- a/src/mirall/owncloudpropagator.cpp +++ b/src/mirall/owncloudpropagator.cpp @@ -29,6 +29,7 @@ #include #include +#include namespace Mirall { @@ -369,6 +370,15 @@ bool OwncloudPropagator::localFileNameClash( const QString& relFile ) re = true; } } +#else + // On Linux, the file system is case sensitive, but this code is usefull for testing. + // Just check that there is no other file with the same name and different casing. + QFileInfo fileInfo(file); + const QString fn = fileInfo.fileName(); + QStringList list = fileInfo.dir().entryList(QStringList() << fn); + if (list.count() > 1 || (list.count() == 1 && list[0] != fn)) { + re = true; + } #endif } return re; diff --git a/src/mirall/propagatorjobs.cpp b/src/mirall/propagatorjobs.cpp index 081559f43..a94c04a75 100644 --- a/src/mirall/propagatorjobs.cpp +++ b/src/mirall/propagatorjobs.cpp @@ -108,8 +108,7 @@ void PropagateLocalMkdir::start() QDir newDir(_propagator->_localDir + _item._file); QString newDirStr = QDir::toNativeSeparators(newDir.path()); - if( Utility::fsCasePreserving() && newDir.exists() && - _propagator->localFileNameClash(_item._file ) ) { + if( Utility::fsCasePreserving() && _propagator->localFileNameClash(_item._file ) ) { qDebug() << "WARN: new directory to create locally already exists!"; done( SyncFileItem::NormalError, tr("Attention, possible case sensitivity clash with %1").arg(newDirStr) ); return; diff --git a/src/mirall/utility.cpp b/src/mirall/utility.cpp index 32e32292e..f6c3c4b78 100644 --- a/src/mirall/utility.cpp +++ b/src/mirall/utility.cpp @@ -342,6 +342,9 @@ bool Utility::fsCasePreserving() bool re = false; if( isWindows() || isMac() ) { re = true; + } else { + static bool isTest = qgetenv("OWNCLOUD_TEST_CASE_PRESERVING").toInt(); + re = isTest; } return re; } From 7dd926d4f1942ad18caecfff1c34ee516e29db31 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 7 Jul 2014 15:20:37 +0200 Subject: [PATCH 125/190] Utility: move raiseDisalog to owncloudGui Reduce the GUI dependency in the Utility namespace used by libowncloudsync --- src/mirall/accountsettings.cpp | 2 +- src/mirall/owncloudgui.cpp | 14 ++++++++++++-- src/mirall/owncloudgui.h | 2 ++ src/mirall/utility.cpp | 13 ------------- src/mirall/utility.h | 1 - 5 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/mirall/accountsettings.cpp b/src/mirall/accountsettings.cpp index 89a99e579..6259d4493 100644 --- a/src/mirall/accountsettings.cpp +++ b/src/mirall/accountsettings.cpp @@ -719,7 +719,7 @@ void AccountSettings::slotIgnoreFilesEditor() _ignoreEditor->setAttribute( Qt::WA_DeleteOnClose, true ); _ignoreEditor->open(); } else { - Utility::raiseDialog(_ignoreEditor); + ownCloudGui::raiseDialog(_ignoreEditor); } } diff --git a/src/mirall/owncloudgui.cpp b/src/mirall/owncloudgui.cpp index 89d3dec01..001be58a2 100644 --- a/src/mirall/owncloudgui.cpp +++ b/src/mirall/owncloudgui.cpp @@ -482,7 +482,7 @@ void ownCloudGui::slotShowSettings() _settingsDialog->show(); } _settingsDialog->setGeneralErrors( _startupFails ); - Utility::raiseDialog(_settingsDialog.data()); + raiseDialog(_settingsDialog.data()); } void ownCloudGui::slotShowSyncProtocol() @@ -510,7 +510,7 @@ void ownCloudGui::slotToggleLogBrowser() if (_logBrowser->isVisible() ) { _logBrowser->hide(); } else { - Utility::raiseDialog(_logBrowser); + raiseDialog(_logBrowser); } } @@ -526,5 +526,15 @@ void ownCloudGui::slotHelp() QDesktopServices::openUrl(QUrl(Theme::instance()->helpUrl())); } +void ownCloudGui::raiseDialog( QWidget *raiseWidget ) +{ + if( raiseWidget && raiseWidget->parentWidget() == 0) { + // Qt has a bug which causes parent-less dialogs to pop-under. + raiseWidget->showNormal(); + raiseWidget->raise(); + raiseWidget->activateWindow(); + } +} + } // end namespace diff --git a/src/mirall/owncloudgui.h b/src/mirall/owncloudgui.h index 2b238e906..c67e43c21 100644 --- a/src/mirall/owncloudgui.h +++ b/src/mirall/owncloudgui.h @@ -43,6 +43,8 @@ public: bool checkAccountExists(bool openSettings); + static void raiseDialog(QWidget *raiseWidget); + signals: void setupProxy(); diff --git a/src/mirall/utility.cpp b/src/mirall/utility.cpp index f6c3c4b78..497376ad6 100644 --- a/src/mirall/utility.cpp +++ b/src/mirall/utility.cpp @@ -23,7 +23,6 @@ #include #include #ifndef TOKEN_AUTH_ONLY -#include #include #endif #include @@ -164,18 +163,6 @@ QByteArray Utility::userAgentString() .toLatin1(); } -void Utility::raiseDialog( QWidget *raiseWidget ) -{ -#ifndef TOKEN_AUTH_ONLY - if( raiseWidget && raiseWidget->parentWidget() == 0) { - // Qt has a bug which causes parent-less dialogs to pop-under. - raiseWidget->showNormal(); - raiseWidget->raise(); - raiseWidget->activateWindow(); - } -#endif -} - bool Utility::hasLaunchOnStartup(const QString &appName) { return hasLaunchOnStartup_private(appName); diff --git a/src/mirall/utility.h b/src/mirall/utility.h index e43975107..0ff9ac906 100644 --- a/src/mirall/utility.h +++ b/src/mirall/utility.h @@ -36,7 +36,6 @@ namespace Utility OWNCLOUDSYNC_EXPORT QString octetsToString( qint64 octets ); OWNCLOUDSYNC_EXPORT QString platform(); OWNCLOUDSYNC_EXPORT QByteArray userAgentString(); - OWNCLOUDSYNC_EXPORT void raiseDialog(QWidget *); OWNCLOUDSYNC_EXPORT bool hasLaunchOnStartup(const QString &appName); OWNCLOUDSYNC_EXPORT void setLaunchOnStartup(const QString &appName, const QString& guiName, bool launch); OWNCLOUDSYNC_EXPORT qint64 freeDiskSpace(const QString &path, bool *ok = 0); From 517ffbd78355ca1b2b895b4a4fe9bdad67c21039 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 7 Jul 2014 15:26:49 +0200 Subject: [PATCH 126/190] Utility: remove Utility::dataLocation It is used only from one location, so put the code there --- src/mirall/mirallconfigfile.cpp | 7 ++++++- src/mirall/utility.cpp | 11 ----------- src/mirall/utility.h | 1 - 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/mirall/mirallconfigfile.cpp b/src/mirall/mirallconfigfile.cpp index a5474644d..8988a05fa 100644 --- a/src/mirall/mirallconfigfile.cpp +++ b/src/mirall/mirallconfigfile.cpp @@ -25,6 +25,7 @@ #ifndef TOKEN_AUTH_ONLY #include #include +#include #endif #include @@ -183,9 +184,13 @@ QVariant MirallConfigFile::getPolicySetting(const QString &setting, const QVaria QString MirallConfigFile::configPath() const { + #ifndef TOKEN_AUTH_ONLY if( _confDir.isEmpty() ) { - _confDir = Utility::dataLocation(); + // Qt 5's QStandardPaths::writableLocation gives us wrong results (without /data/), + // so we'll have to use the deprecated version for now + _confDir = QDesktopServices::storageLocation(QDesktopServices::DataLocation); } + #endif QString dir = _confDir; if( !dir.endsWith(QLatin1Char('/')) ) dir.append(QLatin1Char('/')); diff --git a/src/mirall/utility.cpp b/src/mirall/utility.cpp index 497376ad6..055abd721 100644 --- a/src/mirall/utility.cpp +++ b/src/mirall/utility.cpp @@ -237,17 +237,6 @@ QString Utility::escape(const QString &in) #endif } -QString Utility::dataLocation() -{ - // Qt 5's QStandardPaths::writableLocation gives us wrong results (without /data/), - // so we'll have to use the deprecated version for now -#ifndef TOKEN_AUTH_ONLY - return QDesktopServices::storageLocation(QDesktopServices::DataLocation); -#else - return QString(); -#endif -} - #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) // In Qt 4, QThread::sleep functions are protected. // This is a hack to make them visible in this namespace. diff --git a/src/mirall/utility.h b/src/mirall/utility.h index 0ff9ac906..864a5bf43 100644 --- a/src/mirall/utility.h +++ b/src/mirall/utility.h @@ -55,7 +55,6 @@ namespace Utility // porting methods OWNCLOUDSYNC_EXPORT QString escape(const QString&); - OWNCLOUDSYNC_EXPORT QString dataLocation(); // conversion function QDateTime <-> time_t (because the ones builtin work on only unsigned 32bit) OWNCLOUDSYNC_EXPORT QDateTime qDateTimeFromTime_t(qint64 t); From 99ee81a4895d0390300b5b92d2c27e77434ad201 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 7 Jul 2014 15:49:48 +0200 Subject: [PATCH 127/190] Utility: Move showInFileManager in its own file And get rid of GUI in the Utility namespace --- src/CMakeLists.txt | 2 + src/mirall/openfilemanager.cpp | 185 +++++++++++++++++++++++++++++++++ src/mirall/openfilemanager.h | 20 ++++ src/mirall/owncloudgui.cpp | 3 +- src/mirall/protocolwidget.cpp | 3 +- src/mirall/utility.cpp | 166 ----------------------------- src/mirall/utility.h | 1 - 7 files changed, 211 insertions(+), 169 deletions(-) create mode 100644 src/mirall/openfilemanager.cpp create mode 100644 src/mirall/openfilemanager.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 669854fd2..209fba264 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -275,6 +275,7 @@ set(mirall_SRCS mirall/folderwizard.cpp mirall/folderstatusmodel.cpp mirall/protocolwidget.cpp + mirall/openfilemanager.cpp wizard/owncloudwizard.cpp wizard/owncloudsetuppage.cpp wizard/owncloudhttpcredspage.cpp @@ -303,6 +304,7 @@ set(mirall_HEADERS mirall/systray.h mirall/folderwizard.h mirall/owncloudsetupwizard.h + mirall/openfilemanager.h wizard/owncloudwizard.h wizard/owncloudsetuppage.h wizard/owncloudhttpcredspage.h diff --git a/src/mirall/openfilemanager.cpp b/src/mirall/openfilemanager.cpp new file mode 100644 index 000000000..397c5c56a --- /dev/null +++ b/src/mirall/openfilemanager.cpp @@ -0,0 +1,185 @@ +/* + * Copyright (C) by Klaas Freitag + * Copyright (C) by Daniel Molkentin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + */ + +#include "openfilemanager.h" +#include "utility.h" +#include +#include +#include +#include +#include +#include +#include + +namespace Mirall { + +// according to the QStandardDir impl from Qt5 +static QStringList xdgDataDirs() +{ + QStringList dirs; + // http://standards.freedesktop.org/basedir-spec/latest/ + QString xdgDataDirsEnv = QFile::decodeName(qgetenv("XDG_DATA_DIRS")); + if (xdgDataDirsEnv.isEmpty()) { + dirs.append(QString::fromLatin1("/usr/local/share")); + dirs.append(QString::fromLatin1("/usr/share")); + } else { + dirs = xdgDataDirsEnv.split(QLatin1Char(':')); + } + // local location + QString xdgDataHome = QFile::decodeName(qgetenv("XDG_DATA_HOME")); + if (xdgDataHome.isEmpty()) { + xdgDataHome = QDir::homePath()+"/.local/share"; + } + dirs.prepend(xdgDataHome); + return dirs; +} + +// Linux impl only, make sure to process %u and %U which might be returned +static QString findDefaultFileManager() +{ + QProcess p; + p.start("xdg-mime", QStringList() << "query" << "default" << "inode/directory", QFile::ReadOnly); + p.waitForFinished(); + QString fileName = QString::fromUtf8(p.readAll().trimmed()); + if (fileName.isEmpty()) + return QString(); + + QFileInfo fi; + QStringList dirs = xdgDataDirs(); + QStringList subdirs; + subdirs << "/applications/" << "/applications/kde4/"; + foreach(QString dir, dirs) { + foreach(QString subdir, subdirs) { + fi.setFile(dir + subdir + fileName); + if (fi.exists()) { + return fi.absoluteFilePath(); + } + } + } + return QString(); +} + +// early dolphin versions did not have --select +static bool checkDolphinCanSelect() +{ + QProcess p; + p.start("dolphin", QStringList() << "--help", QFile::ReadOnly); + p.waitForFinished(); + return p.readAll().contains("--select"); +} + + +// inspired by Qt Creator's showInGraphicalShell(); +void showInFileManager(const QString &localPath) +{ + if (Utility::isWindows()) { +#ifdef Q_OS_WIN + if (QSysInfo::windowsVersion() <= QSysInfo::WV_2003) { + return; + } +#endif + QString explorer = "explorer.exe "; // FIXME: we trust it's in PATH + + if (!QFileInfo(localPath).isDir()) { + explorer += QLatin1String("/select,"); + } + 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") + << QString::fromLatin1("tell application \"Finder\" to reveal POSIX file \"%1\"") + .arg(localPath); + QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs); + scriptArgs.clear(); + scriptArgs << QLatin1String("-e") + << QLatin1String("tell application \"Finder\" to activate"); + QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs); + } else { + QString app; + QStringList args; + + static QString defaultManager = findDefaultFileManager(); + QSettings desktopFile(defaultManager, QSettings::IniFormat); + QString exec = desktopFile.value("Desktop Entry/Exec").toString(); + + QString fileToOpen = QFileInfo(localPath).absoluteFilePath(); + QString pathToOpen = QFileInfo(localPath).absolutePath(); + bool canHandleFile = false; // assume dumb fm + + args = exec.split(' '); + if (args.count() > 0) app = args.takeFirst(); + + QString kdeSelectParam("--select"); + + if (app.contains("konqueror") && !args.contains(kdeSelectParam)) { + // konq needs '--select' in order not to launch the file + args.prepend(kdeSelectParam); + canHandleFile = true; + } + + if (app.contains("dolphin")) + { + static bool dolphinCanSelect = checkDolphinCanSelect(); + if (dolphinCanSelect && !args.contains(kdeSelectParam)) { + args.prepend(kdeSelectParam); + canHandleFile = true; + } + } + + // whitelist + if (app.contains("nautilus") || app.contains("nemo")) { + canHandleFile = true; + } + + static QString name; + if (name.isEmpty()) { + name = desktopFile.value(QString::fromLatin1("Desktop Entry/Name[%1]").arg(qApp->property("ui_lang").toString())).toString(); + if (name.isEmpty()) { + name = desktopFile.value(QString::fromLatin1("Desktop Entry/Name")).toString(); + } + } + + std::replace(args.begin(), args.end(), QString::fromLatin1("%c"), name); + std::replace(args.begin(), args.end(), QString::fromLatin1("%u"), fileToOpen); + std::replace(args.begin(), args.end(), QString::fromLatin1("%U"), fileToOpen); + std::replace(args.begin(), args.end(), QString::fromLatin1("%f"), fileToOpen); + std::replace(args.begin(), args.end(), QString::fromLatin1("%F"), fileToOpen); + + // fixme: needs to append --icon, according to http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#exec-variables + QStringList::iterator it = std::find(args.begin(), args.end(), QString::fromLatin1("%i")); + if (it != args.end()) { + (*it) = desktopFile.value("Desktop Entry/Icon").toString(); + args.insert(it, QString::fromLatin1("--icon")); // before + } + + + if (args.count() == 0) args << fileToOpen; + + if (app.isEmpty() || args.isEmpty() || !canHandleFile) { + // fall back: open the default file manager, without ever selecting the file + QDesktopServices::openUrl(QUrl::fromLocalFile(pathToOpen)); + } else { + QProcess::startDetached(app, args); + } + } +} + +} \ No newline at end of file diff --git a/src/mirall/openfilemanager.h b/src/mirall/openfilemanager.h new file mode 100644 index 000000000..c395f15fe --- /dev/null +++ b/src/mirall/openfilemanager.h @@ -0,0 +1,20 @@ +/* + * Copyright (C) by Olivier Goffart + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + */ +#pragma once + +#include + +namespace Mirall { +/** Open the file manager with the specified file pre-selected */ +void showInFileManager(const QString &localPath); +} diff --git a/src/mirall/owncloudgui.cpp b/src/mirall/owncloudgui.cpp index 001be58a2..7de5c5cb0 100644 --- a/src/mirall/owncloudgui.cpp +++ b/src/mirall/owncloudgui.cpp @@ -27,6 +27,7 @@ #include "mirall/logger.h" #include "mirall/logbrowser.h" #include "mirall/account.h" +#include "openfilemanager.h" #include "creds/abstractcredentials.h" #include @@ -140,7 +141,7 @@ void ownCloudGui::slotFoldersChanged() void ownCloudGui::slotOpenPath(const QString &path) { - Utility::showInFileManager(path); + showInFileManager(path); } void ownCloudGui::slotAccountStateChanged() diff --git a/src/mirall/protocolwidget.cpp b/src/mirall/protocolwidget.cpp index 965d77830..f15b0aba4 100644 --- a/src/mirall/protocolwidget.cpp +++ b/src/mirall/protocolwidget.cpp @@ -25,6 +25,7 @@ #include "mirall/folderman.h" #include "mirall/syncfileitem.h" #include "mirall/folder.h" +#include "openfilemanager.h" #include "ui_protocolwidget.h" @@ -169,7 +170,7 @@ void ProtocolWidget::slotOpenFile( QTreeWidgetItem *item, int ) // folder->path() always comes back with trailing path QString fullPath = folder->path() + fileName; if (QFile(fullPath).exists()) { - Utility::showInFileManager(fullPath); + showInFileManager(fullPath); } } } diff --git a/src/mirall/utility.cpp b/src/mirall/utility.cpp index 055abd721..1b4956fc9 100644 --- a/src/mirall/utility.cpp +++ b/src/mirall/utility.cpp @@ -22,9 +22,6 @@ #include #include #include -#ifndef TOKEN_AUTH_ONLY -#include -#endif #include #include #include @@ -256,63 +253,6 @@ void Utility::usleep(int usec) QThread::usleep(usec); } -// ### helper functions for showInFileManager() ### - -// according to the QStandardDir impl from Qt5 -static QStringList xdgDataDirs() -{ - QStringList dirs; - // http://standards.freedesktop.org/basedir-spec/latest/ - QString xdgDataDirsEnv = QFile::decodeName(qgetenv("XDG_DATA_DIRS")); - if (xdgDataDirsEnv.isEmpty()) { - dirs.append(QString::fromLatin1("/usr/local/share")); - dirs.append(QString::fromLatin1("/usr/share")); - } else { - dirs = xdgDataDirsEnv.split(QLatin1Char(':')); - } - // local location - QString xdgDataHome = QFile::decodeName(qgetenv("XDG_DATA_HOME")); - if (xdgDataHome.isEmpty()) { - xdgDataHome = QDir::homePath()+"/.local/share"; - } - dirs.prepend(xdgDataHome); - return dirs; -} - -// Linux impl only, make sure to process %u and %U which might be returned -static QString findDefaultFileManager() -{ - QProcess p; - p.start("xdg-mime", QStringList() << "query" << "default" << "inode/directory", QFile::ReadOnly); - p.waitForFinished(); - QString fileName = QString::fromUtf8(p.readAll().trimmed()); - if (fileName.isEmpty()) - return QString(); - - QFileInfo fi; - QStringList dirs = xdgDataDirs(); - QStringList subdirs; - subdirs << "/applications/" << "/applications/kde4/"; - foreach(QString dir, dirs) { - foreach(QString subdir, subdirs) { - fi.setFile(dir + subdir + fileName); - if (fi.exists()) { - return fi.absoluteFilePath(); - } - } - } - return QString(); -} - -// early dolphin versions did not have --select -static bool checkDolphinCanSelect() -{ - QProcess p; - p.start("dolphin", QStringList() << "--help", QFile::ReadOnly); - p.waitForFinished(); - return p.readAll().contains("--select"); -} - bool Utility::fsCasePreserving() { bool re = false; @@ -325,112 +265,6 @@ bool Utility::fsCasePreserving() return re; } -// inspired by Qt Creator's showInGraphicalShell(); -void Utility::showInFileManager(const QString &localPath) -{ - if (isWindows()) { -#ifdef Q_OS_WIN - if (QSysInfo::windowsVersion() <= QSysInfo::WV_2003) { - return; - } -#endif - QString explorer = "explorer.exe "; // FIXME: we trust it's in PATH - - if (!QFileInfo(localPath).isDir()) { - explorer += QLatin1String("/select,"); - } - explorer += QLatin1Char('"'); - explorer += QDir::toNativeSeparators(localPath); - explorer += QLatin1Char('"'); - - qDebug() << "OO Open explorer commandline:" << explorer; - QProcess p; - p.start(explorer); - p.waitForFinished(5000); - } else if (isMac()) { - QStringList scriptArgs; - scriptArgs << QLatin1String("-e") - << QString::fromLatin1("tell application \"Finder\" to reveal POSIX file \"%1\"") - .arg(localPath); - QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs); - scriptArgs.clear(); - scriptArgs << QLatin1String("-e") - << QLatin1String("tell application \"Finder\" to activate"); - QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs); - } else { - QString app; - QStringList args; - - static QString defaultManager = findDefaultFileManager(); - QSettings desktopFile(defaultManager, QSettings::IniFormat); - QString exec = desktopFile.value("Desktop Entry/Exec").toString(); - - QString fileToOpen = QFileInfo(localPath).absoluteFilePath(); - QString pathToOpen = QFileInfo(localPath).absolutePath(); - bool canHandleFile = false; // assume dumb fm - - args = exec.split(' '); - if (args.count() > 0) app = args.takeFirst(); - - QString kdeSelectParam("--select"); - - if (app.contains("konqueror") && !args.contains(kdeSelectParam)) { - // konq needs '--select' in order not to launch the file - args.prepend(kdeSelectParam); - canHandleFile = true; - } - - if (app.contains("dolphin")) - { - static bool dolphinCanSelect = checkDolphinCanSelect(); - if (dolphinCanSelect && !args.contains(kdeSelectParam)) { - args.prepend(kdeSelectParam); - canHandleFile = true; - } - } - - // whitelist - if (app.contains("nautilus") || app.contains("nemo")) { - canHandleFile = true; - } - - static QString name; - if (name.isEmpty()) { - name = desktopFile.value(QString::fromLatin1("Desktop Entry/Name[%1]").arg(qApp->property("ui_lang").toString())).toString(); - if (name.isEmpty()) { - name = desktopFile.value(QString::fromLatin1("Desktop Entry/Name")).toString(); - } - } - - std::replace(args.begin(), args.end(), QString::fromLatin1("%c"), name); - std::replace(args.begin(), args.end(), QString::fromLatin1("%u"), fileToOpen); - std::replace(args.begin(), args.end(), QString::fromLatin1("%U"), fileToOpen); - std::replace(args.begin(), args.end(), QString::fromLatin1("%f"), fileToOpen); - std::replace(args.begin(), args.end(), QString::fromLatin1("%F"), fileToOpen); - - // fixme: needs to append --icon, according to http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#exec-variables - QStringList::iterator it = std::find(args.begin(), args.end(), QString::fromLatin1("%i")); - if (it != args.end()) { - (*it) = desktopFile.value("Desktop Entry/Icon").toString(); - args.insert(it, QString::fromLatin1("--icon")); // before - } - - - if (args.count() == 0) args << fileToOpen; - - if (app.isEmpty() || args.isEmpty() || !canHandleFile) { - // fall back: open the default file manager, without ever selecting the file -#ifndef TOKEN_AUTH_ONLY - QDesktopServices::openUrl(QUrl::fromLocalFile(pathToOpen)); -#endif - } else { - QProcess::startDetached(app, args); - } - } -} - - - QDateTime Utility::qDateTimeFromTime_t(qint64 t) { return QDateTime::fromMSecsSinceEpoch(t * 1000); diff --git a/src/mirall/utility.h b/src/mirall/utility.h index 864a5bf43..4c98e7e6f 100644 --- a/src/mirall/utility.h +++ b/src/mirall/utility.h @@ -40,7 +40,6 @@ namespace Utility OWNCLOUDSYNC_EXPORT void setLaunchOnStartup(const QString &appName, const QString& guiName, bool launch); OWNCLOUDSYNC_EXPORT qint64 freeDiskSpace(const QString &path, bool *ok = 0); OWNCLOUDSYNC_EXPORT QString toCSyncScheme(const QString &urlStr); - OWNCLOUDSYNC_EXPORT void showInFileManager(const QString &localPath); /** Like QLocale::toString(double, 'f', prec), but drops trailing zeros after the decimal point */ /** From 8aacb3f7ecf5f6d790304612f445fbb262e7f7d2 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 7 Jul 2014 16:00:42 +0200 Subject: [PATCH 128/190] Remove undeeded include --- src/mirall/connectionvalidator.cpp | 1 - src/mirall/folder.cpp | 2 -- src/mirall/syncrunfilelog.cpp | 1 - 3 files changed, 4 deletions(-) diff --git a/src/mirall/connectionvalidator.cpp b/src/mirall/connectionvalidator.cpp index a8031c669..24954f548 100644 --- a/src/mirall/connectionvalidator.cpp +++ b/src/mirall/connectionvalidator.cpp @@ -15,7 +15,6 @@ #include #include "mirall/connectionvalidator.h" -#include "mirall/mirallconfigfile.h" #include "mirall/theme.h" #include "mirall/account.h" #include "mirall/networkjobs.h" diff --git a/src/mirall/folder.cpp b/src/mirall/folder.cpp index bc27738c9..f2c8b372f 100644 --- a/src/mirall/folder.cpp +++ b/src/mirall/folder.cpp @@ -106,8 +106,6 @@ bool Folder::init() csync_set_log_callback( csyncLogCatcher ); csync_set_log_level( 11 ); - MirallConfigFile cfgFile; - if (Account *account = AccountManager::instance()->account()) { account->credentials()->syncContextPreInit(_csync_ctx); } else { diff --git a/src/mirall/syncrunfilelog.cpp b/src/mirall/syncrunfilelog.cpp index a30eae676..908406c4b 100644 --- a/src/mirall/syncrunfilelog.cpp +++ b/src/mirall/syncrunfilelog.cpp @@ -15,7 +15,6 @@ #include "mirall/syncrunfilelog.h" #include "mirall/utility.h" -#include "mirall/mirallconfigfile.h" #include "filesystem.h" #include From 45d1567057618736e018a15e27b4930c29f09829 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 7 Jul 2014 16:30:32 +0200 Subject: [PATCH 129/190] Move Folder, FolderMan, and FolderWatcher outside of owncloudsync Those class are maintaining the folder for the mirall configuration They are not usefull in command line clients Also the FolderWatcher is only used by the folder and not used by the command line clients --- src/CMakeLists.txt | 35 +++++++++++++++++------------------ src/mirall/folder.h | 2 +- src/mirall/folderman.h | 2 +- src/mirall/folderwatcher.cpp | 1 - test/CMakeLists.txt | 26 ++++++++++++++++++++------ test/owncloud_add_test.cmake | 7 ++++--- 6 files changed, 43 insertions(+), 30 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 209fba264..74a67fc44 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -79,9 +79,6 @@ set(3rdparty_INC ) set(libsync_SRCS - mirall/folderman.cpp - mirall/folder.cpp - mirall/folderwatcher.cpp mirall/syncresult.cpp mirall/mirallconfigfile.cpp mirall/syncengine.cpp @@ -129,24 +126,10 @@ else() ) endif() -IF( NOT WIN32 AND NOT APPLE ) - set(libsync_SRCS ${libsync_SRCS} mirall/folderwatcher_linux.cpp) -ENDIF() -IF( WIN32 ) - set(libsync_SRCS ${libsync_SRCS} mirall/folderwatcher_win.cpp) -ENDIF() -IF( APPLE ) - list(APPEND libsync_SRCS mirall/folderwatcher_mac.cpp) -ENDIF() - - # These headers are installed for libowncloudsync to be used by 3rd party apps set(owncloudsync_HEADERS mirall/account.h mirall/syncengine.h - mirall/folder.h - mirall/folderman.h - mirall/folderwatcher.h mirall/mirallconfigfile.h mirall/networkjobs.h mirall/progressdispatcher.h @@ -272,6 +255,9 @@ qt_wrap_ui(mirall_UI_SRCS ${mirall_UI}) set(mirall_SRCS mirall/application.cpp mirall/systray.cpp + mirall/folderman.cpp + mirall/folder.cpp + mirall/folderwatcher.cpp mirall/folderwizard.cpp mirall/folderstatusmodel.cpp mirall/protocolwidget.cpp @@ -313,6 +299,9 @@ set(mirall_HEADERS wizard/owncloudwizardcommon.h wizard/owncloudshibbolethcredspage.h wizard/owncloudadvancedsetuppage.h + mirall/folder.h + mirall/folderman.h + mirall/folderwatcher.h mirall/folderstatusmodel.h mirall/sslerrordialog.h mirall/logbrowser.h @@ -339,7 +328,7 @@ set(updater_HEADERS ) IF( APPLE ) - list(APPEND mirall_SRCS mirall/cocoainitializer_mac.mm) + list(APPEND mirall_SRCSmirall_SRCS mirall/cocoainitializer_mac.mm) list(APPEND mirall_HEADERS mirall/cocoainitializer.h) list(APPEND mirall_SRCS mirall/settingsdialogmac.cpp) @@ -353,6 +342,16 @@ IF( APPLE ) endif() ENDIF() +IF( NOT WIN32 AND NOT APPLE ) +set(mirall_SRCS ${mirall_SRCS} mirall/folderwatcher_linux.cpp) +ENDIF() +IF( WIN32 ) +set(mirall_SRCS ${mirall_SRCS} mirall/folderwatcher_win.cpp) +ENDIF() +IF( APPLE ) +list(APPEND mirall_SRCS mirall/folderwatcher_mac.cpp) +ENDIF() + # csync is required. include_directories(../csync/src ../csync/src/httpbf/src ${CMAKE_CURRENT_BINARY_DIR}/../csync ${CMAKE_CURRENT_BINARY_DIR}/../csync/src ) include_directories(${3rdparty_INC}) diff --git a/src/mirall/folder.h b/src/mirall/folder.h index db5fd0be6..22f9f68c8 100644 --- a/src/mirall/folder.h +++ b/src/mirall/folder.h @@ -58,7 +58,7 @@ enum SyncFileStatus { FILE_STATUS_SHARED }; -class OWNCLOUDSYNC_EXPORT Folder : public QObject +class Folder : public QObject { Q_OBJECT diff --git a/src/mirall/folderman.h b/src/mirall/folderman.h index 3c51a0e62..82f69701d 100644 --- a/src/mirall/folderman.h +++ b/src/mirall/folderman.h @@ -32,7 +32,7 @@ namespace Mirall { class Application; -class OWNCLOUDSYNC_EXPORT FolderMan : public QObject +class FolderMan : public QObject { Q_OBJECT public: diff --git a/src/mirall/folderwatcher.cpp b/src/mirall/folderwatcher.cpp index ae119ca1e..7813a1e7f 100644 --- a/src/mirall/folderwatcher.cpp +++ b/src/mirall/folderwatcher.cpp @@ -13,7 +13,6 @@ // event masks #include "mirall/folderwatcher.h" -#include "mirall/folder.h" #include diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 3521be168..37ac1e83b 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -4,13 +4,27 @@ include_directories(${CMAKE_SOURCE_DIR}/csync/src/std) include(owncloud_add_test.cmake) -owncloud_add_test(OwncloudPropagator) -owncloud_add_test(Utility) -owncloud_add_test(Updater) -owncloud_add_test(FolderWatcher) -owncloud_add_test(CSyncSqlite) +owncloud_add_test(OwncloudPropagator "") +owncloud_add_test(Utility "") +owncloud_add_test(Updater "") +SET(FolderWatcher_SRC ../src/mirall/folderwatcher.cpp) + +IF( NOT WIN32 AND NOT APPLE ) +list(APPEND FolderWatcher_SRC ../src/mirall/folderwatcher_linux.cpp) +ENDIF() +IF( WIN32 ) +list(APPEND FolderWatcher_SRC ../src/mirall/folderwatcher_win.cpp) +ENDIF() +IF( APPLE ) +list(APPEND FolderWatcher_SRC ../src/mirall/folderwatcher_mac.cpp) +ENDIF() + +owncloud_add_test(FolderWatcher "${FolderWatcher_SRC}") if( UNIX AND NOT APPLE ) - owncloud_add_test(InotifyWatcher) + owncloud_add_test(InotifyWatcher "${FolderWatcher_SRC}") endif(UNIX AND NOT APPLE) +owncloud_add_test(CSyncSqlite "") + + diff --git a/test/owncloud_add_test.cmake b/test/owncloud_add_test.cmake index a7bf265a0..523819b64 100644 --- a/test/owncloud_add_test.cmake +++ b/test/owncloud_add_test.cmake @@ -1,13 +1,14 @@ -macro(owncloud_add_test test_class) +macro(owncloud_add_test test_class additional_cpp) include_directories(${QT_INCLUDES} "${PROJECT_SOURCE_DIR}/src" ${CMAKE_CURRENT_BINARY_DIR}) set(OWNCLOUD_TEST_CLASS ${test_class}) + set(CMAKE_AUTOMOC TRUE) string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE) configure_file(main.cpp.in test${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp) configure_file(test${OWNCLOUD_TEST_CLASS_LOWERCASE}.h test${OWNCLOUD_TEST_CLASS_LOWERCASE}.h) - qt_wrap_cpp(${OWNCLOUD_TEST_CLASS}_MOCS test${OWNCLOUD_TEST_CLASS_LOWERCASE}.h) + qt_wrap_cpp(test${OWNCLOUD_TEST_CLASS_LOWERCASE}.h) - add_executable(${OWNCLOUD_TEST_CLASS}Test test${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${${OWNCLOUD_TEST_CLASS}_MOCS}) + add_executable(${OWNCLOUD_TEST_CLASS}Test test${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${additional_cpp}) qt5_use_modules(${OWNCLOUD_TEST_CLASS}Test Test Sql Xml) target_link_libraries(${OWNCLOUD_TEST_CLASS}Test From 26e17f58efb3f88fbd38ce64bcf8dd46b21c2b44 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 7 Jul 2014 17:01:34 +0200 Subject: [PATCH 130/190] Engine: Do not reset the csync log callback in the engine It is already set in Folder and we don't want to use the Logger in command line clients --- src/mirall/folder.cpp | 9 +++++++++ src/mirall/syncengine.cpp | 10 ---------- src/mirall/syncengine.h | 5 ----- src/owncloudcmd/owncloudcmd.cpp | 2 -- 4 files changed, 9 insertions(+), 17 deletions(-) diff --git a/src/mirall/folder.cpp b/src/mirall/folder.cpp index f2c8b372f..aac7d1c2c 100644 --- a/src/mirall/folder.cpp +++ b/src/mirall/folder.cpp @@ -42,6 +42,15 @@ namespace Mirall { +static void csyncLogCatcher(int /*verbosity*/, + const char */*function*/, + const char *buffer, + void */*userdata*/) +{ + Logger::instance()->csyncLog( QString::fromUtf8(buffer) ); +} + + Folder::Folder(const QString &alias, const QString &path, const QString& secondPath, QObject *parent) : QObject(parent) , _path(path) diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index 6ce189667..ddfe6eac1 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -16,7 +16,6 @@ #include "mirall/syncengine.h" #include "mirall/account.h" #include "mirall/theme.h" -#include "mirall/logger.h" #include "owncloudpropagator.h" #include "syncjournaldb.h" #include "syncjournalfilerecord.h" @@ -43,14 +42,6 @@ namespace Mirall { -void csyncLogCatcher(int /*verbosity*/, - const char */*function*/, - const char *buffer, - void */*userdata*/) -{ - Logger::instance()->csyncLog( QString::fromUtf8(buffer) ); -} - bool SyncEngine::_syncRunning = false; SyncEngine::SyncEngine(CSYNC *ctx, const QString& localPath, const QString& remoteURL, const QString& remotePath, Mirall::SyncJournalDb* journal) @@ -504,7 +495,6 @@ void SyncEngine::startSync() // } // csync_set_auth_callback( _csync_ctx, getauth ); - csync_set_log_callback( csyncLogCatcher ); //csync_set_log_level( 11 ); don't set the loglevel here, it shall be done by folder.cpp or owncloudcmd.cpp int timeout = OwncloudPropagator::httpTimeout(); csync_set_module_property(_csync_ctx, "timeout", &timeout); diff --git a/src/mirall/syncengine.h b/src/mirall/syncengine.h index f78291799..c4a9af7bb 100644 --- a/src/mirall/syncengine.h +++ b/src/mirall/syncengine.h @@ -40,11 +40,6 @@ class SyncJournalDb; class OwncloudPropagator; -void OWNCLOUDSYNC_EXPORT csyncLogCatcher(int /*verbosity*/, - const char */*function*/, - const char *buffer, - void */*userdata*/); - class OWNCLOUDSYNC_EXPORT SyncEngine : public QObject { Q_OBJECT diff --git a/src/owncloudcmd/owncloudcmd.cpp b/src/owncloudcmd/owncloudcmd.cpp index 23a110fe3..ad7a4aea0 100644 --- a/src/owncloudcmd/owncloudcmd.cpp +++ b/src/owncloudcmd/owncloudcmd.cpp @@ -24,7 +24,6 @@ #include "mirall/syncengine.h" #include "mirall/syncjournaldb.h" -#include "mirall/logger.h" #include "csync.h" #include "mirall/clientproxy.h" #include "mirall/account.h" @@ -169,7 +168,6 @@ int main(int argc, char **argv) { } csync_set_log_level(options.silent ? 1 : 11); - Logger::instance()->setLogFile("-"); csync_set_userdata(_csync_ctx, &options); csync_set_auth_callback( _csync_ctx, getauth ); From b80a3876ab2583dc2910625443905f7dd942b612 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 7 Jul 2014 17:10:37 +0200 Subject: [PATCH 131/190] cleanup the CMakeLists.txt Headers need not to be added if they are not going to be installed The list was incomplete anyway, and most of the _HEADERS variables were even not used --- src/CMakeLists.txt | 57 ---------------------------------------------- 1 file changed, 57 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 74a67fc44..e7748b68f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -48,21 +48,6 @@ if (APPLE) ) endif() -set(3rdparty_HEADER -3rdparty/qtsingleapplication/qtlocalpeer.h -3rdparty/qtsingleapplication/qtsingleapplication.h -3rdparty/qtsingleapplication/qtsinglecoreapplication.h -3rdparty/fancylineedit/fancylineedit.h -3rdparty/QProgressIndicator/QProgressIndicator.h -) - -if (APPLE) - list(APPEND 3rdparty_HEADER - 3rdparty/qtmacgoodies/src/macpreferenceswindow.h - 3rdparty/qtmacgoodies/src/macstandardicon.h - ) -endif() - if(NOT WIN32) list(APPEND 3rdparty_SRC 3rdparty/qtlockedfile/qtlockedfile_unix.cpp) else() @@ -284,61 +269,21 @@ set(mirall_SRCS ) - -set(mirall_HEADERS - mirall/application.h - mirall/systray.h - mirall/folderwizard.h - mirall/owncloudsetupwizard.h - mirall/openfilemanager.h - wizard/owncloudwizard.h - wizard/owncloudsetuppage.h - wizard/owncloudhttpcredspage.h - wizard/abstractcredswizardpage.h - wizard/owncloudwizardresultpage.h - wizard/owncloudwizardcommon.h - wizard/owncloudshibbolethcredspage.h - wizard/owncloudadvancedsetuppage.h - mirall/folder.h - mirall/folderman.h - mirall/folderwatcher.h - mirall/folderstatusmodel.h - mirall/sslerrordialog.h - mirall/logbrowser.h - mirall/settingsdialog.h - mirall/generalsettings.h - mirall/networksettings.h - mirall/accountsettings.h - mirall/ignorelisteditor.h - mirall/protocolwidget.h - mirall/owncloudgui.h - mirall/socketapi.h - mirall/sslbutton.h -) - set(updater_SRCS updater/updateinfo.cpp updater/updater.cpp updater/ocupdater.cpp ) -set(updater_HEADERS - updater/updater.h - updater/ocupdater.h -) - IF( APPLE ) list(APPEND mirall_SRCSmirall_SRCS mirall/cocoainitializer_mac.mm) - list(APPEND mirall_HEADERS mirall/cocoainitializer.h) list(APPEND mirall_SRCS mirall/settingsdialogmac.cpp) - list(APPEND mirall_HEADERS mirall/settingsdialogmac.h) if(SPARKLE_FOUND) # Define this, we need to check in updater.cpp add_definitions( -DHAVE_SPARKLE ) list(APPEND updater_SRCS updater/sparkleupdater_mac.mm) - list(APPEND updater_HEADERS updater/sparkleupdater.h) endif() ENDIF() @@ -359,12 +304,10 @@ include_directories(${3rdparty_INC}) qt_add_translation(mirall_I18N ${TRANSLATIONS}) set( final_src - ${mirall_HEADERS} ${MIRALL_RC_SRC} ${mirall_SRCS} ${mirall_UI_SRCS} ${mirallMoc} - ${mirall_HEADERS} ${mirall_I18N} ${3rdparty_SRC} ${3rdparty_MOC} From e0c2e8ed86ad38ca47677bc0c5ab528125dfd372 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 8 Jul 2014 13:02:25 +0200 Subject: [PATCH 132/190] folder: remove TOKEN_AUTH_ONLY Folder is no longer in the libowncloudsync --- src/mirall/folder.cpp | 4 ---- src/mirall/folderman.cpp | 4 ---- 2 files changed, 8 deletions(-) diff --git a/src/mirall/folder.cpp b/src/mirall/folder.cpp index aac7d1c2c..f534a2ee6 100644 --- a/src/mirall/folder.cpp +++ b/src/mirall/folder.cpp @@ -35,10 +35,8 @@ #include #include -#ifndef TOKEN_AUTH_ONLY #include #include -#endif namespace Mirall { @@ -715,7 +713,6 @@ void Folder::slotJobCompleted(const SyncFileItem &item) void Folder::slotAboutToRemoveAllFiles(SyncFileItem::Direction direction, bool *cancel) { -#ifndef TOKEN_AUTH_ONLY QString msg = direction == SyncFileItem::Down ? tr("This sync would remove all the files in the local sync folder '%1'.\n" "If you or your administrator have reset your account on the server, choose " @@ -739,7 +736,6 @@ void Folder::slotAboutToRemoveAllFiles(SyncFileItem::Direction direction, bool * _lastEtag = QString(); QTimer::singleShot(50, this, SLOT(slotPollTimerTimeout())); } -#endif } } // namespace Mirall diff --git a/src/mirall/folderman.cpp b/src/mirall/folderman.cpp index 5b55e4c01..496608b8d 100644 --- a/src/mirall/folderman.cpp +++ b/src/mirall/folderman.cpp @@ -27,9 +27,7 @@ #include #endif -#ifndef TOKEN_AUTH_ONLY #include -#endif #include @@ -164,7 +162,6 @@ int FolderMan::setupFolders() bool FolderMan::ensureJournalGone(const QString &localPath) { // FIXME move this to UI, not libowncloudsync -#ifndef TOKEN_AUTH_ONLY // remove old .csync_journal file QString stateDbFile = localPath+QLatin1String("/.csync_journal.db"); while (QFile::exists(stateDbFile) && !QFile::remove(stateDbFile)) { @@ -178,7 +175,6 @@ bool FolderMan::ensureJournalGone(const QString &localPath) return false; } } -#endif return true; } From bcfa34357b3472d250090fc8cfe04d72a45d0047 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 9 Jul 2014 23:22:28 +0200 Subject: [PATCH 133/190] Add Q_DECL_OVERRIDE for all function that are overriding something This was made automatically with clang-modernize -override-macros -add-override --- .../QProgressIndicator/QProgressIndicator.h | 8 ++--- src/3rdparty/fancylineedit/fancylineedit.cpp | 2 +- src/3rdparty/fancylineedit/fancylineedit.h | 4 +-- .../qtsingleapplication/qtsingleapplication.h | 2 +- src/creds/dummycredentials.h | 22 +++++++------- src/creds/httpcredentials.cpp | 2 +- src/creds/httpcredentials.h | 22 +++++++------- src/creds/shibboleth/shibbolethuserjob.h | 4 +-- src/creds/shibboleth/shibbolethwebview.h | 2 +- src/creds/shibbolethcredentials.h | 24 +++++++-------- src/mirall/cookiejar.h | 6 ++-- src/mirall/folderstatusmodel.h | 10 +++---- src/mirall/folderwizard.h | 12 ++++---- src/mirall/logbrowser.h | 2 +- src/mirall/mirallaccessmanager.h | 2 +- src/mirall/networkjobs.h | 30 +++++++++---------- src/mirall/owncloudpropagator.h | 6 ++-- src/mirall/owncloudsetupwizard.h | 8 ++--- src/mirall/owncloudtheme.h | 20 ++++++------- src/mirall/propagator_legacy.h | 4 +-- src/mirall/propagator_qnam.cpp | 14 ++++----- src/mirall/propagator_qnam.h | 20 ++++++------- src/mirall/propagatorjobs.h | 14 ++++----- src/mirall/settingsdialog.h | 4 +-- src/mirall/sslerrordialog.h | 2 +- src/owncloudcmd/simplesslerrorhandler.h | 2 +- src/updater/ocupdater.h | 12 ++++---- src/updater/sparkleupdater.h | 6 ++-- src/wizard/abstractcredswizardpage.h | 2 +- src/wizard/owncloudadvancedsetuppage.h | 8 ++--- src/wizard/owncloudhttpcredspage.h | 10 +++---- src/wizard/owncloudsetuppage.h | 8 ++--- src/wizard/owncloudshibbolethcredspage.h | 8 ++--- src/wizard/owncloudwizardresultpage.h | 4 +-- 34 files changed, 153 insertions(+), 153 deletions(-) diff --git a/src/3rdparty/QProgressIndicator/QProgressIndicator.h b/src/3rdparty/QProgressIndicator/QProgressIndicator.h index 0614da60d..ec81fb72b 100644 --- a/src/3rdparty/QProgressIndicator/QProgressIndicator.h +++ b/src/3rdparty/QProgressIndicator/QProgressIndicator.h @@ -64,8 +64,8 @@ public: */ const QColor & color() const { return m_color; } - virtual QSize sizeHint() const; - int heightForWidth(int w) const; + virtual QSize sizeHint() const Q_DECL_OVERRIDE; + int heightForWidth(int w) const Q_DECL_OVERRIDE; public slots: /*! Starts the spin animation. \sa stopAnimation isAnimated @@ -95,8 +95,8 @@ public slots: */ void setColor(const QColor & color); protected: - virtual void timerEvent(QTimerEvent * event); - virtual void paintEvent(QPaintEvent * event); + virtual void timerEvent(QTimerEvent * event) Q_DECL_OVERRIDE; + virtual void paintEvent(QPaintEvent * event) Q_DECL_OVERRIDE; private: int m_angle; int m_timerId; diff --git a/src/3rdparty/fancylineedit/fancylineedit.cpp b/src/3rdparty/fancylineedit/fancylineedit.cpp index 84d9fa1b4..e6357064b 100644 --- a/src/3rdparty/fancylineedit/fancylineedit.cpp +++ b/src/3rdparty/fancylineedit/fancylineedit.cpp @@ -99,7 +99,7 @@ class FancyLineEditPrivate : public QObject public: explicit FancyLineEditPrivate(FancyLineEdit *parent); - virtual bool eventFilter(QObject *obj, QEvent *event); + virtual bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE; FancyLineEdit *m_lineEdit; QPixmap m_pixmap[2]; diff --git a/src/3rdparty/fancylineedit/fancylineedit.h b/src/3rdparty/fancylineedit/fancylineedit.h index a148c3df2..a9b995005 100644 --- a/src/3rdparty/fancylineedit/fancylineedit.h +++ b/src/3rdparty/fancylineedit/fancylineedit.h @@ -45,7 +45,7 @@ class IconButton: public QAbstractButton Q_PROPERTY(QPixmap pixmap READ pixmap WRITE setPixmap) public: explicit IconButton(QWidget *parent = 0); - void paintEvent(QPaintEvent *event); + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; void setPixmap(const QPixmap &pixmap) { m_pixmap = pixmap; update(); } QPixmap pixmap() const { return m_pixmap; } float iconOpacity() { return m_iconOpacity; } @@ -105,7 +105,7 @@ private slots: void iconClicked(); protected: - virtual void resizeEvent(QResizeEvent *e); + virtual void resizeEvent(QResizeEvent *e) Q_DECL_OVERRIDE; private: void updateMargins(); diff --git a/src/3rdparty/qtsingleapplication/qtsingleapplication.h b/src/3rdparty/qtsingleapplication/qtsingleapplication.h index 9e8d86cf5..384a71ce8 100644 --- a/src/3rdparty/qtsingleapplication/qtsingleapplication.h +++ b/src/3rdparty/qtsingleapplication/qtsingleapplication.h @@ -50,7 +50,7 @@ public: void setActivationWindow(QWidget* aw, bool activateOnMessage = true); QWidget* activationWindow() const; - bool event(QEvent *event); + bool event(QEvent *event) Q_DECL_OVERRIDE; QString applicationId() const; void setBlock(bool value); diff --git a/src/creds/dummycredentials.h b/src/creds/dummycredentials.h index d6401b2ed..516280fe7 100644 --- a/src/creds/dummycredentials.h +++ b/src/creds/dummycredentials.h @@ -27,17 +27,17 @@ public: QString _user; QString _password; - void syncContextPreInit(CSYNC* ctx); - void syncContextPreStart(CSYNC* ctx); - bool changed(AbstractCredentials* credentials) const; - QString authType() const; - QString user() const; - QNetworkAccessManager* getQNAM() const; - bool ready() const; - bool stillValid(QNetworkReply *reply); - void fetch(Account*); - void persist(Account*); - void invalidateToken(Account *) {} + void syncContextPreInit(CSYNC* ctx) Q_DECL_OVERRIDE; + void syncContextPreStart(CSYNC* ctx) Q_DECL_OVERRIDE; + bool changed(AbstractCredentials* credentials) const Q_DECL_OVERRIDE; + QString authType() const Q_DECL_OVERRIDE; + QString user() const Q_DECL_OVERRIDE; + QNetworkAccessManager* getQNAM() const Q_DECL_OVERRIDE; + bool ready() const Q_DECL_OVERRIDE; + bool stillValid(QNetworkReply *reply) Q_DECL_OVERRIDE; + void fetch(Account*) Q_DECL_OVERRIDE; + void persist(Account*) Q_DECL_OVERRIDE; + void invalidateToken(Account *) Q_DECL_OVERRIDE {} }; } // ns Mirall diff --git a/src/creds/httpcredentials.cpp b/src/creds/httpcredentials.cpp index 72d238713..1312ee33e 100644 --- a/src/creds/httpcredentials.cpp +++ b/src/creds/httpcredentials.cpp @@ -85,7 +85,7 @@ public: HttpCredentialsAccessManager(const HttpCredentials *cred, QObject* parent = 0) : MirallAccessManager(parent), _cred(cred) {} protected: - QNetworkReply *createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData) { + QNetworkReply *createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData) Q_DECL_OVERRIDE { QByteArray credHash = QByteArray(_cred->user().toUtf8()+":"+_cred->password().toUtf8()).toBase64(); QNetworkRequest req(request); req.setRawHeader(QByteArray("Authorization"), QByteArray("Basic ") + credHash); diff --git a/src/creds/httpcredentials.h b/src/creds/httpcredentials.h index 38402fc8c..92360f376 100644 --- a/src/creds/httpcredentials.h +++ b/src/creds/httpcredentials.h @@ -38,19 +38,19 @@ public: HttpCredentials(); HttpCredentials(const QString& user, const QString& password); - void syncContextPreInit(CSYNC* ctx); - void syncContextPreStart(CSYNC* ctx); - bool changed(AbstractCredentials* credentials) const; - QString authType() const; - QNetworkAccessManager* getQNAM() const; - bool ready() const; - void fetch(Account *account); - bool stillValid(QNetworkReply *reply); - void persist(Account *account); - QString user() const; + void syncContextPreInit(CSYNC* ctx) Q_DECL_OVERRIDE; + void syncContextPreStart(CSYNC* ctx) Q_DECL_OVERRIDE; + bool changed(AbstractCredentials* credentials) const Q_DECL_OVERRIDE; + QString authType() const Q_DECL_OVERRIDE; + QNetworkAccessManager* getQNAM() const Q_DECL_OVERRIDE; + bool ready() const Q_DECL_OVERRIDE; + void fetch(Account *account) Q_DECL_OVERRIDE; + bool stillValid(QNetworkReply *reply) Q_DECL_OVERRIDE; + void persist(Account *account) Q_DECL_OVERRIDE; + QString user() const Q_DECL_OVERRIDE; QString password() const; QString queryPassword(bool *ok); - void invalidateToken(Account *account); + void invalidateToken(Account *account) Q_DECL_OVERRIDE; QString fetchUser(Account *account); private Q_SLOTS: diff --git a/src/creds/shibboleth/shibbolethuserjob.h b/src/creds/shibboleth/shibbolethuserjob.h index 8042fe939..3f2c10b59 100644 --- a/src/creds/shibboleth/shibbolethuserjob.h +++ b/src/creds/shibboleth/shibbolethuserjob.h @@ -27,14 +27,14 @@ class ShibbolethUserJob : public AbstractNetworkJob { public: explicit ShibbolethUserJob(Account *account, QObject* parent = 0); public slots: - void start(); + void start() Q_DECL_OVERRIDE; signals: // is always emitted when the job is finished. user is empty in case of error. void userFetched(const QString &user); private slots: - virtual bool finished(); + virtual bool finished() Q_DECL_OVERRIDE; }; diff --git a/src/creds/shibboleth/shibbolethwebview.h b/src/creds/shibboleth/shibbolethwebview.h index 37b58c8cb..29e642a1f 100644 --- a/src/creds/shibboleth/shibbolethwebview.h +++ b/src/creds/shibboleth/shibbolethwebview.h @@ -37,7 +37,7 @@ public: ShibbolethWebView(Account *account, ShibbolethCookieJar* jar, QWidget* parent = 0); ~ShibbolethWebView(); - void closeEvent(QCloseEvent *event); + void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE; Q_SIGNALS: void shibbolethCookieReceived(const QNetworkCookie &cookie, Account *account); diff --git a/src/creds/shibbolethcredentials.h b/src/creds/shibbolethcredentials.h index cb778f219..5a58fac4f 100644 --- a/src/creds/shibbolethcredentials.h +++ b/src/creds/shibbolethcredentials.h @@ -43,17 +43,17 @@ public: /* create a credidentials for an already connected account */ ShibbolethCredentials(const QNetworkCookie &cookie, Account *acc); - void syncContextPreInit(CSYNC* ctx); - void syncContextPreStart(CSYNC* ctx); - bool changed(AbstractCredentials* credentials) const; - QString authType() const; - QString user() const; - QNetworkAccessManager* getQNAM() const; - bool ready() const; - void fetch(Account *account); - bool stillValid(QNetworkReply *reply); - void persist(Account *account); - void invalidateToken(Account *account); + void syncContextPreInit(CSYNC* ctx) Q_DECL_OVERRIDE; + void syncContextPreStart(CSYNC* ctx) Q_DECL_OVERRIDE; + bool changed(AbstractCredentials* credentials) const Q_DECL_OVERRIDE; + QString authType() const Q_DECL_OVERRIDE; + QString user() const Q_DECL_OVERRIDE; + QNetworkAccessManager* getQNAM() const Q_DECL_OVERRIDE; + bool ready() const Q_DECL_OVERRIDE; + void fetch(Account *account) Q_DECL_OVERRIDE; + bool stillValid(QNetworkReply *reply) Q_DECL_OVERRIDE; + void persist(Account *account) Q_DECL_OVERRIDE; + void invalidateToken(Account *account) Q_DECL_OVERRIDE; void showLoginWindow(Account*); @@ -62,7 +62,7 @@ public: static QByteArray shibCookieName(); public Q_SLOTS: - void invalidateAndFetch(Account *account); + void invalidateAndFetch(Account *account) Q_DECL_OVERRIDE; void slotHandleAuthentication(QNetworkReply*,QAuthenticator*); private Q_SLOTS: diff --git a/src/mirall/cookiejar.h b/src/mirall/cookiejar.h index 6e84c80f1..acb0c31cf 100644 --- a/src/mirall/cookiejar.h +++ b/src/mirall/cookiejar.h @@ -26,10 +26,10 @@ class OWNCLOUDSYNC_EXPORT CookieJar : public QNetworkCookieJar public: explicit CookieJar(QObject *parent = 0); ~CookieJar(); - bool setCookiesFromUrl(const QList &cookieList, const QUrl &url); - QList cookiesForUrl(const QUrl &url) const; + bool setCookiesFromUrl(const QList &cookieList, const QUrl &url) Q_DECL_OVERRIDE; + QList cookiesForUrl(const QUrl &url) const Q_DECL_OVERRIDE; - virtual bool deleteCookie(const QNetworkCookie & cookie); + virtual bool deleteCookie(const QNetworkCookie & cookie) Q_DECL_OVERRIDE; void clearSessionCookies(); signals: diff --git a/src/mirall/folderstatusmodel.h b/src/mirall/folderstatusmodel.h index 53a5c8594..74acaa08a 100644 --- a/src/mirall/folderstatusmodel.h +++ b/src/mirall/folderstatusmodel.h @@ -24,8 +24,8 @@ class FolderStatusModel : public QStandardItemModel { public: FolderStatusModel(); - virtual Qt::ItemFlags flags( const QModelIndex& ) const; - QVariant data(const QModelIndex &index, int role) const; + virtual Qt::ItemFlags flags( const QModelIndex& ) const Q_DECL_OVERRIDE; + QVariant data(const QModelIndex &index, int role) const Q_DECL_OVERRIDE; }; @@ -52,10 +52,10 @@ class FolderStatusDelegate : public QStyledItemDelegate WarningCount, SyncRunning }; - void paint( QPainter*, const QStyleOptionViewItem&, const QModelIndex& ) const; - QSize sizeHint( const QStyleOptionViewItem&, const QModelIndex& ) const; + void paint( QPainter*, const QStyleOptionViewItem&, const QModelIndex& ) const Q_DECL_OVERRIDE; + QSize sizeHint( const QStyleOptionViewItem&, const QModelIndex& ) const Q_DECL_OVERRIDE; bool editorEvent( QEvent* event, QAbstractItemModel* model, const QStyleOptionViewItem& option, - const QModelIndex& index ); + const QModelIndex& index ) Q_DECL_OVERRIDE; }; } // namespace Mirall diff --git a/src/mirall/folderwizard.h b/src/mirall/folderwizard.h index 95862a029..8db9b1319 100644 --- a/src/mirall/folderwizard.h +++ b/src/mirall/folderwizard.h @@ -43,9 +43,9 @@ public: FolderWizardLocalPath(); ~FolderWizardLocalPath(); - virtual bool isComplete() const; - void initializePage(); - void cleanupPage(); + virtual bool isComplete() const Q_DECL_OVERRIDE; + void initializePage() Q_DECL_OVERRIDE; + void cleanupPage() Q_DECL_OVERRIDE; void setFolderMap( const Folder::Map &fm ) { _folderMap = fm; } protected slots: @@ -68,10 +68,10 @@ public: FolderWizardRemotePath(); ~FolderWizardRemotePath(); - virtual bool isComplete() const; + virtual bool isComplete() const Q_DECL_OVERRIDE; - virtual void initializePage(); - virtual void cleanupPage(); + virtual void initializePage() Q_DECL_OVERRIDE; + virtual void cleanupPage() Q_DECL_OVERRIDE; protected slots: diff --git a/src/mirall/logbrowser.h b/src/mirall/logbrowser.h index b46963ce6..24f2406bb 100644 --- a/src/mirall/logbrowser.h +++ b/src/mirall/logbrowser.h @@ -48,7 +48,7 @@ public: void setLogFile(const QString& , bool ); protected: - void closeEvent(QCloseEvent *); + void closeEvent(QCloseEvent *) Q_DECL_OVERRIDE; protected slots: void slotNewLog( const QString &msg ); diff --git a/src/mirall/mirallaccessmanager.h b/src/mirall/mirallaccessmanager.h index 149dd5ae4..d2fc0e531 100644 --- a/src/mirall/mirallaccessmanager.h +++ b/src/mirall/mirallaccessmanager.h @@ -28,7 +28,7 @@ public: MirallAccessManager(QObject* parent = 0); protected: - QNetworkReply* createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest& request, QIODevice* outgoingData = 0); + QNetworkReply* createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest& request, QIODevice* outgoingData = 0) Q_DECL_OVERRIDE; protected slots: void slotProxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *authenticator); }; diff --git a/src/mirall/networkjobs.h b/src/mirall/networkjobs.h index 6f0834303..a15ed92b8 100644 --- a/src/mirall/networkjobs.h +++ b/src/mirall/networkjobs.h @@ -114,13 +114,13 @@ class OWNCLOUDSYNC_EXPORT EntityExistsJob : public AbstractNetworkJob { Q_OBJECT public: explicit EntityExistsJob(Account *account, const QString &path, QObject* parent = 0); - void start(); + void start() Q_DECL_OVERRIDE; signals: void exists(QNetworkReply*); private slots: - virtual bool finished(); + virtual bool finished() Q_DECL_OVERRIDE; }; /** @@ -130,13 +130,13 @@ class OWNCLOUDSYNC_EXPORT LsColJob : public AbstractNetworkJob { Q_OBJECT public: explicit LsColJob(Account *account, const QString &path, QObject *parent = 0); - void start(); + void start() Q_DECL_OVERRIDE; signals: void directoryListing(const QStringList &items); private slots: - virtual bool finished(); + virtual bool finished() Q_DECL_OVERRIDE; }; /** @@ -146,7 +146,7 @@ class PropfindJob : public AbstractNetworkJob { Q_OBJECT public: explicit PropfindJob(Account *account, const QString &path, QObject *parent = 0); - void start(); + void start() Q_DECL_OVERRIDE; void setProperties(QList properties); QList properties() const; @@ -154,7 +154,7 @@ signals: void result(const QVariantMap &values); private slots: - virtual bool finished(); + virtual bool finished() Q_DECL_OVERRIDE; private: QList _properties; @@ -167,13 +167,13 @@ class OWNCLOUDSYNC_EXPORT MkColJob : public AbstractNetworkJob { Q_OBJECT public: explicit MkColJob(Account *account, const QString &path, QObject *parent = 0); - void start(); + void start() Q_DECL_OVERRIDE; signals: void finished(QNetworkReply::NetworkError); private slots: - virtual bool finished(); + virtual bool finished() Q_DECL_OVERRIDE; }; /** @@ -183,7 +183,7 @@ class OWNCLOUDSYNC_EXPORT CheckServerJob : public AbstractNetworkJob { Q_OBJECT public: explicit CheckServerJob(Account *account, bool followRedirect = false, QObject *parent = 0); - void start(); + void start() Q_DECL_OVERRIDE; static QString version(const QVariantMap &info); static QString versionString(const QVariantMap &info); @@ -195,8 +195,8 @@ signals: void timeout(const QUrl&url); private slots: - virtual bool finished(); - virtual void slotTimeout(); + virtual bool finished() Q_DECL_OVERRIDE; + virtual void slotTimeout() Q_DECL_OVERRIDE; private: bool _followRedirects; @@ -212,13 +212,13 @@ class RequestEtagJob : public AbstractNetworkJob { Q_OBJECT public: explicit RequestEtagJob(Account *account, const QString &path, QObject *parent = 0); - void start(); + void start() Q_DECL_OVERRIDE; signals: void etagRetreived(const QString &etag); private slots: - virtual bool finished(); + virtual bool finished() Q_DECL_OVERRIDE; }; /** @@ -228,14 +228,14 @@ class CheckQuotaJob : public AbstractNetworkJob { Q_OBJECT public: explicit CheckQuotaJob(Account *account, const QString &path, QObject *parent = 0); - void start(); + void start() Q_DECL_OVERRIDE; signals: void quotaRetrieved(qint64 totalBytes, qint64 availableBytes); private slots: /** Return true if you want the job to be deleted after this slot has finished running. */ - virtual bool finished(); + virtual bool finished() Q_DECL_OVERRIDE; }; } // namespace Mirall diff --git a/src/mirall/owncloudpropagator.h b/src/mirall/owncloudpropagator.h index d63ec08f3..cfec6653b 100644 --- a/src/mirall/owncloudpropagator.h +++ b/src/mirall/owncloudpropagator.h @@ -102,8 +102,8 @@ public: _subJobs.append(subJob); } - virtual void start(); - virtual void abort() { + virtual void start() Q_DECL_OVERRIDE; + virtual void abort() Q_DECL_OVERRIDE { if (_firstJob) _firstJob->abort(); foreach (PropagatorJob *j, _subJobs) @@ -168,7 +168,7 @@ class PropagateIgnoreJob : public PropagateItemJob { public: PropagateIgnoreJob(OwncloudPropagator* propagator,const SyncFileItem& item) : PropagateItemJob(propagator, item) {} - void start() { + void start() Q_DECL_OVERRIDE { SyncFileItem::Status status = _item._status; done(status == SyncFileItem::NoStatus ? SyncFileItem::FileIgnored : status, _item._errorString); } diff --git a/src/mirall/owncloudsetupwizard.h b/src/mirall/owncloudsetupwizard.h index 681b776be..a35c57c2b 100644 --- a/src/mirall/owncloudsetupwizard.h +++ b/src/mirall/owncloudsetupwizard.h @@ -35,22 +35,22 @@ class ValidateDavAuthJob : public AbstractNetworkJob { Q_OBJECT public: ValidateDavAuthJob(Account* account, QObject *parent = 0); - void start(); + void start() Q_DECL_OVERRIDE; signals: void authResult(QNetworkReply*); private slots: - bool finished(); + bool finished() Q_DECL_OVERRIDE; }; class DetermineAuthTypeJob : public AbstractNetworkJob { Q_OBJECT public: explicit DetermineAuthTypeJob(Account *account, QObject *parent = 0); - void start(); + void start() Q_DECL_OVERRIDE; signals: void authType(WizardCommon::AuthType); private slots: - bool finished(); + bool finished() Q_DECL_OVERRIDE; private: int _redirects; }; diff --git a/src/mirall/owncloudtheme.h b/src/mirall/owncloudtheme.h index df6736166..33b33e2a9 100644 --- a/src/mirall/owncloudtheme.h +++ b/src/mirall/owncloudtheme.h @@ -25,21 +25,21 @@ class ownCloudTheme : public Theme public: ownCloudTheme(); - QString configFileName() const; - QString about() const; + QString configFileName() const Q_DECL_OVERRIDE; + QString about() const Q_DECL_OVERRIDE; QPixmap splashScreen() const; QIcon folderIcon( const QString& ) const; - QIcon trayFolderIcon( const QString& ) const; - QIcon folderDisabledIcon() const; - QIcon applicationIcon() const; + QIcon trayFolderIcon( const QString& ) const Q_DECL_OVERRIDE; + QIcon folderDisabledIcon() const Q_DECL_OVERRIDE; + QIcon applicationIcon() const Q_DECL_OVERRIDE; - QVariant customMedia(CustomMediaType type); - QString helpUrl() const; + QVariant customMedia(CustomMediaType type) Q_DECL_OVERRIDE; + QString helpUrl() const Q_DECL_OVERRIDE; - QColor wizardHeaderBackgroundColor() const; - QColor wizardHeaderTitleColor() const; - QPixmap wizardHeaderLogo() const; + QColor wizardHeaderBackgroundColor() const Q_DECL_OVERRIDE; + QColor wizardHeaderTitleColor() const Q_DECL_OVERRIDE; + QPixmap wizardHeaderLogo() const Q_DECL_OVERRIDE; private: diff --git a/src/mirall/propagator_legacy.h b/src/mirall/propagator_legacy.h index a624064b7..eee25c0dd 100644 --- a/src/mirall/propagator_legacy.h +++ b/src/mirall/propagator_legacy.h @@ -25,7 +25,7 @@ public: explicit PropagateUploadFileLegacy(OwncloudPropagator* propagator,const SyncFileItem& item) : PropagateNeonJob(propagator, item) , _chunked_done(0), _chunked_total_size(0), _previousFileSize(0) {} - void start(); + void start() Q_DECL_OVERRIDE; private: // Log callback for httpbf static void _log_callback(const char *func, const char *text, void*) @@ -54,7 +54,7 @@ class PropagateDownloadFileLegacy: public PropagateNeonJob { public: explicit PropagateDownloadFileLegacy(OwncloudPropagator* propagator,const SyncFileItem& item) : PropagateNeonJob(propagator, item), _file(0) {} - void start(); + void start() Q_DECL_OVERRIDE; private: QFile *_file; QScopedPointer _decompress; diff --git a/src/mirall/propagator_qnam.cpp b/src/mirall/propagator_qnam.cpp index df2c22985..475a5b98a 100644 --- a/src/mirall/propagator_qnam.cpp +++ b/src/mirall/propagator_qnam.cpp @@ -129,12 +129,12 @@ public: _file->seek(start); } - virtual qint64 writeData(const char* , qint64 ) { + virtual qint64 writeData(const char* , qint64 ) Q_DECL_OVERRIDE { Q_ASSERT(!"write to read only device"); return 0; } - virtual qint64 readData(char* data, qint64 maxlen) { + virtual qint64 readData(char* data, qint64 maxlen) Q_DECL_OVERRIDE { maxlen = qMin(maxlen, chunkSize() - _read); if (maxlen == 0) return 0; @@ -145,25 +145,25 @@ public: return ret; } - virtual bool atEnd() const { + virtual bool atEnd() const Q_DECL_OVERRIDE { return _read >= chunkSize() || _file->atEnd(); } - virtual qint64 size() const{ + virtual qint64 size() const Q_DECL_OVERRIDE{ return _size; } - qint64 bytesAvailable() const + qint64 bytesAvailable() const Q_DECL_OVERRIDE { return _size - _read + QIODevice::bytesAvailable(); } // random access, we can seek - virtual bool isSequential() const{ + virtual bool isSequential() const Q_DECL_OVERRIDE{ return false; } - virtual bool seek ( qint64 pos ) { + virtual bool seek ( qint64 pos ) Q_DECL_OVERRIDE { _read = pos; return _file->seek(pos + _start); } diff --git a/src/mirall/propagator_qnam.h b/src/mirall/propagator_qnam.h index f8c727b31..fee64cf5a 100644 --- a/src/mirall/propagator_qnam.h +++ b/src/mirall/propagator_qnam.h @@ -61,9 +61,9 @@ public: const QMap &headers, QObject* parent = 0) : AbstractNetworkJob(account, path, parent), _device(device), _headers(headers) {} - virtual void start(); + virtual void start() Q_DECL_OVERRIDE; - virtual bool finished() { + virtual bool finished() Q_DECL_OVERRIDE { emit finishedSignal(); return true; } @@ -72,7 +72,7 @@ public: return _errorString.isEmpty() ? reply()->errorString() : _errorString; }; - virtual void slotTimeout(); + virtual void slotTimeout() Q_DECL_OVERRIDE; signals: @@ -93,11 +93,11 @@ class PropagateUploadFileQNAM : public PropagateItemJob { public: PropagateUploadFileQNAM(OwncloudPropagator* propagator,const SyncFileItem& item) : PropagateItemJob(propagator, item), _startChunk(0), _currentChunk(0), _chunkCount(0), _transferId(0) {} - void start(); + void start() Q_DECL_OVERRIDE; private slots: void slotPutFinished(); void slotUploadProgress(qint64,qint64); - void abort(); + void abort() Q_DECL_OVERRIDE; void startNextChunk(); void finalize(const Mirall::SyncFileItem&); }; @@ -123,8 +123,8 @@ public: const QMap &headers, QObject* parent = 0); - virtual void start(); - virtual bool finished() { + virtual void start() Q_DECL_OVERRIDE; + virtual bool finished() Q_DECL_OVERRIDE { emit finishedSignal(); return true; } @@ -135,7 +135,7 @@ public: SyncFileItem::Status errorStatus() { return _errorStatus; } - virtual void slotTimeout(); + virtual void slotTimeout() Q_DECL_OVERRIDE; QByteArray &etag() { return _etag; } @@ -159,10 +159,10 @@ class PropagateDownloadFileQNAM : public PropagateItemJob { public: PropagateDownloadFileQNAM(OwncloudPropagator* propagator,const SyncFileItem& item) : PropagateItemJob(propagator, item), _startSize(0) {} - void start(); + void start() Q_DECL_OVERRIDE; private slots: void slotGetFinished(); - void abort(); + void abort() Q_DECL_OVERRIDE; void downloadFinished(); void slotDownloadProgress(qint64,qint64); diff --git a/src/mirall/propagatorjobs.h b/src/mirall/propagatorjobs.h index 3fc512acf..df7a5e472 100644 --- a/src/mirall/propagatorjobs.h +++ b/src/mirall/propagatorjobs.h @@ -74,26 +74,26 @@ class PropagateLocalRemove : public PropagateItemJob { Q_OBJECT public: PropagateLocalRemove (OwncloudPropagator* propagator,const SyncFileItem& item) : PropagateItemJob(propagator, item) {} - void start(); + void start() Q_DECL_OVERRIDE; }; class PropagateLocalMkdir : public PropagateItemJob { Q_OBJECT public: PropagateLocalMkdir (OwncloudPropagator* propagator,const SyncFileItem& item) : PropagateItemJob(propagator, item) {} - void start(); + void start() Q_DECL_OVERRIDE; }; class PropagateRemoteRemove : public PropagateNeonJob { Q_OBJECT public: PropagateRemoteRemove (OwncloudPropagator* propagator,const SyncFileItem& item) : PropagateNeonJob(propagator, item) {} - void start(); + void start() Q_DECL_OVERRIDE; }; class PropagateRemoteMkdir : public PropagateNeonJob { Q_OBJECT public: PropagateRemoteMkdir (OwncloudPropagator* propagator,const SyncFileItem& item) : PropagateNeonJob(propagator, item) {} - void start(); + void start() Q_DECL_OVERRIDE; private: static void propfind_results(void *userdata, const ne_uri *uri, const ne_prop_result_set *set); friend class PropagateDirectory; // So it can access the _item; @@ -102,13 +102,13 @@ class PropagateLocalRename : public PropagateItemJob { Q_OBJECT public: PropagateLocalRename (OwncloudPropagator* propagator,const SyncFileItem& item) : PropagateItemJob(propagator, item) {} - void start(); + void start() Q_DECL_OVERRIDE; }; class PropagateRemoteRename : public PropagateNeonJob { Q_OBJECT public: PropagateRemoteRename (OwncloudPropagator* propagator,const SyncFileItem& item) : PropagateNeonJob(propagator, item) {} - void start(); + void start() Q_DECL_OVERRIDE; }; @@ -117,7 +117,7 @@ class UpdateMTimeAndETagJob : public PropagateNeonJob{ Q_OBJECT public: UpdateMTimeAndETagJob (OwncloudPropagator* propagator, const SyncFileItem& item) : PropagateNeonJob(propagator, item) {} - void start(); + void start() Q_DECL_OVERRIDE; }; diff --git a/src/mirall/settingsdialog.h b/src/mirall/settingsdialog.h index 373f5efc6..fe82e77e5 100644 --- a/src/mirall/settingsdialog.h +++ b/src/mirall/settingsdialog.h @@ -49,8 +49,8 @@ public slots: void showActivityPage(); protected: - void reject(); - void accept(); + void reject() Q_DECL_OVERRIDE; + void accept() Q_DECL_OVERRIDE; private: Ui::SettingsDialog *_ui; diff --git a/src/mirall/sslerrordialog.h b/src/mirall/sslerrordialog.h index ad53e4a9f..b8639844a 100644 --- a/src/mirall/sslerrordialog.h +++ b/src/mirall/sslerrordialog.h @@ -33,7 +33,7 @@ class SslErrorDialog; class SslDialogErrorHandler : public AbstractSslErrorHandler { public: - bool handleErrors(QList errors, QList *certs, Account*); + bool handleErrors(QList errors, QList *certs, Account*) Q_DECL_OVERRIDE; }; class SslErrorDialog : public QDialog diff --git a/src/owncloudcmd/simplesslerrorhandler.h b/src/owncloudcmd/simplesslerrorhandler.h index 0a6bfd702..8e6876161 100644 --- a/src/owncloudcmd/simplesslerrorhandler.h +++ b/src/owncloudcmd/simplesslerrorhandler.h @@ -20,7 +20,7 @@ class QSslCertificate; class SimpleSslErrorHandler : public Mirall::AbstractSslErrorHandler { public: - bool handleErrors(QList errors, QList *certs, Mirall::Account*); + bool handleErrors(QList errors, QList *certs, Mirall::Account*) Q_DECL_OVERRIDE; }; #endif // SIMPLESSLERRORHANDLER_H diff --git a/src/updater/ocupdater.h b/src/updater/ocupdater.h index 2b7c9765b..1041517bc 100644 --- a/src/updater/ocupdater.h +++ b/src/updater/ocupdater.h @@ -40,8 +40,8 @@ public: bool performUpdate(); - void checkForUpdate(); - void backgroundCheckForUpdate(); + void checkForUpdate() Q_DECL_OVERRIDE; + void backgroundCheckForUpdate() Q_DECL_OVERRIDE; QString statusString() const; int downloadState() const; @@ -77,7 +77,7 @@ class NSISUpdater : public OCUpdater { public: enum UpdateState { NoUpdate = 0, UpdateAvailable, UpdateFailed }; explicit NSISUpdater(const QUrl &url, QObject *parent = 0); - bool handleStartup(); + bool handleStartup() Q_DECL_OVERRIDE; private slots: void slotSetSeenVersion(); void slotDownloadFinished(); @@ -85,7 +85,7 @@ private slots: private: NSISUpdater::UpdateState updateStateOnStart(); void showDialog(const UpdateInfo &info); - void versionInfoArrived(const UpdateInfo &info); + void versionInfoArrived(const UpdateInfo &info) Q_DECL_OVERRIDE; QScopedPointer _file; QString _targetFile; bool _showFallbackMessage; @@ -98,10 +98,10 @@ class PassiveUpdateNotifier : public OCUpdater { Q_OBJECT public: explicit PassiveUpdateNotifier(const QUrl &url, QObject *parent = 0); - bool handleStartup() { return false; } + bool handleStartup() Q_DECL_OVERRIDE { return false; } private: - void versionInfoArrived(const UpdateInfo &info); + void versionInfoArrived(const UpdateInfo &info) Q_DECL_OVERRIDE; }; diff --git a/src/updater/sparkleupdater.h b/src/updater/sparkleupdater.h index 424f11fa5..373e8a25c 100644 --- a/src/updater/sparkleupdater.h +++ b/src/updater/sparkleupdater.h @@ -26,9 +26,9 @@ public: ~SparkleUpdater(); // unused in this updater - void checkForUpdate(); - void backgroundCheckForUpdate(); - bool handleStartup() { return false; } + void checkForUpdate() Q_DECL_OVERRIDE; + void backgroundCheckForUpdate() Q_DECL_OVERRIDE; + bool handleStartup() Q_DECL_OVERRIDE { return false; } private: class Private; Private *d; diff --git a/src/wizard/abstractcredswizardpage.h b/src/wizard/abstractcredswizardpage.h index f79fae414..a2ef1fe9a 100644 --- a/src/wizard/abstractcredswizardpage.h +++ b/src/wizard/abstractcredswizardpage.h @@ -24,7 +24,7 @@ class AbstractCredentials; class AbstractCredentialsWizardPage : public QWizardPage { public: - void cleanupPage(); + void cleanupPage() Q_DECL_OVERRIDE; virtual AbstractCredentials* getCredentials() const = 0; }; diff --git a/src/wizard/owncloudadvancedsetuppage.h b/src/wizard/owncloudadvancedsetuppage.h index 5d01e21d2..1d897fe77 100644 --- a/src/wizard/owncloudadvancedsetuppage.h +++ b/src/wizard/owncloudadvancedsetuppage.h @@ -31,10 +31,10 @@ class OwncloudAdvancedSetupPage: public QWizardPage public: OwncloudAdvancedSetupPage(); - virtual bool isComplete() const; - virtual void initializePage(); - virtual int nextId() const; - bool validatePage(); + virtual bool isComplete() const Q_DECL_OVERRIDE; + virtual void initializePage() Q_DECL_OVERRIDE; + virtual int nextId() const Q_DECL_OVERRIDE; + bool validatePage() Q_DECL_OVERRIDE; QString localFolder() const; void setRemoteFolder( const QString& remoteFolder); void setMultipleFoldersExist( bool exist ); diff --git a/src/wizard/owncloudhttpcredspage.h b/src/wizard/owncloudhttpcredspage.h index 86e4cf2c3..70356836c 100644 --- a/src/wizard/owncloudhttpcredspage.h +++ b/src/wizard/owncloudhttpcredspage.h @@ -30,12 +30,12 @@ class OwncloudHttpCredsPage : public AbstractCredentialsWizardPage public: OwncloudHttpCredsPage(); - AbstractCredentials* getCredentials() const; + AbstractCredentials* getCredentials() const Q_DECL_OVERRIDE; - void initializePage(); - void cleanupPage(); - bool validatePage(); - int nextId() const; + void initializePage() Q_DECL_OVERRIDE; + void cleanupPage() Q_DECL_OVERRIDE; + bool validatePage() Q_DECL_OVERRIDE; + int nextId() const Q_DECL_OVERRIDE; void setConnected(bool connected); void setErrorString( const QString& err ); void setConfigExists(bool config); diff --git a/src/wizard/owncloudsetuppage.h b/src/wizard/owncloudsetuppage.h index 7161a3665..0d30e6a93 100644 --- a/src/wizard/owncloudsetuppage.h +++ b/src/wizard/owncloudsetuppage.h @@ -33,12 +33,12 @@ class OwncloudSetupPage: public QWizardPage public: OwncloudSetupPage(); - virtual bool isComplete() const; - virtual void initializePage(); - virtual int nextId() const; + virtual bool isComplete() const Q_DECL_OVERRIDE; + virtual void initializePage() Q_DECL_OVERRIDE; + virtual int nextId() const Q_DECL_OVERRIDE; void setServerUrl( const QString& ); void setAllowPasswordStorage( bool ); - bool validatePage(); + bool validatePage() Q_DECL_OVERRIDE; QString url() const; QString localFolder() const; void setRemoteFolder( const QString& remoteFolder); diff --git a/src/wizard/owncloudshibbolethcredspage.h b/src/wizard/owncloudshibbolethcredspage.h index 28f635363..14296431d 100644 --- a/src/wizard/owncloudshibbolethcredspage.h +++ b/src/wizard/owncloudshibbolethcredspage.h @@ -33,17 +33,17 @@ class OwncloudShibbolethCredsPage : public AbstractCredentialsWizardPage public: OwncloudShibbolethCredsPage(); - AbstractCredentials* getCredentials() const; + AbstractCredentials* getCredentials() const Q_DECL_OVERRIDE; - void initializePage(); - int nextId() const; + void initializePage() Q_DECL_OVERRIDE; + int nextId() const Q_DECL_OVERRIDE; void setConnected(); Q_SIGNALS: void connectToOCUrl(const QString&); public Q_SLOTS: - void setVisible(bool visible); + void setVisible(bool visible) Q_DECL_OVERRIDE; private Q_SLOTS: void slotShibbolethCookieReceived(const QNetworkCookie&, Account*); diff --git a/src/wizard/owncloudwizardresultpage.h b/src/wizard/owncloudwizardresultpage.h index bd7061325..0390087be 100644 --- a/src/wizard/owncloudwizardresultpage.h +++ b/src/wizard/owncloudwizardresultpage.h @@ -29,8 +29,8 @@ public: OwncloudWizardResultPage(); ~OwncloudWizardResultPage(); - bool isComplete() const; - void initializePage(); + bool isComplete() const Q_DECL_OVERRIDE; + void initializePage() Q_DECL_OVERRIDE; void setRemoteFolder( const QString& remoteFolder); public slots: From 846773efd35ad2be371eb3537e30c053419d1270 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 9 Jul 2014 23:10:07 +0200 Subject: [PATCH 134/190] Define Q_DECL_OVERRIDE for Qt4 That macro is new in Qt5, define it as well when compiling with Qt4 so we can use it in mirall Note: QNetworkCookieJar::deleteCookie was not existing in Qt4. --- cmake/modules/QtVersionAbstraction.cmake | 2 ++ src/mirall/cookiejar.h | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/cmake/modules/QtVersionAbstraction.cmake b/cmake/modules/QtVersionAbstraction.cmake index 406519acc..6e6e16889 100644 --- a/cmake/modules/QtVersionAbstraction.cmake +++ b/cmake/modules/QtVersionAbstraction.cmake @@ -148,6 +148,8 @@ if(NOT Qt5Core_FOUND) include( ${QT_USE_FILE} ) endmacro() + + add_definitions("-DQ_DECL_OVERRIDE=override") endif() if( Qt5Core_DIR ) diff --git a/src/mirall/cookiejar.h b/src/mirall/cookiejar.h index acb0c31cf..3166b547d 100644 --- a/src/mirall/cookiejar.h +++ b/src/mirall/cookiejar.h @@ -29,7 +29,11 @@ public: bool setCookiesFromUrl(const QList &cookieList, const QUrl &url) Q_DECL_OVERRIDE; QList cookiesForUrl(const QUrl &url) const Q_DECL_OVERRIDE; - virtual bool deleteCookie(const QNetworkCookie & cookie) Q_DECL_OVERRIDE; + bool deleteCookie(const QNetworkCookie & cookie) +#if QT_VERSION > QT_VERSION_CHECK(5, 0, 0) + Q_DECL_OVERRIDE //that function is not virtual in Qt4 +#endif + ; void clearSessionCookies(); signals: From 4369151cd8509d6635f3e11ab207fbd717e32c93 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Thu, 10 Jul 2014 03:57:24 -0400 Subject: [PATCH 135/190] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 274 +++++++++++++++++------------------ translations/mirall_cs.ts | 274 +++++++++++++++++------------------ translations/mirall_de.ts | 274 +++++++++++++++++------------------ translations/mirall_el.ts | 274 +++++++++++++++++------------------ translations/mirall_en.ts | 274 +++++++++++++++++------------------ translations/mirall_es.ts | 274 +++++++++++++++++------------------ translations/mirall_es_AR.ts | 274 +++++++++++++++++------------------ translations/mirall_et.ts | 274 +++++++++++++++++------------------ translations/mirall_eu.ts | 274 +++++++++++++++++------------------ translations/mirall_fa.ts | 274 +++++++++++++++++------------------ translations/mirall_fi.ts | 274 +++++++++++++++++------------------ translations/mirall_fr.ts | 274 +++++++++++++++++------------------ translations/mirall_gl.ts | 274 +++++++++++++++++------------------ translations/mirall_hu.ts | 274 +++++++++++++++++------------------ translations/mirall_it.ts | 274 +++++++++++++++++------------------ translations/mirall_ja.ts | 274 +++++++++++++++++------------------ translations/mirall_nl.ts | 274 +++++++++++++++++------------------ translations/mirall_pl.ts | 274 +++++++++++++++++------------------ translations/mirall_pt.ts | 274 +++++++++++++++++------------------ translations/mirall_pt_BR.ts | 274 +++++++++++++++++------------------ translations/mirall_ru.ts | 274 +++++++++++++++++------------------ translations/mirall_sk.ts | 274 +++++++++++++++++------------------ translations/mirall_sl.ts | 274 +++++++++++++++++------------------ translations/mirall_sv.ts | 274 +++++++++++++++++------------------ translations/mirall_th.ts | 274 +++++++++++++++++------------------ translations/mirall_tr.ts | 274 +++++++++++++++++------------------ translations/mirall_uk.ts | 274 +++++++++++++++++------------------ translations/mirall_zh_CN.ts | 274 +++++++++++++++++------------------ translations/mirall_zh_TW.ts | 274 +++++++++++++++++------------------ 29 files changed, 3973 insertions(+), 3973 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index e6a49eca1..7fcd469fa 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -234,27 +234,27 @@ Temps restant total %5 Mirall::ConnectionValidator - + No ownCloud account configured No hi ha cap compte ownCloud configurat - + The configured server for this client is too old El servidor configurat per aquest client és massa antic - + Please update to the latest server and restart the client. Actualitzeu el servidor a l'última versió i reestabliu el client. - + Unable to connect to %1 No es pot connectar amb %1 - + The provided credentials are not correct Les credencials proporcionades no són correctes @@ -262,100 +262,100 @@ 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. - + Sync Activity Activitat de sincronització - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Aquesta sincronització eliminarà tots els fitxers a la carpeta local de sincronització '%1'. Si vós o l'administrador heu reinicialitzat el compte en el servidor, escolliu "Mantenir fitxers". Si voleueliminar les dades, escolliu "Esborra tots els fitxers". - + 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? @@ -364,17 +364,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 @@ -382,67 +382,67 @@ Esteu segur que voleu executar aquesta operació? Mirall::FolderMan - + Could not reset folder state No es pot restablir l'estat de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. El servidor no està disponible actualment. - + 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) @@ -1288,12 +1288,12 @@ No és aconsellada usar-la. Mirall::PropagateItemJob - + ; Restoration Failed: ; La restauració ha fallat: - + A file or directory was removed from a read only share, but restoring failed: %1 S'ha eliminat un fitxer o carpeta de la compartició nómés de lectura, però la restauració ha fallat: %1 @@ -1301,12 +1301,12 @@ No és aconsellada usar-la. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Atenció, possible xoc entre majúscules i minúscules amb %1 - + could not create directory %1 No s'ha pogut crear el directori %1 @@ -1327,7 +1327,7 @@ No és aconsellada usar-la. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash El fitxer %1 no es pot reanomenar a %2 perquè hi ha un xoc amb el nom d'un fitxer local @@ -1335,7 +1335,7 @@ No és aconsellada usar-la. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. El fitxer s'ha eliminat d'una compartició només de lectura. S'ha restaurat. @@ -1343,17 +1343,17 @@ No és aconsellada usar-la. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. No s'ha de canviar el nom d'aquesta carpeta. Es reanomena de nou amb el seu nom original. - + This folder must not be renamed. Please name it back to Shared. Aquesta carpeta no es pot reanomenar. Reanomeneu-la de nou Shared. - + The file was renamed but is part of a read only share. The original file was restored. El fitxer s'ha reanomenat però és part d'una compartició només de lectura. El fixter original s'ha restaurat. @@ -1423,62 +1423,62 @@ No és aconsellada usar-la. 4 - + Time Hora - + File Fitxer - + Folder Carpeta - + Action Acció - + Size Mida - + Retry Sync Reintenta la sincronització - + Copy Copia - + Copy the activity list to the clipboard. Copia la llista d'activitats al porta-retalls. - + Copied to clipboard S'ha copiat al porta-retalls - + The sync status has been copied to the clipboard. L'estat de sincronització s'ha copiat al porta-retalls. - + 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. Try to sync these again. %1 fixers són ignorats per errors previs. @@ -1781,229 +1781,229 @@ Proveu de sincronitzar-los de nou. Mirall::SyncEngine - + Success. Èxit. - + CSync failed to create a lock file. CSync ha fallat en crear un fitxer de bloqueig. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync ha fallat en carregar o crear el fitxer de revista. Assegureu-vos que yeniu permisos de lectura i escriptura en la carpeta local de sincronització. - + CSync failed to write the journal file. CSync ha fallat en escriure el fitxer de revista - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>No s'ha pogut carregar el connector %1 per csync.<br/>Comproveu la instal·lació!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'hora del sistema d'aquest client és diferent de l'hora del sistema del servidor. Useu un servei de sincronització de temps (NTP) en el servidor i al client perquè l'hora sigui la mateixa. - + CSync could not detect the filesystem type. CSync no ha pogut detectar el tipus de fitxers del sistema. - + CSync got an error while processing internal trees. CSync ha patit un error mentre processava els àrbres interns. - + CSync failed to reserve memory. CSync ha fallat en reservar memòria. - + CSync fatal parameter error. Error fatal de paràmetre en CSync. - + CSync processing step update failed. El pas d'actualització del processat de CSync ha fallat. - + CSync processing step reconcile failed. El pas de reconciliació del processat de CSync ha fallat. - + CSync processing step propagate failed. El pas de propagació del processat de CSync ha fallat. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>La carpeta destí no existeix.</p><p>Comproveu la configuració de sincronització</p> - + A remote file can not be written. Please check the remote access. No es pot escriure el fitxer remot. Reviseu l'acces remot. - + The local filesystem can not be written. Please check permissions. No es pot escriure al sistema de fitxers local. Reviseu els permisos. - + CSync failed to connect through a proxy. CSync ha fallat en connectar a través d'un proxy. - + CSync could not authenticate at the proxy. CSync no s'ha pogut acreditar amb el proxy. - + CSync failed to lookup proxy or server. CSync ha fallat en cercar el proxy o el servidor. - + CSync failed to authenticate at the %1 server. L'autenticació de CSync ha fallat al servidor %1. - + CSync failed to connect to the network. CSync ha fallat en connectar-se a la xarxa. - + A network connection timeout happened. Temps excedit en la connexió. - + A HTTP transmission error happened. S'ha produït un error en la transmissió HTTP. - + CSync failed due to not handled permission deniend. CSync ha fallat en no implementar el permís denegat. - + CSync failed to access CSync ha fallat en accedir - + CSync tried to create a directory that already exists. CSync ha intentat crear una carpeta que ja existeix. - - + + CSync: No space on %1 server available. CSync: No hi ha espai disponible al servidor %1. - + CSync unspecified error. Error inespecífic de CSync. - + Aborted by the user Aturat per l'usuari - + 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. - + 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ó - + 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 - + 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 @@ -2027,127 +2027,127 @@ 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 - + 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 - + 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 @@ -2351,27 +2351,27 @@ Proveu de sincronitzar-los de nou. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index b04fc0616..0505baa32 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -234,27 +234,27 @@ Celkový zbývající čas %5 Mirall::ConnectionValidator - + No ownCloud account configured Žádný účet ownCloud nenastaven - + The configured server for this client is too old Server nastavený pro tohoto klienta je příliš starý - + Please update to the latest server and restart the client. Prosím, aktualizujte na poslední verzi serveru a restartujte klienta. - + Unable to connect to %1 Nelze se připojit k %1 - + The provided credentials are not correct Poskytnuté přihlašovací údaje nejsou správné @@ -262,100 +262,100 @@ 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. - + Sync Activity Průběh synchronizace - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Tato synchronizace by smazala všechny soubory v místní složce '%1' Pokud jste vy nebo váš správce zresetovali účet na serveru, zvolte "Ponechat soubory". Pokud chcete místní data odstranit, zvolte "Odstranit všechny soubory". - + 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? @@ -364,17 +364,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 @@ -382,67 +382,67 @@ Opravdu chcete provést tuto akci? Mirall::FolderMan - + Could not reset folder state Nelze obnovit stav složky - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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á. - + Server is currently not available. Server je nyní nedostupný. - + 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) @@ -1288,12 +1288,12 @@ Nedoporučuje se jí používat. Mirall::PropagateItemJob - + ; Restoration Failed: ; Obnovení selhalo: - + A file or directory was removed from a read only share, but restoring failed: %1 Soubor nebo adresář by odebrán ze sdílení pouze pro čtení, ale jeho obnovení selhalo: %1 @@ -1301,12 +1301,12 @@ Nedoporučuje se jí používat. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Pozor, možná kolize z důvodu velikosti písmen s %1 - + could not create directory %1 nepodařilo se vytvořit adresář %1 @@ -1327,7 +1327,7 @@ Nedoporučuje se jí používat. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Soubor %1 nemohl být přejmenován na %2 z důvodu kolize názvu se souborem v místním systému. @@ -1335,7 +1335,7 @@ Nedoporučuje se jí používat. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. Soubor byl odebrán ze sdílení pouze pro čtení. Soubor byl obnoven. @@ -1343,17 +1343,17 @@ Nedoporučuje se jí používat. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Tato složka nemůže být přejmenována. Byl jí vrácen původní název. - + This folder must not be renamed. Please name it back to Shared. Tato složka nemůže být přejmenována. Přejmenujte jí prosím zpět na Shared. - + The file was renamed but is part of a read only share. The original file was restored. Soubor byl přejmenován, ale je součástí sdílení pouze pro čtení. Původní soubor byl obnoven. @@ -1423,62 +1423,62 @@ Nedoporučuje se jí používat. 4 - + Time Čas - + File Soubor - + Folder Složka - + Action Akce - + Size Velikost - + Retry Sync Znovu synchronizovat - + Copy Kopie - + Copy the activity list to the clipboard. Kopírovat záznam aktivity do schránky. - + Copied to clipboard Zkopírováno do schránky - + The sync status has been copied to the clipboard. Stav synchronizace byl zkopírován do schránky. - + 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. Try to sync these again. %1 souborů je na seznamu ignorovaných kvůli předchozím chybovým stavům. @@ -1782,229 +1782,229 @@ Zkuste provést novou synchronizaci. Mirall::SyncEngine - + Success. Úspěch. - + CSync failed to create a lock file. CSync nemůže vytvořit soubor zámku. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync se nepodařilo načíst či vytvořit soubor žurnálu. Ujistěte se, že máte oprávnění pro čtení a zápis v místní synchronizované složce. - + CSync failed to write the journal file. CSync se nepodařilo zapsat do souboru žurnálu. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Plugin %1 pro csync nelze načíst.<br/>Zkontrolujte prosím instalaci!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systémový čas na klientovi je rozdílný od systémového času serveru. Použijte, prosím, službu synchronizace času (NTP) na serveru i klientovi, aby byl čas na obou strojích stejný. - + CSync could not detect the filesystem type. CSync nemohl detekovat typ souborového systému. - + CSync got an error while processing internal trees. CSync obdrželo chybu při zpracování vnitřních struktur. - + CSync failed to reserve memory. CSync se nezdařilo rezervovat paměť. - + CSync fatal parameter error. CSync: kritická chyba parametrů. - + CSync processing step update failed. CSync se nezdařilo zpracovat krok aktualizace. - + CSync processing step reconcile failed. CSync se nezdařilo zpracovat krok sladění. - + CSync processing step propagate failed. CSync se nezdařilo zpracovat krok propagace. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Cílový adresář neexistuje.</p><p>Zkontrolujte, prosím, nastavení synchronizace.</p> - + A remote file can not be written. Please check the remote access. Vzdálený soubor nelze zapsat. Ověřte prosím vzdálený přístup. - + The local filesystem can not be written. Please check permissions. Do místního souborového systému nelze zapisovat. Ověřte, prosím, přístupová práva. - + CSync failed to connect through a proxy. CSync se nezdařilo připojit skrze proxy. - + CSync could not authenticate at the proxy. CSync se nemohlo přihlásit k proxy. - + CSync failed to lookup proxy or server. CSync se nezdařilo najít proxy server nebo cílový server. - + CSync failed to authenticate at the %1 server. CSync se nezdařilo přihlásit k serveru %1. - + CSync failed to connect to the network. CSync se nezdařilo připojit k síti. - + A network connection timeout happened. Došlo k vypršení časového limitu síťového spojení. - + A HTTP transmission error happened. Nastala chyba HTTP přenosu. - + CSync failed due to not handled permission deniend. CSync selhalo z důvodu nezpracovaného odmítnutí práv. - + CSync failed to access CSync se nezdařil přístup - + CSync tried to create a directory that already exists. CSync se pokusilo vytvořit adresář, který již existuje. - - + + CSync: No space on %1 server available. CSync: Nedostatek volného místa na serveru %1. - + CSync unspecified error. Nespecifikovaná chyba CSync. - + Aborted by the user Zrušeno uživatelem - + 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. - + 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 - + 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 - + 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 @@ -2028,127 +2028,127 @@ 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. - + 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 - + 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í @@ -2352,27 +2352,27 @@ Zkuste provést novou synchronizaci. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index 00431d31d..ae8adc78d 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -235,27 +235,27 @@ Gesamtzeit übrig %5 Mirall::ConnectionValidator - + No ownCloud account configured Kein ownCloud-Konto konfiguriert - + The configured server for this client is too old Der konfigurierte Server ist für diesen Client zu alt - + Please update to the latest server and restart the client. Aktualisieren Sie auf die letzte Server-Version und starten Sie den Client neu. - + Unable to connect to %1 Verbinden mit %1 nicht möglich - + The provided credentials are not correct Die zur Verfügung gestellten Anmeldeinformationen sind nicht korrekt @@ -263,100 +263,100 @@ 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. - + Sync Activity Synchronisierungsaktivität - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Dieser Synchronisationsvorgang würde alle Dateien in dem lokalen Ordner '%1' entfernen. Wenn Sie oder Ihr Administrator Ihr Konto auf dem Server zurückgesetzt haben, wählen Sie "Dateien behalten". Wenn Sie ihre Daten löschen wollen, wählen Sie "Alle Dateien entfernen". - + 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? @@ -365,17 +365,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 @@ -383,67 +383,67 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::FolderMan - + Could not reset folder state Konnte Ordner-Zustand nicht zurücksetzen - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Der Server ist momentan nicht erreichbar. - + 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) @@ -1289,12 +1289,12 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateItemJob - + ; Restoration Failed: ; Wiederherstellung fehlgeschlagen: - + A file or directory was removed from a read only share, but restoring failed: %1 Eine Datei oder Verzeichnis wurde von einer Nur-Lese-Freigabe wiederhergestellt, aber die Wiederherstellung ist mit folgendem Fehler fehlgeschlagen: %1 @@ -1302,12 +1302,12 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Achtung, es könnte ein Problem mit der Groß- und Kleinschreibung für %1 auftreten - + could not create directory %1 Verzeichnis %1 konnte nicht erstellt werden @@ -1328,7 +1328,7 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash %1 kann aufgrund eines Konfliktes mit dem lokalen Dateinamen nicht zu %2 umbenannt werden @@ -1336,7 +1336,7 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. Die Datei wurde von einer Nur-Lese-Freigabe gelöscht. Die Datei wurde wiederhergestellt. @@ -1344,17 +1344,17 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Dieser Ordner muss nicht umbenannt werden. Er wurde zurück zum Originalnamen umbenannt. - + This folder must not be renamed. Please name it back to Shared. Dieser Ordner muss nicht umbenannt werden. Bitte benennen Sie es zurück wie in der Freigabe. - + The file was renamed but is part of a read only share. The original file was restored. Die Datei wurde auf einer Nur-Lese-Freigabe umbenannt. Die Original-Datei wurde wiederhergestellt. @@ -1424,62 +1424,62 @@ Es ist nicht ratsam, diese zu benutzen. 4 - + Time Zeit - + File Datei - + Folder Ordner - + Action Aktion - + Size Größe - + Retry Sync Synchronisation wiederholen - + Copy Kopieren - + Copy the activity list to the clipboard. Aktivitätsliste in die Zwischenablage kopieren. - + Copied to clipboard In die Zwischenablage kopiert - + The sync status has been copied to the clipboard. Der Synchronisationsstatus wurde in die Zwischenablage kopiert. - + 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. Try to sync these again. %1 Datei(en) werden aufgrund vorheriger Fehler ignoriert. @@ -1782,229 +1782,229 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::SyncEngine - + Success. Erfolgreich - + CSync failed to create a lock file. CSync konnte keine lock-Datei erstellen. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync konnte den Synchronisationsbericht nicht laden oder erstellen. Stellen Sie bitte sicher, dass Sie Lese- und Schreibrechte auf das lokale Synchronisationsverzeichnis haben. - + CSync failed to write the journal file. CSync konnte den Synchronisationsbericht nicht schreiben. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Das %1-Plugin für csync konnte nicht geladen werden.<br/>Bitte überprüfen Sie die Installation!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Die Uhrzeit auf diesem Computer und dem Server sind verschieden. Bitte verwenden Sie ein Zeitsynchronisationsprotokolls (NTP) auf Ihrem Server und Klienten, damit die gleiche Uhrzeit verwendet wird. - + CSync could not detect the filesystem type. CSync konnte den Typ des Dateisystem nicht feststellen. - + CSync got an error while processing internal trees. CSync hatte einen Fehler bei der Verarbeitung von internen Strukturen. - + CSync failed to reserve memory. CSync konnte keinen Speicher reservieren. - + CSync fatal parameter error. CSync hat einen schwerwiegender Parameterfehler festgestellt. - + CSync processing step update failed. CSync Verarbeitungsschritt "Aktualisierung" fehlgeschlagen. - + CSync processing step reconcile failed. CSync Verarbeitungsschritt "Abgleich" fehlgeschlagen. - + CSync processing step propagate failed. CSync Verarbeitungsschritt "Übertragung" fehlgeschlagen. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Das Zielverzeichnis existiert nicht.</p><p>Bitte prüfen Sie die Synchronisationseinstellungen.</p> - + A remote file can not be written. Please check the remote access. Eine Remote-Datei konnte nicht geschrieben werden. Bitte den Remote-Zugriff überprüfen. - + The local filesystem can not be written. Please check permissions. Kann auf dem lokalen Dateisystem nicht schreiben. Bitte Berechtigungen überprüfen. - + CSync failed to connect through a proxy. CSync konnte sich nicht über einen Proxy verbinden. - + CSync could not authenticate at the proxy. CSync konnte sich nicht am Proxy authentifizieren. - + CSync failed to lookup proxy or server. CSync konnte den Proxy oder Server nicht auflösen. - + CSync failed to authenticate at the %1 server. CSync konnte sich nicht am Server %1 authentifizieren. - + CSync failed to connect to the network. CSync konnte sich nicht mit dem Netzwerk verbinden. - + A network connection timeout happened. Eine Zeitüberschreitung der Netzwerkverbindung ist aufgetreten. - + A HTTP transmission error happened. Es hat sich ein HTTP-Übertragungsfehler ereignet. - + CSync failed due to not handled permission deniend. CSync wegen fehlender Berechtigung fehlgeschlagen. - + CSync failed to access CSync-Zugriff fehlgeschlagen - + CSync tried to create a directory that already exists. CSync versuchte, ein Verzeichnis zu erstellen, welches bereits existiert. - - + + CSync: No space on %1 server available. CSync: Kein Platz auf Server %1 frei. - + CSync unspecified error. CSync unbekannter Fehler. - + Aborted by the user Abbruch durch den Benutzer - + 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. - + 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 - + 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 - + 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 @@ -2028,127 +2028,127 @@ 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. - + 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... Berechne Quote... - + Unknown status Unbekannter Status - + Settings... Einstellungen - + Details... Details... - + Help Hilfe - + Quit %1 %1 beenden - + Sign in... Anmeldung... - + Sign out Abmeldung - + Quota n/a Quote unbekannt - + %1% of %2 in use %1% von %2 benutzt - + No items synced recently Keine kürzlich synchronisierten Elemente - + 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 @@ -2352,27 +2352,27 @@ Versuchen Sie diese nochmals zu synchronisieren. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index b1886b4a7..8932f7b53 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -235,27 +235,27 @@ Total time left %5 Mirall::ConnectionValidator - + No ownCloud account configured Δεν έχει ρυθμιστεί λογαριασμός ownCloud - + The configured server for this client is too old Ο ρυθμισμένος διακομιστής για αυτό το δέκτη είναι πολύ παλιός - + Please update to the latest server and restart the client. Παρακαλώ ενημερώστε το διακομιστή στη νεώτερη έκδοση και επανεκκινήστε το δέκτη. - + Unable to connect to %1 Αδυναμία σύνδεσης με %1 - + The provided credentials are not correct Τα παρεχόμενα διαπιστευτήρια δεν είναι σωστά @@ -263,100 +263,100 @@ 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. - + Sync Activity Δραστηριότητα Συγχρονισμού - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Αυτός ο συγχρονισμός θα αφαιρέσει όλα τα αρχεία στον τοπικό φάκελο συγχρονισμού '%1'. Εάν εσείς ή ο διαχειριστής σας επαναφέρατε το λογαριασμό σας στο διακομιστή, επιλέξτε "Διατήρηση αρχείων". Εάν θέλετε να αφαιρεθούν τα δεδομένα σας, επιλέξτε "Αφαίρεση όλων των αρχείων". - + 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? @@ -365,17 +365,17 @@ Are you sure you want to perform this operation? Είστε σίγουροι ότι θέλετε να εκτελέσετε αυτή τη λειτουργία; - + Remove All Files? Αφαίρεση Όλων των Αρχείων; - + Remove all files Αφαίρεση όλων των αρχείων - + Keep files Διατήρηση αρχείων @@ -383,67 +383,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Δεν ήταν δυνατό να επαναφερθεί η κατάσταση του φακέλου - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Βρέθηκε ένα παλαιότερο αρχείο συγχρονισμού '%1', αλλά δεν μπόρεσε να αφαιρεθεί. Παρακαλώ βεβαιωθείτε ότι καμμία εφαρμογή δεν το χρησιμοποιεί αυτή τη στιγμή. - + Undefined State. Απροσδιόριστη Κατάσταση. - + Waits to start syncing. Αναμονή έναρξης συγχρονισμού. - + Preparing for sync. Προετοιμασία για συγχρονισμό. - + Sync is running. Ο συγχρονισμός εκτελείται. - + Server is currently not available. Ο διακομιστής δεν είναι διαθέσιμος προς το παρόν. - + 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 (Παύση συγχρονισμού) @@ -1289,12 +1289,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + ; Restoration Failed: - Η αποκατάσταση Απέτυχε: - + A file or directory was removed from a read only share, but restoring failed: %1 Ένα αρχείο ή ένας κατάλογος αφαιρέθηκε από ένα διαμοιρασμένο κατάλογο μόνο για ανάγνωση, αλλά η επαναφορά απέτυχε: %1 @@ -1302,12 +1302,12 @@ It is not advisable to use it. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Προσοχή, πιθανή διένεξη κεφαλαίων-πεζών γραμάτων με το %1 - + could not create directory %1 αδυναμία δημιουργίας καταλόγου %1 @@ -1328,7 +1328,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Το αρχείο %1 δεν είναι δυνατό να μετονομαστεί σε %2 λόγω μιας διένεξης με το όνομα ενός τοπικού αρχείου @@ -1336,7 +1336,7 @@ It is not advisable to use it. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. Το αρχείο αφαιρέθηκε από ένα διαμοιρασμένο κατάλογο μόνο για ανάγνωση. Το αρχείο επαναφέρθηκε. @@ -1344,17 +1344,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Αυτός ο φάκελος δεν πρέπει να μετονομαστεί. Μετονομάζεται πίσω στο αρχικό του όνομα. - + This folder must not be renamed. Please name it back to Shared. Αυτός ο φάκελος δεν πρέπει να μετονομαστεί. Παρακαλώ ονομάστε τον ξανά Κοινόχρηστος. - + The file was renamed but is part of a read only share. The original file was restored. Το αρχείο μετονομάστηκε αλλά είναι τμήμα ενός διαμοιρασμένου καταλόγου μόνο για ανάγνωση. Το αρχικό αρχείο επαναφέρθηκε. @@ -1424,62 +1424,62 @@ It is not advisable to use it. 4 - + Time Ώρα - + File Αρχείο - + Folder Φάκελος - + Action Ενέργεια - + Size Μέγεθος - + Retry Sync Επαναλήψη Συγχρονισμού - + Copy Αντιγραφή - + Copy the activity list to the clipboard. Αντιγραφή της λίστας δραστηριότητας στο πρόχειρο. - + Copied to clipboard Αντιγράφηκε στο πρόχειρο - + The sync status has been copied to the clipboard. Η κατάσταση συγχρονισμού αντιγράφηκε στο πρόχειρο. - + Currently no files are ignored because of previous errors. Προς το παρόν κανένα αρχείο δεν θα αγνοηθεί λόγω προηγούμενων σφαλμάτων. - + %1 files are ignored because of previous errors. Try to sync these again. %1 αρχεία θα ανγοηθούν λόγω προηγούμενων σφαλμάτων. @@ -1782,229 +1782,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Επιτυχία. - + CSync failed to create a lock file. Το CSync απέτυχε να δημιουργήσει ένα αρχείο κλειδώματος. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Το CSync απέτυχε να φορτώσει ή να δημιουργήσει το αρχείο καταλόγου. Βεβαιωθείτε ότι έχετε άδειες ανάγνωσης και εγγραφής στον τοπικό κατάλογο συγχρονισμού. - + CSync failed to write the journal file. Το CSync απέτυχε να εγγράψει στο αρχείο καταλόγου. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Το πρόσθετο του %1 για το csync δεν μπόρεσε να φορτωθεί.<br/>Παρακαλούμε επαληθεύσετε την εγκατάσταση!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Η ώρα του συστήματος στον τοπικό υπολογιστή διαφέρει από την ώρα του συστήματος στο διακομιστή. Παρακαλούμε χρησιμοποιήστε μια υπηρεσία χρονικού συγχρονισμού (NTP) στο διακομιστή και στον τοπικό υπολογιστή ώστε η ώρα να παραμένει η ίδια. - + CSync could not detect the filesystem type. To CSync δεν μπορούσε να ανιχνεύσει τον τύπο του συστήματος αρχείων. - + CSync got an error while processing internal trees. Το CSync έλαβε κάποιο μήνυμα λάθους κατά την επεξεργασία της εσωτερικής διεργασίας. - + CSync failed to reserve memory. Το CSync απέτυχε να δεσμεύσει μνήμη. - + CSync fatal parameter error. Μοιραίο σφάλμα παράμετρου CSync. - + CSync processing step update failed. Η ενημέρωση του βήματος επεξεργασίας του CSync απέτυχε. - + CSync processing step reconcile failed. CSync στάδιο επεξεργασίας συμφιλίωση απέτυχε. - + CSync processing step propagate failed. Η μετάδοση του βήματος επεξεργασίας του CSync απέτυχε. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Ο κατάλογος προορισμού δεν υπάρχει.</p><p>Παρακαλώ ελέγξτε τις ρυθμίσεις συγχρονισμού.</p> - + A remote file can not be written. Please check the remote access. Ένα απομακρυσμένο αρχείο δεν μπορεί να εγγραφεί. Παρακαλούμε ελέγξτε την απομακρυσμένη πρόσβαση. - + The local filesystem can not be written. Please check permissions. Το τοπικό σύστημα αρχείων δεν είναι εγγράψιμο. Παρακαλούμε ελέγξτε τα δικαιώματα. - + CSync failed to connect through a proxy. Το CSync απέτυχε να συνδεθεί μέσω ενός διαμεσολαβητή. - + CSync could not authenticate at the proxy. Το CSync δεν μπόρεσε να πιστοποιηθεί στο διακομιστή μεσολάβησης. - + CSync failed to lookup proxy or server. Το CSync απέτυχε να διερευνήσει το διαμεσολαβητή ή το διακομιστή. - + CSync failed to authenticate at the %1 server. Το CSync απέτυχε να πιστοποιηθεί στο διακομιστή 1%. - + CSync failed to connect to the network. Το CSync απέτυχε να συνδεθεί με το δίκτυο. - + A network connection timeout happened. Διακοπή σύνδεσης δικτύου. - + A HTTP transmission error happened. Ένα σφάλμα μετάδοσης HTTP συνέβη. - + CSync failed due to not handled permission deniend. Το CSync απέτυχε λόγω απόρριψης μη-διαχειρίσιμων δικαιωμάτων. - + CSync failed to access Το CSync απέτυχε να αποκτήσει πρόσβαση - + CSync tried to create a directory that already exists. Το CSync προσπάθησε να δημιουργήσει ένα κατάλογο που υπάρχει ήδη. - - + + CSync: No space on %1 server available. CSync: Δεν υπάρχει διαθέσιμος χώρος στο διακομιστή 1%. - + CSync unspecified error. Άγνωστο σφάλμα CSync. - + Aborted by the user Ματαιώθηκε από το χρήστη - + 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. Οι συμβολικού σύνδεσμοι δεν υποστηρίζονται για το συγχρονισμό. - + 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 Αδυναμία ανοίγματος του αρχείου συγχρονισμού - + 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 Δεν επιτρέπεται η αφαίρεση, αποκατάσταση σε εξέλιξη - + Move not allowed, item restored Η μετακίνηση δεν επιτρέπεται, το αντικείμενο αποκαταστάθηκε - + Move not allowed because %1 is read-only Η μετακίνηση δεν επιτρέπεται επειδή το %1 είναι μόνο για ανάγνωση - + the destination ο προορισμός - + the source η προέλευση @@ -2028,127 +2028,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in Παρκαλώ συνδεθείτε - + Disconnected from server Αποσύνδεση από το διακομιστή - + Folder %1: %2 Φάκελος %1: %2 - + 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 Κανένα στοιχείο δεν συγχρονίστηκε πρόσφατα - + Syncing %1 of %2 (%3 left) Συγχρονισμός %1 από %2 (%3 απομένουν) - + Syncing %1 (%2 left) Συγχρονισμός %1 (%2 απομένουν) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ενημερωμένο @@ -2352,27 +2352,27 @@ It is not advisable to use it. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index 49069bd4f..801c70436 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -235,27 +235,27 @@ Total time left %5 Mirall::ConnectionValidator - + No ownCloud account configured - + The configured server for this client is too old - + Please update to the latest server and restart the client. - + Unable to connect to %1 - + The provided credentials are not correct @@ -263,116 +263,116 @@ 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. - + Sync Activity - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + 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 @@ -380,67 +380,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. - + Waits to start syncing. - + Preparing for sync. - + Sync is running. - + Server is currently not available. - + 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) @@ -1282,12 +1282,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + ; Restoration Failed: - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1295,12 +1295,12 @@ It is not advisable to use it. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 - + could not create directory %1 @@ -1321,7 +1321,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1329,7 +1329,7 @@ It is not advisable to use it. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. @@ -1337,17 +1337,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1417,62 +1417,62 @@ It is not advisable to use it. - + Time - + File - + Folder - + Action - + Size - + Retry Sync - + Copy - + Copy the activity list to the clipboard. - + Copied to clipboard - + The sync status has been copied to the clipboard. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1772,229 +1772,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. - + CSync failed to create a lock file. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. - + CSync could not detect the filesystem type. - + CSync got an error while processing internal trees. - + CSync failed to reserve memory. - + CSync fatal parameter error. - + CSync processing step update failed. - + CSync processing step reconcile failed. - + CSync processing step propagate failed. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. - + The local filesystem can not be written. Please check permissions. - + CSync failed to connect through a proxy. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. - + CSync failed to authenticate at the %1 server. - + CSync failed to connect to the network. - + A network connection timeout happened. - + A HTTP transmission error happened. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. - - + + CSync: No space on %1 server available. - + CSync unspecified error. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2018,127 +2018,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in - + Disconnected from server - + Folder %1: %2 - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date @@ -2342,27 +2342,27 @@ It is not advisable to use it. Utility - + %L1 TB - + %L1 GB - + %L1 MB - + %L1 kB - + %L1 B diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 891bd45fb..8f16d6668 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -234,27 +234,27 @@ Tiempo restante %5 Mirall::ConnectionValidator - + No ownCloud account configured Ninguna cuenta de ownCloud se ha configurado - + The configured server for this client is too old La configuración del servidor al cliente es obsoleta - + Please update to the latest server and restart the client. Por favor actualice a la ultima verisón del servidor y reinicie el cliente - + Unable to connect to %1 Imposible conectar a %1 - + The provided credentials are not correct Las credenciales proporcionadas no son correctas @@ -262,100 +262,100 @@ 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. - + Sync Activity Actividad en la Sincronización - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Esta sincronización eliminaría todos los archivos en la carpeta local de sincronización '%1'. Si ud. o su administrador han restablecido su cuenta en el servidor, elija "Conservar Archivos". Si desea eliminar toda su información, elija "Eliminar todos los archivos". - + 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? @@ -364,17 +364,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 @@ -382,67 +382,67 @@ Está seguro de que desea realizar esta operación? Mirall::FolderMan - + Could not reset folder state No se ha podido restablecer el estado de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. El servidor no está disponible en el momento - + 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) @@ -1288,12 +1288,12 @@ No se recomienda usarlo. Mirall::PropagateItemJob - + ; Restoration Failed: ; Falló la restauración: - + A file or directory was removed from a read only share, but restoring failed: %1 Un archivo o directorio fue eliminado de una carpeta compartida en modo de solo lectura, pero la recuperación falló: %1 @@ -1301,12 +1301,12 @@ No se recomienda usarlo. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Atención, posible error de muyuscula/minisculas en %1 - + could not create directory %1 No se pudo crear el directorio %1 @@ -1327,7 +1327,7 @@ No se recomienda usarlo. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash El archivo %1 no se puede renombrar a %2 por causa de un conflicto con el nombre de un archivo local @@ -1335,7 +1335,7 @@ No se recomienda usarlo. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. El archvo fue eliminado de una carpeta compartida en modo de solo lectura. Ha sido recuperado. @@ -1343,17 +1343,17 @@ No se recomienda usarlo. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Esta carpeta no debe ser renombrada. Ha sido renombrada a su nombre original - + This folder must not be renamed. Please name it back to Shared. Esta carpeta no debe ser renombrada. Favor de renombrar a Compartida. - + The file was renamed but is part of a read only share. The original file was restored. El archivo fue renombrado, pero es parte de una carpeta compartida en modo de solo lectura. El archivo original ha sido recuperado. @@ -1423,62 +1423,62 @@ No se recomienda usarlo. 4 - + Time Hora - + File Archivo - + Folder Carpeta - + Action Acción - + Size Tamaño - + Retry Sync Reintentar Sincronizar - + Copy Copiar - + Copy the activity list to the clipboard. Copie la lista de actividades al portapapeles - + Copied to clipboard Copiado al portapapeles - + The sync status has been copied to the clipboard. El informe de sincronización fue copiado al portapapeles. - + 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. Try to sync these again. 1% de los archivos fueron ignorados debido a errores previos. @@ -1781,229 +1781,229 @@ Intente sincronizar los archivos nuevamente. Mirall::SyncEngine - + Success. Completado con éxito. - + CSync failed to create a lock file. CSync no pudo crear un fichero de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync falló al cargar o crear el archivo de diario. Asegúrese de tener permisos de lectura y escritura en el directorio local de sincronización. - + CSync failed to write the journal file. CSync falló al escribir el archivo de diario. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>El %1 complemente para csync no se ha podido cargar.<br/>Por favor, verifique la instalación</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. La hora del sistema en este cliente es diferente de la hora del sistema en el servidor. Por favor use un servicio de sincronización de hora (NTP) en los servidores y clientes para que las horas se mantengan idénticas. - + CSync could not detect the filesystem type. CSync no pudo detectar el tipo de sistema de archivos. - + CSync got an error while processing internal trees. CSync encontró un error mientras procesaba los árboles de datos internos. - + CSync failed to reserve memory. Fallo al reservar memoria para Csync - + CSync fatal parameter error. Error fatal de parámetro en CSync. - + CSync processing step update failed. El proceso de actualización de CSync ha fallado. - + CSync processing step reconcile failed. Falló el proceso de composición de CSync - + CSync processing step propagate failed. Error en el proceso de propagación de CSync - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>El directorio de destino no existe.</p><p>Por favor verifique la configuración de sincronización.</p> - + A remote file can not be written. Please check the remote access. No se pudo escribir en un archivo remoto. Por favor, compruebe el acceso remoto. - + The local filesystem can not be written. Please check permissions. No se puede escribir en el sistema de archivos local. Por favor, compruebe los permisos. - + CSync failed to connect through a proxy. CSync falló al realizar la conexión a través del proxy - + CSync could not authenticate at the proxy. CSync no pudo autenticar el proxy. - + CSync failed to lookup proxy or server. CSync falló al realizar la búsqueda del proxy - + CSync failed to authenticate at the %1 server. CSync: Falló la autenticación con el servidor %1. - + CSync failed to connect to the network. CSync: Falló la conexión con la red. - + A network connection timeout happened. Se sobrepasó el tiempo de espera de la conexión de red. - + A HTTP transmission error happened. Ha ocurrido un error de transmisión HTTP. - + CSync failed due to not handled permission deniend. CSync: Falló debido a un permiso denegado. - + CSync failed to access Error al acceder CSync - + CSync tried to create a directory that already exists. CSync trató de crear un directorio que ya existe. - - + + CSync: No space on %1 server available. CSync: No queda espacio disponible en el servidor %1. - + CSync unspecified error. Error no especificado de CSync - + Aborted by the user Interrumpido por el usuario - + 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. - + 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 - + 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. - + 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 @@ -2027,127 +2027,127 @@ 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. - + 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 Salir - + 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 - + 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 @@ -2351,27 +2351,27 @@ Intente sincronizar los archivos nuevamente. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index c35a6162f..f54dde407 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -233,27 +233,27 @@ Total time left %5 Mirall::ConnectionValidator - + No ownCloud account configured No hay una cuenta ownCloud configurada. - + The configured server for this client is too old La configuración del servidor al cliente es obsoleta - + Please update to the latest server and restart the client. Por favor actualice a la última versión del servidor y reinicie el cliente. - + Unable to connect to %1 Imposible conectar a %1 - + The provided credentials are not correct Las credenciales otorgadas no son correctas @@ -261,100 +261,100 @@ 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. - + Sync Activity Actividad de Sync - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Esta sincronización borraría todos los archivos en la carpeta local de sincronización '%1'. Si vos o el administrador resetearon tu cuenta en el servidor, elegí "Conservar Archivos". Si querés borrar toda tu información, elegí "Borrar todos los archivos". - + 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? @@ -363,17 +363,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 @@ -381,67 +381,67 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::FolderMan - + Could not reset folder state No se pudo - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. El servidor actualmente no está disponible. - + 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) @@ -1285,12 +1285,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + ; Restoration Failed: - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1298,12 +1298,12 @@ It is not advisable to use it. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 - + could not create directory %1 @@ -1324,7 +1324,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1332,7 +1332,7 @@ It is not advisable to use it. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. @@ -1340,17 +1340,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1420,62 +1420,62 @@ It is not advisable to use it. 4 - + Time Hora - + File Archivo - + Folder Carpeta - + Action Acción - + Size Tamaño - + Retry Sync Volver a intentar el Sync - + Copy Copiar - + Copy the activity list to the clipboard. Copiar la lista de actividades al portapapeles. - + Copied to clipboard Copiado al portapapeles - + The sync status has been copied to the clipboard. El estado de sincronización ha sido copiado al portapapeles - + 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. Try to sync these again. %1 archivos fueron ignorados por errores previos. @@ -1776,229 +1776,229 @@ Intente sincronizar estos nuevamente. Mirall::SyncEngine - + Success. Éxito. - + CSync failed to create a lock file. Se registró un error en CSync cuando se intentaba crear un archivo de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>No fue posible cargar el plugin de %1 para csync.<br/>Por favor, verificá la instalación</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. La hora del sistema en este cliente es diferente de la hora del sistema en el servidor. Por favor, usá un servicio de sincronización (NTP) de hora en las máquinas cliente y servidor para que las horas se mantengan iguales. - + CSync could not detect the filesystem type. CSync no pudo detectar el tipo de sistema de archivos. - + CSync got an error while processing internal trees. CSync tuvo un error mientras procesaba los árboles de datos internos. - + CSync failed to reserve memory. CSync falló al reservar memoria. - + CSync fatal parameter error. Error fatal de parámetro en CSync. - + CSync processing step update failed. Falló el proceso de actualización de CSync. - + CSync processing step reconcile failed. Falló el proceso de composición de CSync - + CSync processing step propagate failed. Proceso de propagación de CSync falló - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>El directorio de destino %1 no existe.</p> Por favor, comprobá la configuración de sincronización. </p> - + A remote file can not be written. Please check the remote access. No se puede escribir un archivo remoto. Revisá el acceso remoto. - + The local filesystem can not be written. Please check permissions. No se puede escribir en el sistema de archivos local. Revisá los permisos. - + CSync failed to connect through a proxy. CSync falló al tratar de conectarse a través de un proxy - + CSync could not authenticate at the proxy. CSync no pudo autenticar el proxy. - + CSync failed to lookup proxy or server. CSync falló al realizar la busqueda del proxy. - + CSync failed to authenticate at the %1 server. CSync: fallo al autenticarse en el servidor %1. - + CSync failed to connect to the network. CSync: fallo al conectarse a la red - + A network connection timeout happened. - + A HTTP transmission error happened. Ha ocurrido un error de transmisión HTTP. - + CSync failed due to not handled permission deniend. CSync: Falló debido a un permiso denegado. - + CSync failed to access CSync falló al acceder - + CSync tried to create a directory that already exists. Csync trató de crear un directorio que ya existía. - - + + CSync: No space on %1 server available. CSync: No hay más espacio disponible en el servidor %1. - + CSync unspecified error. Error no especificado de CSync - + Aborted by the user Interrumpido por el usuario - + 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. - + 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2022,127 +2022,127 @@ 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. - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date actualizado @@ -2347,27 +2347,27 @@ Intente sincronizar estos nuevamente. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 34d6ac227..37e94f0e9 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -234,27 +234,27 @@ Aega kokku jäänud %5 Mirall::ConnectionValidator - + No ownCloud account configured Ühtegi ownCloud kontot pole seadistatud - + The configured server for this client is too old Seadistatud server on selle kliendi jaoks liiga vana - + Please update to the latest server and restart the client. Palun uuenda server viimasele versioonile ning taaskäivita klient. - + Unable to connect to %1 %1-ga ühendumine ebaõnnestus - + The provided credentials are not correct Sisestatud kasutajatunnused pole õiged @@ -262,100 +262,100 @@ 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. - + Sync Activity Sünkroniseerimise tegevus - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". See sünkroniseering kustutab kõik failid kohalikust kataloogist '%1'.⏎ Kui sina või adminstraator on sinu konto serveris algseadistanud, siis vali "Säilita failid". Kui soovid oma andmed kustutada, vali "Kustuta kõik failid". - + 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? @@ -364,17 +364,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 @@ -382,67 +382,67 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::FolderMan - + Could not reset folder state Ei suutnud tühistada kataloogi staatust - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Server pole hetkel saadaval. - + 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) @@ -1288,12 +1288,12 @@ Selle kasutamine pole soovitatav. Mirall::PropagateItemJob - + ; Restoration Failed: ; Taastamine ebaõnnestus: - + A file or directory was removed from a read only share, but restoring failed: %1 Fail või kataloog oli eemaldatud kirjutamisõiguseta jagamisest, kuid taastamine ebaõnnestus: %1 @@ -1301,12 +1301,12 @@ Selle kasutamine pole soovitatav. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Tähelepanu, võimalik tõusutundliku nime konflikt %1-ga - + could not create directory %1 ei suuda luua kataloogi %1 @@ -1327,7 +1327,7 @@ Selle kasutamine pole soovitatav. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Faili %1 ei saa ümber nimetada %2-ks, kuna on konflikt kohaliku faili nimega @@ -1335,7 +1335,7 @@ Selle kasutamine pole soovitatav. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. Fail oli eemaldatud kirjutamisõiguseta kataloogist. See on nüüd taastatud. @@ -1343,17 +1343,17 @@ Selle kasutamine pole soovitatav. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Kausta ei tohi ümber nimetada. Kausta algne nimi taastati. - + This folder must not be renamed. Please name it back to Shared. Kausta nime ei tohi muuta. Palun pane selle nimeks tagasi Shared. - + The file was renamed but is part of a read only share. The original file was restored. Fail oli ümber nimetatud, kuid see on osa kirjutamisõiguseta jagamisest. Algne fail taastati. @@ -1423,62 +1423,62 @@ Selle kasutamine pole soovitatav. 4 - + Time Aeg - + File Fail - + Folder Kaust - + Action Tegevus - + Size Suurus - + Retry Sync Proovi uuesti sünkroniseerida - + Copy Kopeeri - + Copy the activity list to the clipboard. Kopeeri tegevuste nimistu puhvrisse. - + Copied to clipboard Kopeeritud lõikepuhvrisse - + The sync status has been copied to the clipboard. Sünkroniseeringu staatus on kopeeritud lõikepuhvrisse. - + 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. Try to sync these again. %1 faili on ignoreeritud eelnenud vigade tõttu. @@ -1781,229 +1781,229 @@ Proovi neid uuesti sünkroniseerida. Mirall::SyncEngine - + Success. Korras. - + CSync failed to create a lock file. CSync lukustusfaili loomine ebaõnnestus. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync ei suutnud avada või luua registri faili. Tee kindlaks et sul on õigus lugeda ja kirjutada kohalikus sünkrooniseerimise kataloogis - + CSync failed to write the journal file. CSync ei suutnud luua registri faili. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Ei suuda laadida csync lisa %1.<br/>Palun kontrolli paigaldust!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Kliendi arvuti kellaeg erineb serveri omast. Palun kasuta õige aja hoidmiseks kella sünkroniseerimise teenust (NTP) nii serveris kui kliendi arvutites, et kell oleks kõikjal õige. - + CSync could not detect the filesystem type. CSync ei suutnud tuvastada failisüsteemi tüüpi. - + CSync got an error while processing internal trees. CSync sai vea sisemiste andmestruktuuride töötlemisel. - + CSync failed to reserve memory. CSync ei suutnud mälu reserveerida. - + CSync fatal parameter error. CSync parameetri saatuslik viga. - + CSync processing step update failed. CSync uuendusprotsess ebaõnnestus. - + CSync processing step reconcile failed. CSync tasakaalustuse protsess ebaõnnestus. - + CSync processing step propagate failed. CSync edasikandeprotsess ebaõnnestus. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Sihtkataloogi ei eksisteeri.</p><p>Palun kontrolli sünkroniseeringu seadistust</p> - + A remote file can not be written. Please check the remote access. Eemalolevasse faili ei saa kirjutada. Palun kontrolli kaugühenduse ligipääsu. - + The local filesystem can not be written. Please check permissions. Kohalikku failissüsteemi ei saa kirjutada. Palun kontrolli õiguseid. - + CSync failed to connect through a proxy. CSync ühendus läbi puhverserveri ebaõnnestus. - + CSync could not authenticate at the proxy. CSync ei suutnud puhverserveris autoriseerida. - + CSync failed to lookup proxy or server. Csync ei suuda leida puhverserverit. - + CSync failed to authenticate at the %1 server. CSync autoriseering serveris %1 ebaõnnestus. - + CSync failed to connect to the network. CSync võrguga ühendumine ebaõnnestus. - + A network connection timeout happened. Toimus võrgukatkestus. - + A HTTP transmission error happened. HTTP ülekande viga. - + CSync failed due to not handled permission deniend. CSync ebaõnnestus ligipääsu puudumisel. - + CSync failed to access CSyncile ligipääs ebaõnnestus - + CSync tried to create a directory that already exists. Csync proovis tekitada kataloogi, mis oli juba olemas. - - + + CSync: No space on %1 server available. CSync: Serveris %1 on ruum otsas. - + CSync unspecified error. CSync tuvastamatu viga. - + Aborted by the user Kasutaja poolt tühistatud - + 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. - + 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 - + 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 - + 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 @@ -2027,127 +2027,127 @@ 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. - + 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 - + 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 @@ -2351,27 +2351,27 @@ Proovi neid uuesti sünkroniseerida. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index a1cf831fe..6750251b0 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -233,27 +233,27 @@ Total time left %5 Mirall::ConnectionValidator - + No ownCloud account configured Ez dago ownCloud konturik konfiguratuta - + The configured server for this client is too old Bezero honentzako konfiguratutako zerbitzaria oso zaharra da - + Please update to the latest server and restart the client. Mesedez eguneratu zerbitzarira eta berrabiarazi bezeroa. - + Unable to connect to %1 Ezin izan da %1ra konektatu - + The provided credentials are not correct Emandako kredentzialak ez dira zuzenak @@ -261,116 +261,116 @@ Total time left %5 Mirall::Folder - + Unable to create csync-context - + 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 has been removed. %1 names a file. %1 ezabatua izan da. - + %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 %2-(e)ra mugitu da. - + Sync Activity Sinkronizazio Jarduerak - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + 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? Ezabatu Fitxategi Guztiak? - + Remove all files Ezabatu fitxategi guztiak - + Keep files Mantendu fitxategiak @@ -378,67 +378,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Ezin izan da karpetaren egoera berrezarri - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Definitu gabeko egoera. - + Waits to start syncing. Itxoiten sinkronizazioa hasteko. - + Preparing for sync. Sinkronizazioa prestatzen. - + Sync is running. Sinkronizazioa martxan da. - + Server is currently not available. Zerbitzaria orain ez dago eskuragarri. - + 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) @@ -1282,12 +1282,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + ; Restoration Failed: - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1295,12 +1295,12 @@ It is not advisable to use it. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 - + could not create directory %1 Ezin izan da %1 karpeta sortu @@ -1321,7 +1321,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1329,7 +1329,7 @@ It is not advisable to use it. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. @@ -1337,17 +1337,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Karpeta hau ezin da berrizendatu. Bere jatorrizko izenera berrizendatu da. - + This folder must not be renamed. Please name it back to Shared. Karpeta hau ezin da berrizendatu. Mesedez jarri berriz Shared izena. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1417,62 +1417,62 @@ It is not advisable to use it. 4 - + Time Noiz - + File Fitxategia - + Folder Karpeta - + Action Ekintza - + Size Tamaina - + Retry Sync Saiatu berriz sinkronizatzen - + Copy Kopiatu - + Copy the activity list to the clipboard. - + Copied to clipboard Arbelera kopiatua - + The sync status has been copied to the clipboard. Sinkronizazio egoera arbelera kopiatu da. - + 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. Try to sync these again. %1 fitxategi baztertu dira aurreko erroreak direla eta. @@ -1773,229 +1773,229 @@ Saiatu horiek berriz sinkronizatzen. Mirall::SyncEngine - + Success. Arrakasta. - + CSync failed to create a lock file. CSyncek huts egin du lock fitxategia sortzean. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csyncen %1 plugina ezin da kargatu.<br/>Mesedez egiaztatu instalazioa!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Bezero honetako sistemaren ordua zerbitzariarenaren ezberdina da. Mesedez erabili sinkronizazio zerbitzari bat (NTP) zerbitzari eta bezeroan orduak berdinak izan daitezen. - + CSync could not detect the filesystem type. CSyncek ezin du fitxategi sistema mota antzeman. - + CSync got an error while processing internal trees. CSyncek errorea izan du barne zuhaitzak prozesatzerakoan. - + CSync failed to reserve memory. CSyncek huts egin du memoria alokatzean. - + CSync fatal parameter error. CSync parametro larri errorea. - + CSync processing step update failed. CSync prozesatzearen eguneratu urratsak huts egin du. - + CSync processing step reconcile failed. CSync prozesatzearen berdinkatze urratsak huts egin du. - + CSync processing step propagate failed. CSync prozesatzearen hedatu urratsak huts egin du. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Helburu direktorioa ez da existitzen.</p><p>Egiazt6atu sinkronizazio konfigurazioa.</p> - + A remote file can not be written. Please check the remote access. Urruneko fitxategi bat ezin da idatzi. Mesedez egiaztatu urreneko sarbidea. - + The local filesystem can not be written. Please check permissions. Ezin da idatzi bertako fitxategi sisteman. Mesedez egiaztatu baimenak. - + CSync failed to connect through a proxy. CSyncek huts egin du proxiaren bidez konektatzean. - + CSync could not authenticate at the proxy. CSyncek ezin izan du proxya autentikatu. - + CSync failed to lookup proxy or server. CSyncek huts egin du zerbitzaria edo proxia bilatzean. - + CSync failed to authenticate at the %1 server. CSyncek huts egin du %1 zerbitzarian autentikatzean. - + CSync failed to connect to the network. CSyncek sarera konektatzean huts egin du. - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP transmisio errore bat gertatu da. - + CSync failed due to not handled permission deniend. CSyncek huts egin du kudeatu gabeko baimen ukapen bat dela eta. - + CSync failed to access - + CSync tried to create a directory that already exists. CSyncek dagoeneko existitzen zen karpeta bat sortzen saiatu da. - - + + CSync: No space on %1 server available. CSync: Ez dago lekurik %1 zerbitzarian. - + CSync unspecified error. CSyncen zehaztugabeko errorea. - + Aborted by the user Erabiltzaileak bertan behera utzita - + 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. - + 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2019,127 +2019,127 @@ 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. - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Eguneratua @@ -2343,27 +2343,27 @@ Saiatu horiek berriz sinkronizatzen. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 665254519..73331866f 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -233,27 +233,27 @@ Total time left %5 Mirall::ConnectionValidator - + No ownCloud account configured - + The configured server for this client is too old - + Please update to the latest server and restart the client. - + Unable to connect to %1 - + The provided credentials are not correct @@ -261,116 +261,116 @@ 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. - + Sync Activity - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + 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 @@ -378,67 +378,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state نمی تواند حالت پوشه را تنظیم مجدد کند - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. موقعیت تعریف نشده - + Waits to start syncing. صبر کنید تا همگام سازی آغاز شود - + Preparing for sync. - + Sync is running. همگام سازی در حال اجراست - + Server is currently not available. - + 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) @@ -1280,12 +1280,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + ; Restoration Failed: - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1293,12 +1293,12 @@ It is not advisable to use it. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 - + could not create directory %1 @@ -1319,7 +1319,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1327,7 +1327,7 @@ It is not advisable to use it. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. @@ -1335,17 +1335,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1415,62 +1415,62 @@ It is not advisable to use it. - + Time زمان - + File - + Folder پوشه - + Action - + Size اندازه - + Retry Sync - + Copy کپی کردن - + Copy the activity list to the clipboard. - + Copied to clipboard کپی به کلیپ بورد - + The sync status has been copied to the clipboard. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1770,229 +1770,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. موفقیت - + CSync failed to create a lock file. CSync موفق به ایجاد یک فایل قفل شده، نشد. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>ماژول %1 برای csync نمی تواند بارگذاری شود.<br/>لطفا نصب را بررسی کنید!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. سیستم زمان بر روی این مشتری با سیستم زمان بر روی سرور متفاوت است.لطفا از خدمات هماهنگ سازی زمان (NTP) بر روی ماشین های سرور و کلاینت استفاده کنید تا زمان ها یکسان باقی بمانند. - + CSync could not detect the filesystem type. CSync نوع فایل های سیستم را نتوانست تشخیص بدهد. - + CSync got an error while processing internal trees. CSync هنگام پردازش درختان داخلی یک خطا دریافت نمود. - + CSync failed to reserve memory. CSync موفق به رزرو حافظه نشد است. - + CSync fatal parameter error. - + CSync processing step update failed. مرحله به روز روسانی پردازش CSync ناموفق بود. - + CSync processing step reconcile failed. مرحله تطبیق پردازش CSync ناموفق بود. - + CSync processing step propagate failed. مرحله گسترش پردازش CSync ناموفق بود. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>پوشه هدف وجود ندارد.</p><p>لطفا راه اندازی همگام سازی را بررسی کنید.</p> - + A remote file can not be written. Please check the remote access. یک فایل از راه دور نمی تواند نوشته شود. لطفا دسترسی از راه دور را بررسی نمایید. - + The local filesystem can not be written. Please check permissions. بر روی فایل سیستمی محلی نمی توانید چیزی بنویسید.لطفا مجوزش را بررسی کنید. - + CSync failed to connect through a proxy. عدم موفقیت CSync برای اتصال از طریق یک پروکسی. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. عدم موفقیت CSync برای مراجعه به پروکسی یا سرور. - + CSync failed to authenticate at the %1 server. عدم موفقیت CSync برای اعتبار دادن در %1 سرور. - + CSync failed to connect to the network. عدم موفقیت CSync برای اتصال به شبکه. - + A network connection timeout happened. - + A HTTP transmission error happened. خطا در انتقال HTTP اتفاق افتاده است. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync برای ایجاد یک پوشه که در حال حاضر موجود است تلاش کرده است. - - + + CSync: No space on %1 server available. CSync: فضا در %1 سرور در دسترس نیست. - + CSync unspecified error. خطای نامشخص CSync - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2016,127 +2016,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in - + Disconnected from server - + Folder %1: %2 پوشه %1: %2 - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date تا تاریخ @@ -2340,27 +2340,27 @@ It is not advisable to use it. Utility - + %L1 TB - + %L1 GB - + %L1 MB - + %L1 kB - + %L1 B diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 8518827e2..92b08d9a8 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -234,27 +234,27 @@ Aikaa jäljellä yhteensä %5 Mirall::ConnectionValidator - + No ownCloud account configured ownCloud-tiliä ei ole määritelty - + The configured server for this client is too old Määritelty palvelin on ohjelmistoversioltaan liian vanha tälle asiakasohjelmistolle - + Please update to the latest server and restart the client. Päivitä uusimpaan palvelinversioon ja käynnistä asiakasohjelmisto uudelleen. - + Unable to connect to %1 Yhteys %1iin epäonnistui - + The provided credentials are not correct Annetut tilitiedot eivät ole oikein @@ -262,116 +262,116 @@ 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. - + Sync Activity Synkronointiaktiviteetti - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + 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 @@ -379,67 +379,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Kansion tilaa ei voitu alustaa - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + 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. - + Server is currently not available. Palvelin ei ole käytettävissä. - + 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) @@ -1283,12 +1283,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateItemJob - + ; Restoration Failed: - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1296,12 +1296,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 - + could not create directory %1 kansion %1 luominen epäonnistui @@ -1322,7 +1322,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1330,7 +1330,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. @@ -1338,17 +1338,17 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Tätä kansiota ei ole tule nimetä uudelleen. Muutetaan takaisin alkuperäinen nimi. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1418,62 +1418,62 @@ Osoitteen käyttäminen ei ole suositeltavaa. 4 - + Time Aika - + File Tiedosto - + Folder Kansio - + Action Toiminto - + Size Koko - + Retry Sync Yritä uudelleen synkronointia - + Copy Kopioi - + Copy the activity list to the clipboard. - + Copied to clipboard Kopioitu leikepöydälle - + The sync status has been copied to the clipboard. Synkronointitila on kopioitu leikepöydälle. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1775,229 +1775,229 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::SyncEngine - + Success. Onnistui. - + CSync failed to create a lock file. Csync ei onnistunut luomaan lukitustiedostoa. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1-liitännäistä csyncia varten ei voitu ladata.<br/>Varmista asennuksen toimivuus!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Tämän koneen järjestelmäaika on erilainen verrattuna palvelimen aikaan. Käytä NTP-palvelua kummallakin koneella, jotta kellot pysyvät samassa ajassa. Muuten tiedostojen synkronointi ei toimi. - + CSync could not detect the filesystem type. Csync-synkronointipalvelu ei kyennyt tunnistamaan tiedostojärjestelmän tyyppiä. - + CSync got an error while processing internal trees. Csync-synkronointipalvelussa tapahtui virhe sisäisten puurakenteiden prosessoinnissa. - + CSync failed to reserve memory. CSync ei onnistunut varaamaan muistia. - + CSync fatal parameter error. - + CSync processing step update failed. - + CSync processing step reconcile failed. - + CSync processing step propagate failed. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Kohdekansiota ei ole olemassa.</p><p>Tarkasta synkronointiasetuksesi.</p> - + A remote file can not be written. Please check the remote access. Etätiedostoa ei pystytä kirjoittamaan. Tarkista, että etäpääsy toimii. - + The local filesystem can not be written. Please check permissions. Paikalliseen tiedostojärjestelmään kirjoittaminen epäonnistui. Tarkista kansion oikeudet. - + CSync failed to connect through a proxy. CSync ei onnistunut muodostamaan yhteyttä välityspalvelimen välityksellä. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. - + CSync failed to authenticate at the %1 server. - + CSync failed to connect to the network. CSync ei onnistunut yhdistämään verkkoon. - + A network connection timeout happened. Tapahtui verkon aikakatkaisu. - + A HTTP transmission error happened. Tapahtui HTTP-välitysvirhe. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync yritti luoda olemassa olevan kansion. - - + + CSync: No space on %1 server available. CSync: %1-palvelimella ei ole tilaa vapaana. - + CSync unspecified error. CSync - määrittämätön virhe. - + Aborted by the user - + 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. - + 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 - + 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 - + Move not allowed, item restored - + 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 @@ -2021,127 +2021,127 @@ 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. - + 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 - + 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 @@ -2345,27 +2345,27 @@ Osoitteen käyttäminen ei ole suositeltavaa. Utility - + %L1 TB %L1 Tt - + %L1 GB %L1 Gt - + %L1 MB %L1 Mt - + %L1 kB %L1 kt - + %L1 B %L1 t diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index fc53eeab7..3069de468 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -234,27 +234,27 @@ Temps restant total %5 Mirall::ConnectionValidator - + No ownCloud account configured Aucun compte ownCloud configuré - + The configured server for this client is too old Le serveur configuré pour ce client est trop vieux - + Please update to the latest server and restart the client. Veuillez mettre à jour avec la dernière version du serveur et redémarrer le client. - + Unable to connect to %1 Impossible de se connecter à %1 - + The provided credentials are not correct Les informations d'identification fournies ne sont pas correctes @@ -262,100 +262,100 @@ 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. - + Sync Activity Activité de synchronisation - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Cette synchronisation supprimerait tous les fichiers du dossier local de synchronisation '%1'. Si vous-même ou votre administrateur avez réinitialisé votre compte sur le serveur, choisissez "Garder les fichiers". Si vous voulez que vos données soient supprimées, choisissez "Supprimer tous les fichiers". - + 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? @@ -364,17 +364,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 @@ -382,67 +382,67 @@ Voulez-vous réellement effectuer cette opération ? Mirall::FolderMan - + Could not reset folder state Impossible de réinitialiser l'état du dossier - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Le serveur est indisponible actuellement. - + 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) @@ -1288,12 +1288,12 @@ Il est déconseillé de l'utiliser. Mirall::PropagateItemJob - + ; Restoration Failed: ; Échec de la restauration : - + A file or directory was removed from a read only share, but restoring failed: %1 Un fichier ou un dossier a été supprimé du partage en lecture seule, mais la restauration à échoué : %1 @@ -1301,12 +1301,12 @@ Il est déconseillé de l'utiliser. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Attention, collision possible avec %1 à cause de la casse - + could not create directory %1 impossible de créer le répertoire %1 @@ -1327,7 +1327,7 @@ Il est déconseillé de l'utiliser. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Le fichier %1 ne peut pas être renommé en %2 à cause d'un conflit local de nom de fichier @@ -1335,7 +1335,7 @@ Il est déconseillé de l'utiliser. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. Le fichier a été supprimé d'un partage en lecture seule. Il a été restauré. @@ -1343,17 +1343,17 @@ Il est déconseillé de l'utiliser. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Ce dossier ne doit pas être renommé. Il sera renommé avec son nom original. - + This folder must not be renamed. Please name it back to Shared. Ce dossier ne doit pas être renommé. Veuillez le nommer Partagé uniquement. - + The file was renamed but is part of a read only share. The original file was restored. Le fichier a été renommé mais appartient à un partage en lecture seule. Le fichier original a été restauré. @@ -1423,62 +1423,62 @@ Il est déconseillé de l'utiliser. 4 - + Time Heure - + File Fichier - + Folder Dossier - + Action Action - + Size Taille - + Retry Sync Lancer à nouveau la synchronisation - + Copy Copier - + Copy the activity list to the clipboard. Copier la liste d'activités dans le presse papiers. - + Copied to clipboard Copié dans le presse-papiers - + The sync status has been copied to the clipboard. Le statu de synchronisation a été copié dans le presse-papier. - + 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. Try to sync these again. %1 fichiers ont été ignorés en raison des erreurs précédentes. @@ -1781,229 +1781,229 @@ Il est déconseillé de l'utiliser. Mirall::SyncEngine - + Success. Succès. - + CSync failed to create a lock file. CSync n'a pas pu créer le fichier de verrouillage. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync n’a pu charger ou créer le fichier de journalisation. Veuillez vérifier que vous possédez les droits en lecture/écriture dans le répertoire de synchronisation local. - + CSync failed to write the journal file. CSync n’a pu écrire le fichier de journalisation. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Le plugin %1 pour csync n'a pas pu être chargé.<br/>Merci de vérifier votre installation !</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'heure du client est différente de l'heure du serveur. Veuillez utiliser un service de synchronisation du temps (NTP) sur le serveur et le client afin que les horloges soient à la même heure. - + CSync could not detect the filesystem type. CSync n'a pas pu détecter le type de système de fichier. - + CSync got an error while processing internal trees. CSync obtient une erreur pendant le traitement des arbres internes. - + CSync failed to reserve memory. Erreur lors de l'allocation mémoire par CSync. - + CSync fatal parameter error. Erreur fatale CSync : mauvais paramètre. - + CSync processing step update failed. Erreur CSync lors de l'opération de mise à jour - + CSync processing step reconcile failed. Erreur CSync lors de l'opération d'harmonisation - + CSync processing step propagate failed. Erreur CSync lors de l'opération de propagation - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Le répertoire cible n'existe pas.</p><p>Veuillez vérifier la configuration de la synchronisation.</p> - + A remote file can not be written. Please check the remote access. Un fichier distant ne peut être écrit. Veuillez vérifier l’accès distant. - + The local filesystem can not be written. Please check permissions. Le système de fichiers local n'est pas accessible en écriture. Veuillez vérifier les permissions. - + CSync failed to connect through a proxy. CSync n'a pu établir une connexion à travers un proxy. - + CSync could not authenticate at the proxy. CSync ne peut s'authentifier auprès du proxy. - + CSync failed to lookup proxy or server. CSync n'a pu trouver un proxy ou serveur auquel se connecter. - + CSync failed to authenticate at the %1 server. CSync n'a pu s'authentifier auprès du serveur %1. - + CSync failed to connect to the network. CSync n'a pu établir une connexion au réseau. - + A network connection timeout happened. - + A HTTP transmission error happened. Une erreur de transmission HTTP s'est produite. - + CSync failed due to not handled permission deniend. CSync a échoué en raison d'une erreur de permission non prise en charge. - + CSync failed to access Echec de CSync pour accéder - + CSync tried to create a directory that already exists. CSync a tenté de créer un répertoire déjà présent. - - + + CSync: No space on %1 server available. CSync : Aucun espace disponibla sur le serveur %1. - + CSync unspecified error. Erreur CSync inconnue. - + Aborted by the user Abandonné par l'utilisateur - + 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 supportés par la synchronisation. - + File is listed on the ignore list. Le fichier est présent dans la liste de fichiers à ignorer. - + File contains invalid characters that can not be synced cross platform. Le fichier contient des caractères invalides 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 - + 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 Non autorisé parce-que 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 - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + 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 @@ -2027,127 +2027,127 @@ Il est déconseillé de l'utiliser. Mirall::ownCloudGui - + Please sign in Veuillez vous connecter - + Disconnected from server Déconnecte du serveur - + Folder %1: %2 Dossier %1 : %2 - + No sync folders configured. Aucun répertoire synchronisé 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... - + 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% de %2 occupés - + No items synced recently Aucun item synchronisé récemment - + 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 @@ -2351,27 +2351,27 @@ Il est déconseillé de l'utiliser. Utility - + %L1 TB %L1 TO - + %L1 GB %L1 GO - + %L1 MB %L1 MO - + %L1 kB %L1 kO - + %L1 B %L1 Octets diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index 10e34e280..5477a0522 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -234,27 +234,27 @@ Tempo total restante %5 Mirall::ConnectionValidator - + No ownCloud account configured Non hai configurada ningunha conta ownCloud - + The configured server for this client is too old O servidor configurado para este cliente é moi antigo - + Please update to the latest server and restart the client. Actualice ao último servidor e reinicie o cliente. - + Unable to connect to %1 Non é posíbel conectar con %1 - + The provided credentials are not correct As credenciais fornecidas non son correctas @@ -262,100 +262,100 @@ 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 - + Sync Activity Actividade de sincronización - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Esta sincronización retirará todos os ficheiros do cartafol local de sincronización «%1». Se vostede, ou o administrador, restabeleceu a súa conta no servidor, escolla «Manter os ficheiros». Se quere que os seus datos sexan eliminados, escolla «Retirar todos os ficheiros». - + 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? @@ -364,17 +364,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 @@ -382,67 +382,67 @@ Confirma que quere realizar esta operación? Mirall::FolderMan - + Could not reset folder state Non foi posíbel restabelecer o estado do cartafol - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Atopouse un rexistro de sincronización antigo en «%1» máis non pode ser retirado. Asegúrese de que non o está a usar ningún aplicativo. - + 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. - + Server is currently not available. O servidor non está dispoñíbel actualmente. - + 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) @@ -1288,12 +1288,12 @@ Recomendámoslle que non o use. Mirall::PropagateItemJob - + ; Restoration Failed: ; Fallou a restauración: - + A file or directory was removed from a read only share, but restoring failed: %1 Foi retirado un ficheiro ou directorio desde unha compartición de só lectura, mais non foi posíbel a súa restauración: %1 @@ -1301,12 +1301,12 @@ Recomendámoslle que non o use. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Atención, posíbel colisión entre maiúsculas e minúsculas con %1 - + could not create directory %1 non foi posíbel crear o directorio %1 @@ -1327,7 +1327,7 @@ Recomendámoslle que non o use. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Non é posíbel renomear o ficheiro %1 como %2 por mor dunha colisión co nome dun ficheiro local @@ -1335,7 +1335,7 @@ Recomendámoslle que non o use. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. Foi retirado un ficheiro desde unha compartición de só lectura. Foi restaurado. @@ -1343,17 +1343,17 @@ Recomendámoslle que non o use. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Non é posíbel renomear este cartafol. Non se lle cambiou o nome, mantense o orixinal. - + This folder must not be renamed. Please name it back to Shared. Non é posíbel renomear este cartafol. Devólvalle o nome ao compartido. - + The file was renamed but is part of a read only share. The original file was restored. O ficheiro foi renomeado mais é parte dunha compartición de só lectura. O ficheiro orixinal foi restaurado. @@ -1423,62 +1423,62 @@ Recomendámoslle que non o use. 4 - + Time Hora - + File Ficheiro - + Folder Cartafol - + Action Acción - + Size Tamaño - + Retry Sync Volver tentar a sincronización - + Copy Copiar - + Copy the activity list to the clipboard. Copiar a lista da actividade no portapapeis. - + Copied to clipboard Copiado no portapapeis. - + The sync status has been copied to the clipboard. O estado de sincronización foi copiado no portapapeis. - + 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. Try to sync these again. %1 ficheiros foron ignorados por mor de erros anteriores. @@ -1781,229 +1781,229 @@ Tente sincronizalos de novo. Mirall::SyncEngine - + Success. Correcto. - + CSync failed to create a lock file. Produciuse un fallo en CSync ao crear un ficheiro de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Produciuse un fallo do Csync ao cargar ou crear o ficheiro de rexistro. Asegúrese de que ten permisos de lectura e escritura no directorio de sincronización local. - + CSync failed to write the journal file. Produciuse un fallo en CSync ao escribir o ficheiro de rexistro. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Non foi posíbel cargar o engadido %1 para CSync.<br/>Verifique a instalación!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A diferenza de tempo neste cliente e diferente do tempo do sistema no servidor. Use o servido de sincronización de tempo (NTP) no servidor e nas máquinas cliente para que os tempos se manteñan iguais. - + CSync could not detect the filesystem type. CSync non pode detectar o tipo de sistema de ficheiros. - + CSync got an error while processing internal trees. CSync tivo un erro ao procesar árbores internas. - + CSync failed to reserve memory. Produciuse un fallo ao reservar memoria para CSync. - + CSync fatal parameter error. Produciuse un erro fatal de parámetro CSync. - + CSync processing step update failed. Produciuse un fallo ao procesar o paso de actualización de CSync. - + CSync processing step reconcile failed. Produciuse un fallo ao procesar o paso de reconciliación de CSync. - + CSync processing step propagate failed. Produciuse un fallo ao procesar o paso de propagación de CSync. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Non existe o directorio de destino.</p><p>Comprobe a configuración da sincronización.</p> - + A remote file can not be written. Please check the remote access. Non é posíbel escribir un ficheiro remoto. Comprobe o acceso remoto. - + The local filesystem can not be written. Please check permissions. Non é posíbel escribir no sistema de ficheiros local. Comprobe os permisos. - + CSync failed to connect through a proxy. CSYNC no puido conectarse a través dun proxy. - + CSync could not authenticate at the proxy. CSync non puido autenticarse no proxy. - + CSync failed to lookup proxy or server. CSYNC no puido atopar o servidor proxy. - + CSync failed to authenticate at the %1 server. CSync non puido autenticarse no servidor %1. - + CSync failed to connect to the network. CSYNC no puido conectarse á rede. - + A network connection timeout happened. Excedeuse do tempo de espera para a conexión á rede. - + A HTTP transmission error happened. Produciuse un erro na transmisión HTTP. - + CSync failed due to not handled permission deniend. Produciuse un fallo en CSync por mor dun permiso denegado. - + CSync failed to access Produciuse un fallo ao acceder a CSync - + CSync tried to create a directory that already exists. CSYNC tenta crear un directorio que xa existe. - - + + CSync: No space on %1 server available. CSync: Non hai espazo dispoñíbel no servidor %1. - + CSync unspecified error. Produciuse un erro non especificado de CSync - + Aborted by the user Interrompido polo usuario - + 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 - + 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 - + 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 - + 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 @@ -2027,127 +2027,127 @@ 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. - + 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 - + 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 @@ -2351,27 +2351,27 @@ Tente sincronizalos de novo. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index 585f855c7..4dad54f53 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -233,27 +233,27 @@ Total time left %5 Mirall::ConnectionValidator - + No ownCloud account configured - + The configured server for this client is too old - + Please update to the latest server and restart the client. - + Unable to connect to %1 - + The provided credentials are not correct @@ -261,116 +261,116 @@ 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. - + Sync Activity - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + 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 @@ -378,67 +378,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + 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. - + Server is currently not available. A kiszolgáló jelenleg nem érhető el. - + 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) @@ -1280,12 +1280,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + ; Restoration Failed: - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1293,12 +1293,12 @@ It is not advisable to use it. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 - + could not create directory %1 @@ -1319,7 +1319,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1327,7 +1327,7 @@ It is not advisable to use it. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. @@ -1335,17 +1335,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1415,62 +1415,62 @@ It is not advisable to use it. 4 - + Time Idő - + File Fájl - + Folder Mappa - + Action Művelet - + Size Méret - + Retry Sync - + Copy Másolás - + Copy the activity list to the clipboard. - + Copied to clipboard Bemásolva a vágólapra - + The sync status has been copied to the clipboard. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1770,229 +1770,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Sikerült. - + CSync failed to create a lock file. A CSync nem tudott létrehozni lock fájlt. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Az %1 beépülőmodul a csync-hez nem tölthető be.<br/>Ellenőrizze a telepítést!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A helyi rendszeridő különbözik a kiszolgáló rendszeridejétől. Használjon időszinkronizációs szolgáltatást (NTP) a rendszerén és a szerveren is, hogy az idő mindig megeggyezzen. - + CSync could not detect the filesystem type. A CSync nem tudta megállapítani a fájlrendszer típusát. - + CSync got an error while processing internal trees. A CSync hibába ütközött a belső adatok feldolgozása közben. - + CSync failed to reserve memory. Hiba a CSync memórifoglalásakor. - + CSync fatal parameter error. CSync hibás paraméterhiba. - + CSync processing step update failed. CSync frissítés feldolgozása meghíusult. - + CSync processing step reconcile failed. CSync egyeztetési lépés meghíusult. - + CSync processing step propagate failed. CSync propagálási lépés meghíusult. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>A célmappa nem létezik.</p><p>Ellenőrizze a sync beállításait.</p> - + A remote file can not be written. Please check the remote access. Egy távoli fájl nem írható. Kérlek, ellenőrizd a távoli elérést. - + The local filesystem can not be written. Please check permissions. A helyi fájlrendszer nem írható. Kérlek, ellenőrizd az engedélyeket. - + CSync failed to connect through a proxy. CSync proxy kapcsolódási hiba. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. A CSync nem találja a proxy kiszolgálót. - + CSync failed to authenticate at the %1 server. A CSync nem tuja azonosítani magát a %1 kiszolgálón. - + CSync failed to connect to the network. CSync hálózati kapcsolódási hiba. - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP átviteli hiba történt. - + CSync failed due to not handled permission deniend. CSync hiba, nincs kezelési jogosultság. - + CSync failed to access - + CSync tried to create a directory that already exists. A CSync megpróbált létrehozni egy már létező mappát. - - + + CSync: No space on %1 server available. CSync: Nincs szabad tárhely az %1 kiszolgálón. - + CSync unspecified error. CSync ismeretlen hiba. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2016,127 +2016,127 @@ 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. - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date Frissítve @@ -2340,27 +2340,27 @@ It is not advisable to use it. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index e8dd2876b..c3647e240 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -234,27 +234,27 @@ Totale tempo rimanente %5 Mirall::ConnectionValidator - + No ownCloud account configured Nessun account ownCloud configurato. - + The configured server for this client is too old Il server configurato per questo client è troppo datato - + Please update to the latest server and restart the client. Aggiorna all'ultima versione del server e riavvia il client. - + Unable to connect to %1 Impossibile connettersi a %1 - + The provided credentials are not correct Le credenziali fornite non sono corrette @@ -262,100 +262,100 @@ 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. - + Sync Activity Sincronizza attività - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Questa sincronizzazione rimuoverà tutti i file nella cartella di sincronizzazione locale '%1'. Se tu o il tuo amministratore avete ripristinato il tuo account sul server, scegli "Mantieni i file". Se desideri che i dati siano rimossi, scegli "Rimuovi tutti i 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? @@ -364,17 +364,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 @@ -382,67 +382,67 @@ Sei sicuro di voler eseguire questa operazione? Mirall::FolderMan - + Could not reset folder state Impossibile ripristinare lo stato della cartella - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. È 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. - + Server is currently not available. Il server è attualmente non disponibile. - + 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) @@ -1287,12 +1287,12 @@ Non è consigliabile utilizzarlo. Mirall::PropagateItemJob - + ; Restoration Failed: ; Ripristino non riuscito: - + A file or directory was removed from a read only share, but restoring failed: %1 Un file o una cartella è stato rimosso da una condivisione in sola lettura, ma il ripristino non è riuscito: %1 @@ -1300,12 +1300,12 @@ Non è consigliabile utilizzarlo. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Attenzione, possibile conflitto relativo all'uso di maiuscole e minuscole con %1 - + could not create directory %1 impossibile creare la cartella %1 @@ -1326,7 +1326,7 @@ Non è consigliabile utilizzarlo. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Il file %1 non può essere rinominato in %2 a causa di un conflitto con il nome di un file locale @@ -1334,7 +1334,7 @@ Non è consigliabile utilizzarlo. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. Il file è stato rimosso da una condivisione in sola lettura. È stato ripristinato. @@ -1342,17 +1342,17 @@ Non è consigliabile utilizzarlo. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Questa cartella non può essere rinominata. Il nome originale è stato ripristinato. - + This folder must not be renamed. Please name it back to Shared. Questa cartella non può essere rinominata. Ripristina il nome Shared. - + The file was renamed but is part of a read only share. The original file was restored. Il file è stato rinominato, ma è parte di una condivisione in sola lettura. Il file originale è stato ripristinato. @@ -1422,62 +1422,62 @@ Non è consigliabile utilizzarlo. 4 - + Time Ora - + File File - + Folder Cartella - + Action Azione - + Size Dimensione - + Retry Sync Riprova sincronizzazione - + Copy Copia - + Copy the activity list to the clipboard. Copia l'elenco delle attività negli appunti. - + Copied to clipboard Copiato negli appunti - + The sync status has been copied to the clipboard. Lo stato di sincronizzazione è stato copiato negli appunti. - + 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. Try to sync these again. %1 file sono ignorati a causa di errori precedenti. @@ -1780,229 +1780,229 @@ Prova a sincronizzare nuovamente. Mirall::SyncEngine - + Success. Successo. - + CSync failed to create a lock file. CSync non è riuscito a creare il file di lock. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync non è riuscito a caricare o a creare il file di registro. Assicurati di avere i permessi di lettura e scrittura nella cartella di sincronizzazione locale. - + CSync failed to write the journal file. CSync non è riuscito a scrivere il file di registro. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Il plugin %1 per csync non può essere caricato.<br/>Verifica l'installazione!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'ora di sistema su questo client è diversa dall'ora di sistema del server. Usa un servizio di sincronizzazione dell'orario (NTP) sul server e sulle macchine client in modo che l'ora sia la stessa. - + CSync could not detect the filesystem type. CSync non è riuscito a individuare il tipo di filesystem. - + CSync got an error while processing internal trees. Errore di CSync durante l'elaborazione degli alberi interni. - + CSync failed to reserve memory. CSync non è riuscito a riservare la memoria. - + CSync fatal parameter error. Errore grave di parametro di CSync. - + CSync processing step update failed. La fase di aggiornamento di CSync non è riuscita. - + CSync processing step reconcile failed. La fase di riconciliazione di CSync non è riuscita. - + CSync processing step propagate failed. La fase di propagazione di CSync non è riuscita. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>La cartella di destinazione non esiste.</p><p>Controlla la configurazione della sincronizzazione.</p> - + A remote file can not be written. Please check the remote access. Un file remoto non può essere scritto. Controlla l'accesso remoto. - + The local filesystem can not be written. Please check permissions. Il filesystem locale non può essere scritto. Controlla i permessi. - + CSync failed to connect through a proxy. CSync non è riuscito a connettersi tramite un proxy. - + CSync could not authenticate at the proxy. CSync non è in grado di autenticarsi al proxy. - + CSync failed to lookup proxy or server. CSync non è riuscito a trovare un proxy o server. - + CSync failed to authenticate at the %1 server. CSync non è riuscito ad autenticarsi al server %1. - + CSync failed to connect to the network. CSync non è riuscito a connettersi alla rete. - + A network connection timeout happened. Si è verificato un timeout della connessione di rete. - + A HTTP transmission error happened. Si è verificato un errore di trasmissione HTTP. - + CSync failed due to not handled permission deniend. Problema di CSync dovuto alla mancata gestione dei permessi. - + CSync failed to access CSync non è riuscito ad accedere - + CSync tried to create a directory that already exists. CSync ha cercato di creare una cartella già esistente. - - + + CSync: No space on %1 server available. CSync: spazio insufficiente sul server %1. - + CSync unspecified error. Errore non specificato di CSync. - + Aborted by the user Interrotto dall'utente - + 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. - + 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 - + 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 - + 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 @@ -2026,127 +2026,127 @@ 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. - + 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 - + 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 @@ -2350,27 +2350,27 @@ Prova a sincronizzare nuovamente. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index 9616802ea..570eea280 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -234,27 +234,27 @@ Total time left %5 Mirall::ConnectionValidator - + No ownCloud account configured ownCloud アカウントが設定されていません - + The configured server for this client is too old このクライアントのサーバー設定は古すぎます。 - + Please update to the latest server and restart the client. サーバーを最新にアップデートして、クライアントを再起動してください。 - + Unable to connect to %1 %1 に接続できません - + The provided credentials are not correct 入力された資格情報が正しくありません @@ -262,100 +262,100 @@ 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 に移されました。 - + Sync Activity 同期アクティビティ - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". この同期により、ローカルの同期フォルダー '%1'にある全ファイルが削除されます。 あなた、または管理者がサーバー上のアカウントをリセットした場合、「ファイルを残す」を選んでください。データを削除したい場合は、「すべてのファイルを削除」を選んでください。 - + 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? @@ -364,17 +364,17 @@ Are you sure you want to perform this operation? 本当にこの操作を実行しますか? - + Remove All Files? すべてのファイルを削除しますか? - + Remove all files すべてのファイルを削除 - + Keep files ファイルを残す @@ -382,67 +382,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state フォルダーの状態をリセットできませんでした - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 古い同期ジャーナル '%1' が見つかりましたが、削除できませんでした。それを現在使用しているアプリケーションが存在しないか確認してください。 - + Undefined State. 未定義の状態。 - + Waits to start syncing. 同期開始を待機中 - + Preparing for sync. 同期の準備中。 - + Sync is running. 同期を実行中です。 - + Server is currently not available. サーバーは現在利用できません。 - + 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 (同期を一時停止) @@ -1286,12 +1286,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + ; Restoration Failed: ; 復元に失敗: - + A file or directory was removed from a read only share, but restoring failed: %1 ファイルまたはディレクトリが読み込み専用の共有から削除されましたが、復元に失敗しました: %1 @@ -1299,12 +1299,12 @@ It is not advisable to use it. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 注意: %1 で大文字小文字が競合している可能性 - + could not create directory %1 ディレクトリ %1 を作成できませんでした @@ -1325,7 +1325,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash ファイル %1 はローカルファイル名が衝突しているため %2 に名前を変更できません @@ -1333,7 +1333,7 @@ It is not advisable to use it. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. ファイルが読み込み専用の共有から削除されました。ファイルは復元されました。 @@ -1341,17 +1341,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. このフォルダー名は変更できません。元の名前に戻します。 - + This folder must not be renamed. Please name it back to Shared. このフォルダー名は変更できません。名前を Shared に戻してください。 - + The file was renamed but is part of a read only share. The original file was restored. ファイルの名前が変更されましたが、読み込み専用の共有の一部です。オリジナルのファイルが復元されました。 @@ -1421,62 +1421,62 @@ It is not advisable to use it. 4 - + Time 時刻 - + File ファイル - + Folder フォルダー - + Action アクション - + Size サイズ - + Retry Sync 同期を再実行 - + Copy コピー - + Copy the activity list to the clipboard. アクティビティ一覧をコピーする - + Copied to clipboard クリップボードにコピー - + The sync status has been copied to the clipboard. 同期状況をクリップボードにコピーしました。 - + Currently no files are ignored because of previous errors. 処理前にエラーが発生したため、ファイルは何も除外されていません。 - + %1 files are ignored because of previous errors. Try to sync these again. 処理前にエラーが発生したため、%1 個のファイルが除外されました。 @@ -1779,229 +1779,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSyncがロックファイルの作成に失敗しました。 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSyncはジャーナルファイルの読み込みや作成に失敗しました。ローカルの同期ディレクトリに読み書きの権限があるか確認してください。 - + CSync failed to write the journal file. CSyncはジャーナルファイルの書き込みに失敗しました。 - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csync 用の %1 プラグインをロードできませんでした。<br/>インストール状態を確認してください!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. このクライアントのシステム時刻はサーバーのシステム時刻と異なります。時刻が同じになるように、クライアントとサーバーの両方で時刻同期サービス(NTP)を実行してください。 - + CSync could not detect the filesystem type. CSyncはファイルシステムタイプを検出できませんでした。 - + CSync got an error while processing internal trees. CSyncは内部ツリーの処理中にエラーに遭遇しました。 - + CSync failed to reserve memory. CSyncで使用するメモリの確保に失敗しました。 - + CSync fatal parameter error. CSyncの致命的なパラメータエラーです。 - + CSync processing step update failed. CSyncの処理ステップの更新に失敗しました。 - + CSync processing step reconcile failed. CSyncの処理ステップの調停に失敗しました。 - + CSync processing step propagate failed. CSyncの処理ステップの伝播に失敗しました。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>ターゲットディレクトリは存在しません。</p><p>同期設定を確認してください。</p> - + A remote file can not be written. Please check the remote access. リモートファイルは書き込みできません。リモートアクセスをチェックしてください。 - + The local filesystem can not be written. Please check permissions. ローカルファイルシステムは書き込みができません。パーミッションをチェックしてください。 - + CSync failed to connect through a proxy. CSyncがプロキシ経由での接続に失敗しました。 - + CSync could not authenticate at the proxy. CSyncはそのプロキシで認証できませんでした。 - + CSync failed to lookup proxy or server. CSyncはプロキシもしくはサーバーの参照に失敗しました。 - + CSync failed to authenticate at the %1 server. CSyncは %1 サーバーでの認証に失敗しました。 - + CSync failed to connect to the network. CSyncはネットワークへの接続に失敗しました。 - + A network connection timeout happened. ネットワーク接続のタイムアウトが発生しました。 - + A HTTP transmission error happened. HTTPの伝送エラーが発生しました。 - + CSync failed due to not handled permission deniend. CSyncは対応できないパーミッション拒否が原因で失敗しました。 - + CSync failed to access CSync はアクセスに失敗しました - + CSync tried to create a directory that already exists. CSyncはすでに存在するディレクトリを作成しようとしました。 - - + + CSync: No space on %1 server available. CSync: %1 サーバーには利用可能な空き領域がありません。 - + CSync unspecified error. CSyncの未指定のエラーです。 - + Aborted by the user ユーザーによって中止されました - + 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. 同期の際にシンボリックリンクはサポートしていません - + 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 同期ジャーナルを開くことができません - + 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 削除できません、復元しています - + Move not allowed, item restored 移動できません、項目を復元しました - + Move not allowed because %1 is read-only %1 は読み取り専用のため移動できません - + the destination 移動先 - + the source 移動元 @@ -2025,127 +2025,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in サインインしてください - + Disconnected from server サーバーから切断しました - + Folder %1: %2 フォルダー %1: %2 - + 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 最近同期されたアイテムはありません。 - + Syncing %1 of %2 (%3 left) 同期中 %2 中 %1 (残り %3) - + Syncing %1 (%2 left) 同期中 %1 (残り %2) - + %1 (%2, %3) %1 (%2, %3) - + Up to date 最新です @@ -2349,27 +2349,27 @@ It is not advisable to use it. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 5dd9b8114..789eaf8d7 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -234,27 +234,27 @@ Totaal resterende tijd %5 Mirall::ConnectionValidator - + No ownCloud account configured Geen ownCloud-account geconfigureerd - + The configured server for this client is too old De voor dit programma ingestelde server is te oud - + Please update to the latest server and restart the client. Werk update de server naar de nieuwste versie en herstart het programma. - + Unable to connect to %1 Niet in staat om verbinding te maken met %1 - + The provided credentials are not correct De verstrekte inloggegevens zijn niet juist @@ -262,100 +262,100 @@ 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. - + Sync Activity Synchronisatie-activiteit - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Deze synchronisatie verwijdert alle bestanden in lokale synchronisatiemap '%1'. Als u of uw beheerder uw account op de server heeft gereset, kies dan "Bewaar bestanden". Als u uw bestanden wilt verwijderen, kies dan "Verwijder alle bestanden". - + 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? @@ -364,17 +364,17 @@ Dit kan komen doordat de map ongemerkt gereconfigureerd is of doordat alle besta 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 @@ -382,67 +382,67 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::FolderMan - + Could not reset folder state Kan de beginstaat van de map niet terugzetten - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. De server is nu niet beschikbaar. - + 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) @@ -1288,12 +1288,12 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateItemJob - + ; Restoration Failed: ; Herstel mislukte: - + A file or directory was removed from a read only share, but restoring failed: %1 Er is een bestand of map verwijderd van een alleen-lezen share, maar herstellen is mislukt: %1 @@ -1301,12 +1301,12 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Let op, mogelijk conflict hoofdlettergevoeligheid met 1% - + could not create directory %1 kon map %1 niet maken @@ -1327,7 +1327,7 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Bestand %1 kan niet worden hernoemd naar %2, omdat de naam conflicteert met een lokaal bestand @@ -1335,7 +1335,7 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. Het bestand is verwijderd van een alleen-lezen share. Het is teruggezet. @@ -1343,17 +1343,17 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Deze map mag niet worden hernoemd. De naam van de map is teruggezet naar de originele naam. - + This folder must not be renamed. Please name it back to Shared. Deze map mag niet worden hernoemd. Verander de naam terug in Gedeeld. - + The file was renamed but is part of a read only share. The original file was restored. Het bestand is hernoemd, maar hoort bij een alleen-lezen share. Het originele bestand is teruggezet. @@ -1423,62 +1423,62 @@ We adviseren deze site niet te gebruiken. 4 - + Time Tijd - + File Bestand - + Folder Map - + Action Handeling - + Size Grootte - + Retry Sync Synchroniseer opnieuw - + Copy Kopiëren - + Copy the activity list to the clipboard. Kopieer de activiteitenlijst naar het klembord. - + Copied to clipboard Gekopieerd naar het klembord - + The sync status has been copied to the clipboard. Het synchronisatie overzicht is gekopieerd naar het klembord. - + 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. Try to sync these again. %1 bestanden zijn genegeerd vanwege eerdere fouten. @@ -1781,229 +1781,229 @@ Probeer opnieuw te synchroniseren. Mirall::SyncEngine - + Success. Succes. - + CSync failed to create a lock file. CSync kon geen lock file maken. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync kon het journal bestand niet maken of lezen. Controleer of u de juiste lees- en schrijfrechten in de lokale syncmap hebt. - + CSync failed to write the journal file. CSync kon het journal bestand niet wegschrijven. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>De %1 plugin voor csync kon niet worden geladen.<br/>Verifieer de installatie!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. De systeemtijd van deze client wijkt af van de systeemtijd op de server. Gebruik een tijdsynchronisatieservice (NTP) op zowel de server als de client, zodat de machines dezelfde systeemtijd hebben. - + CSync could not detect the filesystem type. CSync kon het soort bestandssysteem niet bepalen. - + CSync got an error while processing internal trees. CSync kreeg een fout tijdens het verwerken van de interne mappenstructuur. - + CSync failed to reserve memory. CSync kon geen geheugen reserveren. - + CSync fatal parameter error. CSync fatale parameter fout. - + CSync processing step update failed. CSync verwerkingsstap bijwerken mislukt. - + CSync processing step reconcile failed. CSync verwerkingsstap verzamelen mislukt. - + CSync processing step propagate failed. CSync verwerkingsstap doorzetten mislukt. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>De doelmap bestaat niet.</p><p>Controleer de synchinstellingen.</p> - + A remote file can not be written. Please check the remote access. Een extern bestand kon niet worden weggeschreven. Controleer de externe rechten. - + The local filesystem can not be written. Please check permissions. Er kan niet worden geschreven naar het lokale bestandssysteem. Controleer de schrijfrechten. - + CSync failed to connect through a proxy. CSync kon niet verbinden via een proxy. - + CSync could not authenticate at the proxy. CSync kon niet authenticeren bij de proxy. - + CSync failed to lookup proxy or server. CSync kon geen proxy of server vinden. - + CSync failed to authenticate at the %1 server. CSync kon niet authenticeren bij de %1 server. - + CSync failed to connect to the network. CSync kon niet verbinden met het netwerk. - + A network connection timeout happened. Er trad een netwerk time-out op. - + A HTTP transmission error happened. Er trad een HTTP transmissiefout plaats. - + CSync failed due to not handled permission deniend. CSync mislukt omdat de benodigde toegang werd geweigerd. - + CSync failed to access CSync kreeg geen toegang - + CSync tried to create a directory that already exists. CSync probeerde een al bestaande directory aan te maken. - - + + CSync: No space on %1 server available. CSync: Geen ruimte op %1 server beschikbaar. - + CSync unspecified error. CSync ongedefinieerde fout. - + Aborted by the user Afgebroken door de gebruiker - + 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. - + 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 - + 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 - + 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 @@ -2027,127 +2027,127 @@ 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. - + 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 - + 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 @@ -2351,27 +2351,27 @@ Probeer opnieuw te synchroniseren. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index d353b902a..c9171e894 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -234,27 +234,27 @@ Pozostało czasu %5 Mirall::ConnectionValidator - + No ownCloud account configured Nie skonfigurowano konta ownCloud - + The configured server for this client is too old Konfigurowany serwer dla tego klienta jest za stary - + Please update to the latest server and restart the client. Proszę zaaktualizować serwer do najnowszej wersji i zrestartować klienta. - + Unable to connect to %1 Nie mogę połączyć się do %1 - + The provided credentials are not correct Podane dane logowania są nieprawidłowe @@ -262,100 +262,100 @@ 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. - + Sync Activity Aktywności synchronizacji - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Ta synchronizacja usunie wszystkie pliku z lokalnego folderu synchronizacji '%1'. Jeśli Ty lub Twój administrator zresetowali Twoje konto na serwerze, wybierz "Zachowaj pliki". Jeśli chcesz aby Twoje dane zostały usunięte, wybierz "Usuń wszystkie pliki". - + 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? @@ -364,17 +364,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 @@ -382,67 +382,67 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::FolderMan - + Could not reset folder state Nie udało się zresetować stanu folderu - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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 - + Server is currently not available. Serwer jest obecnie niedostępny. - + 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) @@ -1288,12 +1288,12 @@ Niezalecane jest jego użycie. Mirall::PropagateItemJob - + ; Restoration Failed: - + A file or directory was removed from a read only share, but restoring failed: %1 Plik lub katalog został usunięty z udziału z prawem tylko do odczytu, ale przywrócenie nie powiodło się: %1 @@ -1301,12 +1301,12 @@ Niezalecane jest jego użycie. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Uwaga, możliwa niezgodność związana z wielością liter w %1 - + could not create directory %1 nie można utworzyć katalogu %1 @@ -1327,7 +1327,7 @@ Niezalecane jest jego użycie. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Plik %1 nie może być nazwany %2 z powodu kolizji z lokalną nazwą pliku @@ -1335,7 +1335,7 @@ Niezalecane jest jego użycie. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. Plik został usunięty z zasobu z prawem tylko do odczytu. Został przywrócony. @@ -1343,17 +1343,17 @@ Niezalecane jest jego użycie. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Folder ten nie może być zmieniony. Został zmieniony z powrotem do pierwotnej nazwy. - + This folder must not be renamed. Please name it back to Shared. Nie wolno zmieniać nazwy tego folderu. Proszę zmień nazwę z powrotem na Shared. - + The file was renamed but is part of a read only share. The original file was restored. Plik był edytowany lokalnie ale jest częścią udziału z prawem tylko do odczytu. Przywrócono oryginalny plik @@ -1423,62 +1423,62 @@ Niezalecane jest jego użycie. 4 - + Time Czas - + File Plik - + Folder Folder - + Action Akcja - + Size Rozmiar - + Retry Sync Ponów synchronizację - + Copy Kopiuj - + Copy the activity list to the clipboard. Kopiuj listę aktywności do schowka. - + Copied to clipboard Skopiuj do schowka - + The sync status has been copied to the clipboard. Status synchronizacji został skopiowany do schowka. - + 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. Try to sync these again. %1 pliki są ignorowane z powodu błędów. @@ -1781,229 +1781,229 @@ Niezalecane jest jego użycie. Mirall::SyncEngine - + Success. Sukces. - + CSync failed to create a lock file. CSync nie mógł utworzyć pliku blokady. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync nie powiodło się załadowanie lub utworzenie pliku dziennika. Upewnij się, że masz prawa do odczytu i zapisu do lokalnego katalogu synchronizacji. - + CSync failed to write the journal file. CSync nie udało się zapisać pliku dziennika. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Wtyczka %1 do csync nie może być załadowana.<br/>Sprawdź poprawność instalacji!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Czas systemowy na tym kliencie różni się od czasu systemowego na serwerze. Użyj usługi synchronizacji czasu (NTP) na serwerze i kliencie, aby czas na obu urządzeniach był taki sam. - + CSync could not detect the filesystem type. CSync nie może wykryć typu systemu plików. - + CSync got an error while processing internal trees. CSync napotkał błąd podczas przetwarzania wewnętrznych drzew. - + CSync failed to reserve memory. CSync nie mógł zarezerwować pamięci. - + CSync fatal parameter error. Krytyczny błąd parametru CSync. - + CSync processing step update failed. Aktualizacja procesu przetwarzania CSync nie powiodła się. - + CSync processing step reconcile failed. Scalenie w procesie przetwarzania CSync nie powiodło się. - + CSync processing step propagate failed. Propagacja w procesie przetwarzania CSync nie powiodła się. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Katalog docelowy nie istnieje.</p><p>Sprawdź ustawienia synchronizacji.</p> - + A remote file can not be written. Please check the remote access. Zdalny plik nie może zostać zapisany. Sprawdź dostęp zdalny. - + The local filesystem can not be written. Please check permissions. Nie można zapisywać na lokalnym systemie plików. Sprawdź uprawnienia. - + CSync failed to connect through a proxy. CSync nie mógł połączyć się przez proxy. - + CSync could not authenticate at the proxy. CSync nie mógł się uwierzytelnić przez proxy. - + CSync failed to lookup proxy or server. CSync nie mógł odnaleźć serwera proxy. - + CSync failed to authenticate at the %1 server. CSync nie mógł uwierzytelnić się na serwerze %1. - + CSync failed to connect to the network. CSync nie mógł połączyć się z siecią. - + A network connection timeout happened. - + A HTTP transmission error happened. Wystąpił błąd transmisji HTTP. - + CSync failed due to not handled permission deniend. CSync nie obsługiwane, odmowa uprawnień. - + CSync failed to access Synchronizacja nieudana z powodu braku dostępu - + CSync tried to create a directory that already exists. CSync próbował utworzyć katalog, który już istnieje. - - + + CSync: No space on %1 server available. CSync: Brak dostępnego miejsca na serwerze %1. - + CSync unspecified error. Nieokreślony błąd CSync. - + Aborted by the user Anulowane przez użytkownika - + 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. - + 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination docelowy - + the source źródło @@ -2027,127 +2027,127 @@ 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. - + 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 - + 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 @@ -2352,27 +2352,27 @@ Kliknij Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index b6382f532..7b6235199 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -234,27 +234,27 @@ Total time left %5 Mirall::ConnectionValidator - + No ownCloud account configured Não foi configurada nenhuma conta ownCloud - + The configured server for this client is too old O servidor configurado para este cliente é muito antigo - + Please update to the latest server and restart the client. Por favor actualize para a ultima versão do servidor e reinicie o cliente. - + Unable to connect to %1 Não foi possível ligar a %1 - + The provided credentials are not correct As credenciais fornecidas não estão correctas @@ -262,100 +262,100 @@ 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 - + Sync Activity Actividade de sincronicação - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Esta sincronização irá remover todos os ficheiros sincronizados na pasta local '%1'. 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". - + 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? @@ -363,17 +363,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 @@ -381,67 +381,67 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::FolderMan - + Could not reset folder state Não foi possível repor o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. O servidor não está disponível de momento. - + 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) @@ -1285,12 +1285,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + ; Restoration Failed: ; Restauração Falhou: - + A file or directory was removed from a read only share, but restoring failed: %1 Um ficheiro ou um directório foi removido de uma partilha apenas de leitura, mas o restauro falhou: %1 @@ -1298,12 +1298,12 @@ It is not advisable to use it. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Atenção, possível sensibilidade a maiúsculas em conflito com %1 - + could not create directory %1 Não foi possível criar a directoria %1 @@ -1324,7 +1324,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash O ficheiro %1 nao pode ser renomeado para %2 devido a conflito com nome de ficheiro local @@ -1332,7 +1332,7 @@ It is not advisable to use it. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. O ficheiro havia sido removido de uma partilha apenas de leitura. Ficheiro restaurado. @@ -1340,17 +1340,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Esta pasta não pode ser renomeada. A alterar para nome original. - + This folder must not be renamed. Please name it back to Shared. Esta pasta não pode ser renomeada. Por favor renomeie para o seu nome original: Shared. - + The file was renamed but is part of a read only share. The original file was restored. O ficheiro foi renomeado mas faz parte de uma partilha só de leitura. O ficheiro original foi restaurado. @@ -1420,62 +1420,62 @@ It is not advisable to use it. 4 - + Time Tempo - + File Ficheiro - + Folder Pasta - + Action Acção - + Size Tamanho - + Retry Sync Tentar sincronizar novamente - + Copy Copiar - + Copy the activity list to the clipboard. Copiar lista de actividades para a área de transferência. - + Copied to clipboard Copiado para a área de transferência - + The sync status has been copied to the clipboard. O estado da sincronização foi copiada para a área de transferência. - + Currently no files are ignored because of previous errors. Devido a erros anteriores, nenhum ficheiro é ignorado. - + %1 files are ignored because of previous errors. Try to sync these again. %1 ficheiros ignorados devido a erros anteriore. @@ -1778,230 +1778,230 @@ Por favor tente sincronizar novamente. Mirall::SyncEngine - + Success. Sucesso - + CSync failed to create a lock file. CSync falhou a criação do ficheiro de lock. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync falhou no carregamento ou criação do ficheiro jornal. Confirme que tem permissões de escrita e leitura no directório de sincronismo local. - + CSync failed to write the journal file. CSync falhou a escrever o ficheiro do jornal. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>O plugin %1 para o CSync não foi carregado.<br/>Por favor verifique a instalação!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A data/hora neste cliente é difere da data/hora do servidor. Por favor utilize um servidor de sincronização horária (NTP), no servidor e nos clientes para garantir que a data/hora são iguais. - + CSync could not detect the filesystem type. Csync não conseguiu detectar o tipo de sistema de ficheiros. - + CSync got an error while processing internal trees. Csync obteve um erro enquanto processava as árvores internas. - + CSync failed to reserve memory. O CSync falhou a reservar memória - + CSync fatal parameter error. Parametro errado, CSync falhou - + CSync processing step update failed. O passo de processamento do CSyn falhou - + CSync processing step reconcile failed. CSync: Processo de reconciliação falhou. - + CSync processing step propagate failed. CSync: O processo de propagação falhou. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>A pasta de destino não existe.</p><p>Por favor verifique a configuração da sincronização.</p> - + A remote file can not be written. Please check the remote access. Não é possivel escrever num ficheiro remoto. Por favor verifique o acesso remoto. - + The local filesystem can not be written. Please check permissions. Não é possivel escrever no sistema de ficheiros local. Por favor verifique as permissões. - + CSync failed to connect through a proxy. CSync: Erro a ligar através do proxy - + CSync could not authenticate at the proxy. CSync: erro ao autenticar-se no servidor proxy. - + CSync failed to lookup proxy or server. CSync: Erro a contactar o proxy ou o servidor. - + CSync failed to authenticate at the %1 server. CSync: Erro a autenticar no servidor %1 - + CSync failed to connect to the network. CSync: Erro na conecção à rede - + A network connection timeout happened. Houve um erro de timeout de rede. - + A HTTP transmission error happened. Ocorreu um erro de transmissão HTTP - + CSync failed due to not handled permission deniend. CSync: Erro devido a permissões de negação não tratadas. - + CSync failed to access CSync: falha no acesso - + CSync tried to create a directory that already exists. O CSync tentou criar uma pasta que já existe. - - + + CSync: No space on %1 server available. CSync: Não ha espaço disponível no servidor %1 - + CSync unspecified error. CSync: erro não especificado - + Aborted by the user Cancelado pelo utilizador - + 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. - + 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 - + 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 - + 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 @@ -2025,127 +2025,127 @@ 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. - + 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 - + 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 @@ -2349,27 +2349,27 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index c1bb08947..9f2f050db 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -234,27 +234,27 @@ Total de tempo que falta 5% Mirall::ConnectionValidator - + No ownCloud account configured Nenhuma conta ownCloud configurada - + The configured server for this client is too old O servidor configurado para este cliente é muito antigo - + Please update to the latest server and restart the client. Por favor, atualize para o último servidor e reinicie o cliente. - + Unable to connect to %1 Impossível se conectar a %1 - + The provided credentials are not correct As credenciais fornecidas não estão corretas @@ -262,100 +262,100 @@ 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. - + Sync Activity Atividade de Sincronização - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Esta sincronização irá remover todos os arquivos na pasta de sincronização local '%1'. Se você ou o administrador tiver que redefinir a sua conta no servidor, escolha "Manter arquivos". Se você deseja que seus dados sejam removidos, escolha "Remover todos os arquivos". - + 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? @@ -364,17 +364,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 @@ -382,67 +382,67 @@ Você tem certeza que quer executar esta operação? Mirall::FolderMan - + Could not reset folder state Não foi possível redefinir o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Servidor indisponível no momento. - + 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) @@ -1286,12 +1286,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + ; Restoration Failed: ; Falha na Restauração: - + A file or directory was removed from a read only share, but restoring failed: %1 Um arquivo ou diretório foi removido de um compartilhamento somente de leitura, mas a restauração falhou: %1 @@ -1299,12 +1299,12 @@ It is not advisable to use it. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Atenção, possível caso de sensibilidade de minúscula/maiúscula, choque com 1% - + could not create directory %1 Não foi possível criar diretório %1 @@ -1325,7 +1325,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash O arquivo %1 não pode ser renomeado para %2 por causa de um choque com nome de arquivo local @@ -1333,7 +1333,7 @@ It is not advisable to use it. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. O arquivo foi removido de um compartilhamento somente de leitura. Ele foi restaurado. @@ -1341,17 +1341,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Esta pasta não pode ser renomeada. Ela será renomeado de volta ao seu nome original. - + This folder must not be renamed. Please name it back to Shared. Esta pasta não pode ser renomeada. Por favor, nomeie-a de volta para Compartilhada. - + The file was renamed but is part of a read only share. The original file was restored. O arquivo foi renomeado mas faz parte de compartilhamento só de leitura. O arquivo original foi restaurado. @@ -1421,62 +1421,62 @@ It is not advisable to use it. 4 - + Time Tempo - + File Arquivo - + Folder Pasta - + Action Ação - + Size Tamanho - + Retry Sync Rafazer Sincronização - + Copy Copiar - + Copy the activity list to the clipboard. Copiar a lista de atividades para a área de transferência. - + Copied to clipboard Copiado para área de transferência - + The sync status has been copied to the clipboard. O estado de sincronização foi copiado para a área de transferência. - + 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. Try to sync these again. %1 arquivos são ignorados por causa de erros prévios. @@ -1779,229 +1779,229 @@ Tente sincronizar novamente. Mirall::SyncEngine - + Success. Sucesso. - + CSync failed to create a lock file. Falha ao criar o arquivo de trava pelo CSync. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync falhou ao carregar ou criar o arquivo jornal. Certifique-se de ter permissão de escrita no diretório de sincronização local. - + CSync failed to write the journal file. Csync falhou ao tentar gravar o arquivo jornal. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>O plugin %1 para csync não foi carregado.<br/>Por favor verifique a instalação!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A hora do sistema neste cliente é diferente da hora de sistema no servidor. Por favor, use um serviço de sincronização de tempo (NTP) no servidor e máquinas clientes para que as datas continuam as mesmas. - + CSync could not detect the filesystem type. Tipo de sistema de arquivo não detectado pelo CSync. - + CSync got an error while processing internal trees. Erro do CSync enquanto processava árvores internas. - + CSync failed to reserve memory. CSync falhou ao reservar memória. - + CSync fatal parameter error. Erro fatal de parametro do CSync. - + CSync processing step update failed. Processamento da atualização do CSync falhou. - + CSync processing step reconcile failed. Processamento da conciliação do CSync falhou. - + CSync processing step propagate failed. Processamento da propagação do CSync falhou. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>O diretório de destino não existe.</p> <p>Por favor, verifique a configuração de sincronização. </p> - + A remote file can not be written. Please check the remote access. O arquivo remoto não pode ser escrito. Por Favor, verifique o acesso remoto. - + The local filesystem can not be written. Please check permissions. O sistema de arquivos local não pode ser escrito. Por favor, verifique as permissões. - + CSync failed to connect through a proxy. CSync falhou ao conectar por um proxy. - + CSync could not authenticate at the proxy. Csync não conseguiu autenticação no proxy. - + CSync failed to lookup proxy or server. CSync falhou ao localizar o proxy ou servidor. - + CSync failed to authenticate at the %1 server. CSync falhou ao autenticar no servidor %1. - + CSync failed to connect to the network. CSync falhou ao conectar à rede. - + A network connection timeout happened. Ocorreu uma desconexão de rede. - + A HTTP transmission error happened. Houve um erro na transmissão HTTP. - + CSync failed due to not handled permission deniend. CSync falhou devido a uma negativa de permissão não resolvida. - + CSync failed to access Falha no acesso CSync - + CSync tried to create a directory that already exists. CSync tentou criar um diretório que já existe. - - + + CSync: No space on %1 server available. CSync: Sem espaço disponível no servidor %1. - + CSync unspecified error. Erro não especificado no CSync. - + Aborted by the user Abortado pelo usuário - + 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. - + 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 - + 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 - + 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 @@ -2025,127 +2025,127 @@ 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. - + 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 - + 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 @@ -2349,27 +2349,27 @@ Tente sincronizar novamente. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 319e15d50..cd775ee1a 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -233,27 +233,27 @@ Total time left %5 Mirall::ConnectionValidator - + No ownCloud account configured Учётная запись OwnCloud не настроена - + The configured server for this client is too old Настроенный сервер слишком стар для этого клиента - + Please update to the latest server and restart the client. Пожалуйста, обновите сервер до последней версии и перезапустите клиент. - + Unable to connect to %1 Невозможно подключиться к %1 - + The provided credentials are not correct Введённые учётные данные не верны @@ -261,100 +261,100 @@ 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. - + Sync Activity Журнал синхронизации - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Это действие может удалить все файлы в локальной папке '%1'. Если вы или ваш администратор заново создали вашу учётную запись на сервере, выберите "Сохранить файлы". Если вы хотите стереть всё - выберите "Удалить все файлы". - + 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? @@ -363,17 +363,17 @@ Are you sure you want to perform this operation? Вы уверены, что хотите выполнить операцию? - + Remove All Files? Удалить все файлы? - + Remove all files Удалить все файлы - + Keep files Сохранить файлы @@ -381,67 +381,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Невозможно сбросить состояние папки - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Найден старый журнал синхронизации '%1', и он не может быть удалён. Пожалуйста убедитесь что он не открыт в каком-либо приложении. - + Undefined State. Неопределенное состояние. - + Waits to start syncing. Ожидает, чтобы начать синхронизацию. - + Preparing for sync. Подготовка к синхронизации. - + Sync is running. Идет синхронизация. - + Server is currently not available. Сервер недоступен. - + 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) %! (синхронизация приостановлена) @@ -1287,12 +1287,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + ; Restoration Failed: - + A file or directory was removed from a read only share, but restoring failed: %1 Файл или каталог был удалён из опубликованной папки с правами только для чтения, но восстановить его не удалось: %1 @@ -1300,12 +1300,12 @@ It is not advisable to use it. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 - + could not create directory %1 не удалось создать директорию %1 @@ -1326,7 +1326,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1334,7 +1334,7 @@ It is not advisable to use it. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. Файл был удалён из опубликованной папки с правами только для чтения. Файл был восстановлен. @@ -1342,17 +1342,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Эта папка не должна переименовываться. Ей будет присвоено изначальное имя. - + This folder must not be renamed. Please name it back to Shared. Эта папка не должна переименовываться. Пожалуйста, верните ей имя Shared - + The file was renamed but is part of a read only share. The original file was restored. @@ -1422,62 +1422,62 @@ It is not advisable to use it. 4 - + Time Время - + File Файл - + Folder Папка - + Action Действие - + Size Размер - + Retry Sync Повторить попытку синхронизации - + Copy Копировать - + Copy the activity list to the clipboard. Скопировать журнал синхронизации в буфер обмена. - + Copied to clipboard Скопировано в буфер обмена - + The sync status has been copied to the clipboard. Статус синхронизации скопирован в буфер обмена. - + Currently no files are ignored because of previous errors. На данный момент файлы, игнорируемые из-за ошибок, отсутствуют. - + %1 files are ignored because of previous errors. Try to sync these again. %1 файлов проигнорировано из-за ошибок. @@ -1780,229 +1780,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Успешно. - + CSync failed to create a lock file. CSync не удалось создать файл блокировки. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync не смог загрузить или создать файл журнала. Убедитесь что вы имеете права чтения и записи в локальной директории. - + CSync failed to write the journal file. CSync не смог записать файл журнала. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1 плагин для синхронизации не удается загрузить.<br/>Пожалуйста, убедитесь, что он установлен!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Системное время на этом клиенте отличается от времени на сервере. Воспользуйтесь сервисом синхронизации времени (NTP) на серверной и клиентской машинах для установки точного времени. - + CSync could not detect the filesystem type. CSync не удалось обнаружить тип файловой системы. - + CSync got an error while processing internal trees. CSync получил сообщение об ошибке при обработке внутренних деревьев. - + CSync failed to reserve memory. CSync не удалось зарезервировать память. - + CSync fatal parameter error. Фатальная ошибка параметра CSync. - + CSync processing step update failed. Процесс обновления CSync не удался. - + CSync processing step reconcile failed. Процесс согласования CSync не удался. - + CSync processing step propagate failed. Процесс передачи CSync не удался. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Целевая папка не существует.</p><p>Проверьте настройки синхронизации.</p> - + A remote file can not be written. Please check the remote access. Удаленный файл не может быть записан. Пожалуйста, проверьте удаленный доступ. - + The local filesystem can not be written. Please check permissions. Локальная файловая система не доступна для записи. Пожалуйста, проверьте права пользователя. - + CSync failed to connect through a proxy. CSync не удалось подключиться через прокси. - + CSync could not authenticate at the proxy. CSync не удалось авторизоваться на прокси сервере. - + CSync failed to lookup proxy or server. CSync не удалось найти прокси сервер. - + CSync failed to authenticate at the %1 server. CSync не удалось аутентифицироваться на сервере %1. - + CSync failed to connect to the network. CSync не удалось подключиться к сети. - + A network connection timeout happened. - + A HTTP transmission error happened. Произошла ошибка передачи http. - + CSync failed due to not handled permission deniend. CSync упал в связи с отутствием обработки из-за отказа в доступе. - + CSync failed to access CSync не имеет доступа - + CSync tried to create a directory that already exists. CSync пытался создать директорию, которая уже существует. - - + + CSync: No space on %1 server available. CSync: Нет доступного пространства на сервере %1 server. - + CSync unspecified error. Неизвестная ошибка CSync. - + Aborted by the user Прервано пользователем - + 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. Синхронизация символических ссылок не поддерживается. - + 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 Не удаётся открыть журнал синхронизации - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination Назначение - + the source Источник @@ -2026,127 +2026,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in Пожалуйста войдите в учётную запись - + Disconnected from server - + Folder %1: %2 Папка %1: %2 - + 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 Недавно ничего не синхронизировалсь - + Syncing %1 of %2 (%3 left) Синхронизация %1 из %2 (%3 осталось) - + Syncing %1 (%2 left) Синхронизация %1 (%2 осталось) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Актуальная версия @@ -2350,27 +2350,27 @@ It is not advisable to use it. Utility - + %L1 TB %L1 ТБ - + %L1 GB %L1 ГБ - + %L1 MB %L1 МБ - + %L1 kB %L1 кБ - + %L1 B %L1 Б diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index b6163e0ac..d959faced 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -233,27 +233,27 @@ Total time left %5 Mirall::ConnectionValidator - + No ownCloud account configured Žiadny účet v ownCloude nie je nastavený - + The configured server for this client is too old Server nakonfigurovaný pre tohto klienta je príliš starý - + Please update to the latest server and restart the client. Prosím aktualizujte na najnovšiu verziu servera a reštartujte klienta. - + Unable to connect to %1 Nedá sa pripojiť k %1 - + The provided credentials are not correct Poskytnuté poverenia nie sú správne @@ -261,100 +261,100 @@ Total time left %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. - + Sync Activity Aktivita synchronizácie - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Táto synchronizácia odstráni všetky súbory v lokálnom synchronizačnom priečinku '%1'. Pokiaľ vy alebo váš správca zresetoval váš účet na serveri, vyberte možnosť "Ponechať súbory". Pokiaľ chcete odstrániť vaše dáta, vyberte možnosť "Odstrániť všetky súbory". - + 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? @@ -363,17 +363,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 @@ -381,67 +381,67 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::FolderMan - + Could not reset folder state Nemožno resetovať stav priečinka - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Sever momentálne nie je prístupný. - + 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á) @@ -1287,12 +1287,12 @@ Nie je vhodné ju používať. Mirall::PropagateItemJob - + ; Restoration Failed: - + A file or directory was removed from a read only share, but restoring failed: %1 Súbor alebo priečinok bol odobratý zo zdieľania len na čítanie, ale jeho obnovenie zlyhalo: %1 @@ -1300,12 +1300,12 @@ Nie je vhodné ju používať. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Pozor, možná kolízia z dôvodu veľkosti písmen s %1 - + could not create directory %1 nepodarilo sa vytvoriť priečinok %1 @@ -1326,7 +1326,7 @@ Nie je vhodné ju používať. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Súbor %1 nemôže byť premenovaný na %2 z dôvodu, že tento názov je už použitý @@ -1334,7 +1334,7 @@ Nie je vhodné ju používať. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. Súbor bol odobratý zo zdieľania len na čítanie. Súbor bol obnovený. @@ -1342,17 +1342,17 @@ Nie je vhodné ju používať. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Tento priečinok nemôže byť premenovaný. Prosím, vráťte mu pôvodné meno. - + This folder must not be renamed. Please name it back to Shared. Tento priečinok nemôže byť premenovaný. Prosím, vráťte mu meno Shared. - + The file was renamed but is part of a read only share. The original file was restored. Súbor bol premenovaný, ale je súčasťou zdieľania len na čítanie. Pôvodný súbor bol obnovený. @@ -1422,62 +1422,62 @@ Nie je vhodné ju používať. 4 - + Time Čas - + File Súbor - + Folder Priečinok - + Action Akcia - + Size Veľkosť - + Retry Sync Zopakovať synchronizáciu - + Copy Kopírovať - + Copy the activity list to the clipboard. Skopírovať zoznam aktivít do schránky. - + Copied to clipboard Skopírované do schránky - + The sync status has been copied to the clipboard. Stav synchronizácie bol nakopírovaný do schránky. - + 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. Try to sync these again. %1 súborov je na čiernej listine kvôli predchádzajúcim chybovým stavom. @@ -1779,229 +1779,229 @@ Nie je vhodné ju používať. Mirall::SyncEngine - + Success. Úspech. - + CSync failed to create a lock file. Vytvorenie "zamykacieho" súboru cez "CSync" zlyhalo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync sa nepodarilo načítať alebo vytvoriť súbor žurnálu. Uistite sa, že máte oprávnenia na čítanie a zápis v lokálnom synchronizovanom priečinku. - + CSync failed to write the journal file. CSync sa nepodarilo zapísať do súboru žurnálu. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1 zásuvný modul pre "CSync" nebolo možné načítať.<br/>Prosím skontrolujte inštaláciu!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systémový čas tohoto klienta je odlišný od systémového času na serveri. Prosím zvážte použitie sieťovej časovej synchronizačnej služby (NTP) na serveri a klientských strojoch, aby bol na nich rovnaký čas. - + CSync could not detect the filesystem type. Detekcia súborového systému vrámci "CSync" zlyhala. - + CSync got an error while processing internal trees. Spracovanie "vnútorných stromov" vrámci "CSync" zlyhalo. - + CSync failed to reserve memory. CSync sa nepodarilo zarezervovať pamäť. - + CSync fatal parameter error. CSync kritická chyba parametrov. - + CSync processing step update failed. CSync sa nepodarilo spracovať krok aktualizácie. - + CSync processing step reconcile failed. CSync sa nepodarilo spracovať krok zladenia. - + CSync processing step propagate failed. CSync sa nepodarilo spracovať krok propagácie. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Cieľový priečinok neexistuje.</p><p>Skontrolujte, prosím, nastavenia synchronizácie.</p> - + A remote file can not be written. Please check the remote access. Vzdialený súbor nie je možné zapísať. Prosím skontrolujte vzdialený prístup. - + The local filesystem can not be written. Please check permissions. Do lokálneho súborového systému nie je možné zapisovať. Prosím skontrolujte povolenia. - + CSync failed to connect through a proxy. CSync sa nepodarilo prihlásiť cez proxy. - + CSync could not authenticate at the proxy. CSync sa nemohol prihlásiť k proxy. - + CSync failed to lookup proxy or server. CSync sa nepodarilo nájsť proxy alebo server. - + CSync failed to authenticate at the %1 server. CSync sa nepodarilo prihlásiť na server %1. - + CSync failed to connect to the network. CSync sa nepodarilo pripojiť k sieti. - + A network connection timeout happened. - + A HTTP transmission error happened. Chyba HTTP prenosu. - + CSync failed due to not handled permission deniend. CSync zlyhalo. Nedostatočné oprávnenie. - + CSync failed to access CSync nepodaril prístup - + CSync tried to create a directory that already exists. CSync sa pokúsil vytvoriť priečinok, ktorý už existuje. - - + + CSync: No space on %1 server available. CSync: Na serveri %1 nie je žiadne voľné miesto. - + CSync unspecified error. CSync nešpecifikovaná chyba. - + Aborted by the user Zrušené používateľom - + 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. - + 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2025,127 +2025,127 @@ 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. - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Až do dnešného dňa @@ -2349,27 +2349,27 @@ Nie je vhodné ju používať. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index bec71051a..d1e9a2204 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -233,27 +233,27 @@ Total time left %5 Mirall::ConnectionValidator - + No ownCloud account configured Ni nastavljenega računa v oblaku ownCloud - + The configured server for this client is too old Nastavljen strežnik tega odjemalca je prestar. - + Please update to the latest server and restart the client. Posodobite strežnik in ponovno zaženite odjemalca. - + Unable to connect to %1 Povezava z %1 ni mogoča. - + The provided credentials are not correct Podana poverila niso pravilna. @@ -261,100 +261,100 @@ 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. - + Sync Activity Dejavnost usklajevanja - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Z usklajevanjem bodo odstranjene vse krajevne datoteke v mapi '%1'. Če je bil račun na strežniku kakorkoli ponastavljen, izberite možnost "Ohrani datoteke", če pa želite datoteke res odstraniti, izberite drugo možnost. - + 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? @@ -363,17 +363,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 @@ -381,67 +381,67 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::FolderMan - + Could not reset folder state Ni mogoče ponastaviti stanja mape - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Strežnik trenutno ni na voljo. - + 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) @@ -1287,12 +1287,12 @@ Uporaba ni priporočljiva. Mirall::PropagateItemJob - + ; Restoration Failed: ; obnovitev je spodletela: - + A file or directory was removed from a read only share, but restoring failed: %1 Datoteka ali mapa je bila odstranjena iz mesta v souporabi, ki je nastavljeno le za branje, obnavljanje pa je spodletelo: %1 @@ -1300,12 +1300,12 @@ Uporaba ni priporočljiva. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Pozor, mogoče je neskladje v velikosti črk imena %1 - + could not create directory %1 ni mogoče ustvariti mape %1 @@ -1326,7 +1326,7 @@ Uporaba ni priporočljiva. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Datoteke %1 ni mogoče preimenovati v %2 zaradi že obstoječe datoteke s tem imenom. @@ -1334,7 +1334,7 @@ Uporaba ni priporočljiva. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. Datoteka je bila odstranjena iz mesta v souporabi, vendar je uspešno obnovljena. @@ -1342,17 +1342,17 @@ Uporaba ni priporočljiva. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Te mape ni dovoljeno preimenovati, zato bo samodejno preimenovana v izvorno ime. - + This folder must not be renamed. Please name it back to Shared. Mape ni dovoljeno preimenovati. Preimenujte jo nazaj na privzeto vrednost. - + The file was renamed but is part of a read only share. The original file was restored. Datoteka je preimenovana, vendar je označena za souporabo le za branje. Obnovljena je izvirna datoteka. @@ -1422,62 +1422,62 @@ Uporaba ni priporočljiva. 4 - + Time Čas - + File Datoteka - + Folder Mapa - + Action Dejanje - + Size Velikost - + Retry Sync Ponovno začni usklajevanje - + Copy Kopiraj - + Copy the activity list to the clipboard. Kopiraj seznam opravil v odložišče. - + Copied to clipboard Kopirano v odložišče - + The sync status has been copied to the clipboard. Stanje usklajevanja je kopirano v odložišče. - + 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. Try to sync these again. %1 datotek je prezrtih zaradi predhodnih napak. @@ -1780,229 +1780,229 @@ Te je treba uskladiti znova. Mirall::SyncEngine - + Success. Uspešno končano. - + CSync failed to create a lock file. Ustvarjanje datoteke zaklepa s CSync je spodletelo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Nalaganje ali ustvarjanje dnevniške datoteke s CSync je spodletelo. Za to opravilo so zahtevana posebna dovoljenja krajevne mape za usklajevanje. - + CSync failed to write the journal file. Zapisovanje dnevniške datoteke s CSync je spodletelo. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Vstavka %1 za CSync ni mogoče naložiti.<br/>Preverite namestitev!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Sistemski čas na odjemalcu ni skladen s sistemskim časom na strežniku. Priporočljivo je uporabiti storitev usklajevanja časa (NTP) na strežniku in odjemalcu. S tem omogočimo ujemanje podatkov o času krajevnih in oddaljenih datotek. - + CSync could not detect the filesystem type. Zaznavanje vrste datotečnega sistema s CSync je spodletelo. - + CSync got an error while processing internal trees. Pri obdelavi notranje drevesne strukture s CSync je prišlo do napake. - + CSync failed to reserve memory. Vpisovanje prostora v pomnilniku za CSync je spodletelo. - + CSync fatal parameter error. Usodna napaka parametra CSync. - + CSync processing step update failed. Korak opravila posodobitve CSync je spodletel. - + CSync processing step reconcile failed. Korak opravila poravnave CSync je spodletel. - + CSync processing step propagate failed. Korak opravila razširjanja CSync je spodletel. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Ciljna mapa ne obstaja.</p><p>Preveriti je treba nastavitve usklajevanja.</p> - + A remote file can not be written. Please check the remote access. Oddaljene datoteke ni mogoče zapisati. Najverjetneje je vzrok v oddaljenem dostopu. - + The local filesystem can not be written. Please check permissions. V krajevni datotečni sistem ni mogoče pisati. Najverjetneje je vzrok v neustreznih dovoljenjih. - + CSync failed to connect through a proxy. Povezava CSync preko posredniškega strežnika je spodletel. - + CSync could not authenticate at the proxy. Overitev CSync na posredniškem strežniku je spodletela. - + CSync failed to lookup proxy or server. Poizvedba posredniškega strežnika s CSync je spodletela. - + CSync failed to authenticate at the %1 server. Overitev CSync pri strežniku %1 je spodletela. - + CSync failed to connect to the network. Povezava CSync v omrežje je spodletela. - + A network connection timeout happened. - + A HTTP transmission error happened. Prišlo je do napake med prenosom HTTP. - + CSync failed due to not handled permission deniend. Delovanje CSync je zaradi neustreznih dovoljenj spodletelo. - + CSync failed to access Dostop s CSync je spodletel - + CSync tried to create a directory that already exists. Prišlo je do napake programa CSync zaradi poskusa ustvarjanja mape z že obstoječim imenom. - - + + CSync: No space on %1 server available. Odziv CSync: na strežniku %1 ni razpoložljivega prostora. - + CSync unspecified error. Nedoločena napaka CSync. - + Aborted by the user Opravilo je bilo prekinjeno s strani uporabnika - + 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. - + 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination cilj - + the source vir @@ -2026,127 +2026,127 @@ Te je treba uskladiti znova. 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. - + 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 - + Syncing %1 of %2 (%3 left) Poteka usklajevanje %1 od %2 (preostaja %3) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date Ni posodobitev @@ -2350,27 +2350,27 @@ Te je treba uskladiti znova. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 9dfad99da..3e6ff822a 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -234,27 +234,27 @@ Tid kvar %5 Mirall::ConnectionValidator - + No ownCloud account configured Inget ownCloud konto konfigurerat - + The configured server for this client is too old Den konfigurerade servern är för den här klienten är för gammal - + Please update to the latest server and restart the client. Uppgradera servern och starta sedan om klienten. - + Unable to connect to %1 Kan ej koppla upp till %1 - + The provided credentials are not correct De angivna uppgifterna stämmer ej @@ -262,100 +262,100 @@ 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. - + Sync Activity Synk aktivitet - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Denna synk skulle radera alla filer i den lokala mappen '%1'. Om systemadministratören har återställt ditt konto på servern, välj "Behåll filer". Om du vill att dina filer ska raderas, välj "Radera alla filer". - + 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? @@ -364,17 +364,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 @@ -382,67 +382,67 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::FolderMan - + Could not reset folder state Kunde inte återställa mappens skick - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Servern är för tillfället inte tillgänglig. - + 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) @@ -1288,12 +1288,12 @@ Det är inte lämpligt använda den. Mirall::PropagateItemJob - + ; Restoration Failed: ; Restaurering Misslyckades: - + A file or directory was removed from a read only share, but restoring failed: %1 En fil eller katalog togs bort från en endast-läsbar delning, men återställning misslyckades: %1 @@ -1301,12 +1301,12 @@ Det är inte lämpligt använda den. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Observera, eventuell skiftlägeskänslig konflikt med %1 - + could not create directory %1 kunde ej skapa katalogen %1 @@ -1327,7 +1327,7 @@ Det är inte lämpligt använda den. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Filen %1 kan inte döpas om till %2 på grund av ett lokalt filnamn @@ -1335,7 +1335,7 @@ Det är inte lämpligt använda den. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. Den här filen har tagits bort från en endast-läsbar delning. Den återställdes. @@ -1343,17 +1343,17 @@ Det är inte lämpligt använda den. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Denna mapp får inte byta namn. Den kommer att döpas om till sitt ursprungliga namn. - + This folder must not be renamed. Please name it back to Shared. Denna mapp får ej döpas om. Vänligen döp den till Delad igen. - + The file was renamed but is part of a read only share. The original file was restored. En fil döptes om men är en del av en endast-läsbar delning. Original filen återställdes. @@ -1423,62 +1423,62 @@ Det är inte lämpligt använda den. 4 - + Time Tid - + File Fil - + Folder Mapp - + Action Ågärd - + Size Storlek - + Retry Sync Försök synka igen - + Copy Kopiera - + Copy the activity list to the clipboard. Kopiera aktivitetslistan till urklipp. - + Copied to clipboard Kopierat till urklipp - + The sync status has been copied to the clipboard. Synkroniseringsstatus har kopierats till urklipp. - + 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. Try to sync these again. %1 filer ignoreras på grund av föregående fel. @@ -1781,229 +1781,229 @@ Försök att synka dessa igen. Mirall::SyncEngine - + Success. Lyckades. - + CSync failed to create a lock file. CSync misslyckades med att skapa en låsfil. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync misslyckades att skapa en journal fil. Se till att du har läs och skriv rättigheter i den lokala synk katalogen. - + CSync failed to write the journal file. CSynk misslyckades att skriva till journal filen. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Plugin %1 för csync kunde inte laddas.<br/>Var god verifiera installationen!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systemtiden på denna klientdator är annorlunda än systemtiden på servern. Använd en tjänst för tidssynkronisering (NTP) på servern och alla klientdatorer så att tiden är lika. - + CSync could not detect the filesystem type. CSync kunde inte upptäcka filsystemtyp. - + CSync got an error while processing internal trees. CSYNC fel vid intern bearbetning. - + CSync failed to reserve memory. CSync misslyckades att reservera minne. - + CSync fatal parameter error. CSync fatal parameter fel. - + CSync processing step update failed. CSync processteg update misslyckades. - + CSync processing step reconcile failed. CSync processteg reconcile misslyckades. - + CSync processing step propagate failed. CSync processteg propagate misslyckades. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Målmappen finns inte</p><p>Vänligen, kontroller inställningen för sync.</p> - + A remote file can not be written. Please check the remote access. En fil på servern kan inte skapas. Kontrollera åtkomst till fjärranslutningen. - + The local filesystem can not be written. Please check permissions. Kan inte skriva till det lokala filsystemet. Var god kontrollera rättigheterna. - + CSync failed to connect through a proxy. CSync misslyckades att ansluta genom en proxy. - + CSync could not authenticate at the proxy. CSync kunde inte autentisera mot proxy. - + CSync failed to lookup proxy or server. CSync misslyckades att hitta proxy eller server. - + CSync failed to authenticate at the %1 server. CSync misslyckades att autentisera mot %1 servern. - + CSync failed to connect to the network. CSync misslyckades att ansluta mot nätverket. - + A network connection timeout happened. En timeout på nätverksanslutningen har inträffat. - + A HTTP transmission error happened. Ett HTTP överföringsfel inträffade. - + CSync failed due to not handled permission deniend. CSYNC misslyckades på grund av att nekad åtkomst inte hanterades. - + CSync failed to access CSynk misslyckades att tillträda - + CSync tried to create a directory that already exists. CSync försökte skapa en mapp som redan finns. - - + + CSync: No space on %1 server available. CSync: Ingen plats på %1 server tillgänglig. - + CSync unspecified error. CSync ospecificerat fel. - + Aborted by the user Avbruten av användare - + 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. - + 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 - + 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 - + 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 @@ -2027,127 +2027,127 @@ 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. - + 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 - + 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 @@ -2351,27 +2351,27 @@ Försök att synka dessa igen. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index abd0e2bd0..b7d3b84ed 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -233,27 +233,27 @@ Total time left %5 Mirall::ConnectionValidator - + No ownCloud account configured - + The configured server for this client is too old - + Please update to the latest server and restart the client. - + Unable to connect to %1 - + The provided credentials are not correct @@ -261,116 +261,116 @@ 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. - + Sync Activity - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + 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 @@ -378,67 +378,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. สถานะที่ยังไม่ได้ถูกกำหนด - + Waits to start syncing. รอการเริ่มต้นซิงค์ข้อมูล - + Preparing for sync. - + Sync is running. การซิงค์ข้อมูลกำลังทำงาน - + Server is currently not available. - + 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) @@ -1280,12 +1280,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + ; Restoration Failed: - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1293,12 +1293,12 @@ It is not advisable to use it. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 - + could not create directory %1 @@ -1319,7 +1319,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1327,7 +1327,7 @@ It is not advisable to use it. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. @@ -1335,17 +1335,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1415,62 +1415,62 @@ It is not advisable to use it. - + Time - + File - + Folder แฟ้มเอกสาร - + Action - + Size ขนาด - + Retry Sync - + Copy คัดลอก - + Copy the activity list to the clipboard. - + Copied to clipboard - + The sync status has been copied to the clipboard. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1770,229 +1770,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. เสร็จสิ้น - + CSync failed to create a lock file. CSync ล้มเหลวในการสร้างไฟล์ล็อคข้อมูล - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>ปลั๊กอิน %1 สำหรับ csync could not be loadeไม่สามารถโหลดได้.<br/>กรุณาตรวจสอบความถูกต้องในการติดตั้ง!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. เวลาในระบบของโปรแกรมไคลเอนต์นี้แตกต่างจากเวลาในระบบของเซิร์ฟเวอร์ กรุณาใช้บริการผสานข้อมูลของเวลา (NTP) บนเซิร์ฟเวอร์และเครื่องไคลเอนต์เพื่อปรับเวลาให้ตรงกัน - + CSync could not detect the filesystem type. CSync ไม่สามารถตรวจพบประเภทของไฟล์ในระบบได้ - + CSync got an error while processing internal trees. CSync เกิดข้อผิดพลาดบางประการในระหว่างประมวลผล internal trees - + CSync failed to reserve memory. การจัดสรรหน่วยความจำ CSync ล้มเหลว - + CSync fatal parameter error. พบข้อผิดพลาดเกี่ยวกับ CSync fatal parameter - + CSync processing step update failed. การอัพเดทขั้นตอนการประมวลผล CSync ล้มเหลว - + CSync processing step reconcile failed. การปรับปรุงขั้นตอนการประมวลผล CSync ล้มเหลว - + CSync processing step propagate failed. การถ่ายทอดขั้นตอนการประมวลผล CSync ล้มเหลว - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. ไม่สามารถเขียนข้อมูลไปยังไฟล์ระยะไกลได้ กรุณาตรวจสอบการเข้าถึงข้อมูลระยะไกล - + The local filesystem can not be written. Please check permissions. ระบบไฟล์ในพื้นที่ไม่สามารถเขียนข้อมูลได้ กรุณาตรวจสอบสิทธิ์การเข้าใช้งาน - + CSync failed to connect through a proxy. CSync ล้มเหลวในการเชื่อมต่อผ่านทางพร็อกซี่ - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync ไม่สามารถค้นหาพร็อกซี่บนเซิร์ฟเวอร์ได้ - + CSync failed to authenticate at the %1 server. CSync ล้มเหลวในการยืนยันสิทธิ์การเข้าใช้งานที่เซิร์ฟเวอร์ %1 - + CSync failed to connect to the network. CSync ล้มเหลวในการเชื่อมต่อกับเครือข่าย - + A network connection timeout happened. - + A HTTP transmission error happened. เกิดข้อผิดพลาดเกี่ยวกับ HTTP transmission - + CSync failed due to not handled permission deniend. CSync ล้มเหลว เนื่องจากไม่สามารถจัดการกับการปฏิเสธให้เข้าใช้งานได้ - + CSync failed to access - + CSync tried to create a directory that already exists. CSync ได้พยายามที่จะสร้างไดเร็กทอรี่ที่มีอยู่แล้ว - - + + CSync: No space on %1 server available. CSync: ไม่มีพื้นที่เหลือเพียงพอบนเซิร์ฟเวอร์ %1 - + CSync unspecified error. CSync ไม่สามารถระบุข้อผิดพลาดได้ - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2016,127 +2016,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in - + Disconnected from server - + Folder %1: %2 - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date @@ -2340,27 +2340,27 @@ It is not advisable to use it. Utility - + %L1 TB - + %L1 GB - + %L1 MB - + %L1 kB - + %L1 B diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index ec44646b7..e0d7df1be 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -234,27 +234,27 @@ Toplam kalan süre %5 Mirall::ConnectionValidator - + No ownCloud account configured Hiçbir ownCloud hesabı yapılandırılmamış - + The configured server for this client is too old Yapılandırılmış sunucu, bu istemci için çok eski - + Please update to the latest server and restart the client. Lütfen en son sunucuya güncelleyin veya istemciyi yeniden başlatın - + Unable to connect to %1 %1 bağlantısı yapılamadı - + The provided credentials are not correct Sağlanan kimlik bilgileri doğru değil @@ -262,100 +262,100 @@ 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ı. - + Sync Activity Eşitleme Etkinliği - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Bu eşitleme, yerel eşitleme klasörü '%1' içindeki tüm dosyaları kaldıracak. Eğer siz veya yöneticiniz sunucudaki hesabınızı sıfırlamışsa, "Dosyaları koru" seçin. Eğer verinizin kaldırılmasını istiyorsanız, "Tüm dosyaları kaldır" seçin. - + 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? @@ -364,17 +364,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 @@ -382,67 +382,67 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::FolderMan - + Could not reset folder state Klasör durumu sıfırılanamadı - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Sunucu şu an kullanılabilir değil. - + 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ı) @@ -1288,12 +1288,12 @@ Kullanmanız önerilmez. Mirall::PropagateItemJob - + ; Restoration Failed: ; Geri Yükleme Başarısız: - + A file or directory was removed from a read only share, but restoring failed: %1 Bir dosya veya dizin bir salt okunur paylaşımdan kaldırılmıştı, ancak geri yükleme başarısız oldu: %1 @@ -1301,12 +1301,12 @@ Kullanmanız önerilmez. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 Uyarı, %1 ile muhtemel harf duyarlılığı çatışması - + could not create directory %1 %1 dizini oluşturulamadı @@ -1327,7 +1327,7 @@ Kullanmanız önerilmez. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash Yerel bir dosya adı çakışması nedeniyle %1 dosyası %2 olarak adlandırılamadı @@ -1335,7 +1335,7 @@ Kullanmanız önerilmez. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. Dosya salt okunur bir paylaşımdan kaldırılmıştı. Geri yüklendi. @@ -1343,17 +1343,17 @@ Kullanmanız önerilmez. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. Bu klasörün adı değiştirilmemelidir. Özgün adına geri dönüştürüldü. - + This folder must not be renamed. Please name it back to Shared. Bu klasörün adı değiştirilmemelidir. Lütfen Shared olarak geri adlandırın. - + The file was renamed but is part of a read only share. The original file was restored. Dosya adlandırıldı ancak salt okunur paylaşımın bir parçası. Özgün dosya geri yüklendi. @@ -1423,62 +1423,62 @@ Kullanmanız önerilmez. 4 - + Time Zaman - + File Dosya - + Folder Klasör - + Action Eylem - + Size Boyut - + Retry Sync Yeniden Eşitlemeyi Dene - + Copy Kopyala - + Copy the activity list to the clipboard. Etkinlik listesini panoya kopyala. - + Copied to clipboard Panoya kopyalandı - + The sync status has been copied to the clipboard. Eşitleme durumu panoya kopyalandı. - + 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. Try to sync these again. Önceki hata koşullarından dolayı %1 dosya yoksayıldı. @@ -1781,229 +1781,229 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::SyncEngine - + Success. Başarılı. - + CSync failed to create a lock file. CSync bir kilit dosyası oluşturamadı. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync, günlük dosyası yükleyemedi veya oluşturamadı. Lütfen yerel eşitleme dizininde okuma ve yazma izinleriniz olduğundan emin olun. - + CSync failed to write the journal file. CSync günlük dosyasına yazamadı. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Csync için %1 eklentisi yüklenemedi.<br/>Lütfen kurulumu doğrulayın!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Bu istemci üzerinde sistem saati sunucudaki sistem saati ile farklı. Sunucu ve istemci makinelerde bir zaman eşitleme hizmeti (NTP) kullanırsanız zaman aynı kalır. - + CSync could not detect the filesystem type. CSync dosya sistemi türünü tespit edemedi. - + CSync got an error while processing internal trees. CSync dahili ağaçları işlerken bir hata ile karşılaştı. - + CSync failed to reserve memory. CSync bellek ayıramadı. - + CSync fatal parameter error. CSync ciddi parametre hatası. - + CSync processing step update failed. CSync güncelleme süreç adımı başarısız. - + CSync processing step reconcile failed. CSync uzlaştırma süreç adımı başarısız. - + CSync processing step propagate failed. CSync yayma süreç adımı başarısız. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Hedef dizin mevcut değil.</p><p>Lütfen eşitleme ayarını denetleyin.</p> - + A remote file can not be written. Please check the remote access. Bir uzak dosya yazılamıyor. Lütfen uzak erişimi denetleyin. - + The local filesystem can not be written. Please check permissions. Yerel dosya sistemine yazılamıyor. Lütfen izinleri kontrol edin. - + CSync failed to connect through a proxy. CSync bir vekil sunucu aracılığıyla bağlanırken hata oluştu. - + CSync could not authenticate at the proxy. CSync vekil sunucuda kimlik doğrulayamadı. - + CSync failed to lookup proxy or server. CSync bir vekil veya sunucu ararken başarısız oldu. - + CSync failed to authenticate at the %1 server. CSync %1 sunucusunda kimlik doğrularken başarısız oldu. - + CSync failed to connect to the network. CSync ağa bağlanamadı. - + A network connection timeout happened. Bir ağ zaman aşımı meydana geldi. - + A HTTP transmission error happened. Bir HTTP aktarım hatası oluştu. - + CSync failed due to not handled permission deniend. CSync ele alınmayan izin reddinden dolayı başarısız. - + CSync failed to access CSync erişemedi: - + CSync tried to create a directory that already exists. CSync, zaten mevcut olan bir dizin oluşturmaya çalıştı. - - + + CSync: No space on %1 server available. CSync: %1 sunucusunda kullanılabilir alan yok. - + CSync unspecified error. CSync belirtilmemiş hata. - + Aborted by the user Kullanıcı tarafından iptal edildi - + 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. - + 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 - + 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 - + 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 @@ -2027,127 +2027,127 @@ 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. - + 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 - + 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 @@ -2351,27 +2351,27 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 216175130..3bc8fad76 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -233,27 +233,27 @@ Total time left %5 Mirall::ConnectionValidator - + No ownCloud account configured - + The configured server for this client is too old - + Please update to the latest server and restart the client. - + Unable to connect to %1 - + The provided credentials are not correct @@ -261,100 +261,100 @@ 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. - + Sync Activity - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". Ця синхронізація видалить усі файли з вашої локальної теки синхронізації '%1'. Якщо ви або ваш адміністратор скинув ваш запис на цьому сервері, оберіть "Зберегти файли". Якщо бажаєте видалити дані, оберіть "Видалити усі файли". - + 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? @@ -363,17 +363,17 @@ Are you sure you want to perform this operation? Ви дійсно бажаєте продовжити цю операцію? - + Remove All Files? Видалити усі файли? - + Remove all files Видалити усі файли - + Keep files Зберегти файли @@ -381,67 +381,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Не вдалося скинути стан теки - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Невизначений стан. - + Waits to start syncing. Очікування початку синхронізації. - + Preparing for sync. Підготовка до синхронізації - + Sync is running. Синхронізація запущена. - + Server is currently not available. Сервер наразі недоступний. - + 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) @@ -1283,12 +1283,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + ; Restoration Failed: - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1296,12 +1296,12 @@ It is not advisable to use it. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 - + could not create directory %1 @@ -1322,7 +1322,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1330,7 +1330,7 @@ It is not advisable to use it. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. @@ -1338,17 +1338,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1418,62 +1418,62 @@ It is not advisable to use it. - + Time Час - + File Файл - + Folder Тека - + Action - + Size Розмір - + Retry Sync - + Copy Копіювати - + Copy the activity list to the clipboard. - + Copied to clipboard Скопійовано в буфер обміну - + The sync status has been copied to the clipboard. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1773,229 +1773,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Успішно. - + CSync failed to create a lock file. CSync не вдалося створити файл блокування. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p> %1 плагін для синхронізації не вдалося завантажити.<br/>Будь ласка, перевірте його інсталяцію!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Системний час цього клієнта відрізняється від системного часу на сервері. Будь ласка, використовуйте сервіс синхронізації часу (NTP) на сервері та клієнті, аби час був однаковий. - + CSync could not detect the filesystem type. CSync не вдалося визначити тип файлової системи. - + CSync got an error while processing internal trees. У CSync виникла помилка під час сканування внутрішньої структури каталогів. - + CSync failed to reserve memory. CSync не вдалося зарезервувати пам'ять. - + CSync fatal parameter error. У CSync сталася фатальна помилка параметра. - + CSync processing step update failed. CSync не вдалася зробити оновлення . - + CSync processing step reconcile failed. CSync не вдалася зробити врегулювання. - + CSync processing step propagate failed. CSync не вдалася зробити розповсюдження. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. Не можливо проводити запис у віддалену файлову систему. Будь ласка, перевірте повноваження доступу. - + The local filesystem can not be written. Please check permissions. Не можливо проводити запис у локальну файлову систему. Будь ласка, перевірте повноваження. - + CSync failed to connect through a proxy. CSync не вдалося приєднатися через Проксі. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync не вдалося знайти Проксі або Сервер. - + CSync failed to authenticate at the %1 server. CSync не вдалося аутентифікуватися на %1 сервері. - + CSync failed to connect to the network. CSync не вдалося приєднатися до мережі. - + A network connection timeout happened. - + A HTTP transmission error happened. Сталася помилка передачі даних по HTTP. - + CSync failed due to not handled permission deniend. CSync завершився неуспішно через порушення прав доступу. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync намагалася створити каталог, який вже існує. - - + + CSync: No space on %1 server available. CSync: на сервері %1 скінчилося місце. - + CSync unspecified error. Невизначена помилка CSync. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2019,127 +2019,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in - + Disconnected from server - + Folder %1: %2 - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date @@ -2343,27 +2343,27 @@ It is not advisable to use it. Utility - + %L1 TB - + %L1 GB - + %L1 MB - + %L1 kB - + %L1 B diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 1e5bcd72c..d1a625170 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -233,27 +233,27 @@ Total time left %5 Mirall::ConnectionValidator - + No ownCloud account configured - + The configured server for this client is too old - + Please update to the latest server and restart the client. - + Unable to connect to %1 - + The provided credentials are not correct @@ -261,100 +261,100 @@ 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。 - + Sync Activity 同步活动 - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". 这个同步将会移除本地同步文件夹 %1 下的所有文件。 如果你或者你的管理员在服务器上重置了你的帐号,请选择“保持文件”。如果你想移除你的数据,请选择“移除全部文件”。 - + 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? @@ -363,17 +363,17 @@ Are you sure you want to perform this operation? 你确定执行该操作吗? - + Remove All Files? 删除所有文件? - + Remove all files 删除所有文件 - + Keep files 保持所有文件 @@ -381,67 +381,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state 不能重置文件夹状态 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 一个旧的同步日志 '%1' 被找到,但是不能被移除。请确定没有应用程序正在使用它。 - + Undefined State. 未知状态。 - + Waits to start syncing. 等待启动同步。 - + Preparing for sync. 准备同步。 - + Sync is running. 同步正在运行。 - + Server is currently not available. 服务器当前是不可用的。 - + 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 (同步已暂停) @@ -1285,12 +1285,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + ; Restoration Failed: - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1298,12 +1298,12 @@ It is not advisable to use it. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 - + could not create directory %1 @@ -1324,7 +1324,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1332,7 +1332,7 @@ It is not advisable to use it. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. @@ -1340,17 +1340,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1420,62 +1420,62 @@ It is not advisable to use it. 4 - + Time 时间 - + File 文件 - + Folder 文件夹 - + Action - + Size 大小 - + Retry Sync 重试同步 - + Copy 复制 - + Copy the activity list to the clipboard. - + Copied to clipboard 复制到剪贴板 - + The sync status has been copied to the clipboard. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1775,229 +1775,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSync 无法创建文件锁。 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync同步失败,请确定是否有本地同步目录的读写权 - + CSync failed to write the journal file. CSync写日志文件失败 - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csync 的 %1 插件不能加载。<br/>请校验安装!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. 本客户端的系统时间和服务器的系统时间不一致。请在服务器和客户机上使用时间同步服务 (NTP)以让时间一致。 - + CSync could not detect the filesystem type. CSync 无法检测文件系统类型。 - + CSync got an error while processing internal trees. CSync 在处理内部文件树时出错。 - + CSync failed to reserve memory. CSync 失败,内存不足。 - + CSync fatal parameter error. CSync 致命参数错误。 - + CSync processing step update failed. CSync 处理步骤更新失败。 - + CSync processing step reconcile failed. CSync 处理步骤调和失败。 - + CSync processing step propagate failed. CSync 处理步骤传播失败。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>目标目录不存在。</p><p>请检查同步设置。</p> - + A remote file can not be written. Please check the remote access. 远程文件不可写,请检查远程权限。 - + The local filesystem can not be written. Please check permissions. 本地文件系统不可写。请检查权限。 - + CSync failed to connect through a proxy. CSync 未能通过代理连接。 - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync 无法查询代理或服务器。 - + CSync failed to authenticate at the %1 server. CSync 于 %1 服务器认证失败。 - + CSync failed to connect to the network. CSync 联网失败。 - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP 传输错误。 - + CSync failed due to not handled permission deniend. 出于未处理的权限拒绝,CSync 失败。 - + CSync failed to access - + CSync tried to create a directory that already exists. CSync 尝试创建了已有的文件夹。 - - + + CSync: No space on %1 server available. CSync:%1 服务器空间已满。 - + CSync unspecified error. CSync 未定义错误。 - + Aborted by the user 用户撤销 - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 无法打开同步日志 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2021,127 +2021,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in 请登录 - + Disconnected from server 已从服务器断开 - + Folder %1: %2 文件夹 %1: %2 - + No sync folders configured. 没有已配置的同步文件夹。 - + None. 无。 - + Recent Changes 最近修改 - + Open %1 folder 打开 %1 目录 - + Managed Folders: 管理的文件夹: - + Open folder '%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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) %1 (%2, %3) - + Up to date 更新 @@ -2345,27 +2345,27 @@ It is not advisable to use it. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index ab3514391..62565bed5 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -233,27 +233,27 @@ Total time left %5 Mirall::ConnectionValidator - + No ownCloud account configured - + The configured server for this client is too old - + Please update to the latest server and restart the client. - + Unable to connect to %1 無法連線到 %1 - + The provided credentials are not correct @@ -261,116 +261,116 @@ 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. - + Sync Activity 同步啟用 - + This sync would remove all the files in the local sync folder '%1'. If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - + 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 保留檔案 @@ -378,67 +378,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state 無法重置資料夾狀態 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 發現較舊的同步處理日誌'%1',但無法移除。請確認沒有應用程式正在使用它。 - + Undefined State. 未知狀態 - + Waits to start syncing. 等待啟動同步 - + Preparing for sync. 正在準備同步。 - + Sync is running. 同步執行中 - + Server is currently not available. - + 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 (同步暫停) @@ -1280,12 +1280,12 @@ It is not advisable to use it. Mirall::PropagateItemJob - + ; Restoration Failed: - + A file or directory was removed from a read only share, but restoring failed: %1 @@ -1293,12 +1293,12 @@ It is not advisable to use it. Mirall::PropagateLocalMkdir - + Attention, possible case sensitivity clash with %1 - + could not create directory %1 @@ -1319,7 +1319,7 @@ It is not advisable to use it. Mirall::PropagateLocalRename - + File %1 can not be renamed to %2 because of a local file name clash @@ -1327,7 +1327,7 @@ It is not advisable to use it. Mirall::PropagateRemoteRemove - + The file has been removed from a read only share. It was restored. @@ -1335,17 +1335,17 @@ It is not advisable to use it. Mirall::PropagateRemoteRename - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -1415,62 +1415,62 @@ It is not advisable to use it. 4 - + Time 時間 - + File 檔案 - + Folder 資料夾 - + Action 動作 - + Size 大小 - + Retry Sync 重試同步 - + Copy 複製 - + Copy the activity list to the clipboard. - + Copied to clipboard 複製至剪貼簿中 - + The sync status has been copied to the clipboard. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1770,229 +1770,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSync 無法建立文件鎖 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>用於csync的套件%1</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. 本客戶端的系統時間和伺服器系統時間不一致,請在伺服器與客戶端上使用時間同步服務(NTP)讓時間保持一致 - + CSync could not detect the filesystem type. CSync 無法偵測檔案系統的類型 - + CSync got an error while processing internal trees. CSync 處理內部資料樹時發生錯誤 - + CSync failed to reserve memory. CSync 無法取得記憶體空間。 - + CSync fatal parameter error. CSync 參數錯誤。 - + CSync processing step update failed. CSync 處理步驟 "update" 失敗。 - + CSync processing step reconcile failed. CSync 處理步驟 "reconcile" 失敗。 - + CSync processing step propagate failed. CSync 處理步驟 "propagate" 失敗。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>目標資料夾不存在</p><p>請檢查同步設定</p> - + A remote file can not be written. Please check the remote access. 遠端檔案無法寫入,請確認遠端存取權限。 - + The local filesystem can not be written. Please check permissions. 本地檔案系統無法寫入,請確認權限。 - + CSync failed to connect through a proxy. CSync 透過代理伺服器連線失敗。 - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync 查詢代理伺服器或伺服器失敗。 - + CSync failed to authenticate at the %1 server. CSync 於伺服器 %1 認證失敗。 - + CSync failed to connect to the network. CSync 無法連接到網路。 - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP 傳輸錯誤。 - + CSync failed due to not handled permission deniend. CSync 失敗,由於未處理的存取被拒。 - + CSync failed to access - + CSync tried to create a directory that already exists. CSync 試圖建立一個已經存在的目錄。 - - + + CSync: No space on %1 server available. CSync:伺服器 %1 沒有可用空間。 - + CSync unspecified error. CSync 未知的錯誤。 - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2016,127 +2016,127 @@ It is not advisable to use it. Mirall::ownCloudGui - + Please sign in 請登入 - + Disconnected from server - + Folder %1: %2 資料夾 %1: %2 - + 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 - + Syncing %1 of %2 (%3 left) - + Syncing %1 (%2 left) - + %1 (%2, %3) - + Up to date 最新的 @@ -2340,27 +2340,27 @@ It is not advisable to use it. Utility - + %L1 TB %L1 TB - + %L1 GB %L1 GB - + %L1 MB %L1 MB - + %L1 kB %L1 kB - + %L1 B %L1 B From d3b599b7273e7f797932a85e8007cabeb348c51c Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 10 Jul 2014 10:42:02 +0200 Subject: [PATCH 136/190] Fix build of the test on Qt5 --- test/owncloud_add_test.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/owncloud_add_test.cmake b/test/owncloud_add_test.cmake index 523819b64..698e9dc8b 100644 --- a/test/owncloud_add_test.cmake +++ b/test/owncloud_add_test.cmake @@ -9,7 +9,7 @@ macro(owncloud_add_test test_class additional_cpp) qt_wrap_cpp(test${OWNCLOUD_TEST_CLASS_LOWERCASE}.h) add_executable(${OWNCLOUD_TEST_CLASS}Test test${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${additional_cpp}) - qt5_use_modules(${OWNCLOUD_TEST_CLASS}Test Test Sql Xml) + qt5_use_modules(${OWNCLOUD_TEST_CLASS}Test Test Sql Xml Network) target_link_libraries(${OWNCLOUD_TEST_CLASS}Test updater From 73e35c66afb872fd1278266570419481dd548705 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 10 Jul 2014 11:16:08 +0200 Subject: [PATCH 137/190] owncloudcmd: fix the --trust option We can't call csync_set_userdata in owncloudcmd because it is going to be overwritten later in the SyncEngine. So we had an object of type SyncEngine* that we cast to CmdOptions* and the trust flag was in the padding, so was some random data. Therefore we must use global variables in that case in order to know if we should ignore the certificate. --- src/owncloudcmd/owncloudcmd.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/owncloudcmd/owncloudcmd.cpp b/src/owncloudcmd/owncloudcmd.cpp index ad7a4aea0..23c660270 100644 --- a/src/owncloudcmd/owncloudcmd.cpp +++ b/src/owncloudcmd/owncloudcmd.cpp @@ -42,12 +42,13 @@ struct CmdOptions { bool trustSSL; }; +// we can't use csync_set_userdata because the SyncEngine sets it already. +// So we have to use a global variable +CmdOptions *opts = 0; + int getauth(const char* prompt, char* buf, size_t len, int a, int b, void *userdata) { - (void) a; - (void) b; - - struct CmdOptions *opts = (struct CmdOptions*) userdata; + Q_UNUSED(a) Q_UNUSED(b) Q_UNUSED(userdata) std::cout << "** Authentication required: \n" << prompt << std::endl; std::string s; @@ -169,7 +170,7 @@ int main(int argc, char **argv) { csync_set_log_level(options.silent ? 1 : 11); - csync_set_userdata(_csync_ctx, &options); + opts = &options; csync_set_auth_callback( _csync_ctx, getauth ); if( csync_init( _csync_ctx ) < 0 ) { From 9dacad99fa9f4d368f5fdb7fa1f813ff64779321 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 10 Jul 2014 12:07:28 +0200 Subject: [PATCH 138/190] t1.pl: Change the corruption creation command. --- csync/tests/ownCloud/t1.pl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/csync/tests/ownCloud/t1.pl b/csync/tests/ownCloud/t1.pl index 3e2ade503..635e1f6b2 100755 --- a/csync/tests/ownCloud/t1.pl +++ b/csync/tests/ownCloud/t1.pl @@ -123,9 +123,10 @@ assertLocalAndRemoteDir( '', 0); # The previous sync should have updated the etags, and this should NOT be a conflict printInfo( "Update the file again"); -system("sleep 1"); -system("echo more data >> " . localDir() . "remoteToLocal1/kernelcrash.txt"); -system("echo corruption >> " . localDir() . "remoteToLocal1/kraft_logo.gif"); +my $cmd = "sleep 2 && echo more data >> ". localDir() . "remoteToLocal1/kernelcrash.txt"; +$cmd .= " && echo corruption >> " . localDir(). "remoteToLocal1/kraft_logo.gif"; + +system($cmd); csync( ); assertLocalAndRemoteDir( '', 0); From 3477ea0eeb928f299d5f5ae6b4b89433b3c55e7b Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 10 Jul 2014 15:26:55 +0200 Subject: [PATCH 139/190] Fix build with TOKEN_ONLY_AUTH It was broken by commit 6ff38d80053e469ee0a5d11498555d5a2fd913c0 --- src/mirall/theme.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mirall/theme.cpp b/src/mirall/theme.cpp index f69d327ab..cd804949d 100644 --- a/src/mirall/theme.cpp +++ b/src/mirall/theme.cpp @@ -153,13 +153,14 @@ QIcon Theme::themeIcon( const QString& name, bool sysTray ) const return icon; } +#endif + Theme::Theme() : QObject(0) ,_mono(false) { } -#endif // if this option return true, the client only supports one folder to sync. // The Add-Button is removed accoringly. From c6deb392fdab1a5161a3fe2cc6f00ede2e561a54 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 10 Jul 2014 14:27:52 +0200 Subject: [PATCH 140/190] SocketAPI: Enhance SyncFileStatus to have share information. Added a new class SyncFileStatus to reflect that properly. --- src/CMakeLists.txt | 1 + src/mirall/folder.cpp | 22 ++++----- src/mirall/folder.h | 19 +------- src/mirall/socketapi.cpp | 68 ++++++++------------------- src/mirall/syncfilestatus.cpp | 87 +++++++++++++++++++++++++++++++++++ src/mirall/syncfilestatus.h | 56 ++++++++++++++++++++++ 6 files changed, 177 insertions(+), 76 deletions(-) create mode 100644 src/mirall/syncfilestatus.cpp create mode 100644 src/mirall/syncfilestatus.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e7748b68f..f802f91be 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -87,6 +87,7 @@ set(libsync_SRCS mirall/clientproxy.cpp mirall/syncrunfilelog.cpp mirall/cookiejar.cpp + mirall/syncfilestatus.cpp creds/dummycredentials.cpp creds/abstractcredentials.cpp creds/credentialsfactory.cpp diff --git a/src/mirall/folder.cpp b/src/mirall/folder.cpp index f534a2ee6..5f14ae913 100644 --- a/src/mirall/folder.cpp +++ b/src/mirall/folder.cpp @@ -373,17 +373,17 @@ void Folder::bubbleUpSyncResult() qDebug() << "Processing result list and logging took " << timer.elapsed() << " Milliseconds."; _syncResult.setWarnCount(ignoredItems); - createGuiLog( firstItemNew._file, FILE_STATUS_NEW, newItems ); - createGuiLog( firstItemDeleted._file, FILE_STATUS_REMOVE, removedItems ); - createGuiLog( firstItemUpdated._file, FILE_STATUS_UPDATED, updatedItems ); + createGuiLog( firstItemNew._file, SyncFileStatus(SyncFileStatus::STATUS_NEW), newItems ); + createGuiLog( firstItemDeleted._file, SyncFileStatus(SyncFileStatus::STATUS_REMOVE), removedItems ); + createGuiLog( firstItemUpdated._file, SyncFileStatus(SyncFileStatus::STATUS_UPDATED), updatedItems ); if( !firstItemRenamed.isEmpty() ) { - SyncFileStatus status = FILE_STATUS_RENAME; + SyncFileStatus status(SyncFileStatus::STATUS_RENAME); // if the path changes it's rather a move QDir renTarget = QFileInfo(firstItemRenamed._renameTarget).dir(); QDir renSource = QFileInfo(firstItemRenamed._file).dir(); if(renTarget != renSource) { - status = FILE_STATUS_MOVE; + status.set(SyncFileStatus::STATUS_MOVE); } createGuiLog( firstItemRenamed._file, status, renamedItems, firstItemRenamed._renameTarget ); } @@ -402,36 +402,36 @@ void Folder::createGuiLog( const QString& filename, SyncFileStatus status, int c // not all possible values of status are evaluated here because the others // are not used in the calling function. Please check there. - switch (status) { - case FILE_STATUS_REMOVE: + switch (status.tag()) { + case SyncFileStatus::STATUS_REMOVE: if( count > 1 ) { text = tr("%1 and %2 other files have been removed.", "%1 names a file.").arg(file).arg(count-1); } else { text = tr("%1 has been removed.", "%1 names a file.").arg(file); } break; - case FILE_STATUS_NEW: + case SyncFileStatus::STATUS_NEW: if( count > 1 ) { text = tr("%1 and %2 other files have been downloaded.", "%1 names a file.").arg(file).arg(count-1); } else { text = tr("%1 has been downloaded.", "%1 names a file.").arg(file); } break; - case FILE_STATUS_UPDATED: + case SyncFileStatus::STATUS_UPDATED: if( count > 1 ) { text = tr("%1 and %2 other files have been updated.").arg(file).arg(count-1); } else { text = tr("%1 has been updated.", "%1 names a file.").arg(file); } break; - case FILE_STATUS_RENAME: + case SyncFileStatus::STATUS_RENAME: if( count > 1 ) { text = tr("%1 has been renamed to %2 and %3 other files have been renamed.").arg(file).arg(renameTarget).arg(count-1); } else { text = tr("%1 has been renamed to %2.", "%1 and %2 name files.").arg(file).arg(renameTarget); } break; - case FILE_STATUS_MOVE: + case SyncFileStatus::STATUS_MOVE: if( count > 1 ) { text = tr("%1 has been moved to %2 and %3 other files have been moved.").arg(file).arg(renameTarget).arg(count-1); } else { diff --git a/src/mirall/folder.h b/src/mirall/folder.h index 22f9f68c8..3eb319a36 100644 --- a/src/mirall/folder.h +++ b/src/mirall/folder.h @@ -21,6 +21,7 @@ #include "mirall/progressdispatcher.h" #include "mirall/syncjournaldb.h" #include "mirall/clientproxy.h" +#include "mirall/syncfilestatus.h" #include @@ -42,23 +43,7 @@ class SyncEngine; class FolderWatcher; -enum SyncFileStatus { - FILE_STATUS_NONE, - FILE_STATUS_EVAL, - FILE_STATUS_REMOVE, - FILE_STATUS_RENAME, - FILE_STATUS_MOVE, - FILE_STATUS_NEW, - FILE_STATUS_CONFLICT, - FILE_STATUS_IGNORE, - FILE_STATUS_SYNC, - FILE_STATUS_STAT_ERROR, - FILE_STATUS_ERROR, - FILE_STATUS_UPDATED, - FILE_STATUS_SHARED -}; - -class Folder : public QObject +class OWNCLOUDSYNC_EXPORT Folder : public QObject { Q_OBJECT diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 4b960fd94..f88b94276 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -72,7 +72,7 @@ SyncFileStatus recursiveFolderStatus(Folder *folder, const QString& fileName ) const QStringList dirEntries = dir.entryList( QDir::AllEntries | QDir::NoDotAndDotDot ); - SyncFileStatus result = FILE_STATUS_SYNC; + SyncFileStatus result(SyncFileStatus::STATUS_SYNC); foreach( const QString entry, dirEntries ) { QFileInfo fi(entry); @@ -88,10 +88,10 @@ SyncFileStatus recursiveFolderStatus(Folder *folder, const QString& fileName ) sfs = fileStatus(folder, fs ); } - if( sfs == FILE_STATUS_STAT_ERROR || sfs == FILE_STATUS_ERROR ) { - return FILE_STATUS_ERROR; - } else if( sfs == FILE_STATUS_EVAL || sfs == FILE_STATUS_NEW) { - result = FILE_STATUS_EVAL; + if( sfs.tag() == SyncFileStatus::STATUS_STAT_ERROR || sfs.tag() == SyncFileStatus::STATUS_ERROR ) { + return SyncFileStatus::STATUS_ERROR; + } else if( sfs.tag() == SyncFileStatus::STATUS_EVAL || sfs.tag() == SyncFileStatus::STATUS_NEW) { + result.set(SyncFileStatus::STATUS_EVAL); } } return result; @@ -112,12 +112,12 @@ SyncFileStatus fileStatus(Folder *folder, const QString& fileName ) QFileInfo fi(file); if( !fi.exists() ) { - return FILE_STATUS_STAT_ERROR; + return SyncFileStatus(SyncFileStatus::STATUS_STAT_ERROR); } // file is ignored? if( fi.isSymLink() ) { - return FILE_STATUS_IGNORE; + return SyncFileStatus(SyncFileStatus::STATUS_IGNORE); } int type = CSYNC_FTW_TYPE_FILE; if( fi.isDir() ) { @@ -126,28 +126,28 @@ SyncFileStatus fileStatus(Folder *folder, const QString& fileName ) CSYNC_EXCLUDE_TYPE excl = csync_excluded(folder->csyncContext(), file.toUtf8(), type); if( excl != CSYNC_NOT_EXCLUDED ) { - return FILE_STATUS_IGNORE; + return SyncFileStatus(SyncFileStatus::STATUS_IGNORE); } - SyncFileStatus stat = FILE_STATUS_NONE; SyncJournalFileRecord rec = folder->journalDb()->getFileRecord(fileName); if( !rec.isValid() ) { - return FILE_STATUS_NEW; + return SyncFileStatus(SyncFileStatus::STATUS_NEW); } + SyncFileStatus stat(SyncFileStatus::STATUS_NONE); if( type == CSYNC_FTW_TYPE_DIR ) { // compute recursive status of the directory stat = recursiveFolderStatus( folder, fileName ); } else if(fi.lastModified() != rec._modtime ) { // file was locally modified. - stat = FILE_STATUS_EVAL; + stat.set(SyncFileStatus::STATUS_EVAL); } else { - stat = FILE_STATUS_SYNC; + stat.set(SyncFileStatus::STATUS_SYNC); } if (rec._remotePerm.contains("S")) { // FIXME! that should be an additional flag - stat = FILE_STATUS_SHARED; + stat.setSharedWithMe(true); } return stat; @@ -294,44 +294,16 @@ void SocketApi::command_RETRIEVE_FILE_STATUS(const QString& argument, QLocalSock QString statusString; - Folder* folder = FolderMan::instance()->folderForPath( argument ); - // this can happen in offline mode e.g.: nothing to worry about - if (!folder) { + Folder* syncFolder = FolderMan::instance()->folderForPath( argument ); + if (!syncFolder) { + // this can happen in offline mode e.g.: nothing to worry about DEBUG << "folder offline or not watched:" << argument; statusString = QLatin1String("NOP"); - } + } else { + const QString file = argument.mid(syncFolder->path().length()); + SyncFileStatus fileStatus = SocketApiHelper::fileStatus(syncFolder, file); - if( statusString.isEmpty() ) { - SyncFileStatus fileStatus = SocketApiHelper::fileStatus(folder, argument.mid(folder->path().length()) ); - - switch(fileStatus) - { - case FILE_STATUS_NONE: - statusString = QLatin1String("NONE"); - break; - case FILE_STATUS_EVAL: - case FILE_STATUS_NEW: - statusString = QLatin1String("NEED_SYNC"); - break; - case FILE_STATUS_IGNORE: - statusString = QLatin1String("IGNORE"); - break; - case FILE_STATUS_SYNC: - case FILE_STATUS_UPDATED: - statusString = QLatin1String("OK"); - break; - case FILE_STATUS_STAT_ERROR: - case FILE_STATUS_ERROR: - statusString = QLatin1String("ERROR"); - break; - case FILE_STATUS_SHARED: - statusString = QLatin1String("SHARED"); - break; - default: - qWarning() << "This status should not be there" << fileStatus; - Q_ASSERT(false); - statusString = QLatin1String("NONE"); - } + statusString = fileStatus.toSocketAPIString(); } QString message = QLatin1String("STATUS:")+statusString+QLatin1Char(':')+argument; diff --git a/src/mirall/syncfilestatus.cpp b/src/mirall/syncfilestatus.cpp new file mode 100644 index 000000000..8c8770ae3 --- /dev/null +++ b/src/mirall/syncfilestatus.cpp @@ -0,0 +1,87 @@ +/* + * Copyright (C) by Klaas Freitag + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + */ + +#include "mirall/syncfilestatus.h" + +#include + +namespace Mirall { +SyncFileStatus::SyncFileStatus() + :_tag(STATUS_NONE), _sharedWithMe(false) +{ +} + +SyncFileStatus::SyncFileStatus(SyncFileStatusTag tag) + :_tag(tag), _sharedWithMe(false) +{ + +} + +void SyncFileStatus::set(SyncFileStatusTag tag) +{ + _tag = tag; +} + +SyncFileStatus::SyncFileStatusTag SyncFileStatus::tag() +{ + return _tag; +} + +void SyncFileStatus::setSharedWithMe(bool isShared) +{ + _sharedWithMe = isShared; +} + +bool SyncFileStatus::sharedWithMe() +{ + return _sharedWithMe; +} + +QString SyncFileStatus::toSocketAPIString() const +{ + QString statusString; + + switch(_tag) + { + case STATUS_NONE: + statusString = QLatin1String("NONE"); + break; + case STATUS_EVAL: + statusString = QLatin1String("SYNC"); + break; + case STATUS_NEW: + statusString = QLatin1String("NEW"); + break; + case STATUS_IGNORE: + statusString = QLatin1String("IGNORE"); + break; + case STATUS_SYNC: + case STATUS_UPDATED: + statusString = QLatin1String("OK"); + break; + case STATUS_STAT_ERROR: + case STATUS_ERROR: + statusString = QLatin1String("ERROR"); + break; + default: + qWarning() << "This status should not be here:" << _tag; + Q_ASSERT(false); + statusString = QLatin1String("NONE"); + } + if(_sharedWithMe) { + statusString += QLatin1String("+SWM"); + } + + return statusString; +} +} diff --git a/src/mirall/syncfilestatus.h b/src/mirall/syncfilestatus.h new file mode 100644 index 000000000..2c3e6eabe --- /dev/null +++ b/src/mirall/syncfilestatus.h @@ -0,0 +1,56 @@ +/* + * Copyright (C) by Klaas Freitag + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + */ + +#ifndef SYNCFILESTATUS_H +#define SYNCFILESTATUS_H + +#include + +namespace Mirall { + +class SyncFileStatus +{ +public: + enum SyncFileStatusTag { + STATUS_NONE, + STATUS_EVAL, + STATUS_REMOVE, + STATUS_RENAME, + STATUS_MOVE, + STATUS_NEW, + STATUS_CONFLICT, + STATUS_IGNORE, + STATUS_SYNC, + STATUS_STAT_ERROR, + STATUS_ERROR, + STATUS_UPDATED + }; + + SyncFileStatus(); + SyncFileStatus(SyncFileStatusTag); + + void set(SyncFileStatusTag tag); + SyncFileStatusTag tag(); + + void setSharedWithMe( bool isShared ); + bool sharedWithMe(); + + QString toSocketAPIString() const; +private: + SyncFileStatusTag _tag; + bool _sharedWithMe; + +}; +} + +#endif // SYNCFILESTATUS_H From bdb95982271532c7ab9991d93d5abe45a782e371 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 10 Jul 2014 15:50:24 +0200 Subject: [PATCH 141/190] SocketAPI: Use QTcpSocket all over, rather than QLocalSocket. --- src/mirall/socketapi.cpp | 36 +++++++++++++++--------------------- src/mirall/socketapi.h | 17 +++++++++-------- 2 files changed, 24 insertions(+), 29 deletions(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index f88b94276..8a0b7c629 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -12,19 +12,18 @@ * for more details. */ -#include "socketapi.h" +#include "mirall/socketapi.h" #include "mirall/mirallconfigfile.h" #include "mirall/folderman.h" #include "mirall/folder.h" #include "mirall/utility.h" #include "mirall/theme.h" -#include "syncjournalfilerecord.h" +#include "mirall/syncjournalfilerecord.h" +#include "mirall/syncfileitem.h" #include #include -#include -#include #include #include #include @@ -171,13 +170,8 @@ SocketApi::SocketApi(QObject* parent, const QUrl& localFile) } // setup socket - _localServer = new QLocalServer(this); - QLocalServer::removeServer(socketPath); - if(!_localServer->listen(socketPath)) { - DEBUG << "can't start server" << socketPath; - } else { - DEBUG << "server started, listening at " << socketPath; - } + _localServer = new QTcpServer(this); + _localServer->listen( QHostAddress::LocalHost, 33001); connect(_localServer, SIGNAL(newConnection()), this, SLOT(slotNewConnection())); // folder watcher @@ -193,7 +187,8 @@ SocketApi::~SocketApi() void SocketApi::slotNewConnection() { - QLocalSocket* socket = _localServer->nextPendingConnection(); + QTcpSocket* socket = _localServer->nextPendingConnection(); + if( ! socket ) { return; } @@ -209,14 +204,14 @@ void SocketApi::onLostConnection() { DEBUG << "Lost connection " << sender(); - QLocalSocket* socket = qobject_cast< QLocalSocket* >(sender()); + QTcpSocket* socket = qobject_cast(sender()); _listeners.removeAll(socket); } void SocketApi::slotReadSocket() { - QLocalSocket* socket = qobject_cast(sender()); + QTcpSocket* socket = qobject_cast(sender()); Q_ASSERT(socket); while(socket->canReadLine()) { @@ -224,12 +219,12 @@ void SocketApi::slotReadSocket() QString command = line.split(":").first(); QString function = QString(QLatin1String("command_")).append(command); - QString functionWithArguments = function + QLatin1String("(QString,QLocalSocket*)"); + QString functionWithArguments = function + QLatin1String("(QString,QTcpSocket*)"); int indexOfMethod = this->metaObject()->indexOfMethod(functionWithArguments.toAscii()); QString argument = line.remove(0, command.length()+1).trimmed(); if(indexOfMethod != -1) { - QMetaObject::invokeMethod(this, function.toAscii(), Q_ARG(QString, argument), Q_ARG(QLocalSocket*, socket)); + QMetaObject::invokeMethod(this, function.toAscii(), Q_ARG(QString, argument), Q_ARG(QTcpSocket*, socket)); } else { DEBUG << "The command is not supported by this version of the client:" << command << "with argument:" << argument; } @@ -259,7 +254,7 @@ void SocketApi::slotJobCompleted(const QString &folder, const SyncFileItem &item -void SocketApi::sendMessage(QLocalSocket* socket, const QString& message) +void SocketApi::sendMessage(QTcpSocket *socket, const QString& message) { DEBUG << "Sending message: " << message; QString localMessage = message; @@ -269,13 +264,12 @@ void SocketApi::sendMessage(QLocalSocket* socket, const QString& message) void SocketApi::broadcastMessage(const QString& message) { DEBUG << "Broadcasting to" << _listeners.count() << "listeners: " << message; - foreach(QLocalSocket* current, _listeners) - { + foreach(QTcpSocket* current, _listeners) { sendMessage(current, message); } } -void SocketApi::command_RETRIEVE_FOLDER_STATUS(const QString& argument, QLocalSocket* socket) +void SocketApi::command_RETRIEVE_FOLDER_STATUS(const QString& argument, QTcpSocket* socket) { // This command is the same as RETRIEVE_FILE_STATUS @@ -283,7 +277,7 @@ void SocketApi::command_RETRIEVE_FOLDER_STATUS(const QString& argument, QLocalSo command_RETRIEVE_FILE_STATUS(argument, socket); } -void SocketApi::command_RETRIEVE_FILE_STATUS(const QString& argument, QLocalSocket* socket) +void SocketApi::command_RETRIEVE_FILE_STATUS(const QString& argument, QTcpSocket* socket) { if( !socket ) { qDebug() << "No valid socket object."; diff --git a/src/mirall/socketapi.h b/src/mirall/socketapi.h index 3e3f90f7e..6bf28bbf0 100644 --- a/src/mirall/socketapi.h +++ b/src/mirall/socketapi.h @@ -17,16 +17,17 @@ #define SOCKETAPI_H #include +#include +#include + +#include "mirall/syncfileitem.h" class QUrl; class QLocalSocket; -class QLocalServer; class QStringList; namespace Mirall { -class SyncFileItem; - class SocketApi : public QObject { Q_OBJECT @@ -43,15 +44,15 @@ private slots: void slotJobCompleted(const QString &, const SyncFileItem &); private: - void sendMessage(QLocalSocket* socket, const QString& message); + void sendMessage(QTcpSocket* socket, const QString& message); void broadcastMessage(const QString& message); - Q_INVOKABLE void command_RETRIEVE_FOLDER_STATUS(const QString& argument, QLocalSocket* socket); - Q_INVOKABLE void command_RETRIEVE_FILE_STATUS(const QString& argument, QLocalSocket* socket); + Q_INVOKABLE void command_RETRIEVE_FOLDER_STATUS(const QString& argument, QTcpSocket* socket); + Q_INVOKABLE void command_RETRIEVE_FILE_STATUS(const QString& argument, QTcpSocket* socket); private: - QLocalServer* _localServer; - QList< QLocalSocket* > _listeners; + QTcpServer *_localServer; + QList _listeners; }; } From 00f793a84107ab373b2792ea02e37a2e955ff94f Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 10 Jul 2014 17:20:40 +0200 Subject: [PATCH 142/190] CMake: Remove accidentially added typo to fix build. --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f802f91be..52e3aac2a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -277,7 +277,7 @@ set(updater_SRCS ) IF( APPLE ) - list(APPEND mirall_SRCSmirall_SRCS mirall/cocoainitializer_mac.mm) + list(APPEND mirall_SRCS mirall/cocoainitializer_mac.mm) list(APPEND mirall_SRCS mirall/settingsdialogmac.cpp) From d1b991e1984ef0c4ed803c5c5ead1ce3bfe00266 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 10 Jul 2014 22:58:58 +0200 Subject: [PATCH 143/190] Fix windows compilation --- src/CMakeLists.txt | 2 +- src/mirall/filesystem.h | 4 +++- src/mirall/folder.h | 2 +- src/mirall/networkjobs.h | 2 +- src/mirall/syncfilestatus.h | 4 +++- src/mirall/utility.h | 2 +- 6 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 52e3aac2a..ec15a250a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -85,7 +85,6 @@ set(libsync_SRCS mirall/account.cpp mirall/quotainfo.cpp mirall/clientproxy.cpp - mirall/syncrunfilelog.cpp mirall/cookiejar.cpp mirall/syncfilestatus.cpp creds/dummycredentials.cpp @@ -267,6 +266,7 @@ set(mirall_SRCS mirall/owncloudgui.cpp mirall/socketapi.cpp mirall/sslbutton.cpp + mirall/syncrunfilelog.cpp ) diff --git a/src/mirall/filesystem.h b/src/mirall/filesystem.h index f4a167114..c8e10ceb0 100644 --- a/src/mirall/filesystem.h +++ b/src/mirall/filesystem.h @@ -16,6 +16,8 @@ #include #include +#include + namespace Mirall { /** @@ -28,7 +30,7 @@ namespace FileSystem { bool fileEquals(const QString &fn1, const QString &fn2); /** Mark the file as hidden (only has effects on windows) */ -void setFileHidden(const QString& filename, bool hidden); +void OWNCLOUDSYNC_EXPORT setFileHidden(const QString& filename, bool hidden); void setModTime(const QString &filename, time_t modTime); diff --git a/src/mirall/folder.h b/src/mirall/folder.h index 3eb319a36..8a9d55411 100644 --- a/src/mirall/folder.h +++ b/src/mirall/folder.h @@ -43,7 +43,7 @@ class SyncEngine; class FolderWatcher; -class OWNCLOUDSYNC_EXPORT Folder : public QObject +class Folder : public QObject { Q_OBJECT diff --git a/src/mirall/networkjobs.h b/src/mirall/networkjobs.h index a15ed92b8..5b8c196d3 100644 --- a/src/mirall/networkjobs.h +++ b/src/mirall/networkjobs.h @@ -208,7 +208,7 @@ private: /** * @brief The RequestEtagJob class */ -class RequestEtagJob : public AbstractNetworkJob { +class OWNCLOUDSYNC_EXPORT RequestEtagJob : public AbstractNetworkJob { Q_OBJECT public: explicit RequestEtagJob(Account *account, const QString &path, QObject *parent = 0); diff --git a/src/mirall/syncfilestatus.h b/src/mirall/syncfilestatus.h index 2c3e6eabe..9e656f50b 100644 --- a/src/mirall/syncfilestatus.h +++ b/src/mirall/syncfilestatus.h @@ -16,9 +16,11 @@ #include +#include "owncloudlib.h" + namespace Mirall { -class SyncFileStatus +class OWNCLOUDSYNC_EXPORT SyncFileStatus { public: enum SyncFileStatusTag { diff --git a/src/mirall/utility.h b/src/mirall/utility.h index 4c98e7e6f..0d46146b9 100644 --- a/src/mirall/utility.h +++ b/src/mirall/utility.h @@ -82,7 +82,7 @@ namespace Utility // if false, the two cases are two different files. OWNCLOUDSYNC_EXPORT bool fsCasePreserving(); - class StopWatch { + class OWNCLOUDSYNC_EXPORT StopWatch { private: QHash _lapTimes; QDateTime _startTime; From 7772501cdfa5b42f99005aa1a3f375018c4495c7 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 10 Jul 2014 17:23:28 +0200 Subject: [PATCH 144/190] Remove unused socketPath variable. --- src/mirall/socketapi.cpp | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 8a0b7c629..ec34e0263 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -160,15 +160,6 @@ SocketApi::SocketApi(QObject* parent, const QUrl& localFile) : QObject(parent) , _localServer(0) { - QString socketPath; - if (Utility::isWindows()) { - socketPath = QLatin1String("\\\\.\\pipe\\") - + Theme::instance()->appName(); - } else { - socketPath = localFile.toLocalFile(); - - } - // setup socket _localServer = new QTcpServer(this); _localServer->listen( QHostAddress::LocalHost, 33001); From a281b36d6fe40051082d1158752af70d644795a1 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 11 Jul 2014 11:30:47 +0200 Subject: [PATCH 145/190] SocketAPI: send the path with UPDATE_VIEW --- src/mirall/socketapi.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index ec34e0263..baac10778 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -222,9 +222,17 @@ void SocketApi::slotReadSocket() } } -void SocketApi::slotSyncStateChanged(const QString&) +void SocketApi::slotSyncStateChanged(const QString& alias) { - broadcastMessage("UPDATE_VIEW"); + QString msg = QLatin1String("UPDATE_VIEW"); + + Folder *f = FolderMan::instance()->folder(alias); + if (f) { + msg.append(QLatin1String(":")); + msg.append(QDir::cleanPath(f->path())); + } + + broadcastMessage(msg); } void SocketApi::slotJobCompleted(const QString &folder, const SyncFileItem &item) From b6c9b5645c6face96309098cfbde2f903d9b4e52 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sun, 13 Jul 2014 01:25:20 -0400 Subject: [PATCH 146/190] [tx-robot] updated from transifex --- translations/mirall_zh_CN.ts | 52 +++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index d1a625170..7f0d13d8f 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -599,12 +599,12 @@ Are you sure you want to perform this operation? No E-Tag received from server, check Proxy/Gateway - + 未能收到来自服务器的 E-Tag,请检查代理/网关 We received a different E-Tag for resuming. Retrying next time. - + 我们收到了不同的恢复 E-Tag,将在下次尝试。 @@ -931,28 +931,28 @@ Checked items will also be deleted if they prevent a directory from being remove New Update Ready - + 新的更新已经准备就绪 A new update is about to be installed. The updater may ask for additional privileges during the process. - + 更新将会安装。安装过程可能会要求额外的权限。 Downloading version %1. Please wait... - + 正在下载版本 %1,请稍后.... Version %1 available. Restart application to start the update. - + 版本 %1 现在可用,请重启应用以开始更新。 Could not download update. Please click <a href='%1'>here</a> to download the update manually. - + 无法下载更新,请点击<a href='%1'>此处</a>手动下载更新。 @@ -1261,12 +1261,12 @@ It is not advisable to use it. No E-Tag received from server, check Proxy/Gateway - + 未能收到来自服务器的 E-Tag,请检查代理/网关 We received a different E-Tag for resuming. Retrying next time. - + 我们收到了不同的恢复 E-Tag,将在下次尝试。 @@ -1583,17 +1583,17 @@ It is not advisable to use it. <h3>Certificate Details</h3> - + <h3>证书信息</h3> Common Name (CN): - + 常用名 (CN): Subject Alternative Names: - + 主体备用名称: @@ -1603,7 +1603,7 @@ It is not advisable to use it. Organizational Unit (OU): - + 单位 (OU): @@ -1618,22 +1618,22 @@ It is not advisable to use it. Serial: - + 序列号: <h3>Issuer</h3> - + <h3>颁发者</h3> Issuer: - + 颁发者: Issued on: - + 颁发于: @@ -1643,7 +1643,7 @@ It is not advisable to use it. <h3>Fingerprints</h3> - + <h3>证书指纹</h3> @@ -1663,12 +1663,12 @@ It is not advisable to use it. <p><b>Note:</b> This certificate was manually approved</p> - + <p><b>注意:</b>此证书经手动批准</p> %1 (self-signed) - + %1 (自签署) @@ -1679,7 +1679,8 @@ It is not advisable to use it. This connection is encrypted using %1 bit %2. - + 此连接通过 %1 位的 %2 加密。 + @@ -1690,7 +1691,8 @@ It is not advisable to use it. This connection is NOT secure as it is not encrypted. - + 此连接未经过加密。 + @@ -1897,7 +1899,7 @@ It is not advisable to use it. CSync failed to access - + 访问 CSync 失败 @@ -1933,12 +1935,12 @@ It is not advisable to use it. Symbolic links are not supported in syncing. - + 符号链接不被同步支持。 File is listed on the ignore list. - + 文件在忽略列表中。 From eb0f0740976b329d6c26e9f4c95ca96b562d79da Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sun, 13 Jul 2014 02:06:11 -0400 Subject: [PATCH 147/190] [tx-robot] updated from transifex --- admin/win/nsi/l10n/SimpChinese.nsh | 32 +++++++++++++++--------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/admin/win/nsi/l10n/SimpChinese.nsh b/admin/win/nsi/l10n/SimpChinese.nsh index d28e6ab6e..4041ec542 100644 --- a/admin/win/nsi/l10n/SimpChinese.nsh +++ b/admin/win/nsi/l10n/SimpChinese.nsh @@ -1,5 +1,6 @@ # Auto-generated - do not modify StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "查看版本日志" +StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "有 ${APPLICATION_EXECUTABLE} 项进程需要关闭。$\n您想让安装程序关闭这些进程吗?" StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "杀死${APPLICATION_EXECUTABLE}进程。" StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "未找到要杀死的进程!" StrCpy $PageReinstall_NEW_Field_1 "您的系统已经安装${APPLICATION_NAME}较老版本。建议安装前卸载当前版本。选择将要执行的操作,点击下一步继续。" @@ -7,11 +8,15 @@ StrCpy $PageReinstall_NEW_Field_2 "在安装前先卸载" StrCpy $PageReinstall_NEW_Field_3 "不要卸载" StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "已经安装" StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "选择如何安装${APPLICATION_NAME}。" +StrCpy $PageReinstall_OLD_Field_1 "较新版本的 ${APPLICATION_NAME} 已经安装!安装较旧版本的程序是不推荐的。如果您希望继续安装较旧版本,建议先卸载较新版本。选择您想要执行的操作并点击下一步以继续。" +StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} 已经安装。\n请选择想要执行的操作并点击下一步。" StrCpy $PageReinstall_SAME_Field_2 "增加/重装组件" StrCpy $PageReinstall_SAME_Field_3 "卸载${APPLICATION_NAME}" StrCpy $UNINSTALLER_APPDATA_TITLE "卸载${APPLICATION_NAME}" +StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "选择需要执行的维护选项。" StrCpy $SEC_APPLICATION_DETAILS "安装${APPLICATION_NAME}基本组件。" StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "开始菜单程序快捷方式" +StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "添加 ${APPLICATION_NAME} 快捷方式到开始菜单。" StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "桌面快捷方式" StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "创建桌面快捷方式" StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "快速启动栏快捷方式" @@ -20,25 +25,20 @@ StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME}基本组件。" StrCpy $OPTION_SECTION_SC_START_MENU_Desc "${APPLICATION_NAME}快捷方式。" StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "${APPLICATION_NAME}桌面快捷方式。" StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "${APPLICATION_NAME}快速启动栏快捷方式。" +StrCpy $UNINSTALLER_APPDATA_SUBTITLE "从电脑中移除 ${APPLICATION_NAME} 数据文件夹。" +StrCpy $UNINSTALLER_APPDATA_LABEL_1 "移除 ${APPLICATION_NAME} 数据文件夹?" +StrCpy $UNINSTALLER_APPDATA_LABEL_2 "选择以删除数据文件夹,不选择以保留数据文件夹内容供后续使用。" StrCpy $UNINSTALLER_APPDATA_CHECKBOX "删除数据文件。" StrCpy $UNINSTALLER_FILE_Detail "覆盖卸载器" +StrCpy $UNINSTALLER_REGISTRY_Detail "正在写入注册表" StrCpy $UNINSTALLER_FINISHED_Detail "完成" +StrCpy $UNINSTALL_MESSAGEBOX "${APPLICATION_NAME} 可能并没有安装在 $INSTDIR。$\n$\n仍然继续吗?(不推荐)" +StrCpy $UNINSTALL_ABORT "用户取消了卸载" StrCpy $INIT_NO_QUICK_LAUNCH "快速启动栏快捷方式(N/A)" StrCpy $INIT_NO_DESKTOP "桌面快捷方式(覆盖)" +StrCpy $UAC_ERROR_ELEVATE "无法获得权限,错误:" +StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "安装程序需要管理员权限,请重试" +StrCpy $INIT_INSTALLER_RUNNING "安装程序已经运行。" +StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "卸载程序需要管理员权限,请重试" +StrCpy $INIT_UNINSTALLER_RUNNING "卸载程序已经运行。" StrCpy $SectionGroup_Shortcuts "快捷方式" -StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Found ${APPLICATION_EXECUTABLE} process(s) which need to be stopped.$\nDo you want the installer to stop these for you?" -StrCpy $PageReinstall_OLD_Field_1 "A newer version of ${APPLICATION_NAME} is already installed! It is not recommended that you install an older version. If you really want to install this older version, it is better to uninstall the current version first. Select the operation you want to perform and click Next to continue." -StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is already installed.\r\nSelect the operation you want to perform and click Next to continue." -StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Choose the maintenance option to perform." -StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Adding shortcut for ${APPLICATION_NAME} to the Start Menu." -StrCpy $UNINSTALLER_APPDATA_SUBTITLE "Remove ${APPLICATION_NAME}'s data folder from your computer." -StrCpy $UNINSTALLER_APPDATA_LABEL_1 "Do you want to delete ${APPLICATION_NAME}'s data folder?" -StrCpy $UNINSTALLER_APPDATA_LABEL_2 "Leave unchecked to keep the data folder for later use or check to delete the data folder." -StrCpy $UNINSTALLER_REGISTRY_Detail "Writing Installer Registry Keys" -StrCpy $UNINSTALL_MESSAGEBOX "It does not appear that ${APPLICATION_NAME} is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?" -StrCpy $UNINSTALL_ABORT "Uninstall aborted by user" -StrCpy $UAC_ERROR_ELEVATE "Unable to elevate, error:" -StrCpy $UAC_INSTALLER_REQUIRE_ADMIN "This installer requires admin access, try again" -StrCpy $INIT_INSTALLER_RUNNING "The installer is already running." -StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "This uninstaller requires admin access, try again" -StrCpy $INIT_UNINSTALLER_RUNNING "The uninstaller is already running." From dde06dfabaf271aefd9e78af845af8d61e4c6d14 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Mon, 14 Jul 2014 01:25:21 -0400 Subject: [PATCH 148/190] [tx-robot] updated from transifex --- translations/mirall_ru.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index cd775ee1a..3641ac191 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -1354,7 +1354,7 @@ It is not advisable to use it. The file was renamed but is part of a read only share. The original file was restored. - + Этот файл был переименован но является частью распространения только для чтения. Оригинальный файл был восстановлен. From 0202351a2783f63b85207753437149744d6c3d83 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Mon, 14 Jul 2014 19:53:42 +0200 Subject: [PATCH 149/190] Propagator: Fix crash when logging out during upload Fixes #1957 --- src/mirall/propagator_qnam.cpp | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/mirall/propagator_qnam.cpp b/src/mirall/propagator_qnam.cpp index ea7b4433b..a4acd5d73 100644 --- a/src/mirall/propagator_qnam.cpp +++ b/src/mirall/propagator_qnam.cpp @@ -119,14 +119,15 @@ void PropagateUploadFileQNAM::start() struct ChunkDevice : QIODevice { public: - QIODevice *_file; + QPointer _file; qint64 _read; qint64 _size; qint64 _start; ChunkDevice(QIODevice *file, qint64 start, qint64 size) : QIODevice(file), _file(file), _read(0), _size(size), _start(start) { - _file->seek(start); + _file = QPointer(file); + _file.data()->seek(start); } virtual qint64 writeData(const char* , qint64 ) { @@ -135,10 +136,15 @@ public: } virtual qint64 readData(char* data, qint64 maxlen) { + if (_file.isNull()) { + qDebug() << Q_FUNC_INFO << "Upload file object deleted during upload"; + close(); + return -1; + } maxlen = qMin(maxlen, chunkSize() - _read); if (maxlen == 0) return 0; - qint64 ret = _file->read(data, maxlen); + qint64 ret = _file.data()->read(data, maxlen); if (ret < 0) return -1; _read += ret; @@ -146,7 +152,11 @@ public: } virtual bool atEnd() const { - return _read >= chunkSize() || _file->atEnd(); + if (_file.isNull()) { + qDebug() << Q_FUNC_INFO << "Upload file object deleted during upload"; + return true; + } + return _read >= chunkSize() || _file.data()->atEnd(); } virtual qint64 size() const{ @@ -164,8 +174,13 @@ public: } virtual bool seek ( qint64 pos ) { + if (_file.isNull()) { + qDebug() << Q_FUNC_INFO << "Upload file object deleted during upload"; + close(); + return false; + } _read = pos; - return _file->seek(pos + _start); + return _file.data()->seek(pos + _start); } }; From 997504c03cc6dee737097fd3f6e12be3d288c9a4 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 15 Jul 2014 16:06:06 +0200 Subject: [PATCH 150/190] FolderMan: Unload folder method added. unloadFolder now correctly removes a folder from all maps and signal mappers. --- src/mirall/folderman.cpp | 28 +++++++++++++++++++++++++++- src/mirall/folderman.h | 2 ++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/mirall/folderman.cpp b/src/mirall/folderman.cpp index 496608b8d..1acb03845 100644 --- a/src/mirall/folderman.cpp +++ b/src/mirall/folderman.cpp @@ -69,6 +69,27 @@ Mirall::Folder::Map FolderMan::map() return _folderMap; } +// Attention: this function deletes the folder object to which +// the alias refers. Do NOT USE the folder pointer any more after +// having this called. +void FolderMan::unloadFolder( const QString& alias ) +{ + Folder *f = 0; + if( _folderMap.contains(alias)) { + f = _folderMap[alias]; + } + if( f ) { + _folderChangeSignalMapper->removeMappings(f); + if( _folderWatchers.contains(alias)) { + FolderWatcher *fw = _folderWatchers[alias]; + _folderWatcherSignalMapper->removeMappings(fw); + _folderWatchers.remove(alias); + } + _folderMap.remove( alias ); + delete f; + } +} + int FolderMan::unloadAllFolders() { int cnt = 0; @@ -77,11 +98,13 @@ int FolderMan::unloadAllFolders() Folder::MapIterator i(_folderMap); while (i.hasNext()) { i.next(); - delete _folderMap.take( i.key() ); + unloadFolder(i.key()); cnt++; } _currentSyncFolder.clear(); _scheduleQueue.clear(); + + Q_ASSERT(_folderMap.count() == 0); return cnt; } @@ -557,6 +580,9 @@ void FolderMan::removeFolder( const QString& alias ) qDebug() << "Remove folder config file " << file.fileName(); file.remove(); } + + unloadFolder( alias ); // now the folder object is gone. + // FIXME: this is a temporar dirty fix against a crash happening because // the csync owncloud module still has static components. Activate the // delete once the module is fixed. diff --git a/src/mirall/folderman.h b/src/mirall/folderman.h index 82f69701d..a78c54796 100644 --- a/src/mirall/folderman.h +++ b/src/mirall/folderman.h @@ -101,6 +101,8 @@ public slots: void terminateSyncProcess( const QString& alias = QString::null ); + /* unload and delete on folder object */ + void unloadFolder( const QString& alias ); /* delete all folder objects */ int unloadAllFolders(); From 51e9c5fd96b994570615394af6105630604cd9fd Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 15 Jul 2014 17:52:01 +0200 Subject: [PATCH 151/190] propagator_qnam Fix signal slot connection Fix the signature so it can be connected This was hapenning if the derver does not support X-OC-MTime issue #1963 --- src/mirall/propagator_qnam.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mirall/propagator_qnam.h b/src/mirall/propagator_qnam.h index 40e15d9f2..6df32a678 100644 --- a/src/mirall/propagator_qnam.h +++ b/src/mirall/propagator_qnam.h @@ -99,7 +99,7 @@ private slots: void slotUploadProgress(qint64,qint64); void abort(); void startNextChunk(); - void finalize(const Mirall::SyncFileItem&); + void finalize(const SyncFileItem&); }; From d697969f36bae0298e146ccbeddea2a6421226da Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 15 Jul 2014 11:22:16 +0200 Subject: [PATCH 152/190] Use another way to detect that the server was reconfigured Before, we would only detect it if all the files were removed, and no file where added or changed. This may not be enough because there might be a welcome.txt file. Now, we check that none of the file stays the same, and some files are removed. Relates issue #1948 --- src/mirall/folder.cpp | 5 +---- src/mirall/syncengine.cpp | 25 ++++++++++++++----------- src/mirall/syncengine.h | 3 ++- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/mirall/folder.cpp b/src/mirall/folder.cpp index fffe54477..469543a91 100644 --- a/src/mirall/folder.cpp +++ b/src/mirall/folder.cpp @@ -704,10 +704,7 @@ void Folder::slotTransmissionProgress(const Progress::Info &pi) void Folder::slotAboutToRemoveAllFiles(SyncFileItem::Direction direction, bool *cancel) { #ifndef TOKEN_AUTH_ONLY - QString msg = direction == SyncFileItem::Down ? - tr("This sync would remove all the files in the local sync folder '%1'.\n" - "If you or your administrator have reset your account on the server, choose " - "\"Keep files\". If you want your data to be removed, choose \"Remove all files\".") : + QString msg = tr("This sync would remove all the files in the sync folder '%1'.\n" "This might be because the folder was silently reconfigured, or that all " "the file were manually removed.\n" diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index fdb6b5c07..c5c45fb0f 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -61,7 +61,8 @@ SyncEngine::SyncEngine(CSYNC *ctx, const QString& localPath, const QString& remo , _remoteUrl(remoteURL) , _remotePath(remotePath) , _journal(journal) - , _hasFiles(false) + , _hasNoneFiles(false) + , _hasRemoveFile(false) , _downloadLimit(0) , _uploadLimit(0) @@ -330,7 +331,7 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) dir = SyncFileItem::None; } else { // No need to do anything. - _hasFiles = true; + _hasNoneFiles = true; emit syncItemDiscovered(item); return re; @@ -343,8 +344,9 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) _renamedFolders.insert(item._file, item._renameTarget); break; case CSYNC_INSTRUCTION_REMOVE: + _hasRemoveFile = true; dir = !remote ? SyncFileItem::Down : SyncFileItem::Up; - break; + break; case CSYNC_INSTRUCTION_CONFLICT: case CSYNC_INSTRUCTION_IGNORE: case CSYNC_INSTRUCTION_ERROR: @@ -356,6 +358,11 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) case CSYNC_INSTRUCTION_STAT_ERROR: default: dir = remote ? SyncFileItem::Down : SyncFileItem::Up; + if (!remote && file->instruction == CSYNC_INSTRUCTION_SYNC) { + // An upload of an existing file means that the file was left unchanged on the server + // This count as a NONE for detecting if all the file on the server were changed + _hasNoneFiles = true; + } break; } @@ -364,11 +371,6 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) // if the item is on blacklist, the instruction was set to IGNORE checkBlacklisting( &item ); - if (file->instruction != CSYNC_INSTRUCTION_IGNORE - && file->instruction != CSYNC_INSTRUCTION_REMOVE) { - _hasFiles = true; - } - if (!item._isDirectory) { _progressInfo._totalFileCount++; if (Progress::isSizeDependent(file->instruction)) { @@ -526,7 +528,8 @@ void SyncEngine::slotUpdateFinished(int updateResult) _progressInfo = Progress::Info(); - _hasFiles = false; + _hasNoneFiles = false; + _hasRemoveFile = false; bool walkOk = true; _seenFiles.clear(); @@ -556,8 +559,8 @@ void SyncEngine::slotUpdateFinished(int updateResult) emit aboutToPropagate(_syncedItems); emit transmissionProgress(_progressInfo); - if (!_hasFiles && !_syncedItems.isEmpty()) { - qDebug() << Q_FUNC_INFO << "All the files are going to be removed, asking the user"; + if (!_hasNoneFiles && _hasRemoveFile) { + qDebug() << Q_FUNC_INFO << "All the files are going to be changed, asking the user"; bool cancel = false; emit aboutToRemoveAllFiles(_syncedItems.first()._direction, &cancel); if (cancel) { diff --git a/src/mirall/syncengine.h b/src/mirall/syncengine.h index 691c1c5f8..e52ecb898 100644 --- a/src/mirall/syncengine.h +++ b/src/mirall/syncengine.h @@ -127,7 +127,8 @@ private: QHash _renamedFolders; QString adjustRenamedPath(const QString &original); - bool _hasFiles; // true if there is at least one file that is not ignored or removed + bool _hasNoneFiles; // true if there is at least one file with instruction NONE + bool _hasRemoveFile; // true if there is at leasr one file with instruction REMOVE int _downloadLimit; int _uploadLimit; From e5191acd730a19f7dd04d6e7a680e9944c818cb3 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Wed, 16 Jul 2014 01:25:23 -0400 Subject: [PATCH 153/190] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 26 +++++++++++++------------- translations/mirall_cs.ts | 26 +++++++++++++------------- translations/mirall_de.ts | 26 +++++++++++++------------- translations/mirall_el.ts | 26 +++++++++++++------------- translations/mirall_en.ts | 26 +++++++++++++------------- translations/mirall_es.ts | 26 +++++++++++++------------- translations/mirall_es_AR.ts | 26 +++++++++++++------------- translations/mirall_et.ts | 26 +++++++++++++------------- translations/mirall_eu.ts | 26 +++++++++++++------------- translations/mirall_fa.ts | 26 +++++++++++++------------- translations/mirall_fi.ts | 26 +++++++++++++------------- translations/mirall_fr.ts | 26 +++++++++++++------------- translations/mirall_gl.ts | 26 +++++++++++++------------- translations/mirall_hu.ts | 26 +++++++++++++------------- translations/mirall_it.ts | 26 +++++++++++++------------- translations/mirall_ja.ts | 26 +++++++++++++------------- translations/mirall_nl.ts | 26 +++++++++++++------------- translations/mirall_pl.ts | 26 +++++++++++++------------- translations/mirall_pt.ts | 26 +++++++++++++------------- translations/mirall_pt_BR.ts | 26 +++++++++++++------------- translations/mirall_ru.ts | 26 +++++++++++++------------- translations/mirall_sk.ts | 26 +++++++++++++------------- translations/mirall_sl.ts | 26 +++++++++++++------------- translations/mirall_sv.ts | 26 +++++++++++++------------- translations/mirall_th.ts | 26 +++++++++++++------------- translations/mirall_tr.ts | 26 +++++++++++++------------- translations/mirall_uk.ts | 26 +++++++++++++------------- translations/mirall_zh_CN.ts | 26 +++++++++++++------------- translations/mirall_zh_TW.ts | 26 +++++++++++++------------- 29 files changed, 377 insertions(+), 377 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index 7fcd469fa..4403d52ce 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -382,67 +382,67 @@ Esteu segur que voleu executar aquesta operació? Mirall::FolderMan - + Could not reset folder state No es pot restablir l'estat de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. El servidor no està disponible actualment. - + 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) diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 0505baa32..02058dab8 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -382,67 +382,67 @@ Opravdu chcete provést tuto akci? Mirall::FolderMan - + Could not reset folder state Nelze obnovit stav složky - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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á. - + Server is currently not available. Server je nyní nedostupný. - + 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) diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index ae8adc78d..f5992d6b5 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -383,67 +383,67 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::FolderMan - + Could not reset folder state Konnte Ordner-Zustand nicht zurücksetzen - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Der Server ist momentan nicht erreichbar. - + 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) diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 8932f7b53..0ba2644de 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -383,67 +383,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Δεν ήταν δυνατό να επαναφερθεί η κατάσταση του φακέλου - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Βρέθηκε ένα παλαιότερο αρχείο συγχρονισμού '%1', αλλά δεν μπόρεσε να αφαιρεθεί. Παρακαλώ βεβαιωθείτε ότι καμμία εφαρμογή δεν το χρησιμοποιεί αυτή τη στιγμή. - + Undefined State. Απροσδιόριστη Κατάσταση. - + Waits to start syncing. Αναμονή έναρξης συγχρονισμού. - + Preparing for sync. Προετοιμασία για συγχρονισμό. - + Sync is running. Ο συγχρονισμός εκτελείται. - + Server is currently not available. Ο διακομιστής δεν είναι διαθέσιμος προς το παρόν. - + 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 (Παύση συγχρονισμού) diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index 801c70436..5c5fa01eb 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -380,67 +380,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. - + Waits to start syncing. - + Preparing for sync. - + Sync is running. - + Server is currently not available. - + 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) diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 8f16d6668..403e8c29c 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -382,67 +382,67 @@ Está seguro de que desea realizar esta operación? Mirall::FolderMan - + Could not reset folder state No se ha podido restablecer el estado de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. El servidor no está disponible en el momento - + 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) diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index f54dde407..1ac86b40d 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -381,67 +381,67 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::FolderMan - + Could not reset folder state No se pudo - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. El servidor actualmente no está disponible. - + 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) diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 37e94f0e9..55ca5d0c4 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -382,67 +382,67 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::FolderMan - + Could not reset folder state Ei suutnud tühistada kataloogi staatust - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Server pole hetkel saadaval. - + 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) diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 6750251b0..021a5c844 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -378,67 +378,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Ezin izan da karpetaren egoera berrezarri - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Definitu gabeko egoera. - + Waits to start syncing. Itxoiten sinkronizazioa hasteko. - + Preparing for sync. Sinkronizazioa prestatzen. - + Sync is running. Sinkronizazioa martxan da. - + Server is currently not available. Zerbitzaria orain ez dago eskuragarri. - + 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) diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 73331866f..8473bbc66 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -378,67 +378,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state نمی تواند حالت پوشه را تنظیم مجدد کند - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. موقعیت تعریف نشده - + Waits to start syncing. صبر کنید تا همگام سازی آغاز شود - + Preparing for sync. - + Sync is running. همگام سازی در حال اجراست - + Server is currently not available. - + 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) diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 92b08d9a8..0bf5fbdd1 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -379,67 +379,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Kansion tilaa ei voitu alustaa - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + 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. - + Server is currently not available. Palvelin ei ole käytettävissä. - + 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) diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 3069de468..8a5f6c15f 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -382,67 +382,67 @@ Voulez-vous réellement effectuer cette opération ? Mirall::FolderMan - + Could not reset folder state Impossible de réinitialiser l'état du dossier - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Le serveur est indisponible actuellement. - + 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) diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index 5477a0522..ee17dbaba 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -382,67 +382,67 @@ Confirma que quere realizar esta operación? Mirall::FolderMan - + Could not reset folder state Non foi posíbel restabelecer o estado do cartafol - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Atopouse un rexistro de sincronización antigo en «%1» máis non pode ser retirado. Asegúrese de que non o está a usar ningún aplicativo. - + 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. - + Server is currently not available. O servidor non está dispoñíbel actualmente. - + 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) diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index 4dad54f53..00458fe77 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -378,67 +378,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + 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. - + Server is currently not available. A kiszolgáló jelenleg nem érhető el. - + 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) diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index c3647e240..d2b4b4a00 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -382,67 +382,67 @@ Sei sicuro di voler eseguire questa operazione? Mirall::FolderMan - + Could not reset folder state Impossibile ripristinare lo stato della cartella - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. È 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. - + Server is currently not available. Il server è attualmente non disponibile. - + 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) diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index 570eea280..92f7cb994 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -382,67 +382,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state フォルダーの状態をリセットできませんでした - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 古い同期ジャーナル '%1' が見つかりましたが、削除できませんでした。それを現在使用しているアプリケーションが存在しないか確認してください。 - + Undefined State. 未定義の状態。 - + Waits to start syncing. 同期開始を待機中 - + Preparing for sync. 同期の準備中。 - + Sync is running. 同期を実行中です。 - + Server is currently not available. サーバーは現在利用できません。 - + 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 (同期を一時停止) diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 789eaf8d7..01217cfd9 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -382,67 +382,67 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::FolderMan - + Could not reset folder state Kan de beginstaat van de map niet terugzetten - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. De server is nu niet beschikbaar. - + 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) diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index c9171e894..b2c0937ce 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -382,67 +382,67 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::FolderMan - + Could not reset folder state Nie udało się zresetować stanu folderu - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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 - + Server is currently not available. Serwer jest obecnie niedostępny. - + 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) diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 7b6235199..c72ebf2b2 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -381,67 +381,67 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::FolderMan - + Could not reset folder state Não foi possível repor o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. O servidor não está disponível de momento. - + 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) diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 9f2f050db..d766ea750 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -382,67 +382,67 @@ Você tem certeza que quer executar esta operação? Mirall::FolderMan - + Could not reset folder state Não foi possível redefinir o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Servidor indisponível no momento. - + 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) diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 3641ac191..175917a03 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -381,67 +381,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Невозможно сбросить состояние папки - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Найден старый журнал синхронизации '%1', и он не может быть удалён. Пожалуйста убедитесь что он не открыт в каком-либо приложении. - + Undefined State. Неопределенное состояние. - + Waits to start syncing. Ожидает, чтобы начать синхронизацию. - + Preparing for sync. Подготовка к синхронизации. - + Sync is running. Идет синхронизация. - + Server is currently not available. Сервер недоступен. - + 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) %! (синхронизация приостановлена) diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index d959faced..78b5c4920 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -381,67 +381,67 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::FolderMan - + Could not reset folder state Nemožno resetovať stav priečinka - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Sever momentálne nie je prístupný. - + 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á) diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index d1e9a2204..79b60b143 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -381,67 +381,67 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::FolderMan - + Could not reset folder state Ni mogoče ponastaviti stanja mape - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Strežnik trenutno ni na voljo. - + 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) diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 3e6ff822a..588cbbd42 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -382,67 +382,67 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::FolderMan - + Could not reset folder state Kunde inte återställa mappens skick - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Servern är för tillfället inte tillgänglig. - + 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) diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index b7d3b84ed..8c4b42293 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -378,67 +378,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. สถานะที่ยังไม่ได้ถูกกำหนด - + Waits to start syncing. รอการเริ่มต้นซิงค์ข้อมูล - + Preparing for sync. - + Sync is running. การซิงค์ข้อมูลกำลังทำงาน - + Server is currently not available. - + 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) diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index e0d7df1be..fe5050e27 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -382,67 +382,67 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::FolderMan - + Could not reset folder state Klasör durumu sıfırılanamadı - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Sunucu şu an kullanılabilir değil. - + 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ı) diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 3bc8fad76..81864ca1b 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -381,67 +381,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Не вдалося скинути стан теки - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Невизначений стан. - + Waits to start syncing. Очікування початку синхронізації. - + Preparing for sync. Підготовка до синхронізації - + Sync is running. Синхронізація запущена. - + Server is currently not available. Сервер наразі недоступний. - + 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) diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 7f0d13d8f..1f3c915bd 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -381,67 +381,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state 不能重置文件夹状态 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 一个旧的同步日志 '%1' 被找到,但是不能被移除。请确定没有应用程序正在使用它。 - + Undefined State. 未知状态。 - + Waits to start syncing. 等待启动同步。 - + Preparing for sync. 准备同步。 - + Sync is running. 同步正在运行。 - + Server is currently not available. 服务器当前是不可用的。 - + 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 (同步已暂停) diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index 62565bed5..3e3879aa8 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -378,67 +378,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state 無法重置資料夾狀態 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 發現較舊的同步處理日誌'%1',但無法移除。請確認沒有應用程式正在使用它。 - + Undefined State. 未知狀態 - + Waits to start syncing. 等待啟動同步 - + Preparing for sync. 正在準備同步。 - + Sync is running. 同步執行中 - + Server is currently not available. - + 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 (同步暫停) From 71338000a44420d5bd46c18605e76e742c806e00 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 8 Jul 2014 18:32:43 +0200 Subject: [PATCH 154/190] SetupWizard: Keep initial local folder to compare later for changes. If the local folder changes, the sync has to be reinitialized as well. Until now we did not detect that, which led to the case that the sync folder was not reinitialized in case only the local folder changed in the setup dialog. --- src/mirall/owncloudsetupwizard.cpp | 20 ++++++++++++++++++-- src/mirall/owncloudsetupwizard.h | 1 + 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/mirall/owncloudsetupwizard.cpp b/src/mirall/owncloudsetupwizard.cpp index a7d866b51..c4b7388f7 100644 --- a/src/mirall/owncloudsetupwizard.cpp +++ b/src/mirall/owncloudsetupwizard.cpp @@ -111,6 +111,15 @@ void OwncloudSetupWizard::startWizard() } _ocWizard->setProperty("localFolder", localFolder); + + // remember the local folder to compare later if it changed, but clean first + QString lf = QDir::fromNativeSeparators(localFolder); + if( !lf.endsWith(QLatin1Char('/'))) { + lf.append(QLatin1Char('/')); + } + + _initLocalFolder = lf; + _ocWizard->setRemoteFolder(_remoteFolder); _ocWizard->setStartId(WizardCommon::Page_ServerSetup); @@ -392,10 +401,17 @@ void OwncloudSetupWizard::slotAssistantFinished( int result ) Account *newAccount = _ocWizard->account(); Account *origAccount = AccountManager::instance()->account(); - const QString localFolder = _ocWizard->localFolder(); + + QString localFolder = QDir::fromNativeSeparators(_ocWizard->localFolder()); + if( !localFolder.endsWith(QLatin1Char('/'))) { + localFolder.append(QLatin1Char('/')); + } bool isInitialSetup = (origAccount == 0); - bool reinitRequired = newAccount->changed(origAccount, true /* ignoreProtocol, allows http->https */); + + // check if either the account or the local folder changed, than reinit + bool reinitRequired = _initLocalFolder != localFolder || + newAccount->changed(origAccount, true /* ignoreProtocol, allows http->https */); bool startFromScratch = _ocWizard->field("OCSyncFromScratch").toBool(); // This distinguishes three possibilities: diff --git a/src/mirall/owncloudsetupwizard.h b/src/mirall/owncloudsetupwizard.h index 681b776be..b1f2a2bd1 100644 --- a/src/mirall/owncloudsetupwizard.h +++ b/src/mirall/owncloudsetupwizard.h @@ -94,6 +94,7 @@ private: Account* _account; OwncloudWizard* _ocWizard; + QString _initLocalFolder; QString _remoteFolder; }; From e8de3e855a20c76871940592618c5bd7cbe09877 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Wed, 16 Jul 2014 11:43:00 +0200 Subject: [PATCH 155/190] 1.6.2 --- VERSION.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION.cmake b/VERSION.cmake index 6be5d277e..b2fa967dd 100644 --- a/VERSION.cmake +++ b/VERSION.cmake @@ -1,6 +1,6 @@ set( MIRALL_VERSION_MAJOR 1 ) set( MIRALL_VERSION_MINOR 6 ) -set( MIRALL_VERSION_PATCH 1 ) +set( MIRALL_VERSION_PATCH 2 ) set( MIRALL_SOVERSION 0 ) if ( NOT DEFINED MIRALL_VERSION_SUFFIX ) From d3b72940fd4da5b5ee9e22acecb95b553e662820 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 16 Jul 2014 11:55:31 +0200 Subject: [PATCH 156/190] Updated Changelog for 1.6.2 --- ChangeLog | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index bf537e7b7..e1eadfe59 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ ChangeLog ========= +version 1.6.2 (release 2014-07-x ) + * HTTP Credentials: Read password from legacy place if not found. + * Shibboleth: Fix the waiting curser that would not disapear (#1915) + * Limit memory usage to avoid mem wasting and crashes + * Propagator: Fix crash when logging out during upload (#1957) + * Propagator_qnam: Fix signal slot connection (#1963) + * Use more elaborated way to detect that the server was reconfigured (#1948) + * Setup Wizard: Reconfigure Server also if local path was changed (#1948) + version 1.6.1 (release 2014-06-26 ) * Fix 'precondition failed' bug with broken upload * Fix openSSL problems for windows deployment From d5a86614803c734fa7c6968191358858ac959d32 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 16 Jul 2014 14:06:10 +0200 Subject: [PATCH 157/190] tests: do not use system any more to modify files, rather perl native. --- csync/tests/ownCloud/ownCloud/Test.pm | 6 +++++- csync/tests/ownCloud/t1.pl | 6 ++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/csync/tests/ownCloud/ownCloud/Test.pm b/csync/tests/ownCloud/ownCloud/Test.pm index 9540682b1..507b31bac 100644 --- a/csync/tests/ownCloud/ownCloud/Test.pm +++ b/csync/tests/ownCloud/ownCloud/Test.pm @@ -572,7 +572,11 @@ sub createLocalFile( $$ ) my $md5 = Digest::MD5->new; - open(FILE, ">", $fname) or die "Can't open $fname for writing ($!)"; + if (-e $fname) { + open(FILE, ">>", $fname ) or die "Can not append to file ($!)"; + } else { + open(FILE, ">", $fname) or die "Can't open $fname for writing ($!)"; + } my $minimum = 32; my $range = 96; diff --git a/csync/tests/ownCloud/t1.pl b/csync/tests/ownCloud/t1.pl index 635e1f6b2..48e27594a 100755 --- a/csync/tests/ownCloud/t1.pl +++ b/csync/tests/ownCloud/t1.pl @@ -123,10 +123,8 @@ assertLocalAndRemoteDir( '', 0); # The previous sync should have updated the etags, and this should NOT be a conflict printInfo( "Update the file again"); -my $cmd = "sleep 2 && echo more data >> ". localDir() . "remoteToLocal1/kernelcrash.txt"; -$cmd .= " && echo corruption >> " . localDir(). "remoteToLocal1/kraft_logo.gif"; - -system($cmd); +createLocalFile( localDir() . "remoteToLocal1/kernelcrash.txt", 2134 ); +createLocalFile( localDir() . "remoteToLocal1/kraft_logo.gif", 2332 ); csync( ); assertLocalAndRemoteDir( '', 0); From af3fae9c28f9c47ff879e3b0f53749544cabc8f8 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 16 Jul 2014 14:32:58 +0200 Subject: [PATCH 158/190] Bumped to 1.6.2 rc1 --- VERSION.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION.cmake b/VERSION.cmake index b2fa967dd..6d35bbfef 100644 --- a/VERSION.cmake +++ b/VERSION.cmake @@ -4,7 +4,7 @@ set( MIRALL_VERSION_PATCH 2 ) set( MIRALL_SOVERSION 0 ) if ( NOT DEFINED MIRALL_VERSION_SUFFIX ) - set( MIRALL_VERSION_SUFFIX "") #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 ) From e6c501de8e602d0bf41c4e8a437078a9af332bc2 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 16 Jul 2014 16:59:20 +0200 Subject: [PATCH 159/190] FolderMan: More useful logging. --- src/mirall/folderman.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mirall/folderman.cpp b/src/mirall/folderman.cpp index 1acb03845..2b8523fd7 100644 --- a/src/mirall/folderman.cpp +++ b/src/mirall/folderman.cpp @@ -413,7 +413,7 @@ void FolderMan::slotScheduleSync( const QString& alias ) if( alias.isEmpty() ) return; if( _currentSyncFolder == alias ) { - qDebug() << " the current folder is currently syncing."; + qDebug() << "folder " << alias << " is currently syncing. NOT scheduling."; return; } qDebug() << "Schedule folder " << alias << " to sync!"; From 774432066efcb3e3bbbd8bfcda84327223d42ca2 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 16 Jul 2014 17:25:18 +0200 Subject: [PATCH 160/190] tests: Reverted previous change, do not append in createLocalFile() --- csync/tests/ownCloud/ownCloud/Test.pm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/csync/tests/ownCloud/ownCloud/Test.pm b/csync/tests/ownCloud/ownCloud/Test.pm index 507b31bac..9540682b1 100644 --- a/csync/tests/ownCloud/ownCloud/Test.pm +++ b/csync/tests/ownCloud/ownCloud/Test.pm @@ -572,11 +572,7 @@ sub createLocalFile( $$ ) my $md5 = Digest::MD5->new; - if (-e $fname) { - open(FILE, ">>", $fname ) or die "Can not append to file ($!)"; - } else { - open(FILE, ">", $fname) or die "Can't open $fname for writing ($!)"; - } + open(FILE, ">", $fname) or die "Can't open $fname for writing ($!)"; my $minimum = 32; my $range = 96; From 2a5691e5755b9930e3430600c11bf32af34831ce Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 16 Jul 2014 17:26:06 +0200 Subject: [PATCH 161/190] tests: Fix assertion. --- csync/tests/ownCloud/t2.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/csync/tests/ownCloud/t2.pl b/csync/tests/ownCloud/t2.pl index 1893f021f..4b68a047f 100755 --- a/csync/tests/ownCloud/t2.pl +++ b/csync/tests/ownCloud/t2.pl @@ -207,7 +207,8 @@ $inode = getInode('superNewDir/f3'); csync(); assertLocalAndRemoteDir( '', 1); -assert( ! -e localDir().'superNewDir' ); +my $file = localDir() . 'superNewDir'; +assert( -e $file ); $inode2 = getInode('superNewDir/f3'); assert( $inode == $inode2, "Inode of f3 changed"); From d8ebebaf120bdf0b0963ac6de60da1d8fa58b10d Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Wed, 16 Jul 2014 18:39:51 +0200 Subject: [PATCH 162/190] WinInstaller: No hardcoded www in front of the url on final page. --- cmake/modules/NSIS.template.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in index afbdc0c5c..923b2b352 100644 --- a/cmake/modules/NSIS.template.in +++ b/cmake/modules/NSIS.template.in @@ -111,8 +111,8 @@ ReserveFile "${NSISDIR}\Plugins\InstallOptions.dll" !define MUI_HEADERIMAGE !define MUI_HEADERIMAGE_BITMAP ${WIN_SETUP_BITMAP_PATH}/page_header.bmp !define MUI_COMPONENTSPAGE_SMALLDESC -!define MUI_FINISHPAGE_LINK "www.${APPLICATION_DOMAIN}" -!define MUI_FINISHPAGE_LINK_LOCATION "http://www.${APPLICATION_DOMAIN}" +!define MUI_FINISHPAGE_LINK "${APPLICATION_DOMAIN}" +!define MUI_FINISHPAGE_LINK_LOCATION "http://${APPLICATION_DOMAIN}" !define MUI_FINISHPAGE_NOREBOOTSUPPORT !ifdef OPTION_FINISHPAGE_RELEASE_NOTES !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED From cfc2f84d3e7487cdac79c67fc978086c6d80e3f7 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Thu, 17 Jul 2014 01:25:28 -0400 Subject: [PATCH 163/190] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 141 +++++++++++++++++------------------ translations/mirall_cs.ts | 141 +++++++++++++++++------------------ translations/mirall_de.ts | 141 +++++++++++++++++------------------ translations/mirall_el.ts | 141 +++++++++++++++++------------------ translations/mirall_en.ts | 140 +++++++++++++++++----------------- translations/mirall_es.ts | 141 +++++++++++++++++------------------ translations/mirall_es_AR.ts | 141 +++++++++++++++++------------------ translations/mirall_et.ts | 141 +++++++++++++++++------------------ translations/mirall_eu.ts | 140 +++++++++++++++++----------------- translations/mirall_fa.ts | 140 +++++++++++++++++----------------- translations/mirall_fi.ts | 140 +++++++++++++++++----------------- translations/mirall_fr.ts | 141 +++++++++++++++++------------------ translations/mirall_gl.ts | 141 +++++++++++++++++------------------ translations/mirall_hu.ts | 140 +++++++++++++++++----------------- translations/mirall_it.ts | 141 +++++++++++++++++------------------ translations/mirall_ja.ts | 141 +++++++++++++++++------------------ translations/mirall_nl.ts | 141 +++++++++++++++++------------------ translations/mirall_pl.ts | 141 +++++++++++++++++------------------ translations/mirall_pt.ts | 141 +++++++++++++++++------------------ translations/mirall_pt_BR.ts | 141 +++++++++++++++++------------------ translations/mirall_ru.ts | 141 +++++++++++++++++------------------ translations/mirall_sk.ts | 141 +++++++++++++++++------------------ translations/mirall_sl.ts | 141 +++++++++++++++++------------------ translations/mirall_sv.ts | 141 +++++++++++++++++------------------ translations/mirall_th.ts | 140 +++++++++++++++++----------------- translations/mirall_tr.ts | 141 +++++++++++++++++------------------ translations/mirall_uk.ts | 141 +++++++++++++++++------------------ translations/mirall_zh_CN.ts | 141 +++++++++++++++++------------------ translations/mirall_zh_TW.ts | 140 +++++++++++++++++----------------- 29 files changed, 1943 insertions(+), 2139 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index 4403d52ce..963471b9a 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -349,13 +349,6 @@ Temps restant total %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Aquesta sincronització eliminarà tots els fitxers a la carpeta local de sincronització '%1'. -Si vós o l'administrador heu reinicialitzat el compte en el servidor, escolliu "Mantenir fitxers". Si voleueliminar les dades, escolliu "Esborra tots els fitxers". - - - 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? @@ -364,17 +357,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 @@ -598,17 +591,17 @@ Esteu segur que voleu executar aquesta operació? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway No s'ha rebut cap E-Tag del servidor, comproveu el Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. Hem rebut un E-Tag diferent en la represa. Es comprovarà la pròxima vegada. - + Connection Timeout Temps de connexió excedit @@ -660,12 +653,12 @@ Esteu segur que voleu executar aquesta operació? Mirall::HttpCredentials - + Enter Password Escriviu contrasenya - + Please enter %1 password for user '%2': Escriviu %1 contrasenya per s'usuari '%2': @@ -1280,7 +1273,7 @@ No és aconsellada usar-la. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! El fitxer %1 no es pot baixar perquè hi ha un xoc amb el nom d'un fitxer local! @@ -1380,22 +1373,22 @@ No és aconsellada usar-la. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. El fitxer s'ha editat localment però és part d'una compartició només de lectura. S'ha restaurat i la vostra edició és en el fitxer en conflicte. - + The local file was removed during sync. El fitxer local s'ha eliminat durant la sincronització. - + Local file changed during sync. El fitxer local ha canviat durant la sincronització. - + The server did not acknowledge the last chunk. (No e-tag were present) El servidor no ha reconegut l'últim fragment. (No hi havia e-Tag) @@ -1473,12 +1466,12 @@ No és aconsellada usar-la. L'estat de sincronització s'ha copiat al porta-retalls. - + 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. Try to sync these again. %1 fixers són ignorats per errors previs. @@ -1562,22 +1555,22 @@ Proveu de sincronitzar-los de nou. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autenticat - + Reauthentication required Es requereix nova acreditació - + Your session has expired. You need to re-login to continue to use the client. La vostra sessió ha vençut. Heu d'acreditar-vos de nou per continuar usant el client. - + %1 - %2 %1 - %2 @@ -1781,229 +1774,229 @@ Proveu de sincronitzar-los de nou. Mirall::SyncEngine - + Success. Èxit. - + CSync failed to create a lock file. CSync ha fallat en crear un fitxer de bloqueig. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync ha fallat en carregar o crear el fitxer de revista. Assegureu-vos que yeniu permisos de lectura i escriptura en la carpeta local de sincronització. - + CSync failed to write the journal file. CSync ha fallat en escriure el fitxer de revista - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>No s'ha pogut carregar el connector %1 per csync.<br/>Comproveu la instal·lació!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'hora del sistema d'aquest client és diferent de l'hora del sistema del servidor. Useu un servei de sincronització de temps (NTP) en el servidor i al client perquè l'hora sigui la mateixa. - + CSync could not detect the filesystem type. CSync no ha pogut detectar el tipus de fitxers del sistema. - + CSync got an error while processing internal trees. CSync ha patit un error mentre processava els àrbres interns. - + CSync failed to reserve memory. CSync ha fallat en reservar memòria. - + CSync fatal parameter error. Error fatal de paràmetre en CSync. - + CSync processing step update failed. El pas d'actualització del processat de CSync ha fallat. - + CSync processing step reconcile failed. El pas de reconciliació del processat de CSync ha fallat. - + CSync processing step propagate failed. El pas de propagació del processat de CSync ha fallat. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>La carpeta destí no existeix.</p><p>Comproveu la configuració de sincronització</p> - + A remote file can not be written. Please check the remote access. No es pot escriure el fitxer remot. Reviseu l'acces remot. - + The local filesystem can not be written. Please check permissions. No es pot escriure al sistema de fitxers local. Reviseu els permisos. - + CSync failed to connect through a proxy. CSync ha fallat en connectar a través d'un proxy. - + CSync could not authenticate at the proxy. CSync no s'ha pogut acreditar amb el proxy. - + CSync failed to lookup proxy or server. CSync ha fallat en cercar el proxy o el servidor. - + CSync failed to authenticate at the %1 server. L'autenticació de CSync ha fallat al servidor %1. - + CSync failed to connect to the network. CSync ha fallat en connectar-se a la xarxa. - + A network connection timeout happened. Temps excedit en la connexió. - + A HTTP transmission error happened. S'ha produït un error en la transmissió HTTP. - + CSync failed due to not handled permission deniend. CSync ha fallat en no implementar el permís denegat. - + CSync failed to access CSync ha fallat en accedir - + CSync tried to create a directory that already exists. CSync ha intentat crear una carpeta que ja existeix. - - + + CSync: No space on %1 server available. CSync: No hi ha espai disponible al servidor %1. - + CSync unspecified error. Error inespecífic de CSync. - + Aborted by the user Aturat per l'usuari - + 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. - + 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ó - + 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 - + 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 @@ -2019,7 +2012,7 @@ Proveu de sincronitzar-los de nou. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Versió %1 Per més informació visiteu <a href='%2'>%3</a>.</p><p>Copyright ownCloud, Inc.<p><p>Distribuït per %4 i amb Llicència Pública General GNU (GPL) Versió 2.0.<br>%5 i el %5 logo són marques registrades de %4 als<br>Estats Units, altres països, o ambdós.</p> diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 02058dab8..52cbdb94e 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -349,13 +349,6 @@ Celkový zbývající čas %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Tato synchronizace by smazala všechny soubory v místní složce '%1' -Pokud jste vy nebo váš správce zresetovali účet na serveru, zvolte "Ponechat soubory". Pokud chcete místní data odstranit, zvolte "Odstranit všechny soubory". - - - 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? @@ -364,17 +357,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 @@ -598,17 +591,17 @@ Opravdu chcete provést tuto akci? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ze serveru nebyl obdržen E-Tag, zkontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Obdrželi jsme jiný E-Tag pro pokračování. Zkusím znovu příště. - + Connection Timeout Spojení vypršelo @@ -660,12 +653,12 @@ Opravdu chcete provést tuto akci? Mirall::HttpCredentials - + Enter Password Zadejte heslo - + Please enter %1 password for user '%2': Zadejte prosím %1 heslo pro uživatele '%2': @@ -1280,7 +1273,7 @@ Nedoporučuje se jí používat. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Soubor %1 nemohl být stažen z důvodu kolize názvu se souborem v místním systému. @@ -1380,22 +1373,22 @@ Nedoporučuje se jí používat. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Soubor zde byl editován, ale je součástí sdílení pouze pro čtení. Původní soubor byl obnoven a editovaná verze je uložena v konfliktním souboru. - + The local file was removed during sync. Místní soubor byl odstraněn během synchronizace. - + Local file changed during sync. Místní soubor byl změněn během synchronizace. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1473,12 +1466,12 @@ Nedoporučuje se jí používat. Stav synchronizace byl zkopírován do schránky. - + 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. Try to sync these again. %1 souborů je na seznamu ignorovaných kvůli předchozím chybovým stavům. @@ -1563,22 +1556,22 @@ Zkuste provést novou synchronizaci. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - ověření - + Reauthentication required Je vyžadováno opětovné ověření. - + Your session has expired. You need to re-login to continue to use the client. Vaše sezení vypršelo. Chcete-li pokračovat v práci musíte se znovu přihlásit. - + %1 - %2 %1 - %2 @@ -1782,229 +1775,229 @@ Zkuste provést novou synchronizaci. Mirall::SyncEngine - + Success. Úspěch. - + CSync failed to create a lock file. CSync nemůže vytvořit soubor zámku. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync se nepodařilo načíst či vytvořit soubor žurnálu. Ujistěte se, že máte oprávnění pro čtení a zápis v místní synchronizované složce. - + CSync failed to write the journal file. CSync se nepodařilo zapsat do souboru žurnálu. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Plugin %1 pro csync nelze načíst.<br/>Zkontrolujte prosím instalaci!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systémový čas na klientovi je rozdílný od systémového času serveru. Použijte, prosím, službu synchronizace času (NTP) na serveru i klientovi, aby byl čas na obou strojích stejný. - + CSync could not detect the filesystem type. CSync nemohl detekovat typ souborového systému. - + CSync got an error while processing internal trees. CSync obdrželo chybu při zpracování vnitřních struktur. - + CSync failed to reserve memory. CSync se nezdařilo rezervovat paměť. - + CSync fatal parameter error. CSync: kritická chyba parametrů. - + CSync processing step update failed. CSync se nezdařilo zpracovat krok aktualizace. - + CSync processing step reconcile failed. CSync se nezdařilo zpracovat krok sladění. - + CSync processing step propagate failed. CSync se nezdařilo zpracovat krok propagace. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Cílový adresář neexistuje.</p><p>Zkontrolujte, prosím, nastavení synchronizace.</p> - + A remote file can not be written. Please check the remote access. Vzdálený soubor nelze zapsat. Ověřte prosím vzdálený přístup. - + The local filesystem can not be written. Please check permissions. Do místního souborového systému nelze zapisovat. Ověřte, prosím, přístupová práva. - + CSync failed to connect through a proxy. CSync se nezdařilo připojit skrze proxy. - + CSync could not authenticate at the proxy. CSync se nemohlo přihlásit k proxy. - + CSync failed to lookup proxy or server. CSync se nezdařilo najít proxy server nebo cílový server. - + CSync failed to authenticate at the %1 server. CSync se nezdařilo přihlásit k serveru %1. - + CSync failed to connect to the network. CSync se nezdařilo připojit k síti. - + A network connection timeout happened. Došlo k vypršení časového limitu síťového spojení. - + A HTTP transmission error happened. Nastala chyba HTTP přenosu. - + CSync failed due to not handled permission deniend. CSync selhalo z důvodu nezpracovaného odmítnutí práv. - + CSync failed to access CSync se nezdařil přístup - + CSync tried to create a directory that already exists. CSync se pokusilo vytvořit adresář, který již existuje. - - + + CSync: No space on %1 server available. CSync: Nedostatek volného místa na serveru %1. - + CSync unspecified error. Nespecifikovaná chyba CSync. - + Aborted by the user Zrušeno uživatelem - + 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. - + 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 - + 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 - + 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 @@ -2020,7 +2013,7 @@ Zkuste provést novou synchronizaci. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Verze %1. Pro více informací navštivte <a href='%2'>%3</a>.</p><p>Copyright ownCloud, Inc.<p><p>Distribuováno %4 a licencováno pod GNU General Public License (GPL) Version 2.0.<br>%5 a logo %5 jsou registrované obchodní známky %4 ve <br>Spojených státech, ostatních zemích nebo obojí.</p> diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index f5992d6b5..c9fcb1b60 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -350,13 +350,6 @@ Gesamtzeit übrig %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Dieser Synchronisationsvorgang würde alle Dateien in dem lokalen Ordner '%1' entfernen. -Wenn Sie oder Ihr Administrator Ihr Konto auf dem Server zurückgesetzt haben, wählen Sie "Dateien behalten". Wenn Sie ihre Daten löschen wollen, wählen Sie "Alle Dateien entfernen". - - - 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? @@ -365,17 +358,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 @@ -599,17 +592,17 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Kein E-Tag vom Server empfangen, bitte Proxy / Gateway überprüfen - + We received a different E-Tag for resuming. Retrying next time. Es wurde ein unterschiedlicher E-Tag zum Fortfahren empfangen. Bitte beim nächsten mal nochmal versuchen. - + Connection Timeout Zeitüberschreitung der Verbindung @@ -661,12 +654,12 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::HttpCredentials - + Enter Password Passwort eingeben - + Please enter %1 password for user '%2': Bitte %1 Passwort für den Nutzer '%2' eingeben: @@ -1281,7 +1274,7 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Die Datei %1 kann aufgrund eines Konfliktes mit dem lokalen Dateinamen nicht herunter geladen werden! @@ -1381,22 +1374,22 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Die Datei wurde von einer Nur-Lese-Freigabe lokal bearbeitet. Die Datei wurde wiederhergestellt und Ihre Bearbeitung ist in der Konflikte-Datei. - + The local file was removed during sync. Die lokale Datei wurde während der Synchronisation gelöscht. - + Local file changed during sync. Eine lokale Datei wurde während der Synchronisation geändert. - + The server did not acknowledge the last chunk. (No e-tag were present) Der Server hat den letzten Block nicht bestätigt. (Der E-Tag war nicht vorhanden) @@ -1474,12 +1467,12 @@ Es ist nicht ratsam, diese zu benutzen. Der Synchronisationsstatus wurde in die Zwischenablage kopiert. - + 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. Try to sync these again. %1 Datei(en) werden aufgrund vorheriger Fehler ignoriert. @@ -1563,22 +1556,22 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Authentifikation - + Reauthentication required Erneute Authentifizierung erforderlich - + Your session has expired. You need to re-login to continue to use the client. Ihre Sitzung ist abgelaufen. Sie müssen sich zur weiteren Nutzung des Clients neu Anmelden. - + %1 - %2 %1 - %2 @@ -1782,229 +1775,229 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::SyncEngine - + Success. Erfolgreich - + CSync failed to create a lock file. CSync konnte keine lock-Datei erstellen. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync konnte den Synchronisationsbericht nicht laden oder erstellen. Stellen Sie bitte sicher, dass Sie Lese- und Schreibrechte auf das lokale Synchronisationsverzeichnis haben. - + CSync failed to write the journal file. CSync konnte den Synchronisationsbericht nicht schreiben. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Das %1-Plugin für csync konnte nicht geladen werden.<br/>Bitte überprüfen Sie die Installation!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Die Uhrzeit auf diesem Computer und dem Server sind verschieden. Bitte verwenden Sie ein Zeitsynchronisationsprotokolls (NTP) auf Ihrem Server und Klienten, damit die gleiche Uhrzeit verwendet wird. - + CSync could not detect the filesystem type. CSync konnte den Typ des Dateisystem nicht feststellen. - + CSync got an error while processing internal trees. CSync hatte einen Fehler bei der Verarbeitung von internen Strukturen. - + CSync failed to reserve memory. CSync konnte keinen Speicher reservieren. - + CSync fatal parameter error. CSync hat einen schwerwiegender Parameterfehler festgestellt. - + CSync processing step update failed. CSync Verarbeitungsschritt "Aktualisierung" fehlgeschlagen. - + CSync processing step reconcile failed. CSync Verarbeitungsschritt "Abgleich" fehlgeschlagen. - + CSync processing step propagate failed. CSync Verarbeitungsschritt "Übertragung" fehlgeschlagen. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Das Zielverzeichnis existiert nicht.</p><p>Bitte prüfen Sie die Synchronisationseinstellungen.</p> - + A remote file can not be written. Please check the remote access. Eine Remote-Datei konnte nicht geschrieben werden. Bitte den Remote-Zugriff überprüfen. - + The local filesystem can not be written. Please check permissions. Kann auf dem lokalen Dateisystem nicht schreiben. Bitte Berechtigungen überprüfen. - + CSync failed to connect through a proxy. CSync konnte sich nicht über einen Proxy verbinden. - + CSync could not authenticate at the proxy. CSync konnte sich nicht am Proxy authentifizieren. - + CSync failed to lookup proxy or server. CSync konnte den Proxy oder Server nicht auflösen. - + CSync failed to authenticate at the %1 server. CSync konnte sich nicht am Server %1 authentifizieren. - + CSync failed to connect to the network. CSync konnte sich nicht mit dem Netzwerk verbinden. - + A network connection timeout happened. Eine Zeitüberschreitung der Netzwerkverbindung ist aufgetreten. - + A HTTP transmission error happened. Es hat sich ein HTTP-Übertragungsfehler ereignet. - + CSync failed due to not handled permission deniend. CSync wegen fehlender Berechtigung fehlgeschlagen. - + CSync failed to access CSync-Zugriff fehlgeschlagen - + CSync tried to create a directory that already exists. CSync versuchte, ein Verzeichnis zu erstellen, welches bereits existiert. - - + + CSync: No space on %1 server available. CSync: Kein Platz auf Server %1 frei. - + CSync unspecified error. CSync unbekannter Fehler. - + Aborted by the user Abbruch durch den Benutzer - + 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. - + 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 - + 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 - + 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 @@ -2020,7 +2013,7 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Version %1 Für weitere Informationen besuchen Sie bitte <a href='%2'>%3</a>.</p><p>Urheberrecht von ownCloud, Inc.<p><p>Zur Verfügung gestellt durch %4 und lizensiert unter der GNU General Public License (GPL) Version 2.0.<br>%5 und das %5 Logo sind eingetragene Warenzeichen von %4 in den <br>Vereinigten Staaten, anderen Ländern oder beides.</p> diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 0ba2644de..1e46ea0e9 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -350,13 +350,6 @@ Total time left %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Αυτός ο συγχρονισμός θα αφαιρέσει όλα τα αρχεία στον τοπικό φάκελο συγχρονισμού '%1'. -Εάν εσείς ή ο διαχειριστής σας επαναφέρατε το λογαριασμό σας στο διακομιστή, επιλέξτε "Διατήρηση αρχείων". Εάν θέλετε να αφαιρεθούν τα δεδομένα σας, επιλέξτε "Αφαίρεση όλων των αρχείων". - - - 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? @@ -365,17 +358,17 @@ Are you sure you want to perform this operation? Είστε σίγουροι ότι θέλετε να εκτελέσετε αυτή τη λειτουργία; - + Remove All Files? Αφαίρεση Όλων των Αρχείων; - + Remove all files Αφαίρεση όλων των αρχείων - + Keep files Διατήρηση αρχείων @@ -599,17 +592,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Δεν ελήφθη E-Tag από το διακομιστή, ελέγξτε το διακομιστή μεσολάβησης/πύλη - + We received a different E-Tag for resuming. Retrying next time. Ελήφθη διαφορετικό E-Tag για συνέχιση. Επανάληψη την επόμενη φορά. - + Connection Timeout Λήξη Χρόνου Αναμονής Σύνδεσης @@ -661,12 +654,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password Εισάγετε Κωδικό Πρόσβασης - + Please enter %1 password for user '%2': Παρακαλώ εισάγετε τον κωδικό %1 για το χρήστη '%2': @@ -1281,7 +1274,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Το αρχείο %1 δεν είναι δυνατό να ληφθεί λόγω διένεξης με το όνομα ενός τοπικού αρχείου! @@ -1381,22 +1374,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Το αρχείο υπέστη επεξεργασία τοπικά αλλά είναι τμήμα ενός διαμοιρασμένου καταλόγου μόνο για ανάγνωση. Επαναφέρθηκε και το επεξεργασμένο βρίσκεται στο αρχείο συγκρούσεων. - + The local file was removed during sync. Το τοπικό αρχείο αφαιρέθηκε κατά το συγχρονισμό. - + Local file changed during sync. Το τοπικό αρχείο τροποποιήθηκε κατά τον συγχρονισμό. - + The server did not acknowledge the last chunk. (No e-tag were present) Ο διακομιστής δεν αναγνώρισε το τελευταίο τμήμα. (Δεν υπήρχε e-tag) @@ -1474,12 +1467,12 @@ It is not advisable to use it. Η κατάσταση συγχρονισμού αντιγράφηκε στο πρόχειρο. - + Currently no files are ignored because of previous errors. Προς το παρόν κανένα αρχείο δεν θα αγνοηθεί λόγω προηγούμενων σφαλμάτων. - + %1 files are ignored because of previous errors. Try to sync these again. %1 αρχεία θα ανγοηθούν λόγω προηγούμενων σφαλμάτων. @@ -1563,22 +1556,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Πιστοποίηση - + Reauthentication required Απαιτείται επανάληψη πιστοποίησης - + Your session has expired. You need to re-login to continue to use the client. Η συνεδρία σας έληξε. Πρέπει να εισέλθετε ξανά για να συνεχίσετε να χρησιμοποιείτε το πρόγραμμα. - + %1 - %2 %1 - %2 @@ -1782,229 +1775,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Επιτυχία. - + CSync failed to create a lock file. Το CSync απέτυχε να δημιουργήσει ένα αρχείο κλειδώματος. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Το CSync απέτυχε να φορτώσει ή να δημιουργήσει το αρχείο καταλόγου. Βεβαιωθείτε ότι έχετε άδειες ανάγνωσης και εγγραφής στον τοπικό κατάλογο συγχρονισμού. - + CSync failed to write the journal file. Το CSync απέτυχε να εγγράψει στο αρχείο καταλόγου. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Το πρόσθετο του %1 για το csync δεν μπόρεσε να φορτωθεί.<br/>Παρακαλούμε επαληθεύσετε την εγκατάσταση!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Η ώρα του συστήματος στον τοπικό υπολογιστή διαφέρει από την ώρα του συστήματος στο διακομιστή. Παρακαλούμε χρησιμοποιήστε μια υπηρεσία χρονικού συγχρονισμού (NTP) στο διακομιστή και στον τοπικό υπολογιστή ώστε η ώρα να παραμένει η ίδια. - + CSync could not detect the filesystem type. To CSync δεν μπορούσε να ανιχνεύσει τον τύπο του συστήματος αρχείων. - + CSync got an error while processing internal trees. Το CSync έλαβε κάποιο μήνυμα λάθους κατά την επεξεργασία της εσωτερικής διεργασίας. - + CSync failed to reserve memory. Το CSync απέτυχε να δεσμεύσει μνήμη. - + CSync fatal parameter error. Μοιραίο σφάλμα παράμετρου CSync. - + CSync processing step update failed. Η ενημέρωση του βήματος επεξεργασίας του CSync απέτυχε. - + CSync processing step reconcile failed. CSync στάδιο επεξεργασίας συμφιλίωση απέτυχε. - + CSync processing step propagate failed. Η μετάδοση του βήματος επεξεργασίας του CSync απέτυχε. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Ο κατάλογος προορισμού δεν υπάρχει.</p><p>Παρακαλώ ελέγξτε τις ρυθμίσεις συγχρονισμού.</p> - + A remote file can not be written. Please check the remote access. Ένα απομακρυσμένο αρχείο δεν μπορεί να εγγραφεί. Παρακαλούμε ελέγξτε την απομακρυσμένη πρόσβαση. - + The local filesystem can not be written. Please check permissions. Το τοπικό σύστημα αρχείων δεν είναι εγγράψιμο. Παρακαλούμε ελέγξτε τα δικαιώματα. - + CSync failed to connect through a proxy. Το CSync απέτυχε να συνδεθεί μέσω ενός διαμεσολαβητή. - + CSync could not authenticate at the proxy. Το CSync δεν μπόρεσε να πιστοποιηθεί στο διακομιστή μεσολάβησης. - + CSync failed to lookup proxy or server. Το CSync απέτυχε να διερευνήσει το διαμεσολαβητή ή το διακομιστή. - + CSync failed to authenticate at the %1 server. Το CSync απέτυχε να πιστοποιηθεί στο διακομιστή 1%. - + CSync failed to connect to the network. Το CSync απέτυχε να συνδεθεί με το δίκτυο. - + A network connection timeout happened. Διακοπή σύνδεσης δικτύου. - + A HTTP transmission error happened. Ένα σφάλμα μετάδοσης HTTP συνέβη. - + CSync failed due to not handled permission deniend. Το CSync απέτυχε λόγω απόρριψης μη-διαχειρίσιμων δικαιωμάτων. - + CSync failed to access Το CSync απέτυχε να αποκτήσει πρόσβαση - + CSync tried to create a directory that already exists. Το CSync προσπάθησε να δημιουργήσει ένα κατάλογο που υπάρχει ήδη. - - + + CSync: No space on %1 server available. CSync: Δεν υπάρχει διαθέσιμος χώρος στο διακομιστή 1%. - + CSync unspecified error. Άγνωστο σφάλμα CSync. - + Aborted by the user Ματαιώθηκε από το χρήστη - + 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. Οι συμβολικού σύνδεσμοι δεν υποστηρίζονται για το συγχρονισμό. - + 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 Αδυναμία ανοίγματος του αρχείου συγχρονισμού - + 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 Δεν επιτρέπεται η αφαίρεση, αποκατάσταση σε εξέλιξη - + Move not allowed, item restored Η μετακίνηση δεν επιτρέπεται, το αντικείμενο αποκαταστάθηκε - + Move not allowed because %1 is read-only Η μετακίνηση δεν επιτρέπεται επειδή το %1 είναι μόνο για ανάγνωση - + the destination ο προορισμός - + the source η προέλευση @@ -2020,7 +2013,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Έκδοση %1 Για περισσότερες πληροφορίες, παρακαλώ επισκεφθείτε την ιστοσελίδα <a href='%2'>%3</a>.</p><p>Πνευματική ιδιοκτησία ownCloud, Inc.<p><p>Διανέμεται από %4 και αδειοδοτείται με την GNU General Public License (GPL) Έκδοση 2.0.<br>Το %5 και το λογότυπο %5 είναι σήμα κατατεθέν του %4 στις<br>Ηνωμένες Πολιτείες, άλλες χώρες ή και τα δυο.</p> diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index 5c5fa01eb..c9167915b 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -350,29 +350,23 @@ Total time left %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - - - - 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 @@ -596,17 +590,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -658,12 +652,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password - + Please enter %1 password for user '%2': @@ -1274,7 +1268,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1374,22 +1368,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1467,12 +1461,12 @@ It is not advisable to use it. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1555,22 +1549,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 @@ -1772,229 +1766,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. - + CSync failed to create a lock file. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. - + CSync could not detect the filesystem type. - + CSync got an error while processing internal trees. - + CSync failed to reserve memory. - + CSync fatal parameter error. - + CSync processing step update failed. - + CSync processing step reconcile failed. - + CSync processing step propagate failed. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. - + The local filesystem can not be written. Please check permissions. - + CSync failed to connect through a proxy. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. - + CSync failed to authenticate at the %1 server. - + CSync failed to connect to the network. - + A network connection timeout happened. - + A HTTP transmission error happened. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. - - + + CSync: No space on %1 server available. - + CSync unspecified error. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2010,7 +2004,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 403e8c29c..b3df3e085 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -349,13 +349,6 @@ Tiempo restante %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Esta sincronización eliminaría todos los archivos en la carpeta local de sincronización '%1'. -Si ud. o su administrador han restablecido su cuenta en el servidor, elija "Conservar Archivos". Si desea eliminar toda su información, elija "Eliminar todos los archivos". - - - 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? @@ -364,17 +357,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 @@ -598,17 +591,17 @@ Está seguro de que desea realizar esta operación? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway No se recibió ninguna e-tag del servidor, revisar el proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Se recibió una e-tag distinta para reanudar. Se intentará nuevamente. - + Connection Timeout Tiempo de espera de conexión agotado @@ -660,12 +653,12 @@ Está seguro de que desea realizar esta operación? Mirall::HttpCredentials - + Enter Password Introduzca la Contraseña - + Please enter %1 password for user '%2': Por favor, introduzca su %1 contraseña para el usuario '%2': @@ -1280,7 +1273,7 @@ No se recomienda usarlo. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! ¡El fichero %1 no puede ser descargado debido al nombre de la clase de un fichero local! @@ -1380,22 +1373,22 @@ No se recomienda usarlo. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. El archivo fue modificado localmente, pero es parte de una carpeta compartida en modo de solo lectura. Ha sido recuperado y tu modificación está en el archivo de conflicto. - + The local file was removed during sync. El archivo local fue eliminado durante la sincronización. - + Local file changed during sync. Un archivo local fue modificado durante la sincronización. - + The server did not acknowledge the last chunk. (No e-tag were present) El servidor no reconoció la última parte. (No había una e-tag presente.) @@ -1473,12 +1466,12 @@ No se recomienda usarlo. El informe de sincronización fue copiado al portapapeles. - + 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. Try to sync these again. 1% de los archivos fueron ignorados debido a errores previos. @@ -1562,22 +1555,22 @@ Intente sincronizar los archivos nuevamente. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autenticar - + Reauthentication required Debe volver a autenticarse - + Your session has expired. You need to re-login to continue to use the client. Su sesión ha caducado. Necesita volver a iniciarla para continuar usando el cliente. - + %1 - %2 %1 - %2 @@ -1781,229 +1774,229 @@ Intente sincronizar los archivos nuevamente. Mirall::SyncEngine - + Success. Completado con éxito. - + CSync failed to create a lock file. CSync no pudo crear un fichero de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync falló al cargar o crear el archivo de diario. Asegúrese de tener permisos de lectura y escritura en el directorio local de sincronización. - + CSync failed to write the journal file. CSync falló al escribir el archivo de diario. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>El %1 complemente para csync no se ha podido cargar.<br/>Por favor, verifique la instalación</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. La hora del sistema en este cliente es diferente de la hora del sistema en el servidor. Por favor use un servicio de sincronización de hora (NTP) en los servidores y clientes para que las horas se mantengan idénticas. - + CSync could not detect the filesystem type. CSync no pudo detectar el tipo de sistema de archivos. - + CSync got an error while processing internal trees. CSync encontró un error mientras procesaba los árboles de datos internos. - + CSync failed to reserve memory. Fallo al reservar memoria para Csync - + CSync fatal parameter error. Error fatal de parámetro en CSync. - + CSync processing step update failed. El proceso de actualización de CSync ha fallado. - + CSync processing step reconcile failed. Falló el proceso de composición de CSync - + CSync processing step propagate failed. Error en el proceso de propagación de CSync - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>El directorio de destino no existe.</p><p>Por favor verifique la configuración de sincronización.</p> - + A remote file can not be written. Please check the remote access. No se pudo escribir en un archivo remoto. Por favor, compruebe el acceso remoto. - + The local filesystem can not be written. Please check permissions. No se puede escribir en el sistema de archivos local. Por favor, compruebe los permisos. - + CSync failed to connect through a proxy. CSync falló al realizar la conexión a través del proxy - + CSync could not authenticate at the proxy. CSync no pudo autenticar el proxy. - + CSync failed to lookup proxy or server. CSync falló al realizar la búsqueda del proxy - + CSync failed to authenticate at the %1 server. CSync: Falló la autenticación con el servidor %1. - + CSync failed to connect to the network. CSync: Falló la conexión con la red. - + A network connection timeout happened. Se sobrepasó el tiempo de espera de la conexión de red. - + A HTTP transmission error happened. Ha ocurrido un error de transmisión HTTP. - + CSync failed due to not handled permission deniend. CSync: Falló debido a un permiso denegado. - + CSync failed to access Error al acceder CSync - + CSync tried to create a directory that already exists. CSync trató de crear un directorio que ya existe. - - + + CSync: No space on %1 server available. CSync: No queda espacio disponible en el servidor %1. - + CSync unspecified error. Error no especificado de CSync - + Aborted by the user Interrumpido por el usuario - + 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. - + 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 - + 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. - + 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 @@ -2019,7 +2012,7 @@ Intente sincronizar los archivos nuevamente. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Versión %1 Para mayor información, visite <a href='%2'>%3</a>.</p><p>Derechos reservados ownCloud, Inc.<p><p>Distribuido por %4 y con licencia GNU General Public License (GPL) Versión 2.0.<br>%5 y el logo de %5 son marcas registradas %4 en los<br>Estados Unidos, otros países, o en ambos.</p> diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index 1ac86b40d..70152b945 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -348,13 +348,6 @@ Total time left %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Esta sincronización borraría todos los archivos en la carpeta local de sincronización '%1'. -Si vos o el administrador resetearon tu cuenta en el servidor, elegí "Conservar Archivos". Si querés borrar toda tu información, elegí "Borrar todos los archivos". - - - 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? @@ -363,17 +356,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 @@ -597,17 +590,17 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -659,12 +652,12 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::HttpCredentials - + Enter Password Ingresar contraseña - + Please enter %1 password for user '%2': Por favor, ingresa %1 contraseña para el usuario '%2': @@ -1277,7 +1270,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1377,22 +1370,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1470,12 +1463,12 @@ It is not advisable to use it. El estado de sincronización ha sido copiado al portapapeles - + 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. Try to sync these again. %1 archivos fueron ignorados por errores previos. @@ -1559,22 +1552,22 @@ Intente sincronizar estos nuevamente. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autenticarse - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 %1 - %2 @@ -1776,229 +1769,229 @@ Intente sincronizar estos nuevamente. Mirall::SyncEngine - + Success. Éxito. - + CSync failed to create a lock file. Se registró un error en CSync cuando se intentaba crear un archivo de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>No fue posible cargar el plugin de %1 para csync.<br/>Por favor, verificá la instalación</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. La hora del sistema en este cliente es diferente de la hora del sistema en el servidor. Por favor, usá un servicio de sincronización (NTP) de hora en las máquinas cliente y servidor para que las horas se mantengan iguales. - + CSync could not detect the filesystem type. CSync no pudo detectar el tipo de sistema de archivos. - + CSync got an error while processing internal trees. CSync tuvo un error mientras procesaba los árboles de datos internos. - + CSync failed to reserve memory. CSync falló al reservar memoria. - + CSync fatal parameter error. Error fatal de parámetro en CSync. - + CSync processing step update failed. Falló el proceso de actualización de CSync. - + CSync processing step reconcile failed. Falló el proceso de composición de CSync - + CSync processing step propagate failed. Proceso de propagación de CSync falló - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>El directorio de destino %1 no existe.</p> Por favor, comprobá la configuración de sincronización. </p> - + A remote file can not be written. Please check the remote access. No se puede escribir un archivo remoto. Revisá el acceso remoto. - + The local filesystem can not be written. Please check permissions. No se puede escribir en el sistema de archivos local. Revisá los permisos. - + CSync failed to connect through a proxy. CSync falló al tratar de conectarse a través de un proxy - + CSync could not authenticate at the proxy. CSync no pudo autenticar el proxy. - + CSync failed to lookup proxy or server. CSync falló al realizar la busqueda del proxy. - + CSync failed to authenticate at the %1 server. CSync: fallo al autenticarse en el servidor %1. - + CSync failed to connect to the network. CSync: fallo al conectarse a la red - + A network connection timeout happened. - + A HTTP transmission error happened. Ha ocurrido un error de transmisión HTTP. - + CSync failed due to not handled permission deniend. CSync: Falló debido a un permiso denegado. - + CSync failed to access CSync falló al acceder - + CSync tried to create a directory that already exists. Csync trató de crear un directorio que ya existía. - - + + CSync: No space on %1 server available. CSync: No hay más espacio disponible en el servidor %1. - + CSync unspecified error. Error no especificado de CSync - + Aborted by the user Interrumpido por el usuario - + 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. - + 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2014,7 +2007,7 @@ Intente sincronizar estos nuevamente. Mirall::Theme - + <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<br>United States, other countries, or both.</p> diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 55ca5d0c4..75a77fa12 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -349,13 +349,6 @@ Aega kokku jäänud %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - See sünkroniseering kustutab kõik failid kohalikust kataloogist '%1'.⏎ -Kui sina või adminstraator on sinu konto serveris algseadistanud, siis vali "Säilita failid". Kui soovid oma andmed kustutada, vali "Kustuta kõik failid". - - - 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? @@ -364,17 +357,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 @@ -598,17 +591,17 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ühtegi E-Silti ei saabunud serverist, kontrolli puhverserverit/lüüsi. - + We received a different E-Tag for resuming. Retrying next time. Saime jätkamiseks erineva E-Sildi. Proovin järgmine kord uuesti. - + Connection Timeout Ühenduse aegumine @@ -660,12 +653,12 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::HttpCredentials - + Enter Password Sisesta parool - + Please enter %1 password for user '%2': Palun sisesta %1 parool kasutajale '%2': @@ -1280,7 +1273,7 @@ Selle kasutamine pole soovitatav. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Faili %1 ei saa alla laadida kuna on konflikt kohaliku faili nimega. @@ -1380,22 +1373,22 @@ Selle kasutamine pole soovitatav. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Faili on lokaalselt muudetud, kuid see on osa kirjutamisõiguseta jagamisest. See on taastatud ning sinu muudatus on konfliktses failis. - + The local file was removed during sync. Kohalik fail on eemaldatud sünkroniseeringu käigus. - + Local file changed during sync. Kohalik fail muutus sünkroniseeringu käigus. - + The server did not acknowledge the last chunk. (No e-tag were present) Server ei tunnistanud viimast tükki. (E-silt puudus). @@ -1473,12 +1466,12 @@ Selle kasutamine pole soovitatav. Sünkroniseeringu staatus on kopeeritud lõikepuhvrisse. - + 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. Try to sync these again. %1 faili on ignoreeritud eelnenud vigade tõttu. @@ -1562,22 +1555,22 @@ Proovi neid uuesti sünkroniseerida. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - autentimine - + Reauthentication required Vajalik on uuesti autentimine - + Your session has expired. You need to re-login to continue to use the client. Sinu sessioon on aegunud. Sa pead kliendi kasutamiseks uuesti sisse logima. - + %1 - %2 %1 - %2 @@ -1781,229 +1774,229 @@ Proovi neid uuesti sünkroniseerida. Mirall::SyncEngine - + Success. Korras. - + CSync failed to create a lock file. CSync lukustusfaili loomine ebaõnnestus. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync ei suutnud avada või luua registri faili. Tee kindlaks et sul on õigus lugeda ja kirjutada kohalikus sünkrooniseerimise kataloogis - + CSync failed to write the journal file. CSync ei suutnud luua registri faili. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Ei suuda laadida csync lisa %1.<br/>Palun kontrolli paigaldust!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Kliendi arvuti kellaeg erineb serveri omast. Palun kasuta õige aja hoidmiseks kella sünkroniseerimise teenust (NTP) nii serveris kui kliendi arvutites, et kell oleks kõikjal õige. - + CSync could not detect the filesystem type. CSync ei suutnud tuvastada failisüsteemi tüüpi. - + CSync got an error while processing internal trees. CSync sai vea sisemiste andmestruktuuride töötlemisel. - + CSync failed to reserve memory. CSync ei suutnud mälu reserveerida. - + CSync fatal parameter error. CSync parameetri saatuslik viga. - + CSync processing step update failed. CSync uuendusprotsess ebaõnnestus. - + CSync processing step reconcile failed. CSync tasakaalustuse protsess ebaõnnestus. - + CSync processing step propagate failed. CSync edasikandeprotsess ebaõnnestus. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Sihtkataloogi ei eksisteeri.</p><p>Palun kontrolli sünkroniseeringu seadistust</p> - + A remote file can not be written. Please check the remote access. Eemalolevasse faili ei saa kirjutada. Palun kontrolli kaugühenduse ligipääsu. - + The local filesystem can not be written. Please check permissions. Kohalikku failissüsteemi ei saa kirjutada. Palun kontrolli õiguseid. - + CSync failed to connect through a proxy. CSync ühendus läbi puhverserveri ebaõnnestus. - + CSync could not authenticate at the proxy. CSync ei suutnud puhverserveris autoriseerida. - + CSync failed to lookup proxy or server. Csync ei suuda leida puhverserverit. - + CSync failed to authenticate at the %1 server. CSync autoriseering serveris %1 ebaõnnestus. - + CSync failed to connect to the network. CSync võrguga ühendumine ebaõnnestus. - + A network connection timeout happened. Toimus võrgukatkestus. - + A HTTP transmission error happened. HTTP ülekande viga. - + CSync failed due to not handled permission deniend. CSync ebaõnnestus ligipääsu puudumisel. - + CSync failed to access CSyncile ligipääs ebaõnnestus - + CSync tried to create a directory that already exists. Csync proovis tekitada kataloogi, mis oli juba olemas. - - + + CSync: No space on %1 server available. CSync: Serveris %1 on ruum otsas. - + CSync unspecified error. CSync tuvastamatu viga. - + Aborted by the user Kasutaja poolt tühistatud - + 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. - + 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 - + 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 - + 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 @@ -2019,7 +2012,7 @@ Proovi neid uuesti sünkroniseerida. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Versioon %1. Täpsema info saamiseks palun külasta <a href='%2'>%3</a>.</p><p>Autoriõigus ownCloud, Inc.</p><p>Levitatatud %4 poolt ning litsenseeritud GNU General Public License (GPL) Version 2.0.<br>%5 ja %5 logo on %4 registreeritud kaubamärgid <br>USA-s ja teistes riikides</p> diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 021a5c844..4b70aaaa6 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -348,29 +348,23 @@ Total time left %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - - - - 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? Ezabatu Fitxategi Guztiak? - + Remove all files Ezabatu fitxategi guztiak - + Keep files Mantendu fitxategiak @@ -594,17 +588,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ez da E-Tagik jaso zerbitzaritik, egiaztatu Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -656,12 +650,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password Sartu Pasahitza - + Please enter %1 password for user '%2': Mesedez sartu %1 pasahitza '%2' erabiltzailerako: @@ -1274,7 +1268,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1374,22 +1368,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1467,12 +1461,12 @@ It is not advisable to use it. Sinkronizazio egoera arbelera kopiatu da. - + 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. Try to sync these again. %1 fitxategi baztertu dira aurreko erroreak direla eta. @@ -1556,22 +1550,22 @@ Saiatu horiek berriz sinkronizatzen. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 %1 - %2 @@ -1773,229 +1767,229 @@ Saiatu horiek berriz sinkronizatzen. Mirall::SyncEngine - + Success. Arrakasta. - + CSync failed to create a lock file. CSyncek huts egin du lock fitxategia sortzean. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csyncen %1 plugina ezin da kargatu.<br/>Mesedez egiaztatu instalazioa!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Bezero honetako sistemaren ordua zerbitzariarenaren ezberdina da. Mesedez erabili sinkronizazio zerbitzari bat (NTP) zerbitzari eta bezeroan orduak berdinak izan daitezen. - + CSync could not detect the filesystem type. CSyncek ezin du fitxategi sistema mota antzeman. - + CSync got an error while processing internal trees. CSyncek errorea izan du barne zuhaitzak prozesatzerakoan. - + CSync failed to reserve memory. CSyncek huts egin du memoria alokatzean. - + CSync fatal parameter error. CSync parametro larri errorea. - + CSync processing step update failed. CSync prozesatzearen eguneratu urratsak huts egin du. - + CSync processing step reconcile failed. CSync prozesatzearen berdinkatze urratsak huts egin du. - + CSync processing step propagate failed. CSync prozesatzearen hedatu urratsak huts egin du. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Helburu direktorioa ez da existitzen.</p><p>Egiazt6atu sinkronizazio konfigurazioa.</p> - + A remote file can not be written. Please check the remote access. Urruneko fitxategi bat ezin da idatzi. Mesedez egiaztatu urreneko sarbidea. - + The local filesystem can not be written. Please check permissions. Ezin da idatzi bertako fitxategi sisteman. Mesedez egiaztatu baimenak. - + CSync failed to connect through a proxy. CSyncek huts egin du proxiaren bidez konektatzean. - + CSync could not authenticate at the proxy. CSyncek ezin izan du proxya autentikatu. - + CSync failed to lookup proxy or server. CSyncek huts egin du zerbitzaria edo proxia bilatzean. - + CSync failed to authenticate at the %1 server. CSyncek huts egin du %1 zerbitzarian autentikatzean. - + CSync failed to connect to the network. CSyncek sarera konektatzean huts egin du. - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP transmisio errore bat gertatu da. - + CSync failed due to not handled permission deniend. CSyncek huts egin du kudeatu gabeko baimen ukapen bat dela eta. - + CSync failed to access - + CSync tried to create a directory that already exists. CSyncek dagoeneko existitzen zen karpeta bat sortzen saiatu da. - - + + CSync: No space on %1 server available. CSync: Ez dago lekurik %1 zerbitzarian. - + CSync unspecified error. CSyncen zehaztugabeko errorea. - + Aborted by the user Erabiltzaileak bertan behera utzita - + 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. - + 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2011,7 +2005,7 @@ Saiatu horiek berriz sinkronizatzen. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>%1 Bertsioa, informazio gehiago eskuratzeko ikusi <a href='%2'>%3</a>.</p><p>Copyright ownCloud, Inc.<p><p> %4-k GNU General Public License (GPL) 2.0 bertsioaren lizentziapean banatuta.<br>%5 eta %5 logoa %4ren marka erregistratuak dira <br>Amerikako Estatu Batuetan, beste herrialdeetan edo bietan.</p> diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 8473bbc66..4c2eeee11 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -348,29 +348,23 @@ Total time left %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - - - - 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 @@ -594,17 +588,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -656,12 +650,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password - + Please enter %1 password for user '%2': @@ -1272,7 +1266,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1372,22 +1366,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1465,12 +1459,12 @@ It is not advisable to use it. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1553,22 +1547,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 @@ -1770,229 +1764,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. موفقیت - + CSync failed to create a lock file. CSync موفق به ایجاد یک فایل قفل شده، نشد. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>ماژول %1 برای csync نمی تواند بارگذاری شود.<br/>لطفا نصب را بررسی کنید!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. سیستم زمان بر روی این مشتری با سیستم زمان بر روی سرور متفاوت است.لطفا از خدمات هماهنگ سازی زمان (NTP) بر روی ماشین های سرور و کلاینت استفاده کنید تا زمان ها یکسان باقی بمانند. - + CSync could not detect the filesystem type. CSync نوع فایل های سیستم را نتوانست تشخیص بدهد. - + CSync got an error while processing internal trees. CSync هنگام پردازش درختان داخلی یک خطا دریافت نمود. - + CSync failed to reserve memory. CSync موفق به رزرو حافظه نشد است. - + CSync fatal parameter error. - + CSync processing step update failed. مرحله به روز روسانی پردازش CSync ناموفق بود. - + CSync processing step reconcile failed. مرحله تطبیق پردازش CSync ناموفق بود. - + CSync processing step propagate failed. مرحله گسترش پردازش CSync ناموفق بود. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>پوشه هدف وجود ندارد.</p><p>لطفا راه اندازی همگام سازی را بررسی کنید.</p> - + A remote file can not be written. Please check the remote access. یک فایل از راه دور نمی تواند نوشته شود. لطفا دسترسی از راه دور را بررسی نمایید. - + The local filesystem can not be written. Please check permissions. بر روی فایل سیستمی محلی نمی توانید چیزی بنویسید.لطفا مجوزش را بررسی کنید. - + CSync failed to connect through a proxy. عدم موفقیت CSync برای اتصال از طریق یک پروکسی. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. عدم موفقیت CSync برای مراجعه به پروکسی یا سرور. - + CSync failed to authenticate at the %1 server. عدم موفقیت CSync برای اعتبار دادن در %1 سرور. - + CSync failed to connect to the network. عدم موفقیت CSync برای اتصال به شبکه. - + A network connection timeout happened. - + A HTTP transmission error happened. خطا در انتقال HTTP اتفاق افتاده است. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync برای ایجاد یک پوشه که در حال حاضر موجود است تلاش کرده است. - - + + CSync: No space on %1 server available. CSync: فضا در %1 سرور در دسترس نیست. - + CSync unspecified error. خطای نامشخص CSync - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2008,7 +2002,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 0bf5fbdd1..fc42c7b24 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -349,29 +349,23 @@ Aikaa jäljellä yhteensä %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - - - - 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 @@ -595,17 +589,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout Yhteys aikakatkaistiin @@ -657,12 +651,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password Anna salasana - + Please enter %1 password for user '%2': Anna käyttäjän '%2' %1-salasana: @@ -1275,7 +1269,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1375,22 +1369,22 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. Paikallinen tiedosto poistettiin synkronoinnin aikana. - + Local file changed during sync. Paikallinen tiedosto muuttui synkronoinnin aikana. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1468,12 +1462,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. Synkronointitila on kopioitu leikepöydälle. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1556,22 +1550,22 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Tunnistaudu - + Reauthentication required Tunnistaudu uudelleen - + Your session has expired. You need to re-login to continue to use the client. Istunto on vanhentunut. Kirjaudu uudelleen jatkaaksesi sovelluksen käyttämistä. - + %1 - %2 %1 - %2 @@ -1775,229 +1769,229 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::SyncEngine - + Success. Onnistui. - + CSync failed to create a lock file. Csync ei onnistunut luomaan lukitustiedostoa. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1-liitännäistä csyncia varten ei voitu ladata.<br/>Varmista asennuksen toimivuus!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Tämän koneen järjestelmäaika on erilainen verrattuna palvelimen aikaan. Käytä NTP-palvelua kummallakin koneella, jotta kellot pysyvät samassa ajassa. Muuten tiedostojen synkronointi ei toimi. - + CSync could not detect the filesystem type. Csync-synkronointipalvelu ei kyennyt tunnistamaan tiedostojärjestelmän tyyppiä. - + CSync got an error while processing internal trees. Csync-synkronointipalvelussa tapahtui virhe sisäisten puurakenteiden prosessoinnissa. - + CSync failed to reserve memory. CSync ei onnistunut varaamaan muistia. - + CSync fatal parameter error. - + CSync processing step update failed. - + CSync processing step reconcile failed. - + CSync processing step propagate failed. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Kohdekansiota ei ole olemassa.</p><p>Tarkasta synkronointiasetuksesi.</p> - + A remote file can not be written. Please check the remote access. Etätiedostoa ei pystytä kirjoittamaan. Tarkista, että etäpääsy toimii. - + The local filesystem can not be written. Please check permissions. Paikalliseen tiedostojärjestelmään kirjoittaminen epäonnistui. Tarkista kansion oikeudet. - + CSync failed to connect through a proxy. CSync ei onnistunut muodostamaan yhteyttä välityspalvelimen välityksellä. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. - + CSync failed to authenticate at the %1 server. - + CSync failed to connect to the network. CSync ei onnistunut yhdistämään verkkoon. - + A network connection timeout happened. Tapahtui verkon aikakatkaisu. - + A HTTP transmission error happened. Tapahtui HTTP-välitysvirhe. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync yritti luoda olemassa olevan kansion. - - + + CSync: No space on %1 server available. CSync: %1-palvelimella ei ole tilaa vapaana. - + CSync unspecified error. CSync - määrittämätön virhe. - + Aborted by the user - + 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. - + 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 - + 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 - + Move not allowed, item restored - + 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 @@ -2013,7 +2007,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::Theme - + <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<br>United States, other countries, or both.</p> diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 8a5f6c15f..697076c72 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -349,13 +349,6 @@ Temps restant total %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Cette synchronisation supprimerait tous les fichiers du dossier local de synchronisation '%1'. -Si vous-même ou votre administrateur avez réinitialisé votre compte sur le serveur, choisissez "Garder les fichiers". Si vous voulez que vos données soient supprimées, choisissez "Supprimer tous les fichiers". - - - 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? @@ -364,17 +357,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 @@ -598,17 +591,17 @@ Voulez-vous réellement effectuer cette opération ? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Aucun E-Tag reçu du serveur, vérifiez le proxy / la passerelle - + We received a different E-Tag for resuming. Retrying next time. Nous avons reçu un E-Tag différent pour reprendre le téléchargement. Nouvel essai la prochaine fois. - + Connection Timeout Temps de connexion expiré @@ -660,12 +653,12 @@ Voulez-vous réellement effectuer cette opération ? Mirall::HttpCredentials - + Enter Password Entrez le mot de passe - + Please enter %1 password for user '%2': Veuillez entrer %1 mot de passe pour l'utilisateur '%2': @@ -1280,7 +1273,7 @@ Il est déconseillé de l'utiliser. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! File %1 ne peut pas être téléchargé en raison d'un conflit sur le nom du fichier local. @@ -1380,22 +1373,22 @@ Il est déconseillé de l'utiliser. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Le fichier a été modifié localement mais appartient à un partage en lecture seule. Il a été restauré et vos modifications sont présentes dans le fichiers de confit. - + The local file was removed during sync. Fichier local supprimé pendant la synchronisation. - + Local file changed during sync. Fichier local modifié pendant la synchronisation. - + The server did not acknowledge the last chunk. (No e-tag were present) Le serveur n'a pas acquitté le dernier morceau (aucun e-tag n'était présent). @@ -1473,12 +1466,12 @@ Il est déconseillé de l'utiliser. Le statu de synchronisation a été copié dans le presse-papier. - + 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. Try to sync these again. %1 fichiers ont été ignorés en raison des erreurs précédentes. @@ -1562,22 +1555,22 @@ Il est déconseillé de l'utiliser. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Authentifier - + Reauthentication required Nouvelle authentification nécessaire - + Your session has expired. You need to re-login to continue to use the client. Votre session a expiré. Vous devez vous connecter à nouveau pour continuer à utiliser le client. - + %1 - %2 %1 - %2 @@ -1781,229 +1774,229 @@ Il est déconseillé de l'utiliser. Mirall::SyncEngine - + Success. Succès. - + CSync failed to create a lock file. CSync n'a pas pu créer le fichier de verrouillage. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync n’a pu charger ou créer le fichier de journalisation. Veuillez vérifier que vous possédez les droits en lecture/écriture dans le répertoire de synchronisation local. - + CSync failed to write the journal file. CSync n’a pu écrire le fichier de journalisation. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Le plugin %1 pour csync n'a pas pu être chargé.<br/>Merci de vérifier votre installation !</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'heure du client est différente de l'heure du serveur. Veuillez utiliser un service de synchronisation du temps (NTP) sur le serveur et le client afin que les horloges soient à la même heure. - + CSync could not detect the filesystem type. CSync n'a pas pu détecter le type de système de fichier. - + CSync got an error while processing internal trees. CSync obtient une erreur pendant le traitement des arbres internes. - + CSync failed to reserve memory. Erreur lors de l'allocation mémoire par CSync. - + CSync fatal parameter error. Erreur fatale CSync : mauvais paramètre. - + CSync processing step update failed. Erreur CSync lors de l'opération de mise à jour - + CSync processing step reconcile failed. Erreur CSync lors de l'opération d'harmonisation - + CSync processing step propagate failed. Erreur CSync lors de l'opération de propagation - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Le répertoire cible n'existe pas.</p><p>Veuillez vérifier la configuration de la synchronisation.</p> - + A remote file can not be written. Please check the remote access. Un fichier distant ne peut être écrit. Veuillez vérifier l’accès distant. - + The local filesystem can not be written. Please check permissions. Le système de fichiers local n'est pas accessible en écriture. Veuillez vérifier les permissions. - + CSync failed to connect through a proxy. CSync n'a pu établir une connexion à travers un proxy. - + CSync could not authenticate at the proxy. CSync ne peut s'authentifier auprès du proxy. - + CSync failed to lookup proxy or server. CSync n'a pu trouver un proxy ou serveur auquel se connecter. - + CSync failed to authenticate at the %1 server. CSync n'a pu s'authentifier auprès du serveur %1. - + CSync failed to connect to the network. CSync n'a pu établir une connexion au réseau. - + A network connection timeout happened. - + A HTTP transmission error happened. Une erreur de transmission HTTP s'est produite. - + CSync failed due to not handled permission deniend. CSync a échoué en raison d'une erreur de permission non prise en charge. - + CSync failed to access Echec de CSync pour accéder - + CSync tried to create a directory that already exists. CSync a tenté de créer un répertoire déjà présent. - - + + CSync: No space on %1 server available. CSync : Aucun espace disponibla sur le serveur %1. - + CSync unspecified error. Erreur CSync inconnue. - + Aborted by the user Abandonné par l'utilisateur - + 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 supportés par la synchronisation. - + File is listed on the ignore list. Le fichier est présent dans la liste de fichiers à ignorer. - + File contains invalid characters that can not be synced cross platform. Le fichier contient des caractères invalides 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 - + 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 Non autorisé parce-que 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 - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + 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 @@ -2019,7 +2012,7 @@ Il est déconseillé de l'utiliser. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Version %1 Pour plus d'informations, veuillez visiter <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<br>United States, other countries, or both.</p> diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index ee17dbaba..a3d8ca009 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -349,13 +349,6 @@ Tempo total restante %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Esta sincronización retirará todos os ficheiros do cartafol local de sincronización «%1». -Se vostede, ou o administrador, restabeleceu a súa conta no servidor, escolla «Manter os ficheiros». Se quere que os seus datos sexan eliminados, escolla «Retirar todos os ficheiros». - - - 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? @@ -364,17 +357,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 @@ -598,17 +591,17 @@ Confirma que quere realizar esta operación? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Non se recibiu a «E-Tag» do servidor, comprobe o proxy e/ou a pasarela - + We received a different E-Tag for resuming. Retrying next time. Recibiuse unha «E-Tag» diferente para continuar. Tentándoo outra vez. - + Connection Timeout Esgotouse o tempo de conexión @@ -660,12 +653,12 @@ Confirma que quere realizar esta operación? Mirall::HttpCredentials - + Enter Password Escriba o contrasinal - + Please enter %1 password for user '%2': Escriba o contrasinal %1 para o usuario «%2»: @@ -1280,7 +1273,7 @@ Recomendámoslle que non o use. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Non é posíbel descargar o ficheiro %1 por mor dunha colisión co nome dun ficheiro local! @@ -1380,22 +1373,22 @@ Recomendámoslle que non o use. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. O ficheiro foi editado localmente mais é parte dunha compartición de só lectura. O ficheiro foi restaurado e a súa edición atopase no ficheiro de conflitos. - + The local file was removed during sync. O ficheiro local retirarase durante a sincronización. - + Local file changed during sync. O ficheiro local cambiou durante a sincronización. - + The server did not acknowledge the last chunk. (No e-tag were present) O servidor non recoñeceu o último fragmento. (Non hai e-tag presente) @@ -1473,12 +1466,12 @@ Recomendámoslle que non o use. O estado de sincronización foi copiado no portapapeis. - + 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. Try to sync these again. %1 ficheiros foron ignorados por mor de erros anteriores. @@ -1562,22 +1555,22 @@ Tente sincronizalos de novo. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autenticado - + Reauthentication required É necesario volver autenticarse - + Your session has expired. You need to re-login to continue to use the client. Caducou a sesión. É necesario que volva a acceder para seguir usando o cliente. - + %1 - %2 %1 - %2 @@ -1781,229 +1774,229 @@ Tente sincronizalos de novo. Mirall::SyncEngine - + Success. Correcto. - + CSync failed to create a lock file. Produciuse un fallo en CSync ao crear un ficheiro de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Produciuse un fallo do Csync ao cargar ou crear o ficheiro de rexistro. Asegúrese de que ten permisos de lectura e escritura no directorio de sincronización local. - + CSync failed to write the journal file. Produciuse un fallo en CSync ao escribir o ficheiro de rexistro. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Non foi posíbel cargar o engadido %1 para CSync.<br/>Verifique a instalación!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A diferenza de tempo neste cliente e diferente do tempo do sistema no servidor. Use o servido de sincronización de tempo (NTP) no servidor e nas máquinas cliente para que os tempos se manteñan iguais. - + CSync could not detect the filesystem type. CSync non pode detectar o tipo de sistema de ficheiros. - + CSync got an error while processing internal trees. CSync tivo un erro ao procesar árbores internas. - + CSync failed to reserve memory. Produciuse un fallo ao reservar memoria para CSync. - + CSync fatal parameter error. Produciuse un erro fatal de parámetro CSync. - + CSync processing step update failed. Produciuse un fallo ao procesar o paso de actualización de CSync. - + CSync processing step reconcile failed. Produciuse un fallo ao procesar o paso de reconciliación de CSync. - + CSync processing step propagate failed. Produciuse un fallo ao procesar o paso de propagación de CSync. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Non existe o directorio de destino.</p><p>Comprobe a configuración da sincronización.</p> - + A remote file can not be written. Please check the remote access. Non é posíbel escribir un ficheiro remoto. Comprobe o acceso remoto. - + The local filesystem can not be written. Please check permissions. Non é posíbel escribir no sistema de ficheiros local. Comprobe os permisos. - + CSync failed to connect through a proxy. CSYNC no puido conectarse a través dun proxy. - + CSync could not authenticate at the proxy. CSync non puido autenticarse no proxy. - + CSync failed to lookup proxy or server. CSYNC no puido atopar o servidor proxy. - + CSync failed to authenticate at the %1 server. CSync non puido autenticarse no servidor %1. - + CSync failed to connect to the network. CSYNC no puido conectarse á rede. - + A network connection timeout happened. Excedeuse do tempo de espera para a conexión á rede. - + A HTTP transmission error happened. Produciuse un erro na transmisión HTTP. - + CSync failed due to not handled permission deniend. Produciuse un fallo en CSync por mor dun permiso denegado. - + CSync failed to access Produciuse un fallo ao acceder a CSync - + CSync tried to create a directory that already exists. CSYNC tenta crear un directorio que xa existe. - - + + CSync: No space on %1 server available. CSync: Non hai espazo dispoñíbel no servidor %1. - + CSync unspecified error. Produciuse un erro non especificado de CSync - + Aborted by the user Interrompido polo usuario - + 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 - + 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 - + 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 - + 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 @@ -2019,7 +2012,7 @@ Tente sincronizalos de novo. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Versión %1 Para obter máis información vexa <a href='%2'>%3</a>.</p><p>Copyright ownCloud, Inc.<p><p>Distribuído por %4 e licenciado baixo a Licenza Pública Xeral GPL/GNU Versión 2.0.<br>Os logotipos %5 e %5 son marcas rexistradas de %4 nos<br>Estados Unidos de Norte América e/ou outros países.</p> diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index 00458fe77..253f0c13b 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -348,29 +348,23 @@ Total time left %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - - - - 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 @@ -594,17 +588,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -656,12 +650,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password Jelszómegadás - + Please enter %1 password for user '%2': @@ -1272,7 +1266,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1372,22 +1366,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1465,12 +1459,12 @@ It is not advisable to use it. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1553,22 +1547,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 @@ -1770,229 +1764,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Sikerült. - + CSync failed to create a lock file. A CSync nem tudott létrehozni lock fájlt. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Az %1 beépülőmodul a csync-hez nem tölthető be.<br/>Ellenőrizze a telepítést!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A helyi rendszeridő különbözik a kiszolgáló rendszeridejétől. Használjon időszinkronizációs szolgáltatást (NTP) a rendszerén és a szerveren is, hogy az idő mindig megeggyezzen. - + CSync could not detect the filesystem type. A CSync nem tudta megállapítani a fájlrendszer típusát. - + CSync got an error while processing internal trees. A CSync hibába ütközött a belső adatok feldolgozása közben. - + CSync failed to reserve memory. Hiba a CSync memórifoglalásakor. - + CSync fatal parameter error. CSync hibás paraméterhiba. - + CSync processing step update failed. CSync frissítés feldolgozása meghíusult. - + CSync processing step reconcile failed. CSync egyeztetési lépés meghíusult. - + CSync processing step propagate failed. CSync propagálási lépés meghíusult. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>A célmappa nem létezik.</p><p>Ellenőrizze a sync beállításait.</p> - + A remote file can not be written. Please check the remote access. Egy távoli fájl nem írható. Kérlek, ellenőrizd a távoli elérést. - + The local filesystem can not be written. Please check permissions. A helyi fájlrendszer nem írható. Kérlek, ellenőrizd az engedélyeket. - + CSync failed to connect through a proxy. CSync proxy kapcsolódási hiba. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. A CSync nem találja a proxy kiszolgálót. - + CSync failed to authenticate at the %1 server. A CSync nem tuja azonosítani magát a %1 kiszolgálón. - + CSync failed to connect to the network. CSync hálózati kapcsolódási hiba. - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP átviteli hiba történt. - + CSync failed due to not handled permission deniend. CSync hiba, nincs kezelési jogosultság. - + CSync failed to access - + CSync tried to create a directory that already exists. A CSync megpróbált létrehozni egy már létező mappát. - - + + CSync: No space on %1 server available. CSync: Nincs szabad tárhely az %1 kiszolgálón. - + CSync unspecified error. CSync ismeretlen hiba. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2008,7 +2002,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index d2b4b4a00..53c0b9951 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -349,13 +349,6 @@ Totale tempo rimanente %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Questa sincronizzazione rimuoverà tutti i file nella cartella di sincronizzazione locale '%1'. -Se tu o il tuo amministratore avete ripristinato il tuo account sul server, scegli "Mantieni i file". Se desideri che i dati siano rimossi, scegli "Rimuovi tutti i 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? @@ -364,17 +357,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 @@ -598,17 +591,17 @@ Sei sicuro di voler eseguire questa operazione? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nessun e-tag ricevuto dal server, controlla il proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Abbiamo ricevuto un e-tag diverso per il recupero. Riprova più tardi. - + Connection Timeout Connessione scaduta @@ -660,12 +653,12 @@ Sei sicuro di voler eseguire questa operazione? Mirall::HttpCredentials - + Enter Password Digita la password - + Please enter %1 password for user '%2': Digita la password di %1 per l'utente '%2': @@ -1279,7 +1272,7 @@ Non è consigliabile utilizzarlo. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Il file %1 non può essere scaricato a causa di un conflitto con un file locale. @@ -1379,22 +1372,22 @@ Non è consigliabile utilizzarlo. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Il file è stato modificato localmente, ma è parte di una condivisione in sola lettura. È stato ripristinato e la tua modifica è nel file di conflitto. - + The local file was removed during sync. Il file locale è stato rimosso durante la sincronizzazione. - + Local file changed during sync. Un file locale è cambiato durante la sincronizzazione. - + The server did not acknowledge the last chunk. (No e-tag were present) Il server non ha riconosciuto l'ultimo pezzo. (Non era presente alcun e-tag) @@ -1472,12 +1465,12 @@ Non è consigliabile utilizzarlo. Lo stato di sincronizzazione è stato copiato negli appunti. - + 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. Try to sync these again. %1 file sono ignorati a causa di errori precedenti. @@ -1561,22 +1554,22 @@ Prova a sincronizzare nuovamente. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autenticazione - + Reauthentication required Nuova autenticazione richiesta - + Your session has expired. You need to re-login to continue to use the client. La tua sessione è scaduta. Devi effettuare nuovamente l'accesso per continuare a utilizzare il client. - + %1 - %2 %1 - %2 @@ -1780,229 +1773,229 @@ Prova a sincronizzare nuovamente. Mirall::SyncEngine - + Success. Successo. - + CSync failed to create a lock file. CSync non è riuscito a creare il file di lock. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync non è riuscito a caricare o a creare il file di registro. Assicurati di avere i permessi di lettura e scrittura nella cartella di sincronizzazione locale. - + CSync failed to write the journal file. CSync non è riuscito a scrivere il file di registro. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Il plugin %1 per csync non può essere caricato.<br/>Verifica l'installazione!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'ora di sistema su questo client è diversa dall'ora di sistema del server. Usa un servizio di sincronizzazione dell'orario (NTP) sul server e sulle macchine client in modo che l'ora sia la stessa. - + CSync could not detect the filesystem type. CSync non è riuscito a individuare il tipo di filesystem. - + CSync got an error while processing internal trees. Errore di CSync durante l'elaborazione degli alberi interni. - + CSync failed to reserve memory. CSync non è riuscito a riservare la memoria. - + CSync fatal parameter error. Errore grave di parametro di CSync. - + CSync processing step update failed. La fase di aggiornamento di CSync non è riuscita. - + CSync processing step reconcile failed. La fase di riconciliazione di CSync non è riuscita. - + CSync processing step propagate failed. La fase di propagazione di CSync non è riuscita. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>La cartella di destinazione non esiste.</p><p>Controlla la configurazione della sincronizzazione.</p> - + A remote file can not be written. Please check the remote access. Un file remoto non può essere scritto. Controlla l'accesso remoto. - + The local filesystem can not be written. Please check permissions. Il filesystem locale non può essere scritto. Controlla i permessi. - + CSync failed to connect through a proxy. CSync non è riuscito a connettersi tramite un proxy. - + CSync could not authenticate at the proxy. CSync non è in grado di autenticarsi al proxy. - + CSync failed to lookup proxy or server. CSync non è riuscito a trovare un proxy o server. - + CSync failed to authenticate at the %1 server. CSync non è riuscito ad autenticarsi al server %1. - + CSync failed to connect to the network. CSync non è riuscito a connettersi alla rete. - + A network connection timeout happened. Si è verificato un timeout della connessione di rete. - + A HTTP transmission error happened. Si è verificato un errore di trasmissione HTTP. - + CSync failed due to not handled permission deniend. Problema di CSync dovuto alla mancata gestione dei permessi. - + CSync failed to access CSync non è riuscito ad accedere - + CSync tried to create a directory that already exists. CSync ha cercato di creare una cartella già esistente. - - + + CSync: No space on %1 server available. CSync: spazio insufficiente sul server %1. - + CSync unspecified error. Errore non specificato di CSync. - + Aborted by the user Interrotto dall'utente - + 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. - + 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 - + 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 - + 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 @@ -2018,7 +2011,7 @@ Prova a sincronizzare nuovamente. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Versione %1 Per ulteriori informazioni visita <a href='%2'>%3</a>. </p><p>Copyright ownCloud, Inc.<p><p>Distribuito da %4 e sotto licenza GNU General Public License (GPL) versione 2.0.<br>%5 e il logo %5 sono marchi registrati di %4 negli <br>Stati Uniti, in altri paesi, o entrambi.</p> diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index 92f7cb994..74cd06f54 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -349,13 +349,6 @@ Total time left %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - この同期により、ローカルの同期フォルダー '%1'にある全ファイルが削除されます。 -あなた、または管理者がサーバー上のアカウントをリセットした場合、「ファイルを残す」を選んでください。データを削除したい場合は、「すべてのファイルを削除」を選んでください。 - - - 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? @@ -364,17 +357,17 @@ Are you sure you want to perform this operation? 本当にこの操作を実行しますか? - + Remove All Files? すべてのファイルを削除しますか? - + Remove all files すべてのファイルを削除 - + Keep files ファイルを残す @@ -598,17 +591,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway サーバーからE-Tagを受信できません。プロキシ/ゲートウェイを確認してください。 - + We received a different E-Tag for resuming. Retrying next time. 同期再開時に違う E-Tagを受信しました。次回リトライします。 - + Connection Timeout 接続タイムアウト @@ -660,12 +653,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password パスワードを入力してください - + Please enter %1 password for user '%2': ユーザー '%2' の %1 パスワードを入力してください: @@ -1278,7 +1271,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! ファイル %1 はローカルファイル名が衝突しているためダウンロードできません! @@ -1378,22 +1371,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. ファイルがローカルで編集されましたが、読み込み専用の共有の一部です。ファイルは復元され、あなたの編集は競合するファイル内にあります。 - + The local file was removed during sync. ローカルファイルを同期時に削除します。 - + Local file changed during sync. ローカルのファイルが同期中に変更されました。 - + The server did not acknowledge the last chunk. (No e-tag were present) サーバーは最終チャンクを認識しません。(e-tag が存在しません) @@ -1471,12 +1464,12 @@ It is not advisable to use it. 同期状況をクリップボードにコピーしました。 - + Currently no files are ignored because of previous errors. 処理前にエラーが発生したため、ファイルは何も除外されていません。 - + %1 files are ignored because of previous errors. Try to sync these again. 処理前にエラーが発生したため、%1 個のファイルが除外されました。 @@ -1560,22 +1553,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - 認証 - + Reauthentication required 再認証が必要 - + Your session has expired. You need to re-login to continue to use the client. セッションの期限が切れました。クライアントを使用し続けるには再ログインが必要です。 - + %1 - %2 %1 - %2 @@ -1779,229 +1772,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSyncがロックファイルの作成に失敗しました。 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSyncはジャーナルファイルの読み込みや作成に失敗しました。ローカルの同期ディレクトリに読み書きの権限があるか確認してください。 - + CSync failed to write the journal file. CSyncはジャーナルファイルの書き込みに失敗しました。 - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csync 用の %1 プラグインをロードできませんでした。<br/>インストール状態を確認してください!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. このクライアントのシステム時刻はサーバーのシステム時刻と異なります。時刻が同じになるように、クライアントとサーバーの両方で時刻同期サービス(NTP)を実行してください。 - + CSync could not detect the filesystem type. CSyncはファイルシステムタイプを検出できませんでした。 - + CSync got an error while processing internal trees. CSyncは内部ツリーの処理中にエラーに遭遇しました。 - + CSync failed to reserve memory. CSyncで使用するメモリの確保に失敗しました。 - + CSync fatal parameter error. CSyncの致命的なパラメータエラーです。 - + CSync processing step update failed. CSyncの処理ステップの更新に失敗しました。 - + CSync processing step reconcile failed. CSyncの処理ステップの調停に失敗しました。 - + CSync processing step propagate failed. CSyncの処理ステップの伝播に失敗しました。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>ターゲットディレクトリは存在しません。</p><p>同期設定を確認してください。</p> - + A remote file can not be written. Please check the remote access. リモートファイルは書き込みできません。リモートアクセスをチェックしてください。 - + The local filesystem can not be written. Please check permissions. ローカルファイルシステムは書き込みができません。パーミッションをチェックしてください。 - + CSync failed to connect through a proxy. CSyncがプロキシ経由での接続に失敗しました。 - + CSync could not authenticate at the proxy. CSyncはそのプロキシで認証できませんでした。 - + CSync failed to lookup proxy or server. CSyncはプロキシもしくはサーバーの参照に失敗しました。 - + CSync failed to authenticate at the %1 server. CSyncは %1 サーバーでの認証に失敗しました。 - + CSync failed to connect to the network. CSyncはネットワークへの接続に失敗しました。 - + A network connection timeout happened. ネットワーク接続のタイムアウトが発生しました。 - + A HTTP transmission error happened. HTTPの伝送エラーが発生しました。 - + CSync failed due to not handled permission deniend. CSyncは対応できないパーミッション拒否が原因で失敗しました。 - + CSync failed to access CSync はアクセスに失敗しました - + CSync tried to create a directory that already exists. CSyncはすでに存在するディレクトリを作成しようとしました。 - - + + CSync: No space on %1 server available. CSync: %1 サーバーには利用可能な空き領域がありません。 - + CSync unspecified error. CSyncの未指定のエラーです。 - + Aborted by the user ユーザーによって中止されました - + 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. 同期の際にシンボリックリンクはサポートしていません - + 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 同期ジャーナルを開くことができません - + 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 削除できません、復元しています - + Move not allowed, item restored 移動できません、項目を復元しました - + Move not allowed because %1 is read-only %1 は読み取り専用のため移動できません - + the destination 移動先 - + the source 移動元 @@ -2017,7 +2010,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>バージョン %1 詳細については、<a href='%2'>%3</a>をご覧ください。</p><p>著作権 ownCloud, Inc.<p><p>%4 が配布し、 GNU General Public License (GPL) バージョン2.0 の下でライセンスされています。<br>%5 及び %5 のロゴはアメリカ合衆国またはその他の国、あるいはその両方における<br> %4 の登録商標です。</p> diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 01217cfd9..07597439b 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -349,13 +349,6 @@ Totaal resterende tijd %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Deze synchronisatie verwijdert alle bestanden in lokale synchronisatiemap '%1'. -Als u of uw beheerder uw account op de server heeft gereset, kies dan "Bewaar bestanden". Als u uw bestanden wilt verwijderen, kies dan "Verwijder alle bestanden". - - - 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? @@ -364,17 +357,17 @@ Dit kan komen doordat de map ongemerkt gereconfigureerd is of doordat alle besta 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 @@ -598,17 +591,17 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Geen E-Tag ontvangen van de server, controleer Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. We ontvingen een afwijkende E-Tag om door te gaan. We proberen het later opnieuw. - + Connection Timeout Verbindingstime-out @@ -660,12 +653,12 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::HttpCredentials - + Enter Password Vul het wachtwoord in - + Please enter %1 password for user '%2': Vul het %1 wachtwoord in voor gebruiker '%2': @@ -1280,7 +1273,7 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Bestand %1 kan niet worden gedownload omdat de naam conflicteert met een lokaal bestand @@ -1380,22 +1373,22 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Het bestand is lokaal bewerkt, maar hoort bij een alleen-lezen share. Het originele bestand is teruggezet en uw bewerking staat in het conflicten bestand. - + The local file was removed during sync. Het lokale bestand werd verwijderd tijdens sync. - + Local file changed during sync. Lokaal bestand gewijzigd bij sync. - + The server did not acknowledge the last chunk. (No e-tag were present) De server heeft het laatste deel niet bevestigd (er was geen e-tag aanwezig) @@ -1473,12 +1466,12 @@ We adviseren deze site niet te gebruiken. Het synchronisatie overzicht is gekopieerd naar het klembord. - + 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. Try to sync these again. %1 bestanden zijn genegeerd vanwege eerdere fouten. @@ -1562,22 +1555,22 @@ Probeer opnieuw te synchroniseren. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - authenticeren - + Reauthentication required Hernieuwde authenticatie nodig - + Your session has expired. You need to re-login to continue to use the client. Uw sessie is verstreken. U moet opnieuw inloggen om de client-applicatie te gebruiken. - + %1 - %2 %1 - %2 @@ -1781,229 +1774,229 @@ Probeer opnieuw te synchroniseren. Mirall::SyncEngine - + Success. Succes. - + CSync failed to create a lock file. CSync kon geen lock file maken. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync kon het journal bestand niet maken of lezen. Controleer of u de juiste lees- en schrijfrechten in de lokale syncmap hebt. - + CSync failed to write the journal file. CSync kon het journal bestand niet wegschrijven. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>De %1 plugin voor csync kon niet worden geladen.<br/>Verifieer de installatie!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. De systeemtijd van deze client wijkt af van de systeemtijd op de server. Gebruik een tijdsynchronisatieservice (NTP) op zowel de server als de client, zodat de machines dezelfde systeemtijd hebben. - + CSync could not detect the filesystem type. CSync kon het soort bestandssysteem niet bepalen. - + CSync got an error while processing internal trees. CSync kreeg een fout tijdens het verwerken van de interne mappenstructuur. - + CSync failed to reserve memory. CSync kon geen geheugen reserveren. - + CSync fatal parameter error. CSync fatale parameter fout. - + CSync processing step update failed. CSync verwerkingsstap bijwerken mislukt. - + CSync processing step reconcile failed. CSync verwerkingsstap verzamelen mislukt. - + CSync processing step propagate failed. CSync verwerkingsstap doorzetten mislukt. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>De doelmap bestaat niet.</p><p>Controleer de synchinstellingen.</p> - + A remote file can not be written. Please check the remote access. Een extern bestand kon niet worden weggeschreven. Controleer de externe rechten. - + The local filesystem can not be written. Please check permissions. Er kan niet worden geschreven naar het lokale bestandssysteem. Controleer de schrijfrechten. - + CSync failed to connect through a proxy. CSync kon niet verbinden via een proxy. - + CSync could not authenticate at the proxy. CSync kon niet authenticeren bij de proxy. - + CSync failed to lookup proxy or server. CSync kon geen proxy of server vinden. - + CSync failed to authenticate at the %1 server. CSync kon niet authenticeren bij de %1 server. - + CSync failed to connect to the network. CSync kon niet verbinden met het netwerk. - + A network connection timeout happened. Er trad een netwerk time-out op. - + A HTTP transmission error happened. Er trad een HTTP transmissiefout plaats. - + CSync failed due to not handled permission deniend. CSync mislukt omdat de benodigde toegang werd geweigerd. - + CSync failed to access CSync kreeg geen toegang - + CSync tried to create a directory that already exists. CSync probeerde een al bestaande directory aan te maken. - - + + CSync: No space on %1 server available. CSync: Geen ruimte op %1 server beschikbaar. - + CSync unspecified error. CSync ongedefinieerde fout. - + Aborted by the user Afgebroken door de gebruiker - + 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. - + 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 - + 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 - + 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 @@ -2019,7 +2012,7 @@ Probeer opnieuw te synchroniseren. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Versie %1 Voor meer informatie bezoekt u <a href='%2'>%3</a>.</p><p>Copyright ownCloud, Inc.<p><p>Gedistribueer door %4 en verstrekt onder de GNU General Public License (GPL) Versie 2.0.<br>%5 en het %5 logo zijn geregistereerde handelsmerken van %4 in de<br>Verenigde Staten, andere landen, of beide.</p> diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index b2c0937ce..d57bcce04 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -349,13 +349,6 @@ Pozostało czasu %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Ta synchronizacja usunie wszystkie pliku z lokalnego folderu synchronizacji '%1'. -Jeśli Ty lub Twój administrator zresetowali Twoje konto na serwerze, wybierz "Zachowaj pliki". Jeśli chcesz aby Twoje dane zostały usunięte, wybierz "Usuń wszystkie pliki". - - - 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? @@ -364,17 +357,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 @@ -598,17 +591,17 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nie otrzymano E-Tag z serwera, sprawdź Proxy/Bramę - + We received a different E-Tag for resuming. Retrying next time. Otrzymaliśmy inny E-Tag wznowienia. Spróbuje ponownie następnym razem. - + Connection Timeout Limit czasu połączenia @@ -660,12 +653,12 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::HttpCredentials - + Enter Password Wprowadź hasło - + Please enter %1 password for user '%2': Proszę podać %1 hasło dla użytkownika '%2': @@ -1280,7 +1273,7 @@ Niezalecane jest jego użycie. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Nie można pobrać pliku %1 ze względu na konflikt nazwy pliku lokalnego! @@ -1380,22 +1373,22 @@ Niezalecane jest jego użycie. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Plik był edytowany lokalnie ale jest częścią udziału z prawem tylko do odczytu. Został przywrócony i Twoja edycja jest w pliku konfliktu - + The local file was removed during sync. - + Local file changed during sync. Lokalny plik zmienił się podczas synchronizacji. - + The server did not acknowledge the last chunk. (No e-tag were present) Serwer nie potwierdził ostatniego łańcucha danych. (Nie było żadnego e-tag-u) @@ -1473,12 +1466,12 @@ Niezalecane jest jego użycie. Status synchronizacji został skopiowany do schowka. - + 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. Try to sync these again. %1 pliki są ignorowane z powodu błędów. @@ -1562,22 +1555,22 @@ Niezalecane jest jego użycie. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Uwierzytelnienia - + Reauthentication required Wymagana powtórna autoryzacja - + Your session has expired. You need to re-login to continue to use the client. Twoja sesja wygasła. Musisz ponownie się zalogować, aby nadal używać klienta - + %1 - %2 %1 - %2 @@ -1781,229 +1774,229 @@ Niezalecane jest jego użycie. Mirall::SyncEngine - + Success. Sukces. - + CSync failed to create a lock file. CSync nie mógł utworzyć pliku blokady. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync nie powiodło się załadowanie lub utworzenie pliku dziennika. Upewnij się, że masz prawa do odczytu i zapisu do lokalnego katalogu synchronizacji. - + CSync failed to write the journal file. CSync nie udało się zapisać pliku dziennika. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Wtyczka %1 do csync nie może być załadowana.<br/>Sprawdź poprawność instalacji!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Czas systemowy na tym kliencie różni się od czasu systemowego na serwerze. Użyj usługi synchronizacji czasu (NTP) na serwerze i kliencie, aby czas na obu urządzeniach był taki sam. - + CSync could not detect the filesystem type. CSync nie może wykryć typu systemu plików. - + CSync got an error while processing internal trees. CSync napotkał błąd podczas przetwarzania wewnętrznych drzew. - + CSync failed to reserve memory. CSync nie mógł zarezerwować pamięci. - + CSync fatal parameter error. Krytyczny błąd parametru CSync. - + CSync processing step update failed. Aktualizacja procesu przetwarzania CSync nie powiodła się. - + CSync processing step reconcile failed. Scalenie w procesie przetwarzania CSync nie powiodło się. - + CSync processing step propagate failed. Propagacja w procesie przetwarzania CSync nie powiodła się. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Katalog docelowy nie istnieje.</p><p>Sprawdź ustawienia synchronizacji.</p> - + A remote file can not be written. Please check the remote access. Zdalny plik nie może zostać zapisany. Sprawdź dostęp zdalny. - + The local filesystem can not be written. Please check permissions. Nie można zapisywać na lokalnym systemie plików. Sprawdź uprawnienia. - + CSync failed to connect through a proxy. CSync nie mógł połączyć się przez proxy. - + CSync could not authenticate at the proxy. CSync nie mógł się uwierzytelnić przez proxy. - + CSync failed to lookup proxy or server. CSync nie mógł odnaleźć serwera proxy. - + CSync failed to authenticate at the %1 server. CSync nie mógł uwierzytelnić się na serwerze %1. - + CSync failed to connect to the network. CSync nie mógł połączyć się z siecią. - + A network connection timeout happened. - + A HTTP transmission error happened. Wystąpił błąd transmisji HTTP. - + CSync failed due to not handled permission deniend. CSync nie obsługiwane, odmowa uprawnień. - + CSync failed to access Synchronizacja nieudana z powodu braku dostępu - + CSync tried to create a directory that already exists. CSync próbował utworzyć katalog, który już istnieje. - - + + CSync: No space on %1 server available. CSync: Brak dostępnego miejsca na serwerze %1. - + CSync unspecified error. Nieokreślony błąd CSync. - + Aborted by the user Anulowane przez użytkownika - + 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. - + 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination docelowy - + the source źródło @@ -2019,7 +2012,7 @@ Niezalecane jest jego użycie. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Wersja %1 Aby uzyskać więcej informacji kliknij <a href='%2'>%3</a>.</p><p>Copyright ownCloud, Inc.<p><p>Rozprowadzany przez %4 i licencjonowany według GNU General Public License (GPL) Wersja 2.0.<br>%5 oraz logo %5 są zarejestrowanymi znakami towarowymi %4 w<br>Stanach Zjednoczonych, innych krajach lub obydwu.</p> diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index c72ebf2b2..fb0367824 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -349,13 +349,6 @@ Total time left %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Esta sincronização irá remover todos os ficheiros sincronizados na pasta local '%1'. -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". - - - 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? @@ -363,17 +356,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 @@ -597,17 +590,17 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nenhum E-Tag recebido do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tentando uma próxima vez. - + Connection Timeout O tempo de ligação expirou @@ -659,12 +652,12 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::HttpCredentials - + Enter Password Introduza a Palavra-passe - + Please enter %1 password for user '%2': Por favor introduza %1 password para o utilizador '%2': @@ -1277,7 +1270,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! O ficheiro %1 não pode ser descarregado devido a conflito com um nome de ficheiro local! @@ -1377,22 +1370,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. O ficheiro foi editado localmente mas faz parte de uma prtilha só de leitura. Foi restaurado mas a edição está no ficheiro de conflito. - + The local file was removed during sync. O arquivo local foi removido durante a sincronização. - + Local file changed during sync. Ficheiro local alterado durante a sincronização. - + The server did not acknowledge the last chunk. (No e-tag were present) O servidor não reconheceu o último bloco. (Nenhuma e-tag estava presente) @@ -1470,12 +1463,12 @@ It is not advisable to use it. O estado da sincronização foi copiada para a área de transferência. - + Currently no files are ignored because of previous errors. Devido a erros anteriores, nenhum ficheiro é ignorado. - + %1 files are ignored because of previous errors. Try to sync these again. %1 ficheiros ignorados devido a erros anteriore. @@ -1559,22 +1552,22 @@ Por favor tente sincronizar novamente. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autenticação - + Reauthentication required Requerido reautenticação - + Your session has expired. You need to re-login to continue to use the client. A sessão expirou. Precisa reiniciar a sessão para poder continuar usando o cliente. - + %1 - %2 %1 - %2 @@ -1778,230 +1771,230 @@ Por favor tente sincronizar novamente. Mirall::SyncEngine - + Success. Sucesso - + CSync failed to create a lock file. CSync falhou a criação do ficheiro de lock. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync falhou no carregamento ou criação do ficheiro jornal. Confirme que tem permissões de escrita e leitura no directório de sincronismo local. - + CSync failed to write the journal file. CSync falhou a escrever o ficheiro do jornal. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>O plugin %1 para o CSync não foi carregado.<br/>Por favor verifique a instalação!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A data/hora neste cliente é difere da data/hora do servidor. Por favor utilize um servidor de sincronização horária (NTP), no servidor e nos clientes para garantir que a data/hora são iguais. - + CSync could not detect the filesystem type. Csync não conseguiu detectar o tipo de sistema de ficheiros. - + CSync got an error while processing internal trees. Csync obteve um erro enquanto processava as árvores internas. - + CSync failed to reserve memory. O CSync falhou a reservar memória - + CSync fatal parameter error. Parametro errado, CSync falhou - + CSync processing step update failed. O passo de processamento do CSyn falhou - + CSync processing step reconcile failed. CSync: Processo de reconciliação falhou. - + CSync processing step propagate failed. CSync: O processo de propagação falhou. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>A pasta de destino não existe.</p><p>Por favor verifique a configuração da sincronização.</p> - + A remote file can not be written. Please check the remote access. Não é possivel escrever num ficheiro remoto. Por favor verifique o acesso remoto. - + The local filesystem can not be written. Please check permissions. Não é possivel escrever no sistema de ficheiros local. Por favor verifique as permissões. - + CSync failed to connect through a proxy. CSync: Erro a ligar através do proxy - + CSync could not authenticate at the proxy. CSync: erro ao autenticar-se no servidor proxy. - + CSync failed to lookup proxy or server. CSync: Erro a contactar o proxy ou o servidor. - + CSync failed to authenticate at the %1 server. CSync: Erro a autenticar no servidor %1 - + CSync failed to connect to the network. CSync: Erro na conecção à rede - + A network connection timeout happened. Houve um erro de timeout de rede. - + A HTTP transmission error happened. Ocorreu um erro de transmissão HTTP - + CSync failed due to not handled permission deniend. CSync: Erro devido a permissões de negação não tratadas. - + CSync failed to access CSync: falha no acesso - + CSync tried to create a directory that already exists. O CSync tentou criar uma pasta que já existe. - - + + CSync: No space on %1 server available. CSync: Não ha espaço disponível no servidor %1 - + CSync unspecified error. CSync: erro não especificado - + Aborted by the user Cancelado pelo utilizador - + 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. - + 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 - + 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 - + 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 @@ -2017,7 +2010,7 @@ Por favor utilize um servidor de sincronização horária (NTP), no servidor e n Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Versão %1 Para mais informações por favor visite <a href='%2'>%3</a>.</p><p>Direitos de autor ownCloud, Inc.<p><p>Distribuido por %4 e licenciado através da versão 2.0 GNU General Public License (GPL) .<br>%5 e os %5 logotipos são marca registada de %4 nos<br>Estados Unidos, outros paises ou em ambos.</p> diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index d766ea750..aea6fc567 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -349,13 +349,6 @@ Total de tempo que falta 5% - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Esta sincronização irá remover todos os arquivos na pasta de sincronização local '%1'. -Se você ou o administrador tiver que redefinir a sua conta no servidor, escolha "Manter arquivos". Se você deseja que seus dados sejam removidos, escolha "Remover todos os arquivos". - - - 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? @@ -364,17 +357,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 @@ -598,17 +591,17 @@ Você tem certeza que quer executar esta operação? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nenhuma E-Tag recebida do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tente uma próxima vez. - + Connection Timeout Conexão Finalizada @@ -661,12 +654,12 @@ Você tem certeza que quer executar esta operação? Mirall::HttpCredentials - + Enter Password Entrar Senha - + Please enter %1 password for user '%2': Por favor entrar %1 senha para o usuário '%2': @@ -1278,7 +1271,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! O arquivo %1 não pode ser baixado por causa de um confronto local no nome do arquivo! @@ -1378,22 +1371,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. O arquivo foi editado localmente mas faz parte de compartilhamento só de leitura. Ele foi restaurado mas sua edição está em conflito com o arquivo. - + The local file was removed during sync. O arquivo local foi removido durante a sincronização. - + Local file changed during sync. Arquivo local modificado durante a sincronização. - + The server did not acknowledge the last chunk. (No e-tag were present) O servidor não reconheceu o último bloco. (Nenhuma e-tag estava presente) @@ -1471,12 +1464,12 @@ It is not advisable to use it. O estado de sincronização foi copiado para a área de transferência. - + 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. Try to sync these again. %1 arquivos são ignorados por causa de erros prévios. @@ -1560,22 +1553,22 @@ Tente sincronizar novamente. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autenticar - + Reauthentication required Reautenticação necessária - + Your session has expired. You need to re-login to continue to use the client. Sua sessão expirou. É preciso re-login para continuar a usar o cliente. - + %1 - %2 %1 - %2 @@ -1779,229 +1772,229 @@ Tente sincronizar novamente. Mirall::SyncEngine - + Success. Sucesso. - + CSync failed to create a lock file. Falha ao criar o arquivo de trava pelo CSync. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync falhou ao carregar ou criar o arquivo jornal. Certifique-se de ter permissão de escrita no diretório de sincronização local. - + CSync failed to write the journal file. Csync falhou ao tentar gravar o arquivo jornal. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>O plugin %1 para csync não foi carregado.<br/>Por favor verifique a instalação!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A hora do sistema neste cliente é diferente da hora de sistema no servidor. Por favor, use um serviço de sincronização de tempo (NTP) no servidor e máquinas clientes para que as datas continuam as mesmas. - + CSync could not detect the filesystem type. Tipo de sistema de arquivo não detectado pelo CSync. - + CSync got an error while processing internal trees. Erro do CSync enquanto processava árvores internas. - + CSync failed to reserve memory. CSync falhou ao reservar memória. - + CSync fatal parameter error. Erro fatal de parametro do CSync. - + CSync processing step update failed. Processamento da atualização do CSync falhou. - + CSync processing step reconcile failed. Processamento da conciliação do CSync falhou. - + CSync processing step propagate failed. Processamento da propagação do CSync falhou. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>O diretório de destino não existe.</p> <p>Por favor, verifique a configuração de sincronização. </p> - + A remote file can not be written. Please check the remote access. O arquivo remoto não pode ser escrito. Por Favor, verifique o acesso remoto. - + The local filesystem can not be written. Please check permissions. O sistema de arquivos local não pode ser escrito. Por favor, verifique as permissões. - + CSync failed to connect through a proxy. CSync falhou ao conectar por um proxy. - + CSync could not authenticate at the proxy. Csync não conseguiu autenticação no proxy. - + CSync failed to lookup proxy or server. CSync falhou ao localizar o proxy ou servidor. - + CSync failed to authenticate at the %1 server. CSync falhou ao autenticar no servidor %1. - + CSync failed to connect to the network. CSync falhou ao conectar à rede. - + A network connection timeout happened. Ocorreu uma desconexão de rede. - + A HTTP transmission error happened. Houve um erro na transmissão HTTP. - + CSync failed due to not handled permission deniend. CSync falhou devido a uma negativa de permissão não resolvida. - + CSync failed to access Falha no acesso CSync - + CSync tried to create a directory that already exists. CSync tentou criar um diretório que já existe. - - + + CSync: No space on %1 server available. CSync: Sem espaço disponível no servidor %1. - + CSync unspecified error. Erro não especificado no CSync. - + Aborted by the user Abortado pelo usuário - + 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. - + 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 - + 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 - + 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 @@ -2017,7 +2010,7 @@ Tente sincronizar novamente. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Versão %1 Para mais informações, visite <a href='%2'>%3</a>. </p> Direitos autorais ownCloud, Inc. <p><p> Distribuído por 4% e licenciado sob a GNU General Public License (GPL) Versão 2.0.<br>%5 e o logotipo 5% são marcas comerciais registradas da 4% no de Estados Unidos, outros países, ou ambos. </p> diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 175917a03..fd1d4d41d 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -348,13 +348,6 @@ Total time left %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Это действие может удалить все файлы в локальной папке '%1'. -Если вы или ваш администратор заново создали вашу учётную запись на сервере, выберите "Сохранить файлы". Если вы хотите стереть всё - выберите "Удалить все файлы". - - - 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? @@ -363,17 +356,17 @@ Are you sure you want to perform this operation? Вы уверены, что хотите выполнить операцию? - + Remove All Files? Удалить все файлы? - + Remove all files Удалить все файлы - + Keep files Сохранить файлы @@ -597,17 +590,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway E-Tag от сервера на получен, проверьте сетевые настройки (настройки прокси, шлюз). - + We received a different E-Tag for resuming. Retrying next time. Мы получили другой E-Tag для возобновления. Повторите попытку позже. - + Connection Timeout Тайм-аут подключения @@ -659,12 +652,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password Введите пароль - + Please enter %1 password for user '%2': Пожалуйста введите пароль от %1 для пользователя '%2': @@ -1279,7 +1272,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1379,22 +1372,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. Локальный файл был удалён в процессе синхронизации. - + Local file changed during sync. Локальный файл изменился в процессе синхронизации. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1472,12 +1465,12 @@ It is not advisable to use it. Статус синхронизации скопирован в буфер обмена. - + Currently no files are ignored because of previous errors. На данный момент файлы, игнорируемые из-за ошибок, отсутствуют. - + %1 files are ignored because of previous errors. Try to sync these again. %1 файлов проигнорировано из-за ошибок. @@ -1561,22 +1554,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Авторизация - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 %1 - %2 @@ -1780,229 +1773,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Успешно. - + CSync failed to create a lock file. CSync не удалось создать файл блокировки. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync не смог загрузить или создать файл журнала. Убедитесь что вы имеете права чтения и записи в локальной директории. - + CSync failed to write the journal file. CSync не смог записать файл журнала. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1 плагин для синхронизации не удается загрузить.<br/>Пожалуйста, убедитесь, что он установлен!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Системное время на этом клиенте отличается от времени на сервере. Воспользуйтесь сервисом синхронизации времени (NTP) на серверной и клиентской машинах для установки точного времени. - + CSync could not detect the filesystem type. CSync не удалось обнаружить тип файловой системы. - + CSync got an error while processing internal trees. CSync получил сообщение об ошибке при обработке внутренних деревьев. - + CSync failed to reserve memory. CSync не удалось зарезервировать память. - + CSync fatal parameter error. Фатальная ошибка параметра CSync. - + CSync processing step update failed. Процесс обновления CSync не удался. - + CSync processing step reconcile failed. Процесс согласования CSync не удался. - + CSync processing step propagate failed. Процесс передачи CSync не удался. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Целевая папка не существует.</p><p>Проверьте настройки синхронизации.</p> - + A remote file can not be written. Please check the remote access. Удаленный файл не может быть записан. Пожалуйста, проверьте удаленный доступ. - + The local filesystem can not be written. Please check permissions. Локальная файловая система не доступна для записи. Пожалуйста, проверьте права пользователя. - + CSync failed to connect through a proxy. CSync не удалось подключиться через прокси. - + CSync could not authenticate at the proxy. CSync не удалось авторизоваться на прокси сервере. - + CSync failed to lookup proxy or server. CSync не удалось найти прокси сервер. - + CSync failed to authenticate at the %1 server. CSync не удалось аутентифицироваться на сервере %1. - + CSync failed to connect to the network. CSync не удалось подключиться к сети. - + A network connection timeout happened. - + A HTTP transmission error happened. Произошла ошибка передачи http. - + CSync failed due to not handled permission deniend. CSync упал в связи с отутствием обработки из-за отказа в доступе. - + CSync failed to access CSync не имеет доступа - + CSync tried to create a directory that already exists. CSync пытался создать директорию, которая уже существует. - - + + CSync: No space on %1 server available. CSync: Нет доступного пространства на сервере %1 server. - + CSync unspecified error. Неизвестная ошибка CSync. - + Aborted by the user Прервано пользователем - + 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. Синхронизация символических ссылок не поддерживается. - + 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 Не удаётся открыть журнал синхронизации - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination Назначение - + the source Источник @@ -2018,7 +2011,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Версия %1 Подробнее <a href='%2'>%3</a>.</p><p>Копирайт ownCloud, Inc.<p><p>Распространяется %4 и лицензировано под GNU General Public License (GPL) Версии 2.0.<br>%5 и %5 и логотип являются зарегистрированными торговыми марками %4 в<br>США и других странах,.</p> diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index 78b5c4920..47db84530 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -348,13 +348,6 @@ Total time left %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Táto synchronizácia odstráni všetky súbory v lokálnom synchronizačnom priečinku '%1'. -Pokiaľ vy alebo váš správca zresetoval váš účet na serveri, vyberte možnosť "Ponechať súbory". Pokiaľ chcete odstrániť vaše dáta, vyberte možnosť "Odstrániť všetky súbory". - - - 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? @@ -363,17 +356,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 @@ -597,17 +590,17 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Zo servera nebol prijatý E-Tag, skontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Prijali sme iný E-Tag pre pokračovanie. Skúsim to neskôr znovu. - + Connection Timeout Spojenie vypršalo @@ -659,12 +652,12 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::HttpCredentials - + Enter Password Vložte heslo - + Please enter %1 password for user '%2': Zadajte prosím %1 heslo pre používateľa '%2': @@ -1279,7 +1272,7 @@ Nie je vhodné ju používať. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Súbor %1 nie je možné stiahnuť, pretože súbor s rovnakým menom už existuje! @@ -1379,22 +1372,22 @@ Nie je vhodné ju používať. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Súbor bol zmenený, ale je súčasťou zdieľania len na čítanie. Pôvodný súbor bol obnovený a upravená verzia je uložená v konfliktnom súbore. - + The local file was removed during sync. Lokálny súbor bol odstránený počas synchronizácie. - + Local file changed during sync. Lokálny súbor bol zmenený počas synchronizácie. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1472,12 +1465,12 @@ Nie je vhodné ju používať. Stav synchronizácie bol nakopírovaný do schránky. - + 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. Try to sync these again. %1 súborov je na čiernej listine kvôli predchádzajúcim chybovým stavom. @@ -1560,22 +1553,22 @@ Nie je vhodné ju používať. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - overenie - + Reauthentication required Vyžaduje sa opätovné overenie - + Your session has expired. You need to re-login to continue to use the client. Platnosť relácie uplynula. Musíte sa znovu prihlásiť, ak chcete pokračovať v používaní klienta. - + %1 - %2 %1 - %2 @@ -1779,229 +1772,229 @@ Nie je vhodné ju používať. Mirall::SyncEngine - + Success. Úspech. - + CSync failed to create a lock file. Vytvorenie "zamykacieho" súboru cez "CSync" zlyhalo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync sa nepodarilo načítať alebo vytvoriť súbor žurnálu. Uistite sa, že máte oprávnenia na čítanie a zápis v lokálnom synchronizovanom priečinku. - + CSync failed to write the journal file. CSync sa nepodarilo zapísať do súboru žurnálu. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1 zásuvný modul pre "CSync" nebolo možné načítať.<br/>Prosím skontrolujte inštaláciu!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systémový čas tohoto klienta je odlišný od systémového času na serveri. Prosím zvážte použitie sieťovej časovej synchronizačnej služby (NTP) na serveri a klientských strojoch, aby bol na nich rovnaký čas. - + CSync could not detect the filesystem type. Detekcia súborového systému vrámci "CSync" zlyhala. - + CSync got an error while processing internal trees. Spracovanie "vnútorných stromov" vrámci "CSync" zlyhalo. - + CSync failed to reserve memory. CSync sa nepodarilo zarezervovať pamäť. - + CSync fatal parameter error. CSync kritická chyba parametrov. - + CSync processing step update failed. CSync sa nepodarilo spracovať krok aktualizácie. - + CSync processing step reconcile failed. CSync sa nepodarilo spracovať krok zladenia. - + CSync processing step propagate failed. CSync sa nepodarilo spracovať krok propagácie. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Cieľový priečinok neexistuje.</p><p>Skontrolujte, prosím, nastavenia synchronizácie.</p> - + A remote file can not be written. Please check the remote access. Vzdialený súbor nie je možné zapísať. Prosím skontrolujte vzdialený prístup. - + The local filesystem can not be written. Please check permissions. Do lokálneho súborového systému nie je možné zapisovať. Prosím skontrolujte povolenia. - + CSync failed to connect through a proxy. CSync sa nepodarilo prihlásiť cez proxy. - + CSync could not authenticate at the proxy. CSync sa nemohol prihlásiť k proxy. - + CSync failed to lookup proxy or server. CSync sa nepodarilo nájsť proxy alebo server. - + CSync failed to authenticate at the %1 server. CSync sa nepodarilo prihlásiť na server %1. - + CSync failed to connect to the network. CSync sa nepodarilo pripojiť k sieti. - + A network connection timeout happened. - + A HTTP transmission error happened. Chyba HTTP prenosu. - + CSync failed due to not handled permission deniend. CSync zlyhalo. Nedostatočné oprávnenie. - + CSync failed to access CSync nepodaril prístup - + CSync tried to create a directory that already exists. CSync sa pokúsil vytvoriť priečinok, ktorý už existuje. - - + + CSync: No space on %1 server available. CSync: Na serveri %1 nie je žiadne voľné miesto. - + CSync unspecified error. CSync nešpecifikovaná chyba. - + Aborted by the user Zrušené používateľom - + 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. - + 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2017,7 +2010,7 @@ Nie je vhodné ju používať. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Verzia %1. Pre získanie viac informácií navštívte <a href='%2'>%3</a>.</p><p>Copyright ownCloud, Inc.<p><p>Distribuované %4 a licencované pod GNU General Public License (GPL) Version 2.0.<br>%5 a logo %5 sú registrované obchodné známky %4 v <br>Spojených štátoch, ostatných krajinách alebo oboje.</p> diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 79b60b143..5a0701f13 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -348,13 +348,6 @@ Total time left %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Z usklajevanjem bodo odstranjene vse krajevne datoteke v mapi '%1'. -Če je bil račun na strežniku kakorkoli ponastavljen, izberite možnost "Ohrani datoteke", če pa želite datoteke res odstraniti, izberite drugo možnost. - - - 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? @@ -363,17 +356,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 @@ -597,17 +590,17 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ni prejete oznake s strežnika. Preveriti je treba podatke posredovalnega strežnika ali prehoda. - + We received a different E-Tag for resuming. Retrying next time. Prejeta je različna oznaka za nadaljevanje opravila. Ponovni poskus bo izveden kasneje. - + Connection Timeout Povezava časovno pretekla @@ -659,12 +652,12 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::HttpCredentials - + Enter Password Vnos gesla - + Please enter %1 password for user '%2': Vpisati je treba geslo %1 za uporabnika '%2': @@ -1279,7 +1272,7 @@ Uporaba ni priporočljiva. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Datoteke %1 ni mogoče prejeti zaradi neskladja z imenom krajevne datoteke! @@ -1379,22 +1372,22 @@ Uporaba ni priporočljiva. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Datoteka je bila krajevno spremenjena, vendar pa je označena za souporabo le za branje. Izvorna datoteka je obnovljena, vaše spremembe pa so zabeležene v datoteki spora. - + The local file was removed during sync. - + Local file changed during sync. Krajevna datoteka je bila med usklajevanjem spremenjena. - + The server did not acknowledge the last chunk. (No e-tag were present) Strežnik ni prepoznal zadnjega niza besed. (ni določenih e-oznak) @@ -1472,12 +1465,12 @@ Uporaba ni priporočljiva. Stanje usklajevanja je kopirano v odložišče. - + 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. Try to sync these again. %1 datotek je prezrtih zaradi predhodnih napak. @@ -1561,22 +1554,22 @@ Te je treba uskladiti znova. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Overitev - + Reauthentication required Zahtevano je vnovično overjanje istovetnosti - + Your session has expired. You need to re-login to continue to use the client. Seja je potekla. Ponovno se je treba prijaviti in nadaljevati z uporabo odjemalca. - + %1 - %2 %1 - %2 @@ -1780,229 +1773,229 @@ Te je treba uskladiti znova. Mirall::SyncEngine - + Success. Uspešno končano. - + CSync failed to create a lock file. Ustvarjanje datoteke zaklepa s CSync je spodletelo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Nalaganje ali ustvarjanje dnevniške datoteke s CSync je spodletelo. Za to opravilo so zahtevana posebna dovoljenja krajevne mape za usklajevanje. - + CSync failed to write the journal file. Zapisovanje dnevniške datoteke s CSync je spodletelo. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Vstavka %1 za CSync ni mogoče naložiti.<br/>Preverite namestitev!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Sistemski čas na odjemalcu ni skladen s sistemskim časom na strežniku. Priporočljivo je uporabiti storitev usklajevanja časa (NTP) na strežniku in odjemalcu. S tem omogočimo ujemanje podatkov o času krajevnih in oddaljenih datotek. - + CSync could not detect the filesystem type. Zaznavanje vrste datotečnega sistema s CSync je spodletelo. - + CSync got an error while processing internal trees. Pri obdelavi notranje drevesne strukture s CSync je prišlo do napake. - + CSync failed to reserve memory. Vpisovanje prostora v pomnilniku za CSync je spodletelo. - + CSync fatal parameter error. Usodna napaka parametra CSync. - + CSync processing step update failed. Korak opravila posodobitve CSync je spodletel. - + CSync processing step reconcile failed. Korak opravila poravnave CSync je spodletel. - + CSync processing step propagate failed. Korak opravila razširjanja CSync je spodletel. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Ciljna mapa ne obstaja.</p><p>Preveriti je treba nastavitve usklajevanja.</p> - + A remote file can not be written. Please check the remote access. Oddaljene datoteke ni mogoče zapisati. Najverjetneje je vzrok v oddaljenem dostopu. - + The local filesystem can not be written. Please check permissions. V krajevni datotečni sistem ni mogoče pisati. Najverjetneje je vzrok v neustreznih dovoljenjih. - + CSync failed to connect through a proxy. Povezava CSync preko posredniškega strežnika je spodletel. - + CSync could not authenticate at the proxy. Overitev CSync na posredniškem strežniku je spodletela. - + CSync failed to lookup proxy or server. Poizvedba posredniškega strežnika s CSync je spodletela. - + CSync failed to authenticate at the %1 server. Overitev CSync pri strežniku %1 je spodletela. - + CSync failed to connect to the network. Povezava CSync v omrežje je spodletela. - + A network connection timeout happened. - + A HTTP transmission error happened. Prišlo je do napake med prenosom HTTP. - + CSync failed due to not handled permission deniend. Delovanje CSync je zaradi neustreznih dovoljenj spodletelo. - + CSync failed to access Dostop s CSync je spodletel - + CSync tried to create a directory that already exists. Prišlo je do napake programa CSync zaradi poskusa ustvarjanja mape z že obstoječim imenom. - - + + CSync: No space on %1 server available. Odziv CSync: na strežniku %1 ni razpoložljivega prostora. - + CSync unspecified error. Nedoločena napaka CSync. - + Aborted by the user Opravilo je bilo prekinjeno s strani uporabnika - + 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. - + 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination cilj - + the source vir @@ -2018,7 +2011,7 @@ Te je treba uskladiti znova. Mirall::Theme - + <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<br>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> diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 588cbbd42..385cd622a 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -349,13 +349,6 @@ Tid kvar %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Denna synk skulle radera alla filer i den lokala mappen '%1'. -Om systemadministratören har återställt ditt konto på servern, välj "Behåll filer". Om du vill att dina filer ska raderas, välj "Radera alla filer". - - - 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? @@ -364,17 +357,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 @@ -598,17 +591,17 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ingen e-tag mottogs från servern, kontrollera proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Vi mottog en helt annan e-tag för att återuppta. Försök igen nästa gång. - + Connection Timeout Anslutningen avbröts på grund av timeout @@ -660,12 +653,12 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::HttpCredentials - + Enter Password Ange lösenord - + Please enter %1 password for user '%2': Vänligen ange %1 lösenord för användare '%2': @@ -1280,7 +1273,7 @@ Det är inte lämpligt använda den. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Fil %1 kan inte laddas ner på grund av namnkonflikt med en lokal fil! @@ -1380,22 +1373,22 @@ Det är inte lämpligt använda den. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Filen ändrades lokalt men är en del av en endast-läsbar delning. Den återställdes och din editering är i konflikt filen. - + The local file was removed during sync. Den lokala filen togs bort under synkronisering. - + Local file changed during sync. Lokal fil ändrades under synk. - + The server did not acknowledge the last chunk. (No e-tag were present) Servern bekräftade inte det sista fil-fragmentet (Ingen e-tag fanns tillgänglig) @@ -1473,12 +1466,12 @@ Det är inte lämpligt använda den. Synkroniseringsstatus har kopierats till urklipp. - + 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. Try to sync these again. %1 filer ignoreras på grund av föregående fel. @@ -1562,22 +1555,22 @@ Försök att synka dessa igen. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Autentisera - + Reauthentication required Autentisering krävs - + Your session has expired. You need to re-login to continue to use the client. Din session har gått ut. Du måste logga in på nytt för att kunna fortsätta använda klienten. - + %1 - %2 %1 - %2 @@ -1781,229 +1774,229 @@ Försök att synka dessa igen. Mirall::SyncEngine - + Success. Lyckades. - + CSync failed to create a lock file. CSync misslyckades med att skapa en låsfil. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync misslyckades att skapa en journal fil. Se till att du har läs och skriv rättigheter i den lokala synk katalogen. - + CSync failed to write the journal file. CSynk misslyckades att skriva till journal filen. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Plugin %1 för csync kunde inte laddas.<br/>Var god verifiera installationen!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systemtiden på denna klientdator är annorlunda än systemtiden på servern. Använd en tjänst för tidssynkronisering (NTP) på servern och alla klientdatorer så att tiden är lika. - + CSync could not detect the filesystem type. CSync kunde inte upptäcka filsystemtyp. - + CSync got an error while processing internal trees. CSYNC fel vid intern bearbetning. - + CSync failed to reserve memory. CSync misslyckades att reservera minne. - + CSync fatal parameter error. CSync fatal parameter fel. - + CSync processing step update failed. CSync processteg update misslyckades. - + CSync processing step reconcile failed. CSync processteg reconcile misslyckades. - + CSync processing step propagate failed. CSync processteg propagate misslyckades. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Målmappen finns inte</p><p>Vänligen, kontroller inställningen för sync.</p> - + A remote file can not be written. Please check the remote access. En fil på servern kan inte skapas. Kontrollera åtkomst till fjärranslutningen. - + The local filesystem can not be written. Please check permissions. Kan inte skriva till det lokala filsystemet. Var god kontrollera rättigheterna. - + CSync failed to connect through a proxy. CSync misslyckades att ansluta genom en proxy. - + CSync could not authenticate at the proxy. CSync kunde inte autentisera mot proxy. - + CSync failed to lookup proxy or server. CSync misslyckades att hitta proxy eller server. - + CSync failed to authenticate at the %1 server. CSync misslyckades att autentisera mot %1 servern. - + CSync failed to connect to the network. CSync misslyckades att ansluta mot nätverket. - + A network connection timeout happened. En timeout på nätverksanslutningen har inträffat. - + A HTTP transmission error happened. Ett HTTP överföringsfel inträffade. - + CSync failed due to not handled permission deniend. CSYNC misslyckades på grund av att nekad åtkomst inte hanterades. - + CSync failed to access CSynk misslyckades att tillträda - + CSync tried to create a directory that already exists. CSync försökte skapa en mapp som redan finns. - - + + CSync: No space on %1 server available. CSync: Ingen plats på %1 server tillgänglig. - + CSync unspecified error. CSync ospecificerat fel. - + Aborted by the user Avbruten av användare - + 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. - + 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 - + 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 - + 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 @@ -2019,7 +2012,7 @@ Försök att synka dessa igen. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Version %1 För mer information besök <a href='%2'>%3</a>.</p><p>Upphovsrätt ownCloud, Inc.<p><p>Distribuerad av %4 och licensierad under GNU General Public License (GPL) version 2.0.<br>%5 och %5 logotypen är registrerade varumärken som tillhör %4 i <br>USA, andra länder, eller både och.</p> diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index 8c4b42293..76360353a 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -348,29 +348,23 @@ Total time left %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - - - - 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 @@ -594,17 +588,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -656,12 +650,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password - + Please enter %1 password for user '%2': @@ -1272,7 +1266,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1372,22 +1366,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1465,12 +1459,12 @@ It is not advisable to use it. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1553,22 +1547,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 @@ -1770,229 +1764,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. เสร็จสิ้น - + CSync failed to create a lock file. CSync ล้มเหลวในการสร้างไฟล์ล็อคข้อมูล - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>ปลั๊กอิน %1 สำหรับ csync could not be loadeไม่สามารถโหลดได้.<br/>กรุณาตรวจสอบความถูกต้องในการติดตั้ง!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. เวลาในระบบของโปรแกรมไคลเอนต์นี้แตกต่างจากเวลาในระบบของเซิร์ฟเวอร์ กรุณาใช้บริการผสานข้อมูลของเวลา (NTP) บนเซิร์ฟเวอร์และเครื่องไคลเอนต์เพื่อปรับเวลาให้ตรงกัน - + CSync could not detect the filesystem type. CSync ไม่สามารถตรวจพบประเภทของไฟล์ในระบบได้ - + CSync got an error while processing internal trees. CSync เกิดข้อผิดพลาดบางประการในระหว่างประมวลผล internal trees - + CSync failed to reserve memory. การจัดสรรหน่วยความจำ CSync ล้มเหลว - + CSync fatal parameter error. พบข้อผิดพลาดเกี่ยวกับ CSync fatal parameter - + CSync processing step update failed. การอัพเดทขั้นตอนการประมวลผล CSync ล้มเหลว - + CSync processing step reconcile failed. การปรับปรุงขั้นตอนการประมวลผล CSync ล้มเหลว - + CSync processing step propagate failed. การถ่ายทอดขั้นตอนการประมวลผล CSync ล้มเหลว - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. ไม่สามารถเขียนข้อมูลไปยังไฟล์ระยะไกลได้ กรุณาตรวจสอบการเข้าถึงข้อมูลระยะไกล - + The local filesystem can not be written. Please check permissions. ระบบไฟล์ในพื้นที่ไม่สามารถเขียนข้อมูลได้ กรุณาตรวจสอบสิทธิ์การเข้าใช้งาน - + CSync failed to connect through a proxy. CSync ล้มเหลวในการเชื่อมต่อผ่านทางพร็อกซี่ - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync ไม่สามารถค้นหาพร็อกซี่บนเซิร์ฟเวอร์ได้ - + CSync failed to authenticate at the %1 server. CSync ล้มเหลวในการยืนยันสิทธิ์การเข้าใช้งานที่เซิร์ฟเวอร์ %1 - + CSync failed to connect to the network. CSync ล้มเหลวในการเชื่อมต่อกับเครือข่าย - + A network connection timeout happened. - + A HTTP transmission error happened. เกิดข้อผิดพลาดเกี่ยวกับ HTTP transmission - + CSync failed due to not handled permission deniend. CSync ล้มเหลว เนื่องจากไม่สามารถจัดการกับการปฏิเสธให้เข้าใช้งานได้ - + CSync failed to access - + CSync tried to create a directory that already exists. CSync ได้พยายามที่จะสร้างไดเร็กทอรี่ที่มีอยู่แล้ว - - + + CSync: No space on %1 server available. CSync: ไม่มีพื้นที่เหลือเพียงพอบนเซิร์ฟเวอร์ %1 - + CSync unspecified error. CSync ไม่สามารถระบุข้อผิดพลาดได้ - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2008,7 +2002,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index fe5050e27..d26d699c8 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -349,13 +349,6 @@ Toplam kalan süre %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Bu eşitleme, yerel eşitleme klasörü '%1' içindeki tüm dosyaları kaldıracak. -Eğer siz veya yöneticiniz sunucudaki hesabınızı sıfırlamışsa, "Dosyaları koru" seçin. Eğer verinizin kaldırılmasını istiyorsanız, "Tüm dosyaları kaldır" seçin. - - - 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? @@ -364,17 +357,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 @@ -598,17 +591,17 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Sunucudan E-Etiket alınamadı, Vekil sunucu/Ağ geçidini denetleyin. - + We received a different E-Tag for resuming. Retrying next time. Devam etmek üzere farklı bir E-Etiket aldık. Sonraki işlemde yeniden denenecek. - + Connection Timeout Bağlantı Zaman Aşımı @@ -660,12 +653,12 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::HttpCredentials - + Enter Password Parolayı Girin - + Please enter %1 password for user '%2': Lütfen '%2' kullanıcısı için %1 parolasını girin: @@ -1280,7 +1273,7 @@ Kullanmanız önerilmez. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! %1 dosyası, yerel dosya adı çakışması nedeniyle indirilemiyor! @@ -1380,22 +1373,22 @@ Kullanmanız önerilmez. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Dosya yerel olarak düzenlendi ancak salt okunur paylaşımın bir parçası. Geri yüklendi ve düzenlemeniz çakışan dosyada. - + The local file was removed during sync. Eşitleme sırasında yerel dosya kaldırıldı. - + Local file changed during sync. Eşitleme sırasında yerel dosya değişti. - + The server did not acknowledge the last chunk. (No e-tag were present) Sunucu son yığını onaylamadı. (Mevcut e-etiket bulunamadı) @@ -1473,12 +1466,12 @@ Kullanmanız önerilmez. Eşitleme durumu panoya kopyalandı. - + 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. Try to sync these again. Önceki hata koşullarından dolayı %1 dosya yoksayıldı. @@ -1562,22 +1555,22 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::ShibbolethWebView - + %1 - Authenticate %1 - Kimlik Doğrulaması - + Reauthentication required Yeniden kimlik doğrulama gerekli - + Your session has expired. You need to re-login to continue to use the client. Oturumunuzun süresi doldu. İstemciyi kullanmaya devam etmek için yeniden oturum açmanız gerekiyor. - + %1 - %2 %1 - %2 @@ -1781,229 +1774,229 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::SyncEngine - + Success. Başarılı. - + CSync failed to create a lock file. CSync bir kilit dosyası oluşturamadı. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync, günlük dosyası yükleyemedi veya oluşturamadı. Lütfen yerel eşitleme dizininde okuma ve yazma izinleriniz olduğundan emin olun. - + CSync failed to write the journal file. CSync günlük dosyasına yazamadı. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Csync için %1 eklentisi yüklenemedi.<br/>Lütfen kurulumu doğrulayın!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Bu istemci üzerinde sistem saati sunucudaki sistem saati ile farklı. Sunucu ve istemci makinelerde bir zaman eşitleme hizmeti (NTP) kullanırsanız zaman aynı kalır. - + CSync could not detect the filesystem type. CSync dosya sistemi türünü tespit edemedi. - + CSync got an error while processing internal trees. CSync dahili ağaçları işlerken bir hata ile karşılaştı. - + CSync failed to reserve memory. CSync bellek ayıramadı. - + CSync fatal parameter error. CSync ciddi parametre hatası. - + CSync processing step update failed. CSync güncelleme süreç adımı başarısız. - + CSync processing step reconcile failed. CSync uzlaştırma süreç adımı başarısız. - + CSync processing step propagate failed. CSync yayma süreç adımı başarısız. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Hedef dizin mevcut değil.</p><p>Lütfen eşitleme ayarını denetleyin.</p> - + A remote file can not be written. Please check the remote access. Bir uzak dosya yazılamıyor. Lütfen uzak erişimi denetleyin. - + The local filesystem can not be written. Please check permissions. Yerel dosya sistemine yazılamıyor. Lütfen izinleri kontrol edin. - + CSync failed to connect through a proxy. CSync bir vekil sunucu aracılığıyla bağlanırken hata oluştu. - + CSync could not authenticate at the proxy. CSync vekil sunucuda kimlik doğrulayamadı. - + CSync failed to lookup proxy or server. CSync bir vekil veya sunucu ararken başarısız oldu. - + CSync failed to authenticate at the %1 server. CSync %1 sunucusunda kimlik doğrularken başarısız oldu. - + CSync failed to connect to the network. CSync ağa bağlanamadı. - + A network connection timeout happened. Bir ağ zaman aşımı meydana geldi. - + A HTTP transmission error happened. Bir HTTP aktarım hatası oluştu. - + CSync failed due to not handled permission deniend. CSync ele alınmayan izin reddinden dolayı başarısız. - + CSync failed to access CSync erişemedi: - + CSync tried to create a directory that already exists. CSync, zaten mevcut olan bir dizin oluşturmaya çalıştı. - - + + CSync: No space on %1 server available. CSync: %1 sunucusunda kullanılabilir alan yok. - + CSync unspecified error. CSync belirtilmemiş hata. - + Aborted by the user Kullanıcı tarafından iptal edildi - + 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. - + 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 - + 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 - + 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 @@ -2019,7 +2012,7 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::Theme - + <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<br>United States, other countries, or both.</p> <p>Sürüm %1 Daha fazla bilgi için lütfen <a href='%2'>%3</a> adresini ziyaret edin.</p><p>Telif hakkı ownCloud, Inc.<p><p>Dağıtım %4 ve GNU Genel Kamu Lisansı (GPL) Sürüm 2.0 ile lisanslanmıştır.<br>%5 ve %5 logoları <br>ABD ve/veya diğer ülkelerde %4 tescili markalarıdır.</p> diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 81864ca1b..d42e57372 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -348,13 +348,6 @@ Total time left %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - Ця синхронізація видалить усі файли з вашої локальної теки синхронізації '%1'. -Якщо ви або ваш адміністратор скинув ваш запис на цьому сервері, оберіть "Зберегти файли". Якщо бажаєте видалити дані, оберіть "Видалити усі файли". - - - 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? @@ -363,17 +356,17 @@ Are you sure you want to perform this operation? Ви дійсно бажаєте продовжити цю операцію? - + Remove All Files? Видалити усі файли? - + Remove all files Видалити усі файли - + Keep files Зберегти файли @@ -597,17 +590,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -659,12 +652,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password - + Please enter %1 password for user '%2': @@ -1275,7 +1268,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1375,22 +1368,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1468,12 +1461,12 @@ It is not advisable to use it. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1556,22 +1549,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 @@ -1773,229 +1766,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Успішно. - + CSync failed to create a lock file. CSync не вдалося створити файл блокування. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p> %1 плагін для синхронізації не вдалося завантажити.<br/>Будь ласка, перевірте його інсталяцію!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Системний час цього клієнта відрізняється від системного часу на сервері. Будь ласка, використовуйте сервіс синхронізації часу (NTP) на сервері та клієнті, аби час був однаковий. - + CSync could not detect the filesystem type. CSync не вдалося визначити тип файлової системи. - + CSync got an error while processing internal trees. У CSync виникла помилка під час сканування внутрішньої структури каталогів. - + CSync failed to reserve memory. CSync не вдалося зарезервувати пам'ять. - + CSync fatal parameter error. У CSync сталася фатальна помилка параметра. - + CSync processing step update failed. CSync не вдалася зробити оновлення . - + CSync processing step reconcile failed. CSync не вдалася зробити врегулювання. - + CSync processing step propagate failed. CSync не вдалася зробити розповсюдження. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. Не можливо проводити запис у віддалену файлову систему. Будь ласка, перевірте повноваження доступу. - + The local filesystem can not be written. Please check permissions. Не можливо проводити запис у локальну файлову систему. Будь ласка, перевірте повноваження. - + CSync failed to connect through a proxy. CSync не вдалося приєднатися через Проксі. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync не вдалося знайти Проксі або Сервер. - + CSync failed to authenticate at the %1 server. CSync не вдалося аутентифікуватися на %1 сервері. - + CSync failed to connect to the network. CSync не вдалося приєднатися до мережі. - + A network connection timeout happened. - + A HTTP transmission error happened. Сталася помилка передачі даних по HTTP. - + CSync failed due to not handled permission deniend. CSync завершився неуспішно через порушення прав доступу. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync намагалася створити каталог, який вже існує. - - + + CSync: No space on %1 server available. CSync: на сервері %1 скінчилося місце. - + CSync unspecified error. Невизначена помилка CSync. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2011,7 +2004,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 1f3c915bd..a34da98ab 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -348,13 +348,6 @@ Total time left %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - 这个同步将会移除本地同步文件夹 %1 下的所有文件。 -如果你或者你的管理员在服务器上重置了你的帐号,请选择“保持文件”。如果你想移除你的数据,请选择“移除全部文件”。 - - - 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? @@ -363,17 +356,17 @@ Are you sure you want to perform this operation? 你确定执行该操作吗? - + Remove All Files? 删除所有文件? - + Remove all files 删除所有文件 - + Keep files 保持所有文件 @@ -597,17 +590,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway 未能收到来自服务器的 E-Tag,请检查代理/网关 - + We received a different E-Tag for resuming. Retrying next time. 我们收到了不同的恢复 E-Tag,将在下次尝试。 - + Connection Timeout 连接超时 @@ -659,12 +652,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password 输入密码 - + Please enter %1 password for user '%2': @@ -1277,7 +1270,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1377,22 +1370,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. 本地文件在同步时已修改。 - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1470,12 +1463,12 @@ It is not advisable to use it. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1558,22 +1551,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 %1 - %2 @@ -1777,229 +1770,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSync 无法创建文件锁。 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync同步失败,请确定是否有本地同步目录的读写权 - + CSync failed to write the journal file. CSync写日志文件失败 - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csync 的 %1 插件不能加载。<br/>请校验安装!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. 本客户端的系统时间和服务器的系统时间不一致。请在服务器和客户机上使用时间同步服务 (NTP)以让时间一致。 - + CSync could not detect the filesystem type. CSync 无法检测文件系统类型。 - + CSync got an error while processing internal trees. CSync 在处理内部文件树时出错。 - + CSync failed to reserve memory. CSync 失败,内存不足。 - + CSync fatal parameter error. CSync 致命参数错误。 - + CSync processing step update failed. CSync 处理步骤更新失败。 - + CSync processing step reconcile failed. CSync 处理步骤调和失败。 - + CSync processing step propagate failed. CSync 处理步骤传播失败。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>目标目录不存在。</p><p>请检查同步设置。</p> - + A remote file can not be written. Please check the remote access. 远程文件不可写,请检查远程权限。 - + The local filesystem can not be written. Please check permissions. 本地文件系统不可写。请检查权限。 - + CSync failed to connect through a proxy. CSync 未能通过代理连接。 - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync 无法查询代理或服务器。 - + CSync failed to authenticate at the %1 server. CSync 于 %1 服务器认证失败。 - + CSync failed to connect to the network. CSync 联网失败。 - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP 传输错误。 - + CSync failed due to not handled permission deniend. 出于未处理的权限拒绝,CSync 失败。 - + CSync failed to access 访问 CSync 失败 - + CSync tried to create a directory that already exists. CSync 尝试创建了已有的文件夹。 - - + + CSync: No space on %1 server available. CSync:%1 服务器空间已满。 - + CSync unspecified error. CSync 未定义错误。 - + Aborted by the user 用户撤销 - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 无法打开同步日志 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2015,7 +2008,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index 3e3879aa8..dbdeed79b 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -348,29 +348,23 @@ Total time left %5 - This sync would remove all the files in the local sync folder '%1'. -If you or your administrator have reset your account on the server, choose "Keep files". If you want your data to be removed, choose "Remove all files". - - - - 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 保留檔案 @@ -594,17 +588,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -656,12 +650,12 @@ Are you sure you want to perform this operation? Mirall::HttpCredentials - + Enter Password 輸入密碼 - + Please enter %1 password for user '%2': 請輸入使用者 %2 的密碼 %1 : @@ -1272,7 +1266,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1372,22 +1366,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1465,12 +1459,12 @@ It is not advisable to use it. - + Currently no files are ignored because of previous errors. - + %1 files are ignored because of previous errors. Try to sync these again. @@ -1553,22 +1547,22 @@ It is not advisable to use it. Mirall::ShibbolethWebView - + %1 - Authenticate - + Reauthentication required - + Your session has expired. You need to re-login to continue to use the client. - + %1 - %2 %1 - %2 @@ -1770,229 +1764,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSync 無法建立文件鎖 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>用於csync的套件%1</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. 本客戶端的系統時間和伺服器系統時間不一致,請在伺服器與客戶端上使用時間同步服務(NTP)讓時間保持一致 - + CSync could not detect the filesystem type. CSync 無法偵測檔案系統的類型 - + CSync got an error while processing internal trees. CSync 處理內部資料樹時發生錯誤 - + CSync failed to reserve memory. CSync 無法取得記憶體空間。 - + CSync fatal parameter error. CSync 參數錯誤。 - + CSync processing step update failed. CSync 處理步驟 "update" 失敗。 - + CSync processing step reconcile failed. CSync 處理步驟 "reconcile" 失敗。 - + CSync processing step propagate failed. CSync 處理步驟 "propagate" 失敗。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>目標資料夾不存在</p><p>請檢查同步設定</p> - + A remote file can not be written. Please check the remote access. 遠端檔案無法寫入,請確認遠端存取權限。 - + The local filesystem can not be written. Please check permissions. 本地檔案系統無法寫入,請確認權限。 - + CSync failed to connect through a proxy. CSync 透過代理伺服器連線失敗。 - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync 查詢代理伺服器或伺服器失敗。 - + CSync failed to authenticate at the %1 server. CSync 於伺服器 %1 認證失敗。 - + CSync failed to connect to the network. CSync 無法連接到網路。 - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP 傳輸錯誤。 - + CSync failed due to not handled permission deniend. CSync 失敗,由於未處理的存取被拒。 - + CSync failed to access - + CSync tried to create a directory that already exists. CSync 試圖建立一個已經存在的目錄。 - - + + CSync: No space on %1 server available. CSync:伺服器 %1 沒有可用空間。 - + CSync unspecified error. CSync 未知的錯誤。 - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -2008,7 +2002,7 @@ It is not advisable to use it. Mirall::Theme - + <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<br>United States, other countries, or both.</p> From 2981b3721989253c6f0c215def26597389074e3c Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 17 Jul 2014 10:26:52 +0200 Subject: [PATCH 164/190] Use file size of factor of four because of the createLocalFile algorithm --- csync/tests/ownCloud/t1.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csync/tests/ownCloud/t1.pl b/csync/tests/ownCloud/t1.pl index 48e27594a..d3ffe1eef 100755 --- a/csync/tests/ownCloud/t1.pl +++ b/csync/tests/ownCloud/t1.pl @@ -123,7 +123,7 @@ 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", 2134 ); +createLocalFile( localDir() . "remoteToLocal1/kernelcrash.txt", 2136 ); createLocalFile( localDir() . "remoteToLocal1/kraft_logo.gif", 2332 ); csync( ); assertLocalAndRemoteDir( '', 0); From 56b721b2eb5045fe2cac1990f885a602d92da771 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 17 Jul 2014 11:05:16 +0200 Subject: [PATCH 165/190] propagator_qnam: fix warning --- src/mirall/propagator_qnam.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mirall/propagator_qnam.h b/src/mirall/propagator_qnam.h index 0db5b1d76..91174f288 100644 --- a/src/mirall/propagator_qnam.h +++ b/src/mirall/propagator_qnam.h @@ -131,7 +131,7 @@ public: QString errorString() { return _errorString.isEmpty() ? reply()->errorString() : _errorString; - }; + } SyncFileItem::Status errorStatus() { return _errorStatus; } From c4d73688a682b31774f26330390d9f9a7b2655d1 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 14 Jul 2014 15:13:28 +0200 Subject: [PATCH 166/190] Folderman: Fix path detection in folderForPath(). --- src/mirall/folderman.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mirall/folderman.cpp b/src/mirall/folderman.cpp index 2b8523fd7..1c701ef68 100644 --- a/src/mirall/folderman.cpp +++ b/src/mirall/folderman.cpp @@ -517,12 +517,12 @@ void FolderMan::addFolderDefinition(const QString& alias, const QString& sourceF Folder *FolderMan::folderForPath(const QString &path) { - QString absolutePath = QDir::cleanPath(path+QLatin1Char('/')); + QString absolutePath = QDir::cleanPath(path)+QLatin1Char('/'); - foreach(Folder* folder, map().values()) - { - if(absolutePath.startsWith(QDir::cleanPath(folder->path()))) - { + foreach(Folder* folder, this->map().values()) { + const QString folderPath = QDir::cleanPath(folder->path())+QLatin1Char('/'); + + if(absolutePath.startsWith(folderPath)) { qDebug() << "found folder: " << folder->path() << " for " << absolutePath; return folder; } From fef713aaedb395a772f42adf899641c089a83af9 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 14 Jul 2014 15:31:38 +0200 Subject: [PATCH 167/190] SocketAPI: Create the socket API instance in folderman. --- .../UserInterfaceState.xcuserstate | Bin 0 -> 33432 bytes src/mirall/application.cpp | 3 --- src/mirall/application.h | 1 - src/mirall/folderman.cpp | 6 +++++- src/mirall/folderman.h | 6 ++++-- 5 files changed, 9 insertions(+), 7 deletions(-) create mode 100644 shell_integration/MacOSX/LiferayNativity.xcworkspace/xcuserdata/mackie.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/shell_integration/MacOSX/LiferayNativity.xcworkspace/xcuserdata/mackie.xcuserdatad/UserInterfaceState.xcuserstate b/shell_integration/MacOSX/LiferayNativity.xcworkspace/xcuserdata/mackie.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..a86c41f93e3e3244070c2b1963d4c37f2590746f GIT binary patch literal 33432 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
o-9!dE)J|2JKC<*V* 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 R^FfxMc43yE*8ev9{U0)Vz1{!- literal 0 HcmV?d00001 diff --git a/src/mirall/application.cpp b/src/mirall/application.cpp index aac84b079..c5acd2d42 100644 --- a/src/mirall/application.cpp +++ b/src/mirall/application.cpp @@ -151,9 +151,6 @@ Application::Application(int &argc, char **argv) : } connect (this, SIGNAL(aboutToQuit()), SLOT(slotCleanup())); - - _socketApi = new SocketApi(this, QUrl::fromLocalFile(cfg.configPathWithAppName().append(QLatin1String("socket")))); - } Application::~Application() diff --git a/src/mirall/application.h b/src/mirall/application.h index 36d3baa5c..19c880001 100644 --- a/src/mirall/application.h +++ b/src/mirall/application.h @@ -87,7 +87,6 @@ private: void setHelp(); QPointer _gui; - QPointer _socketApi; QPointer _conValidator; diff --git a/src/mirall/folderman.cpp b/src/mirall/folderman.cpp index 1c701ef68..ed34475bf 100644 --- a/src/mirall/folderman.cpp +++ b/src/mirall/folderman.cpp @@ -17,6 +17,7 @@ #include "mirall/folder.h" #include "mirall/syncresult.h" #include "mirall/theme.h" +#include "mirall/socketapi.h" #include @@ -28,7 +29,7 @@ #endif #include - +#include #include namespace Mirall { @@ -47,6 +48,9 @@ FolderMan::FolderMan(QObject *parent) : connect(_folderWatcherSignalMapper, SIGNAL(mapped(const QString&)), this, SLOT(slotScheduleSync(const QString&))); + MirallConfigFile cfg; + _socketApi = new SocketApi(this, QUrl::fromLocalFile(cfg.configPathWithAppName().append(QLatin1String("socket")))); + ne_sock_init(); Q_ASSERT(!_instance); _instance = this; diff --git a/src/mirall/folderman.h b/src/mirall/folderman.h index a78c54796..c3a8d0012 100644 --- a/src/mirall/folderman.h +++ b/src/mirall/folderman.h @@ -19,6 +19,7 @@ #include #include #include +#include #include "mirall/folder.h" #include "mirall/folderwatcher.h" @@ -26,11 +27,11 @@ class QSignalMapper; -class SyncResult; - namespace Mirall { class Application; +class SyncResult; +class SocketApi; class FolderMan : public QObject { @@ -146,6 +147,7 @@ private: bool _syncEnabled; QQueue _scheduleQueue; QMap _folderWatchers; + QPointer _socketApi; static FolderMan *_instance; explicit FolderMan(QObject *parent = 0); From d2445ec72dc9562f37b48ea169cb905cbd2d087e Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 15 Jul 2014 13:33:13 +0200 Subject: [PATCH 168/190] PropagatorQNAM: Never send if-match header for new files. --- src/mirall/propagator_qnam.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mirall/propagator_qnam.cpp b/src/mirall/propagator_qnam.cpp index f0d10abf5..2c2b76d18 100644 --- a/src/mirall/propagator_qnam.cpp +++ b/src/mirall/propagator_qnam.cpp @@ -208,7 +208,9 @@ void PropagateUploadFileQNAM::startNextChunk() headers["OC-Total-Length"] = QByteArray::number(fileSize); headers["Content-Type"] = "application/octet-stream"; headers["X-OC-Mtime"] = QByteArray::number(qint64(_item._modtime)); - if (!_item._etag.isEmpty() && _item._etag != "empty_etag") { + if (!_item._etag.isEmpty() && _item._etag != "empty_etag" && + _item._instruction != CSYNC_INSTRUCTION_NEW // On new files never send a If-Match + ) { // We add quotes because the owncloud server always add quotes around the etag, and // csync_owncloud.c's owncloud_file_id always strip the quotes. headers["If-Match"] = '"' + _item._etag + '"'; From 0e9a08cbbf055ab1d77df6fbc75f4be2cd179cfe Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 15 Jul 2014 13:34:32 +0200 Subject: [PATCH 169/190] SocketAPI: rename slot to send UPDATE_VIEW. --- .../UserInterfaceState.xcuserstate | Bin 33432 -> 33056 bytes src/mirall/folderman.cpp | 4 +++- src/mirall/socketapi.cpp | 8 ++++---- src/mirall/socketapi.h | 4 +++- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/shell_integration/MacOSX/LiferayNativity.xcworkspace/xcuserdata/mackie.xcuserdatad/UserInterfaceState.xcuserstate b/shell_integration/MacOSX/LiferayNativity.xcworkspace/xcuserdata/mackie.xcuserdatad/UserInterfaceState.xcuserstate index a86c41f93e3e3244070c2b1963d4c37f2590746f..0d18ea8e3cf8df0685cd72a402ad87c615618c0b 100644 GIT binary patch delta 11610 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 db_f$L$;AO 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̎Kgi0im6p37-kd#R(B^pVs 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 Q06zRO<3Id%{cYp@e=6iJjsO4v diff --git a/src/mirall/folderman.cpp b/src/mirall/folderman.cpp index ed34475bf..ee8aced72 100644 --- a/src/mirall/folderman.cpp +++ b/src/mirall/folderman.cpp @@ -49,11 +49,12 @@ FolderMan::FolderMan(QObject *parent) : this, SLOT(slotScheduleSync(const QString&))); MirallConfigFile cfg; - _socketApi = new SocketApi(this, QUrl::fromLocalFile(cfg.configPathWithAppName().append(QLatin1String("socket")))); ne_sock_init(); Q_ASSERT(!_instance); _instance = this; + + _socketApi = new SocketApi(this, QUrl::fromLocalFile(cfg.configPathWithAppName().append(QLatin1String("socket")))); } FolderMan *FolderMan::instance() @@ -429,6 +430,7 @@ void FolderMan::slotScheduleSync( const QString& alias ) f->prepareToSync(); } else { qDebug() << "Folder is not enabled, not scheduled!"; + _socketApi->slotUpdateFolderView(f->alias()); return; } } diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index baac10778..a4f6965b6 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -155,7 +155,6 @@ SyncFileStatus fileStatus(Folder *folder, const QString& fileName ) } - SocketApi::SocketApi(QObject* parent, const QUrl& localFile) : QObject(parent) , _localServer(0) @@ -166,8 +165,9 @@ SocketApi::SocketApi(QObject* parent, const QUrl& localFile) connect(_localServer, SIGNAL(newConnection()), this, SLOT(slotNewConnection())); // folder watcher - connect(FolderMan::instance(), SIGNAL(folderSyncStateChange(QString)), SLOT(slotSyncStateChanged(QString))); - connect(ProgressDispatcher::instance(), SIGNAL(jobCompleted(QString,SyncFileItem)), SLOT(slotJobCompleted(QString,SyncFileItem))); + connect(FolderMan::instance(), SIGNAL(folderSyncStateChange(QString)), this, SLOT(slotUpdateFolderView(QString))); + connect(ProgressDispatcher::instance(), SIGNAL(jobCompleted(QString,SyncFileItem)), + SLOT(slotJobCompleted(QString,SyncFileItem))); } SocketApi::~SocketApi() @@ -222,7 +222,7 @@ void SocketApi::slotReadSocket() } } -void SocketApi::slotSyncStateChanged(const QString& alias) +void SocketApi::slotUpdateFolderView(const QString& alias) { QString msg = QLatin1String("UPDATE_VIEW"); diff --git a/src/mirall/socketapi.h b/src/mirall/socketapi.h index 6bf28bbf0..9bf2c013b 100644 --- a/src/mirall/socketapi.h +++ b/src/mirall/socketapi.h @@ -36,11 +36,13 @@ public: SocketApi(QObject* parent, const QUrl& localFile); virtual ~SocketApi(); +public slots: + void slotUpdateFolderView(const QString&); + private slots: void slotNewConnection(); void onLostConnection(); void slotReadSocket(); - void slotSyncStateChanged(const QString&); void slotJobCompleted(const QString &, const SyncFileItem &); private: From 743c1c2eda5e4d049e10c51d0a512bfe4f682fbf Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 15 Jul 2014 17:55:55 +0200 Subject: [PATCH 170/190] SocketAPI: Send an UPDATE_VIEW to the shell plugin on connect. For each configured sync folder send an UPDATE_VIEW directly after the socket connect to make the shell integration updating the view. --- src/mirall/socketapi.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index a4f6965b6..2211d1a9a 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -189,6 +189,10 @@ void SocketApi::slotNewConnection() Q_ASSERT(socket->readAll().isEmpty()); _listeners.append(socket); + + foreach( QString alias, FolderMan::instance()->map().keys() ) { + slotUpdateFolderView(alias); + } } void SocketApi::onLostConnection() From 7ff62bc5770df58bf064fbe54e3bff1f9667cd72 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 17 Jul 2014 14:57:04 +0200 Subject: [PATCH 171/190] NSIS: ICU rebumped to 5.3 as per build service change --- cmake/modules/NSIS.template.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in index 5f0a204a8..0ac1e9ea5 100644 --- a/cmake/modules/NSIS.template.in +++ b/cmake/modules/NSIS.template.in @@ -415,9 +415,9 @@ Section "${APPLICATION_NAME}" SEC_APPLICATION ;Qt deps File "${MING_BIN}\libpng16-16.dll" - File "${MING_BIN}\icudata51.dll" - File "${MING_BIN}\icui18n51.dll" - File "${MING_BIN}\icuuc51.dll" + File "${MING_BIN}\icudata53.dll" + File "${MING_BIN}\icui18n53.dll" + File "${MING_BIN}\icuuc53.dll" File "${MING_BIN}\libEGL.dll" File "${MING_BIN}\libGLESv2.dll" File "${MING_BIN}\libjpeg-8.dll" From 0e5d0c117065547a9f612f66900b9634adf3aa75 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 17 Jul 2014 15:00:21 +0200 Subject: [PATCH 172/190] SocketAPI: Some cleaning up --- src/mirall/application.h | 1 - src/mirall/folderman.cpp | 4 +--- src/mirall/socketapi.cpp | 8 +++----- src/mirall/socketapi.h | 2 +- 4 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/mirall/application.h b/src/mirall/application.h index 19c880001..02690cc99 100644 --- a/src/mirall/application.h +++ b/src/mirall/application.h @@ -38,7 +38,6 @@ namespace Mirall { class Theme; class Folder; class SslErrorDialog; -class SocketApi; class Application : public SharedTools::QtSingleApplication { diff --git a/src/mirall/folderman.cpp b/src/mirall/folderman.cpp index ee8aced72..3cbaa8382 100644 --- a/src/mirall/folderman.cpp +++ b/src/mirall/folderman.cpp @@ -48,13 +48,11 @@ FolderMan::FolderMan(QObject *parent) : connect(_folderWatcherSignalMapper, SIGNAL(mapped(const QString&)), this, SLOT(slotScheduleSync(const QString&))); - MirallConfigFile cfg; - ne_sock_init(); Q_ASSERT(!_instance); _instance = this; - _socketApi = new SocketApi(this, QUrl::fromLocalFile(cfg.configPathWithAppName().append(QLatin1String("socket")))); + _socketApi = new SocketApi(this); } FolderMan *FolderMan::instance() diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 2211d1a9a..af5d6a409 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -155,13 +155,11 @@ SyncFileStatus fileStatus(Folder *folder, const QString& fileName ) } -SocketApi::SocketApi(QObject* parent, const QUrl& localFile) +SocketApi::SocketApi(QObject* parent) : QObject(parent) - , _localServer(0) + , _localServer(new QTcpServer(this)) { // setup socket - _localServer = new QTcpServer(this); - _localServer->listen( QHostAddress::LocalHost, 33001); connect(_localServer, SIGNAL(newConnection()), this, SLOT(slotNewConnection())); // folder watcher @@ -183,7 +181,7 @@ void SocketApi::slotNewConnection() if( ! socket ) { return; } - DEBUG << "New connection " << socket; + DEBUG << "New connection" << socket; connect(socket, SIGNAL(readyRead()), this, SLOT(slotReadSocket())); connect(socket, SIGNAL(disconnected()), this, SLOT(onLostConnection())); Q_ASSERT(socket->readAll().isEmpty()); diff --git a/src/mirall/socketapi.h b/src/mirall/socketapi.h index 9bf2c013b..52a07c445 100644 --- a/src/mirall/socketapi.h +++ b/src/mirall/socketapi.h @@ -33,7 +33,7 @@ class SocketApi : public QObject Q_OBJECT public: - SocketApi(QObject* parent, const QUrl& localFile); + SocketApi(QObject* parent); virtual ~SocketApi(); public slots: From 1ae727e70f19fda1f4ab4c8d85595961ec80ff5e Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 17 Jul 2014 15:01:01 +0200 Subject: [PATCH 173/190] SocketAPI: Emit error of binding the server fails --- src/mirall/socketapi.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index af5d6a409..68952582a 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -46,6 +46,10 @@ CSYNC_EXCLUDE_TYPE csync_excluded(CSYNC *ctx, const char *path, int filetype); } +namespace { + const int PORT = 33001; +} + namespace Mirall { #define DEBUG qDebug() << "SocketApi: " @@ -160,6 +164,10 @@ SocketApi::SocketApi(QObject* parent) , _localServer(new QTcpServer(this)) { // setup socket + DEBUG << "Establishing SocketAPI server at" << PORT; + if (!_localServer->listen(QHostAddress::LocalHost, PORT)) { + DEBUG << "Failed to bind to port" << PORT; + } connect(_localServer, SIGNAL(newConnection()), this, SLOT(slotNewConnection())); // folder watcher From 35b6d096159aaa9e9716656c9cb9b1214a601a82 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 17 Jul 2014 17:41:20 +0200 Subject: [PATCH 174/190] SocketAPI: Fix separators on Windows --- src/mirall/socketapi.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 68952582a..60e556797 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -239,7 +239,7 @@ void SocketApi::slotUpdateFolderView(const QString& alias) Folder *f = FolderMan::instance()->folder(alias); if (f) { msg.append(QLatin1String(":")); - msg.append(QDir::cleanPath(f->path())); + msg.append(QDir::toNativeSeparators(QDir::cleanPath(f->path()))); } broadcastMessage(msg); @@ -258,7 +258,8 @@ void SocketApi::slotJobCompleted(const QString &folder, const SyncFileItem &item command = QLatin1String("ERROR"); } - broadcastMessage(QLatin1String("BROADCAST:") + command + QLatin1Char(':') + path); + broadcastMessage(QLatin1String("BROADCAST:") + command + QLatin1Char(':') + + QDir::toNativeSeparators(path)); } @@ -309,7 +310,8 @@ void SocketApi::command_RETRIEVE_FILE_STATUS(const QString& argument, QTcpSocket statusString = fileStatus.toSocketAPIString(); } - QString message = QLatin1String("STATUS:")+statusString+QLatin1Char(':')+argument; + QString message = QLatin1String("STATUS:")+statusString+QLatin1Char(':') + +QDir::toNativeSeparators(argument); sendMessage(socket, message); } From 72cd84e878fcb846fd0159f9b15963dbabb85ccd Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 17 Jul 2014 19:26:58 +0200 Subject: [PATCH 175/190] SocketAPI: Exclude drive part from path blacklist check Otherwise, it always matches the ':' part --- src/mirall/socketapi.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 60e556797..757a1ffe2 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -127,6 +127,11 @@ SyncFileStatus fileStatus(Folder *folder, const QString& fileName ) type = CSYNC_FTW_TYPE_DIR; } + // on windows, there might be a colon in the file name. + QRegExp rx( "^[a-zA-Z]\\:[\\\\/]+"); + if( file.contains(rx) ) { + file.remove(0, 2); + } CSYNC_EXCLUDE_TYPE excl = csync_excluded(folder->csyncContext(), file.toUtf8(), type); if( excl != CSYNC_NOT_EXCLUDED ) { return SyncFileStatus(SyncFileStatus::STATUS_IGNORE); From f8bea55b100ffdafc3c9a56f70af7c9e5da35dcb Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 17 Jul 2014 19:27:12 +0200 Subject: [PATCH 176/190] SocketAPI: Handle top sync folder correctly. --- src/mirall/socketapi.cpp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp index 757a1ffe2..e34f86d66 100644 --- a/src/mirall/socketapi.cpp +++ b/src/mirall/socketapi.cpp @@ -107,14 +107,18 @@ SyncFileStatus fileStatus(Folder *folder, const QString& fileName ) { // FIXME: Find a way for STATUS_ERROR - QString file = fileName; - if( folder->path() != QLatin1String("/") ) { + QString file = folder->path(); + + bool isSyncRootFolder = true; + if( fileName != QLatin1String("/") && !fileName.isEmpty() ) { file = folder->path() + fileName; + isSyncRootFolder = false; } QFileInfo fi(file); if( !fi.exists() ) { + qDebug() << "OO File " << file << " is not existing"; return SyncFileStatus(SyncFileStatus::STATUS_STAT_ERROR); } @@ -137,28 +141,30 @@ SyncFileStatus fileStatus(Folder *folder, const QString& fileName ) return SyncFileStatus(SyncFileStatus::STATUS_IGNORE); } + // Problem: for the sync dir itself we do not have a record in the sync journal + // so the next check must not be used for the sync root folder. SyncJournalFileRecord rec = folder->journalDb()->getFileRecord(fileName); - if( !rec.isValid() ) { + if( !isSyncRootFolder && !rec.isValid() ) { return SyncFileStatus(SyncFileStatus::STATUS_NEW); } - SyncFileStatus stat(SyncFileStatus::STATUS_NONE); + SyncFileStatus status(SyncFileStatus::STATUS_NONE); if( type == CSYNC_FTW_TYPE_DIR ) { // compute recursive status of the directory - stat = recursiveFolderStatus( folder, fileName ); + status = recursiveFolderStatus( folder, fileName ); } else if(fi.lastModified() != rec._modtime ) { // file was locally modified. - stat.set(SyncFileStatus::STATUS_EVAL); + status.set(SyncFileStatus::STATUS_EVAL); } else { - stat.set(SyncFileStatus::STATUS_SYNC); + status.set(SyncFileStatus::STATUS_SYNC); } if (rec._remotePerm.contains("S")) { // FIXME! that should be an additional flag - stat.setSharedWithMe(true); + status.setSharedWithMe(true); } - return stat; + return status; } From ed6e3e4ee26c84db00eb06cb27aab7f0b6e468f3 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Fri, 18 Jul 2014 01:25:23 -0400 Subject: [PATCH 177/190] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 42 +++++++++++++++---------------- translations/mirall_cs.ts | 42 +++++++++++++++---------------- translations/mirall_de.ts | 42 +++++++++++++++---------------- translations/mirall_el.ts | 42 +++++++++++++++---------------- translations/mirall_en.ts | 42 +++++++++++++++---------------- translations/mirall_es.ts | 42 +++++++++++++++---------------- translations/mirall_es_AR.ts | 42 +++++++++++++++---------------- translations/mirall_et.ts | 42 +++++++++++++++---------------- translations/mirall_eu.ts | 42 +++++++++++++++---------------- translations/mirall_fa.ts | 42 +++++++++++++++---------------- translations/mirall_fi.ts | 48 ++++++++++++++++++------------------ translations/mirall_fr.ts | 42 +++++++++++++++---------------- translations/mirall_gl.ts | 42 +++++++++++++++---------------- translations/mirall_hu.ts | 42 +++++++++++++++---------------- translations/mirall_it.ts | 42 +++++++++++++++---------------- translations/mirall_ja.ts | 42 +++++++++++++++---------------- translations/mirall_nl.ts | 42 +++++++++++++++---------------- translations/mirall_pl.ts | 42 +++++++++++++++---------------- translations/mirall_pt.ts | 42 +++++++++++++++---------------- translations/mirall_pt_BR.ts | 42 +++++++++++++++---------------- translations/mirall_ru.ts | 42 +++++++++++++++---------------- translations/mirall_sk.ts | 42 +++++++++++++++---------------- translations/mirall_sl.ts | 42 +++++++++++++++---------------- translations/mirall_sv.ts | 42 +++++++++++++++---------------- translations/mirall_th.ts | 42 +++++++++++++++---------------- translations/mirall_tr.ts | 42 +++++++++++++++---------------- translations/mirall_uk.ts | 42 +++++++++++++++---------------- translations/mirall_zh_CN.ts | 42 +++++++++++++++---------------- translations/mirall_zh_TW.ts | 42 +++++++++++++++---------------- 29 files changed, 612 insertions(+), 612 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index 963471b9a..f153739c0 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -375,67 +375,67 @@ Esteu segur que voleu executar aquesta operació? Mirall::FolderMan - + Could not reset folder state No es pot restablir l'estat de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. El servidor no està disponible actualment. - + 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) @@ -591,17 +591,17 @@ Esteu segur que voleu executar aquesta operació? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway No s'ha rebut cap E-Tag del servidor, comproveu el Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. Hem rebut un E-Tag diferent en la represa. Es comprovarà la pròxima vegada. - + Connection Timeout Temps de connexió excedit @@ -1273,7 +1273,7 @@ No és aconsellada usar-la. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! El fitxer %1 no es pot baixar perquè hi ha un xoc amb el nom d'un fitxer local! @@ -1373,22 +1373,22 @@ No és aconsellada usar-la. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. El fitxer s'ha editat localment però és part d'una compartició només de lectura. S'ha restaurat i la vostra edició és en el fitxer en conflicte. - + The local file was removed during sync. El fitxer local s'ha eliminat durant la sincronització. - + Local file changed during sync. El fitxer local ha canviat durant la sincronització. - + The server did not acknowledge the last chunk. (No e-tag were present) El servidor no ha reconegut l'últim fragment. (No hi havia e-Tag) diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 52cbdb94e..700a75097 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -375,67 +375,67 @@ Opravdu chcete provést tuto akci? Mirall::FolderMan - + Could not reset folder state Nelze obnovit stav složky - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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á. - + Server is currently not available. Server je nyní nedostupný. - + 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) @@ -591,17 +591,17 @@ Opravdu chcete provést tuto akci? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ze serveru nebyl obdržen E-Tag, zkontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Obdrželi jsme jiný E-Tag pro pokračování. Zkusím znovu příště. - + Connection Timeout Spojení vypršelo @@ -1273,7 +1273,7 @@ Nedoporučuje se jí používat. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Soubor %1 nemohl být stažen z důvodu kolize názvu se souborem v místním systému. @@ -1373,22 +1373,22 @@ Nedoporučuje se jí používat. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Soubor zde byl editován, ale je součástí sdílení pouze pro čtení. Původní soubor byl obnoven a editovaná verze je uložena v konfliktním souboru. - + The local file was removed during sync. Místní soubor byl odstraněn během synchronizace. - + Local file changed during sync. Místní soubor byl změněn během synchronizace. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index c9fcb1b60..db1dc1db2 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -376,67 +376,67 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::FolderMan - + Could not reset folder state Konnte Ordner-Zustand nicht zurücksetzen - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Der Server ist momentan nicht erreichbar. - + 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) @@ -592,17 +592,17 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Kein E-Tag vom Server empfangen, bitte Proxy / Gateway überprüfen - + We received a different E-Tag for resuming. Retrying next time. Es wurde ein unterschiedlicher E-Tag zum Fortfahren empfangen. Bitte beim nächsten mal nochmal versuchen. - + Connection Timeout Zeitüberschreitung der Verbindung @@ -1274,7 +1274,7 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Die Datei %1 kann aufgrund eines Konfliktes mit dem lokalen Dateinamen nicht herunter geladen werden! @@ -1374,22 +1374,22 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Die Datei wurde von einer Nur-Lese-Freigabe lokal bearbeitet. Die Datei wurde wiederhergestellt und Ihre Bearbeitung ist in der Konflikte-Datei. - + The local file was removed during sync. Die lokale Datei wurde während der Synchronisation gelöscht. - + Local file changed during sync. Eine lokale Datei wurde während der Synchronisation geändert. - + The server did not acknowledge the last chunk. (No e-tag were present) Der Server hat den letzten Block nicht bestätigt. (Der E-Tag war nicht vorhanden) diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 1e46ea0e9..1a842b22e 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -376,67 +376,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Δεν ήταν δυνατό να επαναφερθεί η κατάσταση του φακέλου - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Βρέθηκε ένα παλαιότερο αρχείο συγχρονισμού '%1', αλλά δεν μπόρεσε να αφαιρεθεί. Παρακαλώ βεβαιωθείτε ότι καμμία εφαρμογή δεν το χρησιμοποιεί αυτή τη στιγμή. - + Undefined State. Απροσδιόριστη Κατάσταση. - + Waits to start syncing. Αναμονή έναρξης συγχρονισμού. - + Preparing for sync. Προετοιμασία για συγχρονισμό. - + Sync is running. Ο συγχρονισμός εκτελείται. - + Server is currently not available. Ο διακομιστής δεν είναι διαθέσιμος προς το παρόν. - + 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 (Παύση συγχρονισμού) @@ -592,17 +592,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Δεν ελήφθη E-Tag από το διακομιστή, ελέγξτε το διακομιστή μεσολάβησης/πύλη - + We received a different E-Tag for resuming. Retrying next time. Ελήφθη διαφορετικό E-Tag για συνέχιση. Επανάληψη την επόμενη φορά. - + Connection Timeout Λήξη Χρόνου Αναμονής Σύνδεσης @@ -1274,7 +1274,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Το αρχείο %1 δεν είναι δυνατό να ληφθεί λόγω διένεξης με το όνομα ενός τοπικού αρχείου! @@ -1374,22 +1374,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Το αρχείο υπέστη επεξεργασία τοπικά αλλά είναι τμήμα ενός διαμοιρασμένου καταλόγου μόνο για ανάγνωση. Επαναφέρθηκε και το επεξεργασμένο βρίσκεται στο αρχείο συγκρούσεων. - + The local file was removed during sync. Το τοπικό αρχείο αφαιρέθηκε κατά το συγχρονισμό. - + Local file changed during sync. Το τοπικό αρχείο τροποποιήθηκε κατά τον συγχρονισμό. - + The server did not acknowledge the last chunk. (No e-tag were present) Ο διακομιστής δεν αναγνώρισε το τελευταίο τμήμα. (Δεν υπήρχε e-tag) diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index c9167915b..74d529070 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. - + Waits to start syncing. - + Preparing for sync. - + Sync is running. - + Server is currently not available. - + 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) @@ -590,17 +590,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1268,7 +1268,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1368,22 +1368,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index b3df3e085..cf8d3c366 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -375,67 +375,67 @@ Está seguro de que desea realizar esta operación? Mirall::FolderMan - + Could not reset folder state No se ha podido restablecer el estado de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. El servidor no está disponible en el momento - + 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) @@ -591,17 +591,17 @@ Está seguro de que desea realizar esta operación? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway No se recibió ninguna e-tag del servidor, revisar el proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Se recibió una e-tag distinta para reanudar. Se intentará nuevamente. - + Connection Timeout Tiempo de espera de conexión agotado @@ -1273,7 +1273,7 @@ No se recomienda usarlo. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! ¡El fichero %1 no puede ser descargado debido al nombre de la clase de un fichero local! @@ -1373,22 +1373,22 @@ No se recomienda usarlo. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. El archivo fue modificado localmente, pero es parte de una carpeta compartida en modo de solo lectura. Ha sido recuperado y tu modificación está en el archivo de conflicto. - + The local file was removed during sync. El archivo local fue eliminado durante la sincronización. - + Local file changed during sync. Un archivo local fue modificado durante la sincronización. - + The server did not acknowledge the last chunk. (No e-tag were present) El servidor no reconoció la última parte. (No había una e-tag presente.) diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index 70152b945..89ab053a5 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -374,67 +374,67 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::FolderMan - + Could not reset folder state No se pudo - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. El servidor actualmente no está disponible. - + 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) @@ -590,17 +590,17 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1270,7 +1270,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1370,22 +1370,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 75a77fa12..11162c2d6 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -375,67 +375,67 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::FolderMan - + Could not reset folder state Ei suutnud tühistada kataloogi staatust - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Server pole hetkel saadaval. - + 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) @@ -591,17 +591,17 @@ Oled kindel, et soovid seda operatsiooni teostada? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ühtegi E-Silti ei saabunud serverist, kontrolli puhverserverit/lüüsi. - + We received a different E-Tag for resuming. Retrying next time. Saime jätkamiseks erineva E-Sildi. Proovin järgmine kord uuesti. - + Connection Timeout Ühenduse aegumine @@ -1273,7 +1273,7 @@ Selle kasutamine pole soovitatav. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Faili %1 ei saa alla laadida kuna on konflikt kohaliku faili nimega. @@ -1373,22 +1373,22 @@ Selle kasutamine pole soovitatav. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Faili on lokaalselt muudetud, kuid see on osa kirjutamisõiguseta jagamisest. See on taastatud ning sinu muudatus on konfliktses failis. - + The local file was removed during sync. Kohalik fail on eemaldatud sünkroniseeringu käigus. - + Local file changed during sync. Kohalik fail muutus sünkroniseeringu käigus. - + The server did not acknowledge the last chunk. (No e-tag were present) Server ei tunnistanud viimast tükki. (E-silt puudus). diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 4b70aaaa6..e2f478cf7 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Ezin izan da karpetaren egoera berrezarri - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Definitu gabeko egoera. - + Waits to start syncing. Itxoiten sinkronizazioa hasteko. - + Preparing for sync. Sinkronizazioa prestatzen. - + Sync is running. Sinkronizazioa martxan da. - + Server is currently not available. Zerbitzaria orain ez dago eskuragarri. - + 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) @@ -588,17 +588,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ez da E-Tagik jaso zerbitzaritik, egiaztatu Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1268,7 +1268,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1368,22 +1368,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 4c2eeee11..5ed2a3765 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state نمی تواند حالت پوشه را تنظیم مجدد کند - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. موقعیت تعریف نشده - + Waits to start syncing. صبر کنید تا همگام سازی آغاز شود - + Preparing for sync. - + Sync is running. همگام سازی در حال اجراست - + Server is currently not available. - + 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) @@ -588,17 +588,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1266,7 +1266,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1366,22 +1366,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index fc42c7b24..901510a30 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -373,67 +373,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Kansion tilaa ei voitu alustaa - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + 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. - + Server is currently not available. Palvelin ei ole käytettävissä. - + 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) @@ -589,17 +589,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout Yhteys aikakatkaistiin @@ -1269,7 +1269,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1369,22 +1369,22 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. Paikallinen tiedosto poistettiin synkronoinnin aikana. - + Local file changed during sync. Paikallinen tiedosto muuttui synkronoinnin aikana. - + The server did not acknowledge the last chunk. (No e-tag were present) @@ -1962,7 +1962,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. 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 @@ -1973,12 +1973,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. Not allowed to remove, restoring - + Poistaminen ei ole sallittua, palautetaan Move not allowed, item restored - + Siirtäminen ei ole sallittua, kohde palautettu diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 697076c72..2b5238eb7 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -375,67 +375,67 @@ Voulez-vous réellement effectuer cette opération ? Mirall::FolderMan - + Could not reset folder state Impossible de réinitialiser l'état du dossier - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Le serveur est indisponible actuellement. - + 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) @@ -591,17 +591,17 @@ Voulez-vous réellement effectuer cette opération ? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Aucun E-Tag reçu du serveur, vérifiez le proxy / la passerelle - + We received a different E-Tag for resuming. Retrying next time. Nous avons reçu un E-Tag différent pour reprendre le téléchargement. Nouvel essai la prochaine fois. - + Connection Timeout Temps de connexion expiré @@ -1273,7 +1273,7 @@ Il est déconseillé de l'utiliser. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! File %1 ne peut pas être téléchargé en raison d'un conflit sur le nom du fichier local. @@ -1373,22 +1373,22 @@ Il est déconseillé de l'utiliser. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Le fichier a été modifié localement mais appartient à un partage en lecture seule. Il a été restauré et vos modifications sont présentes dans le fichiers de confit. - + The local file was removed during sync. Fichier local supprimé pendant la synchronisation. - + Local file changed during sync. Fichier local modifié pendant la synchronisation. - + The server did not acknowledge the last chunk. (No e-tag were present) Le serveur n'a pas acquitté le dernier morceau (aucun e-tag n'était présent). diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index a3d8ca009..8fad57106 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -375,67 +375,67 @@ Confirma que quere realizar esta operación? Mirall::FolderMan - + Could not reset folder state Non foi posíbel restabelecer o estado do cartafol - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Atopouse un rexistro de sincronización antigo en «%1» máis non pode ser retirado. Asegúrese de que non o está a usar ningún aplicativo. - + 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. - + Server is currently not available. O servidor non está dispoñíbel actualmente. - + 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) @@ -591,17 +591,17 @@ Confirma que quere realizar esta operación? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Non se recibiu a «E-Tag» do servidor, comprobe o proxy e/ou a pasarela - + We received a different E-Tag for resuming. Retrying next time. Recibiuse unha «E-Tag» diferente para continuar. Tentándoo outra vez. - + Connection Timeout Esgotouse o tempo de conexión @@ -1273,7 +1273,7 @@ Recomendámoslle que non o use. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Non é posíbel descargar o ficheiro %1 por mor dunha colisión co nome dun ficheiro local! @@ -1373,22 +1373,22 @@ Recomendámoslle que non o use. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. O ficheiro foi editado localmente mais é parte dunha compartición de só lectura. O ficheiro foi restaurado e a súa edición atopase no ficheiro de conflitos. - + The local file was removed during sync. O ficheiro local retirarase durante a sincronización. - + Local file changed during sync. O ficheiro local cambiou durante a sincronización. - + The server did not acknowledge the last chunk. (No e-tag were present) O servidor non recoñeceu o último fragmento. (Non hai e-tag presente) diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index 253f0c13b..a9b7c2204 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + 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. - + Server is currently not available. A kiszolgáló jelenleg nem érhető el. - + 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) @@ -588,17 +588,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1266,7 +1266,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1366,22 +1366,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 53c0b9951..ca34a1ac5 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -375,67 +375,67 @@ Sei sicuro di voler eseguire questa operazione? Mirall::FolderMan - + Could not reset folder state Impossibile ripristinare lo stato della cartella - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. È 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. - + Server is currently not available. Il server è attualmente non disponibile. - + 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) @@ -591,17 +591,17 @@ Sei sicuro di voler eseguire questa operazione? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nessun e-tag ricevuto dal server, controlla il proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Abbiamo ricevuto un e-tag diverso per il recupero. Riprova più tardi. - + Connection Timeout Connessione scaduta @@ -1272,7 +1272,7 @@ Non è consigliabile utilizzarlo. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Il file %1 non può essere scaricato a causa di un conflitto con un file locale. @@ -1372,22 +1372,22 @@ Non è consigliabile utilizzarlo. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Il file è stato modificato localmente, ma è parte di una condivisione in sola lettura. È stato ripristinato e la tua modifica è nel file di conflitto. - + The local file was removed during sync. Il file locale è stato rimosso durante la sincronizzazione. - + Local file changed during sync. Un file locale è cambiato durante la sincronizzazione. - + The server did not acknowledge the last chunk. (No e-tag were present) Il server non ha riconosciuto l'ultimo pezzo. (Non era presente alcun e-tag) diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index 74cd06f54..c8bb2917f 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -375,67 +375,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state フォルダーの状態をリセットできませんでした - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 古い同期ジャーナル '%1' が見つかりましたが、削除できませんでした。それを現在使用しているアプリケーションが存在しないか確認してください。 - + Undefined State. 未定義の状態。 - + Waits to start syncing. 同期開始を待機中 - + Preparing for sync. 同期の準備中。 - + Sync is running. 同期を実行中です。 - + Server is currently not available. サーバーは現在利用できません。 - + 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 (同期を一時停止) @@ -591,17 +591,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway サーバーからE-Tagを受信できません。プロキシ/ゲートウェイを確認してください。 - + We received a different E-Tag for resuming. Retrying next time. 同期再開時に違う E-Tagを受信しました。次回リトライします。 - + Connection Timeout 接続タイムアウト @@ -1271,7 +1271,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! ファイル %1 はローカルファイル名が衝突しているためダウンロードできません! @@ -1371,22 +1371,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. ファイルがローカルで編集されましたが、読み込み専用の共有の一部です。ファイルは復元され、あなたの編集は競合するファイル内にあります。 - + The local file was removed during sync. ローカルファイルを同期時に削除します。 - + Local file changed during sync. ローカルのファイルが同期中に変更されました。 - + The server did not acknowledge the last chunk. (No e-tag were present) サーバーは最終チャンクを認識しません。(e-tag が存在しません) diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 07597439b..d7e0f88ee 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -375,67 +375,67 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::FolderMan - + Could not reset folder state Kan de beginstaat van de map niet terugzetten - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. De server is nu niet beschikbaar. - + 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) @@ -591,17 +591,17 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Geen E-Tag ontvangen van de server, controleer Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. We ontvingen een afwijkende E-Tag om door te gaan. We proberen het later opnieuw. - + Connection Timeout Verbindingstime-out @@ -1273,7 +1273,7 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Bestand %1 kan niet worden gedownload omdat de naam conflicteert met een lokaal bestand @@ -1373,22 +1373,22 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Het bestand is lokaal bewerkt, maar hoort bij een alleen-lezen share. Het originele bestand is teruggezet en uw bewerking staat in het conflicten bestand. - + The local file was removed during sync. Het lokale bestand werd verwijderd tijdens sync. - + Local file changed during sync. Lokaal bestand gewijzigd bij sync. - + The server did not acknowledge the last chunk. (No e-tag were present) De server heeft het laatste deel niet bevestigd (er was geen e-tag aanwezig) diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index d57bcce04..9b973885c 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -375,67 +375,67 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::FolderMan - + Could not reset folder state Nie udało się zresetować stanu folderu - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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 - + Server is currently not available. Serwer jest obecnie niedostępny. - + 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) @@ -591,17 +591,17 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nie otrzymano E-Tag z serwera, sprawdź Proxy/Bramę - + We received a different E-Tag for resuming. Retrying next time. Otrzymaliśmy inny E-Tag wznowienia. Spróbuje ponownie następnym razem. - + Connection Timeout Limit czasu połączenia @@ -1273,7 +1273,7 @@ Niezalecane jest jego użycie. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Nie można pobrać pliku %1 ze względu na konflikt nazwy pliku lokalnego! @@ -1373,22 +1373,22 @@ Niezalecane jest jego użycie. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Plik był edytowany lokalnie ale jest częścią udziału z prawem tylko do odczytu. Został przywrócony i Twoja edycja jest w pliku konfliktu - + The local file was removed during sync. - + Local file changed during sync. Lokalny plik zmienił się podczas synchronizacji. - + The server did not acknowledge the last chunk. (No e-tag were present) Serwer nie potwierdził ostatniego łańcucha danych. (Nie było żadnego e-tag-u) diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index fb0367824..02debb480 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -374,67 +374,67 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::FolderMan - + Could not reset folder state Não foi possível repor o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. O servidor não está disponível de momento. - + 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) @@ -590,17 +590,17 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nenhum E-Tag recebido do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tentando uma próxima vez. - + Connection Timeout O tempo de ligação expirou @@ -1270,7 +1270,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! O ficheiro %1 não pode ser descarregado devido a conflito com um nome de ficheiro local! @@ -1370,22 +1370,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. O ficheiro foi editado localmente mas faz parte de uma prtilha só de leitura. Foi restaurado mas a edição está no ficheiro de conflito. - + The local file was removed during sync. O arquivo local foi removido durante a sincronização. - + Local file changed during sync. Ficheiro local alterado durante a sincronização. - + The server did not acknowledge the last chunk. (No e-tag were present) O servidor não reconheceu o último bloco. (Nenhuma e-tag estava presente) diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index aea6fc567..11cfde759 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -375,67 +375,67 @@ Você tem certeza que quer executar esta operação? Mirall::FolderMan - + Could not reset folder state Não foi possível redefinir o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Servidor indisponível no momento. - + 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) @@ -591,17 +591,17 @@ Você tem certeza que quer executar esta operação? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nenhuma E-Tag recebida do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tente uma próxima vez. - + Connection Timeout Conexão Finalizada @@ -1271,7 +1271,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! O arquivo %1 não pode ser baixado por causa de um confronto local no nome do arquivo! @@ -1371,22 +1371,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. O arquivo foi editado localmente mas faz parte de compartilhamento só de leitura. Ele foi restaurado mas sua edição está em conflito com o arquivo. - + The local file was removed during sync. O arquivo local foi removido durante a sincronização. - + Local file changed during sync. Arquivo local modificado durante a sincronização. - + The server did not acknowledge the last chunk. (No e-tag were present) O servidor não reconheceu o último bloco. (Nenhuma e-tag estava presente) diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index fd1d4d41d..04a55c584 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Невозможно сбросить состояние папки - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Найден старый журнал синхронизации '%1', и он не может быть удалён. Пожалуйста убедитесь что он не открыт в каком-либо приложении. - + Undefined State. Неопределенное состояние. - + Waits to start syncing. Ожидает, чтобы начать синхронизацию. - + Preparing for sync. Подготовка к синхронизации. - + Sync is running. Идет синхронизация. - + Server is currently not available. Сервер недоступен. - + 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) %! (синхронизация приостановлена) @@ -590,17 +590,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway E-Tag от сервера на получен, проверьте сетевые настройки (настройки прокси, шлюз). - + We received a different E-Tag for resuming. Retrying next time. Мы получили другой E-Tag для возобновления. Повторите попытку позже. - + Connection Timeout Тайм-аут подключения @@ -1272,7 +1272,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1372,22 +1372,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. Локальный файл был удалён в процессе синхронизации. - + Local file changed during sync. Локальный файл изменился в процессе синхронизации. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index 47db84530..b5988ddef 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -374,67 +374,67 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::FolderMan - + Could not reset folder state Nemožno resetovať stav priečinka - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Sever momentálne nie je prístupný. - + 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á) @@ -590,17 +590,17 @@ Ste si istý, že chcete uskutočniť danú operáciu? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Zo servera nebol prijatý E-Tag, skontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Prijali sme iný E-Tag pre pokračovanie. Skúsim to neskôr znovu. - + Connection Timeout Spojenie vypršalo @@ -1272,7 +1272,7 @@ Nie je vhodné ju používať. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Súbor %1 nie je možné stiahnuť, pretože súbor s rovnakým menom už existuje! @@ -1372,22 +1372,22 @@ Nie je vhodné ju používať. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Súbor bol zmenený, ale je súčasťou zdieľania len na čítanie. Pôvodný súbor bol obnovený a upravená verzia je uložená v konfliktnom súbore. - + The local file was removed during sync. Lokálny súbor bol odstránený počas synchronizácie. - + Local file changed during sync. Lokálny súbor bol zmenený počas synchronizácie. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 5a0701f13..b19178eff 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -374,67 +374,67 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::FolderMan - + Could not reset folder state Ni mogoče ponastaviti stanja mape - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Strežnik trenutno ni na voljo. - + 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) @@ -590,17 +590,17 @@ Ali sta prepričani, da želite izvesti to opravilo? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ni prejete oznake s strežnika. Preveriti je treba podatke posredovalnega strežnika ali prehoda. - + We received a different E-Tag for resuming. Retrying next time. Prejeta je različna oznaka za nadaljevanje opravila. Ponovni poskus bo izveden kasneje. - + Connection Timeout Povezava časovno pretekla @@ -1272,7 +1272,7 @@ Uporaba ni priporočljiva. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Datoteke %1 ni mogoče prejeti zaradi neskladja z imenom krajevne datoteke! @@ -1372,22 +1372,22 @@ Uporaba ni priporočljiva. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Datoteka je bila krajevno spremenjena, vendar pa je označena za souporabo le za branje. Izvorna datoteka je obnovljena, vaše spremembe pa so zabeležene v datoteki spora. - + The local file was removed during sync. - + Local file changed during sync. Krajevna datoteka je bila med usklajevanjem spremenjena. - + The server did not acknowledge the last chunk. (No e-tag were present) Strežnik ni prepoznal zadnjega niza besed. (ni določenih e-oznak) diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index 385cd622a..de5b24fdf 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -375,67 +375,67 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::FolderMan - + Could not reset folder state Kunde inte återställa mappens skick - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Servern är för tillfället inte tillgänglig. - + 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) @@ -591,17 +591,17 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ingen e-tag mottogs från servern, kontrollera proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Vi mottog en helt annan e-tag för att återuppta. Försök igen nästa gång. - + Connection Timeout Anslutningen avbröts på grund av timeout @@ -1273,7 +1273,7 @@ Det är inte lämpligt använda den. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Fil %1 kan inte laddas ner på grund av namnkonflikt med en lokal fil! @@ -1373,22 +1373,22 @@ Det är inte lämpligt använda den. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Filen ändrades lokalt men är en del av en endast-läsbar delning. Den återställdes och din editering är i konflikt filen. - + The local file was removed during sync. Den lokala filen togs bort under synkronisering. - + Local file changed during sync. Lokal fil ändrades under synk. - + The server did not acknowledge the last chunk. (No e-tag were present) Servern bekräftade inte det sista fil-fragmentet (Ingen e-tag fanns tillgänglig) diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index 76360353a..ee605ec1a 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. สถานะที่ยังไม่ได้ถูกกำหนด - + Waits to start syncing. รอการเริ่มต้นซิงค์ข้อมูล - + Preparing for sync. - + Sync is running. การซิงค์ข้อมูลกำลังทำงาน - + Server is currently not available. - + 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) @@ -588,17 +588,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1266,7 +1266,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1366,22 +1366,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index d26d699c8..ef7bc37f2 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -375,67 +375,67 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::FolderMan - + Could not reset folder state Klasör durumu sıfırılanamadı - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 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. - + Server is currently not available. Sunucu şu an kullanılabilir değil. - + 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ı) @@ -591,17 +591,17 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Sunucudan E-Etiket alınamadı, Vekil sunucu/Ağ geçidini denetleyin. - + We received a different E-Tag for resuming. Retrying next time. Devam etmek üzere farklı bir E-Etiket aldık. Sonraki işlemde yeniden denenecek. - + Connection Timeout Bağlantı Zaman Aşımı @@ -1273,7 +1273,7 @@ Kullanmanız önerilmez. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! %1 dosyası, yerel dosya adı çakışması nedeniyle indirilemiyor! @@ -1373,22 +1373,22 @@ Kullanmanız önerilmez. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Dosya yerel olarak düzenlendi ancak salt okunur paylaşımın bir parçası. Geri yüklendi ve düzenlemeniz çakışan dosyada. - + The local file was removed during sync. Eşitleme sırasında yerel dosya kaldırıldı. - + Local file changed during sync. Eşitleme sırasında yerel dosya değişti. - + The server did not acknowledge the last chunk. (No e-tag were present) Sunucu son yığını onaylamadı. (Mevcut e-etiket bulunamadı) diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index d42e57372..c8ea419b9 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state Не вдалося скинути стан теки - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + Undefined State. Невизначений стан. - + Waits to start syncing. Очікування початку синхронізації. - + Preparing for sync. Підготовка до синхронізації - + Sync is running. Синхронізація запущена. - + Server is currently not available. Сервер наразі недоступний. - + 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) @@ -590,17 +590,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1268,7 +1268,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1368,22 +1368,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index a34da98ab..23030f37f 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -374,67 +374,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state 不能重置文件夹状态 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 一个旧的同步日志 '%1' 被找到,但是不能被移除。请确定没有应用程序正在使用它。 - + Undefined State. 未知状态。 - + Waits to start syncing. 等待启动同步。 - + Preparing for sync. 准备同步。 - + Sync is running. 同步正在运行。 - + Server is currently not available. 服务器当前是不可用的。 - + 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 (同步已暂停) @@ -590,17 +590,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway 未能收到来自服务器的 E-Tag,请检查代理/网关 - + We received a different E-Tag for resuming. Retrying next time. 我们收到了不同的恢复 E-Tag,将在下次尝试。 - + Connection Timeout 连接超时 @@ -1270,7 +1270,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1370,22 +1370,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. 本地文件在同步时已修改。 - + The server did not acknowledge the last chunk. (No e-tag were present) diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index dbdeed79b..48454e4b4 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -372,67 +372,67 @@ Are you sure you want to perform this operation? Mirall::FolderMan - + Could not reset folder state 無法重置資料夾狀態 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 發現較舊的同步處理日誌'%1',但無法移除。請確認沒有應用程式正在使用它。 - + Undefined State. 未知狀態 - + Waits to start syncing. 等待啟動同步 - + Preparing for sync. 正在準備同步。 - + Sync is running. 同步執行中 - + Server is currently not available. - + 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 (同步暫停) @@ -588,17 +588,17 @@ Are you sure you want to perform this operation? Mirall::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Connection Timeout @@ -1266,7 +1266,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! @@ -1366,22 +1366,22 @@ It is not advisable to use it. Mirall::PropagateUploadFileQNAM - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag were present) From c35880d4f17a1263d5f1c75814d5edf707f2aa2f Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 18 Jul 2014 12:02:57 +0200 Subject: [PATCH 178/190] Fix corruption while trying to resume and the server don't suport it Issue #1982 --- src/mirall/propagator_legacy.cpp | 46 +++++++++++++++++++++++++------- src/mirall/propagator_legacy.h | 6 ++++- src/mirall/propagator_qnam.cpp | 30 ++++++++++++++++++++- src/mirall/propagator_qnam.h | 9 ++++--- 4 files changed, 75 insertions(+), 16 deletions(-) diff --git a/src/mirall/propagator_legacy.cpp b/src/mirall/propagator_legacy.cpp index 34ae55d03..faf3cd1c3 100644 --- a/src/mirall/propagator_legacy.cpp +++ b/src/mirall/propagator_legacy.cpp @@ -397,24 +397,39 @@ void PropagateDownloadFileLegacy::install_content_reader( ne_request *req, void if (etag.isEmpty()) { qDebug() << Q_FUNC_INFO << "No E-Tag reply by server, considering it invalid" << ne_get_response_header(req, "etag"); - that->errorString = tr("No E-Tag received from server, check Proxy/Gateway"); - ne_set_error(that->_propagator->_session, "%s", that->errorString.toUtf8().data()); - ne_add_response_body_reader( req, do_not_accept, - do_not_download_content_reader, - (void*) that ); + that->abortTransfer(req, tr("No E-Tag received from server, check Proxy/Gateway")); return; } else if (!that->_expectedEtagForResume.isEmpty() && that->_expectedEtagForResume != etag) { qDebug() << Q_FUNC_INFO << "We received a different E-Tag for resuming!" << QString::fromLatin1(that->_expectedEtagForResume.data()) << "vs" << QString::fromLatin1(etag.data()); - that->errorString = tr("We received a different E-Tag for resuming. Retrying next time."); - ne_set_error(that->_propagator->_session, "%s", that->errorString.toUtf8().data()); - ne_add_response_body_reader( req, do_not_accept, - do_not_download_content_reader, - (void*) that ); + that->abortTransfer(req, tr("We received a different E-Tag for resuming. Retrying next time.")); return; } + quint64 start = 0; + QByteArray ranges = ne_get_response_header(req, "content-range"); + if (!ranges.isEmpty()) { + QRegExp rx("bytes (\\d+)-"); + if (rx.indexIn(ranges) >= 0) { + start = rx.cap(1).toULongLong(); + } + } + if (start != that->_resumeStart) { + qDebug() << Q_FUNC_INFO << "Wrong content-range: "<< ranges << " while expecting start was" << that->_resumeStart; + if (start == 0) { + // device don't support range, just stry again from scratch + that->_file->close(); + if (!that->_file->open(QIODevice::WriteOnly)) { + that->abortTransfer(req, that->_file->errorString()); + return; + } + } else { + that->abortTransfer(req, tr("Server returned wrong content-range")); + return; + } + } + const char *enc = ne_get_response_header( req, "Content-Encoding" ); qDebug("Content encoding ist <%s> with status %d", enc ? enc : "empty", @@ -431,6 +446,16 @@ void PropagateDownloadFileLegacy::install_content_reader( ne_request *req, void } } +void PropagateDownloadFileLegacy::abortTransfer(ne_request* req, const QString& error) +{ + errorString = error; + ne_set_error(_propagator->_session, "%s", errorString.toUtf8().data()); + ne_add_response_body_reader( req, do_not_accept, + do_not_download_content_reader, + this); +} + + void PropagateDownloadFileLegacy::notify_status_cb(void* userdata, ne_session_status status, const ne_session_status_info* info) { @@ -521,6 +546,7 @@ void PropagateDownloadFileLegacy::start() ne_add_request_header(req.data(), "Range", rangeRequest.constData()); ne_add_request_header(req.data(), "Accept-Ranges", "bytes"); qDebug() << "Retry with range " << rangeRequest; + _resumeStart = done; } /* hook called before the content is parsed to set the correct reader, diff --git a/src/mirall/propagator_legacy.h b/src/mirall/propagator_legacy.h index a624064b7..40cd5ec08 100644 --- a/src/mirall/propagator_legacy.h +++ b/src/mirall/propagator_legacy.h @@ -53,13 +53,14 @@ class PropagateDownloadFileLegacy: public PropagateNeonJob { Q_OBJECT public: explicit PropagateDownloadFileLegacy(OwncloudPropagator* propagator,const SyncFileItem& item) - : PropagateNeonJob(propagator, item), _file(0) {} + : PropagateNeonJob(propagator, item), _file(0), _resumeStart(0) {} void start(); private: QFile *_file; QScopedPointer _decompress; QString errorString; QByteArray _expectedEtagForResume; + quint64 _resumeStart; static int do_not_accept (void *userdata, ne_request *req, const ne_status *st) { @@ -78,6 +79,9 @@ private: static void install_content_reader( ne_request *req, void *userdata, const ne_status *status ); static void notify_status_cb(void* userdata, ne_session_status status, const ne_session_status_info* info); + + /** To be called from install_content_reader if we want to abort the transfer */ + void abortTransfer(ne_request *req, const QString &error); }; } diff --git a/src/mirall/propagator_qnam.cpp b/src/mirall/propagator_qnam.cpp index a4acd5d73..e3a6a91e7 100644 --- a/src/mirall/propagator_qnam.cpp +++ b/src/mirall/propagator_qnam.cpp @@ -438,6 +438,34 @@ void GETFileJob::slotMetaDataChanged() reply()->abort(); return; } + + quint64 start = 0; + QByteArray ranges = parseEtag(reply()->rawHeader("Content-Range")); + if (!ranges.isEmpty()) { + QRegExp rx("bytes (\\d+)-"); + if (rx.indexIn(ranges) >= 0) { + start = rx.cap(1).toULongLong(); + } + } + if (start != _resumeStart) { + qDebug() << Q_FUNC_INFO << "Wrong content-range: "<< ranges << " while expecting start was" << _resumeStart; + if (start == 0) { + // device don't support range, just stry again from scratch + _device->close(); + if (!_device->open(QIODevice::WriteOnly)) { + _errorString = _device->errorString(); + _errorStatus = SyncFileItem::NormalError; + reply()->abort(); + return; + } + } else { + _errorString = tr("Server returned wrong content-range"); + _errorStatus = SyncFileItem::NormalError; + reply()->abort(); + return; + } + } + } void GETFileJob::slotReadyRead() @@ -544,7 +572,7 @@ void PropagateDownloadFileQNAM::start() _job = new GETFileJob(AccountManager::instance()->account(), _propagator->_remoteFolder + _item._file, - &_tmpFile, headers, expectedEtagForResume); + &_tmpFile, headers, expectedEtagForResume, _startSize); _job->setTimeout(_propagator->httpTimeout() * 1000); connect(_job, SIGNAL(finishedSignal()), this, SLOT(slotGetFinished())); connect(_job, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(slotDownloadProgress(qint64,qint64))); diff --git a/src/mirall/propagator_qnam.h b/src/mirall/propagator_qnam.h index 6df32a678..7c92b8d69 100644 --- a/src/mirall/propagator_qnam.h +++ b/src/mirall/propagator_qnam.h @@ -105,20 +105,21 @@ private slots: class GETFileJob : public AbstractNetworkJob { Q_OBJECT - QIODevice* _device; + QFile* _device; QMap _headers; QString _errorString; QByteArray _expectedEtagForResume; + quint64 _resumeStart; SyncFileItem::Status _errorStatus; public: // DOES NOT take owncership of the device. - explicit GETFileJob(Account* account, const QString& path, QIODevice *device, + explicit GETFileJob(Account* account, const QString& path, QFile *device, const QMap &headers, QByteArray expectedEtagForResume, - QObject* parent = 0) + quint64 resumeStart, QObject* parent = 0) : AbstractNetworkJob(account, path, parent), _device(device), _headers(headers), _expectedEtagForResume(expectedEtagForResume), - _errorStatus(SyncFileItem::NoStatus) {} + _resumeStart(resumeStart), _errorStatus(SyncFileItem::NoStatus) {} virtual void start(); virtual bool finished() { From 74b3e2ce3f579e3de31f12a87ca2153eb4fd2ac4 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 18 Jul 2014 12:19:46 +0200 Subject: [PATCH 179/190] tests: Another try to get around the jenkins test problem. --- csync/tests/ownCloud/ownCloud/Test.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/csync/tests/ownCloud/ownCloud/Test.pm b/csync/tests/ownCloud/ownCloud/Test.pm index 9540682b1..3538d83b0 100644 --- a/csync/tests/ownCloud/ownCloud/Test.pm +++ b/csync/tests/ownCloud/ownCloud/Test.pm @@ -34,6 +34,7 @@ use LWP::UserAgent; use LWP::Protocol::https; use HTTP::Request::Common qw( POST GET DELETE ); use File::Basename; +use IO::Handle; use Encode qw(from_to); use utf8; @@ -577,7 +578,7 @@ sub createLocalFile( $$ ) my $minimum = 32; my $range = 96; - for (my $bytes = 0; $bytes < $size; $bytes += 4) { + for (my $bytes = 0; $bytes < $size-1; $bytes += 4) { my $rand = int(rand($range ** 4)); my $string = ''; for (1..4) { @@ -587,6 +588,9 @@ sub createLocalFile( $$ ) print FILE $string; $md5->add($string); } + my $s = "\n"; + print FILE $s; + $md5->add($s); close FILE; return $md5->hexdigest; } From beb9300b4ee4e586682f34a5140d13709d39aca9 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 18 Jul 2014 12:27:02 +0200 Subject: [PATCH 180/190] network limit: Never wait more than 10 seconds When using the "Limit automatically" limit, we wait for 25% of the time it took to upload something. However, if we go to sleep while uploading, the time it took to upload may take days. And waiting for 25% of a day is too long. So never wait for more than 10 seconds This may be related to issue #1880 --- src/mirall/propagator_legacy.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/mirall/propagator_legacy.cpp b/src/mirall/propagator_legacy.cpp index faf3cd1c3..839606e73 100644 --- a/src/mirall/propagator_legacy.cpp +++ b/src/mirall/propagator_legacy.cpp @@ -328,8 +328,7 @@ void PropagateNeonJob::limitBandwidth(qint64 progress, qint64 bandwidth_limit) // -bandwidth_limit is the % of bandwidth int64_t wait_time = -diff * (1 + 100.0 / bandwidth_limit); if (wait_time > 0) { - Mirall::Utility::usleep(wait_time); - + Mirall::Utility::usleep(qMin(wait_time, int64_t(1000000*10))); } } _lastTime.start(); From 336e74b9921de886cc7049f2520e45e9041e1043 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 18 Jul 2014 16:52:04 +0200 Subject: [PATCH 181/190] csync_owncloud: fix the name of the permissions property --- csync/src/csync_owncloud_private.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csync/src/csync_owncloud_private.h b/csync/src/csync_owncloud_private.h index ffe84c73b..e02152b26 100644 --- a/csync/src/csync_owncloud_private.h +++ b/csync/src/csync_owncloud_private.h @@ -127,7 +127,7 @@ static const ne_propname ls_props[] = { { "http://owncloud.org/ns", "id"}, { "http://owncloud.org/ns", "dDU"}, { "http://owncloud.org/ns", "dDC"}, - { "http://owncloud.org/ns", "perm"}, + { "http://owncloud.org/ns", "permissions"}, { NULL, NULL } }; From 3cb93510ac4d5a961e5e8b13591bbfc0b2498dbc Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sat, 19 Jul 2014 01:25:30 -0400 Subject: [PATCH 182/190] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 78 +++++++++++--------- translations/mirall_cs.ts | 78 +++++++++++--------- translations/mirall_de.ts | 78 +++++++++++--------- translations/mirall_el.ts | 78 +++++++++++--------- translations/mirall_en.ts | 78 +++++++++++--------- translations/mirall_es.ts | 78 +++++++++++--------- translations/mirall_es_AR.ts | 78 +++++++++++--------- translations/mirall_et.ts | 78 +++++++++++--------- translations/mirall_eu.ts | 78 +++++++++++--------- translations/mirall_fa.ts | 78 +++++++++++--------- translations/mirall_fi.ts | 78 +++++++++++--------- translations/mirall_fr.ts | 78 +++++++++++--------- translations/mirall_gl.ts | 78 +++++++++++--------- translations/mirall_hu.ts | 78 +++++++++++--------- translations/mirall_it.ts | 78 +++++++++++--------- translations/mirall_ja.ts | 78 +++++++++++--------- translations/mirall_nl.ts | 78 +++++++++++--------- translations/mirall_pl.ts | 78 +++++++++++--------- translations/mirall_pt.ts | 78 +++++++++++--------- translations/mirall_pt_BR.ts | 78 +++++++++++--------- translations/mirall_ru.ts | 137 +++++++++++++++++++---------------- translations/mirall_sk.ts | 78 +++++++++++--------- translations/mirall_sl.ts | 78 +++++++++++--------- translations/mirall_sv.ts | 78 +++++++++++--------- translations/mirall_th.ts | 78 +++++++++++--------- translations/mirall_tr.ts | 78 +++++++++++--------- translations/mirall_uk.ts | 78 +++++++++++--------- translations/mirall_zh_CN.ts | 78 +++++++++++--------- translations/mirall_zh_TW.ts | 78 +++++++++++--------- 29 files changed, 1306 insertions(+), 1015 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index f153739c0..1eefecb2d 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -601,7 +601,12 @@ Esteu segur que voleu executar aquesta operació? Hem rebut un E-Tag diferent en la represa. Es comprovarà la pròxima vegada. - + + Server returned wrong content-range + + + + Connection Timeout Temps de connexió excedit @@ -1079,126 +1084,126 @@ No és aconsellada usar-la. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Intentant connectar amb %1 a %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">S'ha connectat correctament amb %1: %2 versió %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Error: credencials incorrectes. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> La carpeta local %1 ja existeix, s'està configurant per sincronitzar.<br/><br/> - + Creating local sync folder %1... Creant carpeta local de sincronització %1... - + ok correcte - + failed. ha fallat. - + Could not create local folder %1 No s'ha pogut crear la carpeta local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Ha fallat la connexió amb %1 a %2:<br/>%3 - + No remote folder specified! No heu especificat cap carpeta remota! - + Error: %1 Error: %1 - + creating folder on ownCloud: %1 creant la carpeta a ownCloud: %1 - + Remote folder %1 created successfully. La carpeta remota %1 s'ha creat correctament. - + The remote folder %1 already exists. Connecting it for syncing. La carpeta remota %1 ja existeix. S'hi està connectant per sincronitzar-les. - - + + The folder creation resulted in HTTP error code %1 La creació de la carpeta ha resultat en el codi d'error HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Ha fallat la creació de la carpeta perquè les credencials proporcionades són incorrectes!<br/>Aneu enrera i comproveu les credencials.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">La creació de la carpeta remota ha fallat, probablement perquè les credencials facilitades són incorrectes.</font><br/>Comproveu les vostres credencials.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. La creació de la carpeta remota %1 ha fallat amb l'error <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. S'ha establert una connexió de sincronització des de %1 a la carpeta remota %2. - + Successfully connected to %1! Connectat amb èxit a %1! - + Connection to %1 could not be established. Please check again. No s'ha pogut establir la connexió amb %1. Comproveu-ho de nou. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. No es pot esborrar i restaurar la carpeta perquè una carpeta o un fitxer de dins està obert en un altre programa. Tanqueu la carpeta o el fitxer i intenteu-ho de nou o cancel·leu la configuració. @@ -1250,22 +1255,27 @@ No és aconsellada usar-la. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. L'usuari ha aturat la sincronització. - + No E-Tag received from server, check Proxy/Gateway No s'ha rebut cap E-Tag del servidor, comproveu el Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. hem rebut un E-Tag diferent en la represa. Es comprovarà la pròxima vegada. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! El fitxer %1 no es pot baixar perquè hi ha un xoc amb el nom d'un fitxer local! @@ -1273,7 +1283,7 @@ No és aconsellada usar-la. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! El fitxer %1 no es pot baixar perquè hi ha un xoc amb el nom d'un fitxer local! diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 700a75097..7c3d77c44 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -601,7 +601,12 @@ Opravdu chcete provést tuto akci? Obdrželi jsme jiný E-Tag pro pokračování. Zkusím znovu příště. - + + Server returned wrong content-range + + + + Connection Timeout Spojení vypršelo @@ -1079,126 +1084,126 @@ Nedoporučuje se jí používat. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Pokouším se připojit k %1 na %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Úspěšně připojeno k %1: %2 verze %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Chyba: nesprávné přihlašovací údaje. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Místní synchronizovaná složka %1 již existuje, nastavuji ji pro synchronizaci.<br/><br/> - + Creating local sync folder %1... Vytvářím místní synchronizovanou složku %1... - + ok OK - + failed. selhalo. - + Could not create local folder %1 Nelze vytvořit místní složku %1 - - + + Failed to connect to %1 at %2:<br/>%3 Selhalo spojení s %1 v %2:<br/>%3 - + No remote folder specified! Žádná vzdálená složka nenastavena! - + Error: %1 Chyba: %1 - + creating folder on ownCloud: %1 vytvářím složku na ownCloudu: %1 - + Remote folder %1 created successfully. Vzdálená složka %1 byla úspěšně vytvořena. - + The remote folder %1 already exists. Connecting it for syncing. Vzdálená složka %1 již existuje. Spojuji ji pro synchronizaci. - - + + The folder creation resulted in HTTP error code %1 Vytvoření složky selhalo HTTP chybou %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Vytvoření vzdálené složky selhalo, pravděpodobně z důvodu neplatných přihlašovacích údajů.<br/>Vraťte se, prosím, zpět a zkontrolujte je.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Vytvoření vzdálené složky selhalo, pravděpodobně z důvodu neplatných přihlašovacích údajů.</font><br/>Vraťte se, prosím, zpět a zkontrolujte je.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Vytváření vzdálené složky %1 selhalo s chybou <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Bylo nastaveno synchronizované spojení z %1 do vzdáleného adresáře %2. - + Successfully connected to %1! Úspěšně spojeno s %1. - + Connection to %1 could not be established. Please check again. Spojení s %1 nelze navázat. Prosím zkuste to znovu. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Nelze odstranit a zazálohovat adresář, protože adresář nebo soubor v něm je otevřen v jiném programu. Prosím zavřete adresář nebo soubor a zkuste znovu nebo zrušte akci. @@ -1250,22 +1255,27 @@ Nedoporučuje se jí používat. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synchronizace zrušena uživatelem. - + No E-Tag received from server, check Proxy/Gateway Ze serveru nebyl obdržen E-Tag, zkontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Obdrželi jsme jiný E-Tag pro pokračování. Zkusím znovu příště. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Soubor %1 nemohl být stažen z důvodu kolize názvu se souborem v místním systému. @@ -1273,7 +1283,7 @@ Nedoporučuje se jí používat. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Soubor %1 nemohl být stažen z důvodu kolize názvu se souborem v místním systému. diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index db1dc1db2..2ae152ec6 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -602,7 +602,12 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Es wurde ein unterschiedlicher E-Tag zum Fortfahren empfangen. Bitte beim nächsten mal nochmal versuchen. - + + Server returned wrong content-range + + + + Connection Timeout Zeitüberschreitung der Verbindung @@ -1080,126 +1085,126 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Versuche zu %1 an %2 zu verbinden... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Erfolgreich mit %1 verbunden: %2 Version %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Fehler: Falsche Anmeldeinformationen. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Lokaler Sync-Ordner %1 existiert bereits, aktiviere Synchronistation.<br/><br/> - + Creating local sync folder %1... Erstelle lokalen Sync-Ordner %1... - + ok ok - + failed. fehlgeschlagen. - + Could not create local folder %1 Der lokale Ordner %1 konnte nicht angelegt werden - - + + Failed to connect to %1 at %2:<br/>%3 Die Verbindung zu %1 auf %2:<br/>%3 konnte nicht hergestellt werden - + No remote folder specified! Keinen fernen Ordner spezifiziert! - + Error: %1 Fehler: %1 - + creating folder on ownCloud: %1 erstelle Ordner auf ownCloud: %1 - + Remote folder %1 created successfully. Remoteordner %1 erfolgreich erstellt. - + The remote folder %1 already exists. Connecting it for syncing. Der Ordner %1 ist auf dem Server bereits vorhanden. Verbinde zur Synchronisation. - - + + The folder creation resulted in HTTP error code %1 Das Erstellen des Verzeichnisses erzeugte den HTTP-Fehler-Code %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Die Remote-Ordner-Erstellung ist fehlgeschlagen, weil die angegebenen Zugangsdaten falsch sind. Bitte gehen Sie zurück und überprüfen Sie die Zugangsdaten. - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Die Remote-Ordner-Erstellung ist fehlgeschlagen, vermutlich sind die angegebenen Zugangsdaten falsch.</font><br/>Bitte gehen Sie zurück und überprüfen Sie Ihre Zugangsdaten.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Remote-Ordner %1 konnte mit folgendem Fehler nicht erstellt werden: <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Eine Synchronisationsverbindung für Ordner %1 zum entfernten Ordner %2 wurde eingerichtet. - + Successfully connected to %1! Erfolgreich verbunden mit %1! - + Connection to %1 could not be established. Please check again. Die Verbindung zu %1 konnte nicht hergestellt werden. Bitte prüfen Sie die Einstellungen erneut. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Kann den Ordner nicht entfernen und sichern, da der Ordner oder einer seiner Dateien in einem anderen Programm geöffnet ist. Bitte schließen Sie den Ordner ode die Datei oder beenden Sie das Setup. @@ -1251,22 +1256,27 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synchronisation wurde durch den Nutzer abgebrochen. - + No E-Tag received from server, check Proxy/Gateway Kein E-Tag vom Server empfangen, bitte Proxy / Gateway überprüfen - + We received a different E-Tag for resuming. Retrying next time. Es wurde ein unterschiedlicher E-Tag zum Fortfahren empfangen. Bitte beim nächsten mal nochmal versuchen. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Die Datei %1 kann aufgrund eines Konfliktes mit dem lokalen Dateinamen nicht herunter geladen werden! @@ -1274,7 +1284,7 @@ Es ist nicht ratsam, diese zu benutzen. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Die Datei %1 kann aufgrund eines Konfliktes mit dem lokalen Dateinamen nicht herunter geladen werden! diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 1a842b22e..47dda3afe 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -602,7 +602,12 @@ Are you sure you want to perform this operation? Ελήφθη διαφορετικό E-Tag για συνέχιση. Επανάληψη την επόμενη φορά. - + + Server returned wrong content-range + + + + Connection Timeout Λήξη Χρόνου Αναμονής Σύνδεσης @@ -1080,126 +1085,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Αποτυχία μετονομασίας φακέλου - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Επιτυχής δημιουργία τοπικού φακέλου %1 για συγχρονισμό!</b></font> - + Trying to connect to %1 at %2... Προσπάθεια σύνδεσης στο %1 για %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Επιτυχής σύνδεση στο %1: %2 έκδοση %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Σφάλμα: Λάθος διαπιστευτήρια. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Ο τοπικός φάκελος συγχρονισμού %1 υπάρχει ήδη, ρύθμιση για συγχρονισμό.<br/><br/> - + Creating local sync folder %1... Δημιουργία τοπικού φακέλου %1 για συγχρονισμό... - + ok οκ - + failed. απέτυχε. - + Could not create local folder %1 Αδυναμία δημιουργίας τοπικού φακέλου %1 - - + + Failed to connect to %1 at %2:<br/>%3 Αποτυχία σύνδεσης με το %1 στο %2:<br/>%3 - + No remote folder specified! Δεν προσδιορίστηκε κανένας απομακρυσμένος φάκελος! - + Error: %1 Σφάλμα: %1 - + creating folder on ownCloud: %1 δημιουργία φακέλου στο ownCloud: %1 - + Remote folder %1 created successfully. Ο απομακρυσμένος φάκελος %1 δημιουργήθηκε με επιτυχία. - + The remote folder %1 already exists. Connecting it for syncing. Ο απομακρυσμένος φάκελος %1 υπάρχει ήδη. Θα συνδεθεί για συγχρονισμό. - - + + The folder creation resulted in HTTP error code %1 Η δημιουργία φακέλου είχε ως αποτέλεσμα τον κωδικό σφάλματος HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Η δημιουργία απομακρυσμένου φακέλλου απέτυχε επειδή τα διαπιστευτήρια είναι λάθος!<br/>Παρακαλώ επιστρέψετε και ελέγξετε τα διαπιστευτήριά σας.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Η δημιουργία απομακρυσμένου φακέλου απέτυχε, πιθανώς επειδή τα διαπιστευτήρια που δόθηκαν είναι λάθος.</font><br/>Παρακαλώ επιστρέψτε πίσω και ελέγξτε τα διαπιστευτήρια σας.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Η δημιουργία απομακρυσμένου φακέλου %1 απέτυχε με σφάλμα <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Μια σύνδεση συγχρονισμού από τον απομακρυσμένο κατάλογο %1 σε %2 έχει ρυθμιστεί. - + Successfully connected to %1! Επιτυχής σύνδεση με %1! - + Connection to %1 could not be established. Please check again. Αδυναμία σύνδεσης στον %1. Παρακαλώ ελέξτε ξανά. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Αδυναμία αφαίρεσης και δημιουργίας αντιγράφου ασφαλείας του φακέλου διότι ο φάκελος ή ένα αρχείο του είναι ανοικτό από άλλο πρόγραμμα. Παρακαλώ κλείστε τον φάκελο ή το αρχείο και πατήστε επανάληψη ή ακυρώστε την ρύθμιση. @@ -1251,22 +1256,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Ο συγχρονισμός ματαιώθηκε από τον χρήστη. - + No E-Tag received from server, check Proxy/Gateway Δεν ελήφθη E-Tag από τον διακομιστή, ελέγξτε τον διακομιστή μεσολάβησης/πύλη - + We received a different E-Tag for resuming. Retrying next time. Ελήφθη διαφορετικό E-Tag για συνέχιση. Επανάληψη την επόμενη φορά. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Το αρχείο %1 δεν είναι δυνατό να ληφθεί λόγω διένεξης με το όνομα ενός τοπικού αρχείου! @@ -1274,7 +1284,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Το αρχείο %1 δεν είναι δυνατό να ληφθεί λόγω διένεξης με το όνομα ενός τοπικού αρχείου! diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index 74d529070..e8abd573a 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -600,7 +600,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout @@ -1074,126 +1079,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> - + Trying to connect to %1 at %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> - + Error: Wrong credentials. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> - + Creating local sync folder %1... - + ok - + failed. - + Could not create local folder %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 - + creating folder on ownCloud: %1 - + Remote folder %1 created successfully. - + The remote folder %1 already exists. Connecting it for syncing. - - + + The folder creation resulted in HTTP error code %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. - + Successfully connected to %1! - + Connection to %1 could not be established. Please check again. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1245,22 +1250,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1268,7 +1278,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index cf8d3c366..909bfe1cb 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -601,7 +601,12 @@ Está seguro de que desea realizar esta operación? Se recibió una e-tag distinta para reanudar. Se intentará nuevamente. - + + Server returned wrong content-range + + + + Connection Timeout Tiempo de espera de conexión agotado @@ -1079,126 +1084,126 @@ No se recomienda usarlo. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Intentando conectar a %1 desde %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Conectado con éxito a %1: versión %2 %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Error: Credenciales erróneas. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> La carpeta de sincronización local %1 ya existe, configurándola para la sincronización.<br/><br/> - + Creating local sync folder %1... Creando la carpeta de sincronización local %1... - + ok ok - + failed. falló. - + Could not create local folder %1 No se pudo crear carpeta local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Error conectando con %1 en %2:<br/>%3 - + No remote folder specified! No se ha especificado la carpeta remota! - + Error: %1 Error: %1 - + creating folder on ownCloud: %1 creando carpeta en ownCloud: %1 - + Remote folder %1 created successfully. Carpeta remota %1 creado correctamente. - + The remote folder %1 already exists. Connecting it for syncing. La carpeta remota %1 ya existe. Conectándola para sincronizacion. - - + + The folder creation resulted in HTTP error code %1 La creación de la carpeta causó un error HTTP de código %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> ¡La creación de la carpeta remota ha fallado debido a que las credenciales proporcionadas son incorrectas!<br/>Por favor, vuelva atrás y comprueba sus credenciales</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">La creación de la carpeta remota ha fallado, probablemente porque las credenciales proporcionadas son incorrectas.</font><br/>Por favor, vuelva atrás y compruebe sus credenciales.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Creación %1 de carpeta remota ha fallado con el error <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Una conexión de sincronización desde %1 al directorio remoto %2 ha sido configurada. - + Successfully connected to %1! ¡Conectado con éxito a %1! - + Connection to %1 could not be established. Please check again. Conexión a %1 no se pudo establecer. Por favor compruebelo de nuevo. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. No se puede eliminar y respaldar la carpeta porque la misma o un fichero en ella está abierto por otro programa. Por favor, cierre la carpeta o el fichero y reintente, o cancele la instalación. @@ -1250,22 +1255,27 @@ No se recomienda usarlo. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. La sincronización ha sido Interrumpida por el usuario - + No E-Tag received from server, check Proxy/Gateway No se recibió ninguna e-tag del servidor, revisar el proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Se recibió una e-tag distinta para reanudar. Se intentará nuevamente. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! ¡El fichero %1 no puede ser descargado debido al nombre de la clase de un fichero local! @@ -1273,7 +1283,7 @@ No se recomienda usarlo. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! ¡El fichero %1 no puede ser descargado debido al nombre de la clase de un fichero local! diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index 89ab053a5..377a5e671 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -600,7 +600,12 @@ Esto se puede deber a que el directorio fue reconfigurado de manera silenciosa o - + + Server returned wrong content-range + + + + Connection Timeout @@ -1076,126 +1081,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Intentando conectar a %1 en %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Conectado a %1: versión de %2 %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Error: Credenciales erróneas. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> El directorio de sincronización local %1 ya existe, configurándolo para la sincronización.<br/><br/> - + Creating local sync folder %1... Creando el directorio %1... - + ok aceptar - + failed. Error. - + Could not create local folder %1 No fue posible crear el directorio local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Falló al conectarse a %1 en %2:<br/>%3 - + No remote folder specified! ¡No se ha especificado un directorio remoto! - + Error: %1 Error: %1 - + creating folder on ownCloud: %1 Creando carpeta en ownCloud: %1 - + Remote folder %1 created successfully. El directorio remoto %1 fue creado con éxito. - + The remote folder %1 already exists. Connecting it for syncing. El directorio remoto %1 ya existe. Estableciendo conexión para sincronizar. - - + + The folder creation resulted in HTTP error code %1 La creación del directorio resultó en un error HTTP con código de error %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> <p><font color="red">Error al crear el directorio remoto porque las credenciales provistas son incorrectas.</font><br/>Por favor, volvé atrás y verificá tus credenciales.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Error al crear el directorio remoto, probablemente porque las credenciales provistas son incorrectas.</font><br/>Por favor, volvé atrás y verificá tus credenciales.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Se prtodujo un error <tt>%2</tt> al crear el directorio remoto %1. - + A sync connection from %1 to remote directory %2 was set up. Fue creada una conexión de sincronización desde %1 al directorio remoto %2. - + Successfully connected to %1! Conectado con éxito a %1! - + Connection to %1 could not be established. Please check again. No fue posible establecer la conexión a %1. Por favor, intentalo nuevamente. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1247,22 +1252,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Sincronizaciójn abortada por el usuario. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1270,7 +1280,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 11162c2d6..6c59e89a4 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -601,7 +601,12 @@ Oled kindel, et soovid seda operatsiooni teostada? Saime jätkamiseks erineva E-Sildi. Proovin järgmine kord uuesti. - + + Server returned wrong content-range + + + + Connection Timeout Ühenduse aegumine @@ -1079,126 +1084,126 @@ Selle kasutamine pole soovitatav. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Püüan ühenduda %1 kohast %2 - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Edukalt ühendatud %1: %2 versioon %3 (4)</font><br/><br/> - + Error: Wrong credentials. Viga: Valed kasutajaandmed. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Kohalik kataloog %1 on juba olemas. Valmistan selle ette sünkroniseerimiseks. - + Creating local sync folder %1... Kohaliku kausta %1 sünkroonimise loomine ... - + ok ok - + failed. ebaõnnestus. - + Could not create local folder %1 Ei suuda tekitada kohalikku kataloogi %1 - - + + Failed to connect to %1 at %2:<br/>%3 Ühendumine ebaõnnestus %1 %2-st:<br/>%3 - + No remote folder specified! Ühtegi võrgukataloogi pole määratletud! - + Error: %1 Viga: %1 - + creating folder on ownCloud: %1 loon uue kataloogi ownCloudi: %1 - + Remote folder %1 created successfully. Eemalolev kaust %1 on loodud. - + The remote folder %1 already exists. Connecting it for syncing. Serveris on kataloog %1 juba olemas. Ühendan selle sünkroniseerimiseks. - - + + The folder creation resulted in HTTP error code %1 Kausta tekitamine lõppes HTTP veakoodiga %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Kataloogi loomine serverisse ebaõnnestus, kuna kasutajatõendid on valed!<br/>Palun kontrolli oma kasutajatunnust ja parooli.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Serveris oleva kataloogi tekitamine ebaõnnestus tõenäoliselt valede kasutajatunnuste tõttu.</font><br/>Palun mine tagasi ning kontrolli kasutajatunnust ning parooli.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Kataloogi %1 tekitamine serverisse ebaõnnestus veaga <tt>%2</tt> - + A sync connection from %1 to remote directory %2 was set up. Loodi sünkroniseerimisühendus kataloogist %1 serveri kataloogi %2 - + Successfully connected to %1! Edukalt ühendatud %1! - + Connection to %1 could not be established. Please check again. Ühenduse loomine %1 ebaõnnestus. Palun kontrolli uuesti. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Ei suuda eemaldada ning varundada kataloogi kuna kataloog või selles asuv fail on avatud mõne teise programmi poolt. Palun sulge kataloog või fail ning proovi uuesti või katkesta paigaldus. @@ -1250,22 +1255,27 @@ Selle kasutamine pole soovitatav. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Sünkroniseering katkestati kasutaja poolt. - + No E-Tag received from server, check Proxy/Gateway Ühtegi E-Silti ei saabunud serverist, kontrolli puhverserverit/lüüsi. - + We received a different E-Tag for resuming. Retrying next time. Saime jätkamiseks erineva E-Sildi. Proovin järgmine kord uuesti. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Faili %1 ei saa alla laadida kuna on konflikt kohaliku faili nimega. @@ -1273,7 +1283,7 @@ Selle kasutamine pole soovitatav. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Faili %1 ei saa alla laadida kuna on konflikt kohaliku faili nimega. diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index e2f478cf7..2a8bc9759 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -598,7 +598,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout @@ -1074,126 +1079,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... %2 zerbitzarian dagoen %1 konektatzen... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Konexioa ongi burutu da %1 zerbitzarian: %2 bertsioa %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Errorea: Kredentzial okerrak. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Bertako %1 karpeta dagoeneko existitzen da, sinkronizaziorako prestatzen.<br/><br/> - + Creating local sync folder %1... Bertako sinkronizazio %1 karpeta sortzen... - + ok ados - + failed. huts egin du. - + Could not create local folder %1 Ezin da %1 karpeta lokala sortu - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! Ez da urruneko karpeta zehaztu! - + Error: %1 Errorea: %1 - + creating folder on ownCloud: %1 ownClouden karpeta sortzen: %1 - + Remote folder %1 created successfully. Urruneko %1 karpeta ongi sortu da. - + The remote folder %1 already exists. Connecting it for syncing. Urruneko %1 karpeta dagoeneko existintzen da. Bertara konetatuko da sinkronizatzeko. - - + + The folder creation resulted in HTTP error code %1 Karpeta sortzeak HTTP %1 errore kodea igorri du - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Urruneko karpeten sortzeak huts egin du ziuraski emandako kredentzialak gaizki daudelako.</font><br/>Mesedez atzera joan eta egiaztatu zure kredentzialak.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Urruneko %1 karpetaren sortzeak huts egin du <tt>%2</tt> errorearekin. - + A sync connection from %1 to remote directory %2 was set up. Sinkronizazio konexio bat konfiguratu da %1 karpetatik urruneko %2 karpetara. - + Successfully connected to %1! %1-era ongi konektatu da! - + Connection to %1 could not be established. Please check again. %1 konexioa ezin da ezarri. Mesedez egiaztatu berriz. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1245,22 +1250,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Sinkronizazioa erabiltzaileak bertan behera utzi du - + No E-Tag received from server, check Proxy/Gateway Ez da E-Tagik jaso zerbitzaritik, egiaztatu Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1268,7 +1278,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 5ed2a3765..02149153d 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -598,7 +598,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout @@ -1072,126 +1077,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed تغییر نام پوشه ناموفق بود - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b> پوشه همگام سازی محلی %1 با موفقیت ساخته شده است!</b></font> - + Trying to connect to %1 at %2... تلاش برای اتصال %1 به %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green"> با موفقیت متصل شده است به %1: %2 نسخه %3 (%4)</font><br/><br/> - + Error: Wrong credentials. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> پوشه همگام سازی محلی %1 در حال حاضر موجود است، تنظیم آن برای همگام سازی. <br/><br/> - + Creating local sync folder %1... ایجاد پوشه همگام سازی محلی %1... - + ok خوب - + failed. ناموفق. - + Could not create local folder %1 نمی تواند پوشه محلی ایجاد کند %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 خطا: %1 - + creating folder on ownCloud: %1 ایجاد کردن پوشه بر روی ownCloud: %1 - + Remote folder %1 created successfully. پوشه از راه دور %1 با موفقیت ایجاد شده است. - + The remote folder %1 already exists. Connecting it for syncing. در حال حاضر پوشه از راه دور %1 موجود است. برای همگام سازی به آن متصل شوید. - - + + The folder creation resulted in HTTP error code %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> ایجاد پوشه از راه دور ناموفق بود به علت اینکه اعتبارهای ارائه شده اشتباه هستند!<br/>لطفا اعتبارهای خودتان را بررسی کنید.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red"> ایجاد پوشه از راه دور ناموفق بود، شاید به علت اعتبارهایی که ارئه شده اند، اشتباه هستند.</font><br/> لطفا باز گردید و اعتبار خود را بررسی کنید.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. ایجاد پوشه از راه دور %1 ناموفق بود با خطا <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. یک اتصال همگام سازی از %1 تا %2 پوشه از راه دور راه اندازی شد. - + Successfully connected to %1! با موفقیت به %1 اتصال یافت! - + Connection to %1 could not be established. Please check again. اتصال به %1 نمی تواند مقرر باشد. لطفا دوباره بررسی کنید. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1243,22 +1248,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1266,7 +1276,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 901510a30..37ca946bb 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -599,7 +599,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout Yhteys aikakatkaistiin @@ -1075,126 +1080,126 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Yritetään yhdistetää palvelimeen %1 portissa %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Muodostettu yhteys onnistuneesti kohteeseen %1: %2 versio %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Virhe: väärät tilitiedot. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Paikallinen kansio %1 on jo olemassa, asetetaan se synkronoitavaksi.<br/><br/> - + Creating local sync folder %1... Luodaan paikallista synkronointikansiota %1... - + ok ok - + failed. epäonnistui. - + Could not create local folder %1 Paikalliskansion %1 luonti epäonnistui - - + + Failed to connect to %1 at %2:<br/>%3 Yhteys %1iin osoitteessa %2 epäonnistui:<br/>%3 - + No remote folder specified! Etäkansiota ei määritelty! - + Error: %1 Virhe: %1 - + creating folder on ownCloud: %1 luodaan kansio ownCloudiin: %1 - + Remote folder %1 created successfully. Etäkansio %1 luotiin onnistuneesti. - + The remote folder %1 already exists. Connecting it for syncing. Etäkansio %1 on jo olemassa. Otetaan siihen yhteyttä tiedostojen täsmäystä varten. - - + + The folder creation resulted in HTTP error code %1 Kansion luonti aiheutti HTTP-virhekoodin %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Etäkansion luominen epäonnistui koska antamasi tunnus/salasana ei täsmää!<br/>Ole hyvä ja palaa tarkistamaan tunnus/salasana</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Pilvipalvelun etäkansion luominen ei onnistunut , koska tunnistautumistietosi ovat todennäköisesti väärin.</font><br/>Palaa takaisin ja tarkista käyttäjätunnus ja salasana.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Etäkansion %1 luonti epäonnistui, virhe <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Täsmäysyhteys kansiosta %1 etäkansioon %2 on asetettu. - + Successfully connected to %1! Yhteys kohteeseen %1 muodostettiin onnistuneesti! - + Connection to %1 could not be established. Please check again. Yhteyttä osoitteeseen %1 ei voitu muodostaa. Ole hyvä ja tarkista uudelleen. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1246,22 +1251,27 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synkronointi peruttiin käyttäjän toimesta. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1269,7 +1279,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index 2b5238eb7..e4acec93e 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -601,7 +601,12 @@ Voulez-vous réellement effectuer cette opération ? Nous avons reçu un E-Tag différent pour reprendre le téléchargement. Nouvel essai la prochaine fois. - + + Server returned wrong content-range + + + + Connection Timeout Temps de connexion expiré @@ -1079,126 +1084,126 @@ Il est déconseillé de l'utiliser. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Tentative de connexion de %1 à %2 ... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Connecté avec succès à %1: %2 version %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Erreur : paramètres de connexion invalides. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Le dossier de synchronisation local %1 existe déjà, configuration de la synchronisation.<br/><br/> - + Creating local sync folder %1... Création du dossier de synchronisation local %1 … - + ok ok - + failed. échoué. - + Could not create local folder %1 Impossible de créer le répertoire local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Échec de la connexion à %1 pour %2:<br/>%3 - + No remote folder specified! Aucun dossier distant n'est spécifié ! - + Error: %1 Erreur : %1 - + creating folder on ownCloud: %1 création d'un répertoire sur ownCloud : %1 - + Remote folder %1 created successfully. Le dossier distant %1 a été créé avec succès. - + The remote folder %1 already exists. Connecting it for syncing. Le dossier distant %1 existe déjà. Veuillez vous y connecter pour la synchronisation. - - + + The folder creation resulted in HTTP error code %1 La création du dossier a généré le code d'erreur HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> La création du répertoire distant a échoué car les identifiants de connexion sont erronés !<br/>Veuillez revenir en arrière et vérifier ces derniers.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">La création du dossier distant a échoué probablement parce que les informations d'identification fournies sont fausses.</font><br/>Veuillez revenir à l'étape précédente et vérifier vos informations d'identification.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. La création du dossier distant "%1" a échouée avec l'erreur <tt>%2</tt> - + A sync connection from %1 to remote directory %2 was set up. Une synchronisation entre le dossier local %1 et le dossier distant %2 a été configurée. - + Successfully connected to %1! Connecté avec succès à %1! - + Connection to %1 could not be established. Please check again. La connexion à %1 n'a pu être établie. Essayez encore svp. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Impossible de supprimer et de sauvegarder le dossier parce que ce dossier ou un de ces fichiers est ouvert dans un autre programme. Veuillez fermer le dossier ou le fichier et cliquez sur ré-essayer ou annuler l'installation. @@ -1250,22 +1255,27 @@ Il est déconseillé de l'utiliser. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. La synchronisation a été interrompue par l'utilisateur. - + No E-Tag received from server, check Proxy/Gateway Aucun E-Tag reçu du serveur, vérifiez le proxy / la passerelle - + We received a different E-Tag for resuming. Retrying next time. Nous avons reçu un E-Tag différent pour reprendre le téléchargement. Nouvel essai la prochaine fois. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! File %1 ne peut pas être téléchargé en raison d'un conflit sur le nom du fichier local. @@ -1273,7 +1283,7 @@ Il est déconseillé de l'utiliser. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! File %1 ne peut pas être téléchargé en raison d'un conflit sur le nom du fichier local. diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index 8fad57106..c5eb11fae 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -601,7 +601,12 @@ Confirma que quere realizar esta operación? Recibiuse unha «E-Tag» diferente para continuar. Tentándoo outra vez. - + + Server returned wrong content-range + + + + Connection Timeout Esgotouse o tempo de conexión @@ -1079,126 +1084,126 @@ Recomendámoslle que non o use. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Tentando conectarse a %1 en %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Conectouse correctamente a %1: %2 versión %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Erro: Credenciais incorrectas. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> O cartafol de sincronización local %1 xa existe. Configurándoo para a sincronización.<br/><br/> - + Creating local sync folder %1... Creando un cartafol local de sincronización %1... - + ok aceptar - + failed. fallou. - + Could not create local folder %1 Non foi posíbel crear o cartafol local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Non foi posíbel conectar con %1 en %2:<br/>%3 - + No remote folder specified! Non foi especificado o cartafol remoto! - + Error: %1 Erro: %1 - + creating folder on ownCloud: %1 creando o cartafol en ownCloud: %1 - + Remote folder %1 created successfully. O cartafol remoto %1 creouse correctamente. - + The remote folder %1 already exists. Connecting it for syncing. O cartafol remoto %1 xa existe. Conectándoo para a sincronización. - - + + The folder creation resulted in HTTP error code %1 A creación do cartafol resultou nun código de erro HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> A creación do cartafol remoto fracasou por por de seren incorrectas as credenciais!<br/>Volva atrás e comprobe as súas credenciais.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">A creación do cartafol remoto fallou probabelmente debido a que as credenciais que se deron non foran as correctas.</font><br/>Volva atrás e comprobe as súas credenciais.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Produciuse un fallo ao crear o cartafol remoto %1 e dou o erro <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Estabeleceuse a conexión de sincronización de %1 ao directorio remoto %2. - + Successfully connected to %1! Conectou satisfactoriamente con %1 - + Connection to %1 could not be established. Please check again. Non foi posíbel estabelecer a conexión con %1. Compróbeo de novo. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Non é posíbel retirar e facer copia de seguranza do cartafol, xa que o cartafol ou un ficheiro está aberto noutro programa Peche o cartafol ou o ficheiro e tenteo de novo, ou cancele a acción. @@ -1250,22 +1255,27 @@ Recomendámoslle que non o use. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. A sincronización foi interrompida polo usuario. - + No E-Tag received from server, check Proxy/Gateway Non se recibiu a «E-Tag» do servidor, comprobe o proxy e/ou a pasarela - + We received a different E-Tag for resuming. Retrying next time. Recibiuse unha «E-Tag» diferente para continuar. Tentándoo outra vez. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Non é posíbel descargar o ficheiro %1 por mor dunha colisión co nome dun ficheiro local! @@ -1273,7 +1283,7 @@ Recomendámoslle que non o use. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Non é posíbel descargar o ficheiro %1 por mor dunha colisión co nome dun ficheiro local! diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index a9b7c2204..6bb401b38 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -598,7 +598,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout @@ -1072,126 +1077,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Próbál kapcsolódni az %1-hoz: %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Sikeresen csatlakozott az %1-hoz: %2 verziószám %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Hiba: rossz azonosítási adatok - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> A helyi %1 mappa már létezik, állítsa be a szinkronizálódását.<br/><br/> - + Creating local sync folder %1... Helyi %1 szinkronizációs mappa létrehozása... - + ok ok - + failed. sikertelen. - + Could not create local folder %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 Hiba: %1 - + creating folder on ownCloud: %1 - + Remote folder %1 created successfully. %1 távoli nappa sikeresen létrehozva. - + The remote folder %1 already exists. Connecting it for syncing. A %1 távoli mappa már létezik. Csatlakoztassa a szinkronizációhoz. - - + + The folder creation resulted in HTTP error code %1 A könyvtár létrehozásakor keletkezett HTTP hibakód %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">A távoli mappa létrehozása sikertelen, valószínűleg mivel hibásak a megdott hitelesítési adatok.</font><br/>Lépjen vissza és ellenőrizze a belépési adatokat.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. A távoli %1 mappa létrehozása nem sikerült. Hibaüzenet: <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. A szinkronizációs kapcsolat a %1 és a %2 távoli mappa között létrejött. - + Successfully connected to %1! Sikeresen csatlakozva: %1! - + Connection to %1 could not be established. Please check again. A kapcsolat a %1 kiszolgálóhoz sikertelen. Ellenőrizze újra. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1243,22 +1248,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1266,7 +1276,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index ca34a1ac5..8e3573a11 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -601,7 +601,12 @@ Sei sicuro di voler eseguire questa operazione? Abbiamo ricevuto un e-tag diverso per il recupero. Riprova più tardi. - + + Server returned wrong content-range + + + + Connection Timeout Connessione scaduta @@ -1078,126 +1083,126 @@ Non è consigliabile utilizzarlo. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Tentativo di connessione a %1 su %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Connesso correttamente a %1: %2 versione %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Errore: credenziali non valide. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> La cartella di sincronizzazione locale %1 esiste già, impostata per la sincronizzazione.<br/><br/> - + Creating local sync folder %1... Creazione della cartella locale di sincronizzazione %1 in corso... - + ok ok - + failed. non riuscita. - + Could not create local folder %1 Impossibile creare la cartella locale %1 - - + + Failed to connect to %1 at %2:<br/>%3 Connessione a %1 su %2:<br/>%3 - + No remote folder specified! Nessuna cartella remota specificata! - + Error: %1 Errore: %1 - + creating folder on ownCloud: %1 creazione cartella su ownCloud: %1 - + Remote folder %1 created successfully. La cartella remota %1 è stata creata correttamente. - + The remote folder %1 already exists. Connecting it for syncing. La cartella remota %1 esiste già. Connessione in corso per la sincronizzazione - - + + The folder creation resulted in HTTP error code %1 La creazione della cartella ha restituito un codice di errore HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> La creazione della cartella remota non è riuscita poiché le credenziali fornite sono errate!<br/>Torna indietro e verifica le credenziali.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">La creazione della cartella remota non è riuscita probabilmente perché le credenziali fornite non sono corrette.</font><br/>Torna indietro e controlla le credenziali inserite.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Creazione della cartella remota %1 non riuscita con errore <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Una connessione di sincronizzazione da %1 alla cartella remota %2 è stata stabilita. - + Successfully connected to %1! Connessi con successo a %1! - + Connection to %1 could not be established. Please check again. La connessione a %1 non può essere stabilita. Prova ancora. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Impossibile rimuovere o creare una copia di sicurezza della cartella poiché la cartella o un file in essa contenuto è aperta in un altro programma. Chiudi la cartella o il file e premi Riprova o annulla la configurazione. @@ -1249,22 +1254,27 @@ Non è consigliabile utilizzarlo. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Sincronizzazione interrotta dall'utente. - + No E-Tag received from server, check Proxy/Gateway Nessun e-tag ricevuto dal server, controlla il proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Abbiamo ricevuto un e-tag diverso per il recupero. Riprova più tardi. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Il file %1 non può essere scaricato a causa di un conflitto con un file locale. @@ -1272,7 +1282,7 @@ Non è consigliabile utilizzarlo. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Il file %1 non può essere scaricato a causa di un conflitto con un file locale. diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index c8bb2917f..e5eafdaee 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -601,7 +601,12 @@ Are you sure you want to perform this operation? 同期再開時に違う E-Tagを受信しました。次回リトライします。 - + + Server returned wrong content-range + + + + Connection Timeout 接続タイムアウト @@ -1077,126 +1082,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed フォルダー名の変更に失敗しました。 - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>ローカルの同期フォルダー %1 は正常に作成されました!</b></font> - + Trying to connect to %1 at %2... %2 の %1 へ接続を試みています... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">正常に %1 へ接続されました:%2 バージョン %3 (%4)</font><br/><br/> - + Error: Wrong credentials. エラー:資格情報が間違っています。 - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> ローカルの同期フォルダー %1 はすでに存在するため、同期の設定をしてください。<br/><br/> - + Creating local sync folder %1... ローカルの同期フォルダー %1 を作成中... - + ok OK - + failed. 失敗。 - + Could not create local folder %1 ローカルフォルダー %1 を作成できませんでした - - + + Failed to connect to %1 at %2:<br/>%3 %2 の %1 に接続に失敗:<br/>%3 - + No remote folder specified! リモートフォルダーが指定されていません! - + Error: %1 エラー: %1 - + creating folder on ownCloud: %1 ownCloud上にフォルダーを作成中: %1 - + Remote folder %1 created successfully. リモートフォルダー %1 は正常に生成されました。 - + The remote folder %1 already exists. Connecting it for syncing. リモートフォルダー %1 はすでに存在します。同期のために接続しています。 - - + + The folder creation resulted in HTTP error code %1 フォルダーの作成はHTTPのエラーコード %1 で終了しました - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> 指定された資格情報が間違っているため、リモートフォルダーの作成に失敗しました!<br/>前に戻って資格情報を確認してください。</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">おそらく資格情報が間違っているため、リモートフォルダーの作成に失敗しました。</font><br/>前に戻り、資格情報をチェックしてください。</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. リモートフォルダー %1 の作成がエラーで失敗しました。<tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. %1 からリモートディレクトリ %2 への同期接続を設定しました。 - + Successfully connected to %1! %1への接続に成功しました! - + Connection to %1 could not be established. Please check again. %1 への接続を確立できませんでした。もう一度確認してください。 - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. フォルダーまたはその中にあるファイルが他のプログラムで開かれているため、フォルダーの削除やバックアップができません。フォルダーまたはファイルを閉じてから再試行するか、セットアップをキャンセルしてください。 @@ -1248,22 +1253,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. 同期はユーザーによって中止されました。 - + No E-Tag received from server, check Proxy/Gateway サーバーからE-Tagを受信できません。プロキシ/ゲートウェイを確認してください。 - + We received a different E-Tag for resuming. Retrying next time. 同期再開時に違う E-Tagを受信しました。次回リトライします。 - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! ファイル %1 はローカルファイル名が衝突しているためダウンロードできません! @@ -1271,7 +1281,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! ファイル %1 はローカルファイル名が衝突しているためダウンロードできません! diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index d7e0f88ee..dbb770d6a 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -601,7 +601,12 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? We ontvingen een afwijkende E-Tag om door te gaan. We proberen het later opnieuw. - + + Server returned wrong content-range + + + + Connection Timeout Verbindingstime-out @@ -1079,126 +1084,126 @@ We adviseren deze site niet te gebruiken. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Probeer te verbinden met %1 om %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Succesvol verbonden met %1: %2 versie %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Fout: Verkeerde inloggegevens - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Lokale synch map %1 bestaat al, deze wordt ingesteld voor synchronisatie.<br/><br/> - + Creating local sync folder %1... Maak lokale synchronisatiemap %1... - + ok ok - + failed. mislukt. - + Could not create local folder %1 Kon lokale map %1 niet aanmaken - - + + Failed to connect to %1 at %2:<br/>%3 Kon geen verbinding maken met %1 op %2:<br/>%3 - + No remote folder specified! Geen externe map opgegeven! - + Error: %1 Fout: %1 - + creating folder on ownCloud: %1 aanmaken map op ownCloud: %1 - + Remote folder %1 created successfully. Externe map %1 succesvol gecreërd. - + The remote folder %1 already exists. Connecting it for syncing. De remote map %1 bestaat al. Verbinden voor synchroniseren. - - + + The folder creation resulted in HTTP error code %1 Het aanmaken van de map resulteerde in HTTP foutcode %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Het aanmaken van de remote map is mislukt, waarschijnlijk omdat uw inloggegevens fout waren.<br/>Ga terug en controleer uw inloggegevens.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Het aanmaken van de remote map is mislukt, waarschijnlijk omdat uw inloggegevens fout waren.</font><br/>ga terug en controleer uw inloggevens.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Aanmaken van remote map %1 mislukt met fout <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Er is een sync verbinding van %1 naar remote directory %2 opgezet. - + Successfully connected to %1! Succesvol verbonden met %1! - + Connection to %1 could not be established. Please check again. Verbinding met %1 niet geslaagd. Probeer het nog eens. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Kan de map niet verwijderen en backuppen, omdat de map of een bestand daarin, geopend is in een ander programma. Sluit de map of het bestand en drup op Opnieuw of annuleer de installatie. @@ -1250,22 +1255,27 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synchronisatie afgebroken door gebruiker. - + No E-Tag received from server, check Proxy/Gateway Geen E-Tag ontvangen van de server, controleer Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. We ontvingen een afwijkende E-Tag om door te gaan. We proberen het later opnieuw. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Bestand %1 kan niet worden gedownload omdat de naam conflicteert met een lokaal bestand @@ -1273,7 +1283,7 @@ We adviseren deze site niet te gebruiken. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Bestand %1 kan niet worden gedownload omdat de naam conflicteert met een lokaal bestand diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index 9b973885c..7f9fd6066 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -601,7 +601,12 @@ Czy jesteś pewien/pewna, że chcesz wykonać tę operację? Otrzymaliśmy inny E-Tag wznowienia. Spróbuje ponownie następnym razem. - + + Server returned wrong content-range + + + + Connection Timeout Limit czasu połączenia @@ -1079,126 +1084,126 @@ Niezalecane jest jego użycie. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Próba połączenia z %1 w %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Udane połączenie z %1: %2 wersja %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Błąd: złe poświadczenia. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Lokalny folder synchronizacji %1 już istnieje. Ustawiam go do synchronizacji.<br/><br/> - + Creating local sync folder %1... Tworzenie lokalnego folderu synchronizowanego %1... - + ok OK - + failed. Błąd. - + Could not create local folder %1 Nie udało się utworzyć lokalnego folderu %1 - - + + Failed to connect to %1 at %2:<br/>%3 Nie udało się połączyć do %1 w %2:<br/>%3 - + No remote folder specified! Nie określono folderu zdalnego! - + Error: %1 Błąd: %1 - + creating folder on ownCloud: %1 tworzę folder na ownCloud: %1 - + Remote folder %1 created successfully. Zdalny folder %1 został utworzony pomyślnie. - + The remote folder %1 already exists. Connecting it for syncing. Zdalny folder %1 już istnieje. Podłączam go do synchronizowania. - - + + The folder creation resulted in HTTP error code %1 Tworzenie folderu spowodowało kod błędu HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Nie udało się utworzyć zdalnego folderu ponieważ podane dane dostępowe są nieprawidłowe!<br/>Wróć i sprawdź podane dane dostępowe.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Tworzenie folderu zdalnego nie powiodło się. Prawdopodobnie dostarczone poświadczenia są błędne.</font><br/>Wróć i sprawdź poświadczenia.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Tworzenie folderu zdalnego %1 nie powiodło się z powodu błędu <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Połączenie synchronizacji z %1 do katalogu zdalnego %2 zostało utworzone. - + Successfully connected to %1! Udane połączenie z %1! - + Connection to %1 could not be established. Please check again. Połączenie z %1 nie może być nawiązane. Sprawdź ponownie. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Nie można usunąć i zarchiwizować folderu ponieważ znajdujący się w nim plik lub folder jest otwarty przez inny program. Proszę zamknąć folder lub plik albo kliknąć ponów lub anuluj setup. @@ -1250,22 +1255,27 @@ Niezalecane jest jego użycie. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synchronizacja anulowane przez użytkownika. - + No E-Tag received from server, check Proxy/Gateway Nie otrzymano E-Tag z serwera, sprawdź Proxy/Bramę - + We received a different E-Tag for resuming. Retrying next time. Otrzymaliśmy inny E-Tag wznowienia. Spróbuje ponownie następnym razem. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Nie można pobrać pliku %1 ze względu na konflikt nazwy pliku lokalnego! @@ -1273,7 +1283,7 @@ Niezalecane jest jego użycie. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Nie można pobrać pliku %1 ze względu na konflikt nazwy pliku lokalnego! diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 02debb480..4c597a2bc 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -600,7 +600,12 @@ Se você, ou o seu administrador, reiniciou a sua conta no servidor, escolha &q Recebemos um e-Tag diferente para resumir. Tentando uma próxima vez. - + + Server returned wrong content-range + + + + Connection Timeout O tempo de ligação expirou @@ -1076,126 +1081,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... A tentar ligação a %1 em %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Conectado com sucesso a %1: %2 versão %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Erro: Credenciais erradas. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> A pasta de sincronização locl %1 já existe, a configurar para sincronizar.<br/><br/> - + Creating local sync folder %1... A criar a pasta de sincronização local %1 ... - + ok ok - + failed. Falhou. - + Could not create local folder %1 Não foi possível criar a pasta local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Impossível conectar a %1 em %2:<br/>%3 - + No remote folder specified! Não foi indicada a pasta remota! - + Error: %1 Erro: %1 - + creating folder on ownCloud: %1 a criar a pasta na ownCloud: %1 - + Remote folder %1 created successfully. Criação da pasta remota %1 com sucesso! - + The remote folder %1 already exists. Connecting it for syncing. A pasta remota %1 já existe. Ligue-a para sincronizar. - - + + The folder creation resulted in HTTP error code %1 A criação da pasta resultou num erro HTTP com o código %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> A criação da pasta remota falhou, provavelmente por ter introduzido as credenciais erradas.<br/>Por favor, verifique as suas credenciais.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">A criação da pasta remota falhou, provavelmente por ter introduzido as credenciais erradas.</font><br/>Por favor, verifique as suas credenciais.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. A criação da pasta remota %1 falhou com o erro <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. A sincronização de %1 com a pasta remota %2 foi criada com sucesso. - + Successfully connected to %1! Conectado com sucesso a %1! - + Connection to %1 could not be established. Please check again. Não foi possível ligar a %1 . Por Favor verifique novamente. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Não é possível remover e fazer backup à pasta porque a pasta ou um ficheiro nesta está aberto em outro programa. Por favor, feche a pasta ou o ficheiro e clique novamente ou cancele a configuração. @@ -1247,22 +1252,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. A sincronização foi cancelada pelo utilizador. - + No E-Tag received from server, check Proxy/Gateway Nenhum E-Tag recebido do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tentando uma próxima vez. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! O ficheiro %1 não pode ser descarregado devido a conflito com um nome de ficheiro local! @@ -1270,7 +1280,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! O ficheiro %1 não pode ser descarregado devido a conflito com um nome de ficheiro local! diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 11cfde759..61c05798b 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -601,7 +601,12 @@ Você tem certeza que quer executar esta operação? Recebemos um e-Tag diferente para resumir. Tente uma próxima vez. - + + Server returned wrong content-range + + + + Connection Timeout Conexão Finalizada @@ -1077,126 +1082,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Tentando conectar a %1 em %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Conectado com sucesso a %1: 2% versão %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Erro: Credenciais erradas. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Pasta local de sincronização %1 já existe, configurando para sincronização. <br/><br/> - + Creating local sync folder %1... Criando pasta local de sincronização %1... - + ok ok - + failed. falhou. - + Could not create local folder %1 Não foi possível criar pasta local %1 - - + + Failed to connect to %1 at %2:<br/>%3 Falha ao conectar a %1 em %2:<br/>%3 - + No remote folder specified! Nenhuma pasta remota foi especificada! - + Error: %1 Erro: %1 - + creating folder on ownCloud: %1 criar pasta no ownCloud: %1 - + Remote folder %1 created successfully. Pasta remota %1 criada com sucesso. - + The remote folder %1 already exists. Connecting it for syncing. Pasta remota %1 já existe. Conectando para sincronizar. - - + + The folder creation resulted in HTTP error code %1 A criação da pasta resultou em um erro do código HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> A criação da pasta remota falhou porque as credenciais fornecidas estão erradas!<br/>Por favor, volte e verifique suas credenciais.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">A criação remota de pasta falhou provavelmente as causas da falha na criação da pasta remota são credenciais erradas</font><br/>Volte e verifique suas credenciais, por favor.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Falha na criação da pasta remota %1 com erro <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Uma conexão de sincronização de %1 para o diretório remoto %2 foi realizada. - + Successfully connected to %1! Conectado com sucesso a %1! - + Connection to %1 could not be established. Please check again. Conexão à %1 não foi estabelecida. Por favor, verifique novamente. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Não é possível remover e fazer backup da pasta porque a pasta ou um arquivo que está nesta pasta está aberto em outro programa. Por favor, feche a pasta ou arquivo e clique tentar novamente ou cancelar a operação. @@ -1248,22 +1253,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. A sincronização foi abortada pelo usuário. - + No E-Tag received from server, check Proxy/Gateway Nenhuma E-Tag recebida do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tente uma próxima vez. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! O arquivo %1 não pode ser baixado por causa de um confronto local no nome do arquivo! @@ -1271,7 +1281,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! O arquivo %1 não pode ser baixado por causa de um confronto local no nome do arquivo! diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index 04a55c584..b666cf3e4 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -183,13 +183,14 @@ %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 / %4) Осталось %5 на скорости %6/сек. %1 of %2, file %3 of %4 Total time left %5 - + %1 / %2, файл %3 / %4 +Оставшееся время: %5 @@ -507,7 +508,7 @@ Are you sure you want to perform this operation? The selected folder is a symbolic link. An already configured folder is contained in the folder this link is pointing to. - + Выбранная папка является симолической ссылкой. В папке, на которую идет ссылка, присутствует папка, которая синхронизируется. @@ -600,7 +601,12 @@ Are you sure you want to perform this operation? Мы получили другой E-Tag для возобновления. Повторите попытку позже. - + + Server returned wrong content-range + + + + Connection Timeout Тайм-аут подключения @@ -615,7 +621,7 @@ Are you sure you want to perform this operation? General Settings - + Основные настройки @@ -800,7 +806,7 @@ Checked items will also be deleted if they prevent a directory from being remove <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>Доступна новая версия приложения %1.</p><p><b>%2</b> доступна для загрузки. Установленная версия: %3.</p> @@ -956,7 +962,7 @@ for additional privileges during the process. New version %1 available. Please use the system's update tool to install it. - + Доступна новая версия %1. Чтобы его установить, пожалуйста, воспользуйтесь инструментом обновления системы. @@ -1078,128 +1084,128 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Ошибка переименования папки - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Локальная папка для синхронизации %1 успешно создана!</b></font> - + Trying to connect to %1 at %2... Попытка соединиться с %1 на %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Успешно подключено к %1: %2 версия %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Ошибка: Неверные учётные данные. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Локальная синхронизация папки %1 уже существует, ее настройки для синхронизации.<br/><br/> - + Creating local sync folder %1... Создание локальной папки синхронизации %1... - + ok ок - + failed. не удалось. - + Could not create local folder %1 Не удалось создать локальную папку синхронизации %1 - - + + Failed to connect to %1 at %2:<br/>%3 Не удалось подключиться к %1 в %2:<br/>%3 - + No remote folder specified! Не указана удалённая папка! - + Error: %1 Ошибка: %1 - + creating folder on ownCloud: %1 создание папки на ownCloud: %1 - + Remote folder %1 created successfully. Удалённая папка %1 успешно создана. - + The remote folder %1 already exists. Connecting it for syncing. Удалённая папка %1 уже существует. Подключение к ней для синхронизации. - - + + The folder creation resulted in HTTP error code %1 Создание папки завершилось с HTTP-ошибкой %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Не удалось создать удаленную папку — представленные параметры доступа неверны!<br/>Пожалуйста, вернитесь назад и проверьте параметры доступа.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Удаленное создание папки не удалось, вероятно, потому, что предоставленные учетные данные неверны.</font><br/>Пожалуйста, вернитесь назад и проверьте данные.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Удаленная папка %1 не создана из-за ошибки <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Установлено соединение синхронизации с %1 к удалённой директории %2. - + Successfully connected to %1! Соединение с %1 установлено успешно! - + Connection to %1 could not be established. Please check again. Подключение к %1 не воможно. Пожалуйста, проверьте еще раз. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. - + Невозможно стереть папку и создать её резервную копию так как папка или файл в ней открыты в другой программе. Пожалуйста, закройте папку или файл и нажмите "Повторите попытку", либо прервите мастер настройки. @@ -1249,32 +1255,37 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Синхронизация прервана пользователем. - + No E-Tag received from server, check Proxy/Gateway E-Tag от сервера на получен, проверьте сетевые настройки (настройки прокси, шлюз). - + We received a different E-Tag for resuming. Retrying next time. Мы получили другой E-Tag для возобновления. Повторите попытку позже. - - File %1 can not be downloaded because of a local file name clash! + + Server returned wrong content-range + + + File %1 can not be downloaded because of a local file name clash! + Файл %1 не может быть загружен из-за локальных конфликтов имен! + Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! - + Файл %1 не может быть загружен из-за локальных конфликтов имен! @@ -1282,7 +1293,7 @@ It is not advisable to use it. ; Restoration Failed: - + ; Восстановление не удалось: @@ -1295,7 +1306,7 @@ It is not advisable to use it. Attention, possible case sensitivity clash with %1 - + Внимание, возможен конфликт чувствительности к регистру с %1 @@ -1308,7 +1319,7 @@ It is not advisable to use it. Could not remove %1 because of a local file name clash - + Файл %1 не может быть удален из-за локальных конфликтов имен @@ -1321,7 +1332,7 @@ It is not advisable to use it. File %1 can not be renamed to %2 because of a local file name clash - + Файл %1 не может быть переименован в %2 из-за локальных конфликтов имен @@ -1347,7 +1358,7 @@ It is not advisable to use it. The file was renamed but is part of a read only share. The original file was restored. - Этот файл был переименован но является частью распространения только для чтения. Оригинальный файл был восстановлен. + Этот файл был переименован но является частью опубликованной папки с правами только для чтения. Оригинальный файл был восстановлен. @@ -1366,7 +1377,7 @@ It is not advisable to use it. The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + Этот файл был изменен локально, но является частью опубликованной папки с правами только для чтения. Он восстановлен и ваши изменения находятся в файле конфликтов. @@ -1374,7 +1385,7 @@ It is not advisable to use it. The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + Этот файл был изменен локально, но является частью опубликованной папки с правами только для чтения. Он восстановлен и ваши изменения находятся в файле конфликтов. @@ -1389,7 +1400,7 @@ It is not advisable to use it. The server did not acknowledge the last chunk. (No e-tag were present) - + Сервер не смог подтвердить последний отрезок данных. (Отсутствовали теги e-tag) @@ -1543,7 +1554,7 @@ It is not advisable to use it. Login Error - + Ошибка входа @@ -1561,12 +1572,12 @@ It is not advisable to use it. Reauthentication required - + Требуется повторная аутентификация Your session has expired. You need to re-login to continue to use the client. - + Срок действия вашей сессии истек. Нужно перезайти, чтобы продолжить пользоваться приложением. @@ -1880,7 +1891,7 @@ It is not advisable to use it. A network connection timeout happened. - + Произошёл таймаут соединения сети. @@ -1956,38 +1967,38 @@ It is not advisable to use it. 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 - + Недопустимо удалить, восстанавливаем Move not allowed, item restored - + Перемещение недопустимо, элемент восстановлен Move not allowed because %1 is read-only - + Перемещение недопустимо, поскольку %1 помечен только для чтения @@ -2026,7 +2037,7 @@ It is not advisable to use it. Disconnected from server - + Отсоединен от сервера diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index b5988ddef..923c73727 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -600,7 +600,12 @@ Ste si istý, že chcete uskutočniť danú operáciu? Prijali sme iný E-Tag pre pokračovanie. Skúsim to neskôr znovu. - + + Server returned wrong content-range + + + + Connection Timeout Spojenie vypršalo @@ -1078,126 +1083,126 @@ Nie je vhodné ju používať. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Pokúšam sa o pripojenie k %1 na %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Úspešne pripojené k %1: %2 verzie %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Chyba: Nesprávne údaje. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Lokálny synchronizačný priečinok %1 už existuje, prebieha jeho nastavovanie pre synchronizáciu.<br/><br/> - + Creating local sync folder %1... Vytváranie lokálneho synchronizačného priečinka %1 ... - + ok v poriadku - + failed. neúspešné. - + Could not create local folder %1 Nemožno vytvoriť lokálny priečinok %1 - - + + Failed to connect to %1 at %2:<br/>%3 Zlyhalo spojenie s %1 o %2:<br/>%3 - + No remote folder specified! Vzdialený priečinok nie je nastavený! - + Error: %1 Chyba: %1 - + creating folder on ownCloud: %1 vytváram priečinok v ownCloude: %1 - + Remote folder %1 created successfully. Vzdialený priečinok %1 bol úspešne vytvorený. - + The remote folder %1 already exists. Connecting it for syncing. Vzdialený priečinok %1 už existuje. Prebieha jeho pripájanie pre synchronizáciu. - - + + The folder creation resulted in HTTP error code %1 Vytváranie priečinka skončilo s HTTP chybovým kódom %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Proces vytvárania vzdialeného priečinka zlyhal, lebo použité prihlasovacie údaje nie sú správne!<br/>Prosím skontrolujte si vaše údaje a skúste to znovu.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Vytvorenie vzdialeného priečinka pravdepodobne zlyhalo kvôli nesprávnym prihlasovacím údajom.</font><br/>Prosím choďte späť a skontrolujte ich.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Vytvorenie vzdialeného priečinka %1 zlyhalo s chybou <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Synchronizačné spojenie z %1 do vzdialeného priečinka %2 bolo práve nastavené. - + Successfully connected to %1! Úspešne pripojené s %1! - + Connection to %1 could not be established. Please check again. Pripojenie k %1 nemohlo byť iniciované. Prosím skontrolujte to znovu. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Nemožno odstrániť a zazálohovať priečinok, pretože priečinok alebo súbor je otvorený v inom programe. Prosím zatvorte priečinok nebo súbor a skúste to znovu alebo zrušte akciu. @@ -1249,22 +1254,27 @@ Nie je vhodné ju používať. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synchronizácia zrušená používateľom. - + No E-Tag received from server, check Proxy/Gateway Zo servera nebol prijatý E-Tag, skontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Prijali sme iný E-Tag pre pokračovanie. Skúsim to neskôr znovu. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Súbor %1 nie je možné stiahnuť, pretože súbor s rovnakým menom už existuje! @@ -1272,7 +1282,7 @@ Nie je vhodné ju používať. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Súbor %1 nie je možné stiahnuť, pretože súbor s rovnakým menom už existuje! diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index b19178eff..50f346531 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -600,7 +600,12 @@ Ali sta prepričani, da želite izvesti to opravilo? Prejeta je različna oznaka za nadaljevanje opravila. Ponovni poskus bo izveden kasneje. - + + Server returned wrong content-range + + + + Connection Timeout Povezava časovno pretekla @@ -1078,126 +1083,126 @@ Uporaba ni priporočljiva. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Poteka poskus povezave z %1 na %2 ... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Uspešno vzpostavljena povezava z %1: %2 različica %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Napaka: napačna poverila. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Krajevna mapa %1 že obstaja. Nastavljena bo za usklajevanje.<br/><br/> - + Creating local sync folder %1... Ustvarjanje mape za krajevno usklajevanje %1... - + ok je v redu - + failed. je spodletelo. - + Could not create local folder %1 Krajevne mape %1 ni mogoče ustvariti. - - + + Failed to connect to %1 at %2:<br/>%3 Povezava z %1 pri %2 je spodletela:<br/>%3 - + No remote folder specified! Ni navedenega oddaljenega strežnika! - + Error: %1 Napaka: %1 - + creating folder on ownCloud: %1 ustvarjanje mape v oblaku ownCloud: %1 - + Remote folder %1 created successfully. Oddaljena mapa %1 je uspešno ustvarjena. - + The remote folder %1 already exists. Connecting it for syncing. Oddaljena mapa %1 že obstaja. Vzpostavljena bo povezava za usklajevanje. - - + + The folder creation resulted in HTTP error code %1 Ustvarjanje mape je povzročilo napako HTTP %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Ustvarjanje mape na oddaljenem naslovu je spodletelo zaradi napačnih poveril. <br/>Vrnite se in preverite zahtevana gesla.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Ustvarjanje oddaljene mape je spodletelo. Najverjetneje je vzrok v neustreznih poverilih.</font><br/>Vrnite se na predhodno stran in jih preverite.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Ustvarjanje oddaljene mape %1 je spodletelo z napako <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. Povezava za usklajevanje med %1 in oddaljeno mapo %2 je vzpostavljena. - + Successfully connected to %1! Povezava z %1 je uspešno vzpostavljena! - + Connection to %1 could not be established. Please check again. Povezave z %1 ni mogoče vzpostaviti. Preveriti je treba nastavitve. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Mape ni mogoče odstraniti niti ni mogoče ustvariti varnostne kopije, saj je mapa oziroma dokument v njej odprt v z drugim programom. Zaprite mapo/dokument ali prekinite namestitev. @@ -1249,22 +1254,27 @@ Uporaba ni priporočljiva. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Usklajevanje je bilo prekinjeno s strani uporabnika - + No E-Tag received from server, check Proxy/Gateway Ni prejete oznake s strežnika. Preveriti je treba podatke posredovalnega strežnika ali prehoda. - + We received a different E-Tag for resuming. Retrying next time. Prejeta je različna oznaka za nadaljevanje opravila. Ponovni poskus bo izveden kasneje. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Datoteke %1 ni možno prejeti, zaradi neskladja z imenom krajevne datoteke! @@ -1272,7 +1282,7 @@ Uporaba ni priporočljiva. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Datoteke %1 ni mogoče prejeti zaradi neskladja z imenom krajevne datoteke! diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index de5b24fdf..f2e770f42 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -601,7 +601,12 @@ Detta kan bero på att konfigurationen för mappen ändrats, eller att alla file Vi mottog en helt annan e-tag för att återuppta. Försök igen nästa gång. - + + Server returned wrong content-range + + + + Connection Timeout Anslutningen avbröts på grund av timeout @@ -1079,126 +1084,126 @@ Det är inte lämpligt använda den. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... Försöker ansluta till %1 på %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Lyckades ansluta till %1: %2 version %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Fel: Ogiltiga inloggningsuppgifter. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Lokal synkmapp %1 finns redan, aktiverar den för synk.<br/><br/> - + Creating local sync folder %1... Skapar lokal synkmapp %1... - + ok ok - + failed. misslyckades. - + Could not create local folder %1 Kunde inte skapa lokal mapp %1 - - + + Failed to connect to %1 at %2:<br/>%3 Misslyckades att ansluta till %1 vid %2:<br/>%3 - + No remote folder specified! Ingen fjärrmapp specificerad! - + Error: %1 Fel: %1 - + creating folder on ownCloud: %1 skapar mapp på ownCloud: %1 - + Remote folder %1 created successfully. Fjärrmapp %1 har skapats. - + The remote folder %1 already exists. Connecting it for syncing. Fjärrmappen %1 finns redan. Ansluter den för synkronisering. - - + + The folder creation resulted in HTTP error code %1 Skapande av mapp resulterade i HTTP felkod %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Det gick inte att skapa mappen efter som du inte har tillräckliga rättigheter!<br/>Vänligen återvänd och kontrollera dina rättigheter. - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Misslyckades skapa fjärrmappen, troligen p.g.a felaktiga inloggningsuppgifter.</font><br/>Kontrollera dina inloggningsuppgifter.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Misslyckades skapa fjärrmapp %1 med fel <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. En synkroniseringsanslutning från %1 till fjärrmappen %2 har skapats. - + Successfully connected to %1! Ansluten till %1! - + Connection to %1 could not be established. Please check again. Anslutningen till %1 kunde inte etableras. Var god kontrollera och försök igen. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Kan inte ta bort och göra en säkerhetskopia av mappen på grund av att mappen eller en fil i den används av ett annat program. Vänligen stäng mappen eller filen och försök igen eller avbryt installationen. @@ -1250,22 +1255,27 @@ Det är inte lämpligt använda den. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Synkningen avbröts av användare. - + No E-Tag received from server, check Proxy/Gateway Ingen E-Tag mottogs från servern, kontrollera proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Vi mottog en helt annan E-Tag för att återuppta. Försöker igen nästa gång. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! Fil %1 kan inte laddas ner på grund av namnkonflikt med en lokal fil! @@ -1273,7 +1283,7 @@ Det är inte lämpligt använda den. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! Fil %1 kan inte laddas ner på grund av namnkonflikt med en lokal fil! diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index ee605ec1a..248c401a8 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -598,7 +598,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout @@ -1072,126 +1077,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>โฟลเดอร์ภายในเครื่องสำหรับผสานข้อมูล %1 ได้ถูกสร้างขึ้นเรียบร้อยแล้ว!</b></font> - + Trying to connect to %1 at %2... กำลังพยายามเชื่อมต่อไปที่ %1 ที่ %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">เชื่อมต่อกับ %1: %2 รุ่น %3 (%4) เสร็จเรียบร้อยแล้ว</font><br/><br/> - + Error: Wrong credentials. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> โฟลเดอร์สำหรับถ่ายโอนข้อมูลภายในเครื่อง %1 มีอยู่แล้ว กรุณาตั้งค่าเพื่อถ่ายข้อมูล <br/<br/> - + Creating local sync folder %1... กำลังสร้างโฟลเดอร์สำหรับโอนถ่ายข้อมูลภายในเครื่อง %1 ... - + ok ตกลง - + failed. ล้มเหลว - + Could not create local folder %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 ข้อผิดพลาด: %1 - + creating folder on ownCloud: %1 กำลังสร้างโฟลเดอร์ใหม่บน ownCloud: %1 - + Remote folder %1 created successfully. โฟลเดอร์ระยะไกล %1 ถูกสร้างเรียบร้อยแล้ว - + The remote folder %1 already exists. Connecting it for syncing. โฟลเดอร์ระยะไกล %1 มีอยู่แล้ว กำลังเชื่อมต่อเพื่อถ่ายโอนข้อมูล - - + + The folder creation resulted in HTTP error code %1 การสร้างโฟลเดอร์ดังกล่าวส่งผลให้เกิดรหัสข้อผิดพลาด HTTP error code %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">การสร้างโฟลเดอร์ระยะไกลล้มเหลว ซึ่งอาจมีสาเหตุมาจากการกรอกข้อมูลส่วนตัวเพื่อเข้าใช้งานไม่ถูกต้อง.</font><br/>กรุณาย้อนกลับไปแล้วตรวจสอบข้อมูลส่วนตัวของคุณอีกครั้ง.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. การสร้างโฟลเดอร์ระยะไกล %1 ล้มเหลวเนื่องข้อผิดพลาด <tt>%2</tt> - + A sync connection from %1 to remote directory %2 was set up. การเชื่อมต่อเผื่อผสานข้อมูลจาก %1 ไปที่ไดเร็กทอรี่ระยะไกล %2 ได้ถูกติดตั้งแล้ว - + Successfully connected to %1! เชื่อมต่อไปที่ %1! สำเร็จ - + Connection to %1 could not be established. Please check again. การเชื่อมต่อกับ %1 ไม่สามารถดำเนินการได้ กรุณาตรวจสอบอีกครั้ง - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1243,22 +1248,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1266,7 +1276,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index ef7bc37f2..e6d1f0d78 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -601,7 +601,12 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Devam etmek üzere farklı bir E-Etiket aldık. Sonraki işlemde yeniden denenecek. - + + Server returned wrong content-range + + + + Connection Timeout Bağlantı Zaman Aşımı @@ -1079,126 +1084,126 @@ Kullanmanız önerilmez. Mirall::OwncloudSetupWizard - + Folder rename failed 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> - + Trying to connect to %1 at %2... %2 üzerinde %1 bağlantısı deneniyor... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">%1 bağlantısı başarılı: %2 sürüm %3 (%4)</font><br/><br/> - + Error: Wrong credentials. Hata: Hatalı kimlik bilgileri. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Yerel eşitleme klasörü %1 zaten mevcut, eşitlemek için ayarlanıyor.<br/><br/> - + Creating local sync folder %1... Yerel eşitleme klasörü %1 oluşturuluyor... - + ok tamam - + failed. başarısız. - + Could not create local folder %1 %1 yerel klasörü oluşturulamadı - - + + Failed to connect to %1 at %2:<br/>%3 %2 üzerinde %1 bağlantısı yapılamadı:<br/>%3 - + No remote folder specified! Uzak klasör belirtilmemiş! - + Error: %1 Hata: %1 - + creating folder on ownCloud: %1 ownCloud üzerinde klasör oluşturuluyor: %1 - + Remote folder %1 created successfully. %1 uzak klasörü başarıyla oluşturuldu. - + The remote folder %1 already exists. Connecting it for syncing. Uzak klasör %1 zaten mevcut. Eşitlemek için bağlanılıyor. - - + + The folder creation resulted in HTTP error code %1 Klasör oluşturma %1 HTTP hata kodu ile sonuçlandı - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Uzak klasör oluşturması, geçersiz kimlik bilgileri nedeniyle başarısız!<br/>Lütfen geri gidin ve bilgileri denetleyin.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Uzak klasör oluşturma muhtemelen hatalı kimlik bilgilerinden dolayı başarısız oldu.</font><br/>Lütfen geri gidip kimlik bilgilerini doğrulayın.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Uzak klasör %1 oluşturma işlemi <tt>%2</tt> hatası ile başarısız oldu. - + A sync connection from %1 to remote directory %2 was set up. %1 kaynaklı %2 uzak dizinine bir eşitleme bağlantısı ayarlandı. - + Successfully connected to %1! %1 bağlantısı başarılı! - + Connection to %1 could not be established. Please check again. %1 bağlantısı kurulamadı. Lütfen tekrar denetleyin. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. Klasör veya içerisindeki bir dosya farklı bir program içerisinde açık olduğundan, kaldırma ve yedekleme işlemi yapılamıyor. Lütfen klasör veya dosyayı kapatıp yeniden deneyin veya kurulumu iptal edin. @@ -1250,22 +1255,27 @@ Kullanmanız önerilmez. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. Eşitleme kullanıcı tarafından iptal edildi. - + No E-Tag received from server, check Proxy/Gateway Sunucudan E-Etiket alınamadı, Vekil sunucu/Ağ geçidini denetleyin. - + We received a different E-Tag for resuming. Retrying next time. Devam etmek üzere farklı bir E-Etiket aldık. Sonraki işlemde yeniden denenecek. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! %1 dosyası, yerel dosya adı çakışması nedeniyle indirilemiyor! @@ -1273,7 +1283,7 @@ Kullanmanız önerilmez. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! %1 dosyası, yerel dosya adı çakışması nedeniyle indirilemiyor! diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index c8ea419b9..546d1142a 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -600,7 +600,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout @@ -1074,126 +1079,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed Не вдалося перейменувати теку - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Локальна тека синхронізації %1 успішно створена!</b></font> - + Trying to connect to %1 at %2... Спроба підключення до %1 на %2... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">Успішно підключено до %1: %2 версія %3 (%4)</font><br/><br/> - + Error: Wrong credentials. - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> Локальна тека синхронізації %1 вже існує, налаштування її для синхронізації.<br/><br/> - + Creating local sync folder %1... Створення локальної теки для синхронізації %1... - + ok ok - + failed. не вдалося. - + Could not create local folder %1 Не вдалося створити локальну теку $1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 Помилка: %1 - + creating folder on ownCloud: %1 створення теки на ownCloud: %1 - + Remote folder %1 created successfully. Віддалена тека %1 успішно створена. - + The remote folder %1 already exists. Connecting it for syncing. Віддалена тека %1 вже існує. Під'єднання для синхронізації. - - + + The folder creation resulted in HTTP error code %1 Створення теки завершилось HTTP помилкою %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> Створити віддалену теку не вдалося через невірно вказані облікові дані.<br/>Поверніться назад та перевірте облікові дані.</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">Створити віддалену теку не вдалося, можливо, через невірно вказані облікові дані.</font><br/>Будь ласка, поверніться назад та перевірте облікові дані.</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. Не вдалося створити віддалену теку %1 через помилку <tt>%2</tt>. - + A sync connection from %1 to remote directory %2 was set up. З'єднання для синхронізації %1 з віддаленою текою %2 було встановлено. - + Successfully connected to %1! Успішно під'єднано до %1! - + Connection to %1 could not be established. Please check again. Підключення до %1 встановити не вдалося. Будь ласка, перевірте ще раз. - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1245,22 +1250,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1268,7 +1278,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 23030f37f..204d5f532 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -600,7 +600,12 @@ Are you sure you want to perform this operation? 我们收到了不同的恢复 E-Tag,将在下次尝试。 - + + Server returned wrong content-range + + + + Connection Timeout 连接超时 @@ -1076,126 +1081,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed 文件夹更名失败 - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>本地同步目录 %1 已成功创建</b></font> - + Trying to connect to %1 at %2... 尝试连接位于 %2 的 %1... - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">成功连接到 %1:%2 版本 %3 (%4)</font><br/><br/> - + Error: Wrong credentials. 错误:密码错误。 - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> 本地同步文件夹 %1 已存在,将使用它来同步。<br/><br/> - + Creating local sync folder %1... 正在创建本地同步文件夹 %1... - + ok 成功 - + failed. 失败 - + Could not create local folder %1 不能创建本地文件夹 %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 错误:%1 - + creating folder on ownCloud: %1 在 ownCloud 创建文件夹:%1 - + Remote folder %1 created successfully. 远程目录%1成功创建。 - + The remote folder %1 already exists. Connecting it for syncing. 远程文件夹 %1 已存在。连接它以供同步。 - - + + The folder creation resulted in HTTP error code %1 创建文件夹出现 HTTP 错误代码 %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> 远程文件夹创建失败,因为提供的凭证有误!<br/>请返回并检查您的凭证。</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">远程文件夹创建失败,可能是由于提供的用户名密码不正确。</font><br/>请返回并检查它们。</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. 创建远程文件夹 %1 失败,错误为 <tt>%2</tt>。 - + A sync connection from %1 to remote directory %2 was set up. 已经设置了一个 %1 到远程文件夹 %2 的同步连接 - + Successfully connected to %1! 成功连接到了 %1! - + Connection to %1 could not be established. Please check again. 无法建立到 %1的链接,请稍后重试 - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1247,22 +1252,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. 同步被用户撤销。 - + No E-Tag received from server, check Proxy/Gateway 未能收到来自服务器的 E-Tag,请检查代理/网关 - + We received a different E-Tag for resuming. Retrying next time. 我们收到了不同的恢复 E-Tag,将在下次尝试。 - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1270,7 +1280,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index 48454e4b4..1608aef37 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -598,7 +598,12 @@ Are you sure you want to perform this operation? - + + Server returned wrong content-range + + + + Connection Timeout @@ -1072,126 +1077,126 @@ It is not advisable to use it. Mirall::OwncloudSetupWizard - + Folder rename failed 重新命名資料夾失敗 - - + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>本地同步資料夾 %1 建立成功!</b></font> - + Trying to connect to %1 at %2... 嘗試連線到%1從%2 - + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> <font color="green">成功連線到 %1: %2 版本 %3 (%4)</font><br/><br/> - + Error: Wrong credentials. 錯誤: 錯誤的憑證。 - + Local sync folder %1 already exists, setting it up for sync.<br/><br/> 本地同步資料夾%1已存在, 將其設置為同步<br/><br/> - + Creating local sync folder %1... 建立本地同步資料夾 %1 - + ok ok - + failed. 失敗 - + Could not create local folder %1 無法建立本地資料夾 %1 - - + + Failed to connect to %1 at %2:<br/>%3 - + No remote folder specified! - + Error: %1 錯誤: %1 - + creating folder on ownCloud: %1 在 ownCloud 建立資料夾: %1 - + Remote folder %1 created successfully. 遠端資料夾%1建立成功! - + The remote folder %1 already exists. Connecting it for syncing. 遠端資料夾%1已存在,連線同步中 - - + + The folder creation resulted in HTTP error code %1 在HTTP建立資料夾失敗, error code %1 - + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> 由於帳號或密碼錯誤,遠端資料夾建立失敗<br/>請檢查您的帳號密碼。</p> - + <p><font color="red">Remote folder creation failed probably because the provided credentials are wrong.</font><br/>Please go back and check your credentials.</p> <p><font color="red">遠端資料夾建立失敗,也許是因為所提供的帳號密碼錯誤</font><br/>請重新檢查您的帳號密碼</p> - - + + Remote folder %1 creation failed with error <tt>%2</tt>. 建立遠端資料夾%1發生錯誤<tt>%2</tt>失敗 - + A sync connection from %1 to remote directory %2 was set up. 從%1到遠端資料夾%2的連線已建立 - + Successfully connected to %1! 成功連接到 %1 ! - + Connection to %1 could not be established. Please check again. 無法建立連線%1, 請重新檢查 - + Can't remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup. @@ -1243,22 +1248,27 @@ It is not advisable to use it. Mirall::PropagateDownloadFileLegacy - + Sync was aborted by user. - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + + Server returned wrong content-range + + + + File %1 can not be downloaded because of a local file name clash! @@ -1266,7 +1276,7 @@ It is not advisable to use it. Mirall::PropagateDownloadFileQNAM - + File %1 can not be downloaded because of a local file name clash! From 010ab7119ecc8f594c4d3822293a0384a2e0443f Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Sun, 20 Jul 2014 01:25:22 -0400 Subject: [PATCH 183/190] [tx-robot] updated from transifex --- translations/mirall_ru.ts | 16 +++++++-------- translations/mirall_zh_CN.ts | 40 ++++++++++++++++++------------------ 2 files changed, 27 insertions(+), 29 deletions(-) diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index b666cf3e4..d864db783 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -673,7 +673,7 @@ Are you sure you want to perform this operation? Ignored Files Editor - Редактор игнорирующихся файлов + Редактор игнорированных файлов @@ -869,7 +869,7 @@ Checked items will also be deleted if they prevent a directory from being remove Download Bandwidth - Пропускная способность загрузки + Скорость загрузки с сервера @@ -892,7 +892,7 @@ Checked items will also be deleted if they prevent a directory from being remove Upload Bandwidth - Пропускная способность закачки + Скорость закачки на сервер @@ -1503,7 +1503,7 @@ It is not advisable to use it. Activity - Действие + Действия @@ -1536,7 +1536,7 @@ It is not advisable to use it. Activity - Действие + Действия @@ -2107,7 +2107,7 @@ It is not advisable to use it. Quit %1 - Выход %1 + Закрыть %1 @@ -2411,9 +2411,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, ownCloud Inc.<br>Based on Mirall by Duncan Mac-Vicar P.</small></p>%7 - <p>Версия %2. Дополнительная информация: <a href="%3">%4</a></p><p><small>Создано Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>За основу взато ПО Mirall. Duncan Mac-Vicar P.</small></p>%7 - - + <p>Версия %2. Дополнительная информация: <a href="%3">%4</a></p><p><small>Авторы: Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, ownCloud Inc.<br>Основано на Mirall, автор Duncan Mac-Vicar P.</small></p>%7 diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 204d5f532..0337b84e4 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -141,7 +141,7 @@ <p>Do you really want to reset folder <i>%1</i> and rebuild your client database?</p><p><b>Note:</b> This function is designed for maintenance purposes only. No files will be removed, but this can cause significant data traffic and take several minutes or hours to complete, depending on the size of the folder. Only use this option if advised by your administrator.</p> - + <p>您真希望重置文件夹 <i>%1</i> 并重新构建您的客户端数据库吗?</p><p><b>注意:</b>此功能设计仅用作维护操作。没有文件将被移除,但这将导致大量的数据传输。根据文件夹的大小,这一过程将持续几分钟到几小时。请仅在管理员指导的情况下使用此功能。</p> @@ -172,7 +172,7 @@ No account configured. - + 没有配置的帐号。 @@ -194,17 +194,17 @@ Total time left %5 Connected to <a href="%1">%2</a>. - + 已连接到<a href="%1">%2</a>。 Connected to <a href="%1">%2</a> as <i>%3</i>. - + 已作为 <i>%3</i> 连接到 <a href="%1">%2</a>。 Currently there is no storage usage information available. - + 目前没有储存使用量信息可用。 @@ -235,27 +235,27 @@ Total time left %5 No ownCloud account configured - + 没有已经配置的 ownCloud 帐号 The configured server for this client is too old - + 此客户端连接到的服务器版本过旧 Please update to the latest server and restart the client. - + 请更新到最新的服务器版本然后重启客户端。 Unable to connect to %1 - + 无法连接到 %1 The provided credentials are not correct - + 提供的证书不正确 @@ -620,7 +620,7 @@ Are you sure you want to perform this operation? General Settings - + 常规设置 @@ -805,7 +805,7 @@ Checked items will also be deleted if they prevent a directory from being remove <p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p> - + <p>新版本的 %1 客户端可用。</p><p><b>%2</b> 已经开放下载。已安装的版本是 %3。</p> @@ -960,7 +960,7 @@ for additional privileges during the process. New version %1 available. Please use the system's update tool to install it. - + 新版本 %1 已经可用,使用系统更新工具升级。 @@ -1075,7 +1075,7 @@ It is not advisable to use it. Update %1 server - + 更新 %1 服务器 @@ -1238,7 +1238,7 @@ It is not advisable to use it. %1 folder <i>%1</i> is synced to local folder <i>%2</i> - + %1 文件夹 <i>%1</i> 已同步到本地文件夹 <i>%2</i> @@ -1440,7 +1440,7 @@ It is not advisable to use it. Action - + 动作 @@ -1887,7 +1887,7 @@ It is not advisable to use it. A network connection timeout happened. - + 网络连接超时。 @@ -2068,7 +2068,7 @@ It is not advisable to use it. Open folder '%1' - + 打开文件夹“%1” @@ -2078,7 +2078,7 @@ It is not advisable to use it. Calculating quota... - + 计算配额.... @@ -2531,7 +2531,7 @@ It is not advisable to use it. The server is currently unavailable - + 服务器当前不可用 From bca1ef42fc2f2757761961586e991300a7b3a51b Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Mon, 21 Jul 2014 01:25:21 -0400 Subject: [PATCH 184/190] [tx-robot] updated from transifex --- translations/mirall_de.ts | 4 ++-- translations/mirall_sl.ts | 4 ++-- translations/mirall_tr.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index 2ae152ec6..5ed983537 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -604,7 +604,7 @@ Sind Sie sicher, dass sie diese Operation durchführen wollen? Server returned wrong content-range - + Server hat falschen Bereich für den Inhalt zurück gegeben @@ -1273,7 +1273,7 @@ Es ist nicht ratsam, diese zu benutzen. Server returned wrong content-range - + Server hat falschen Bereich für den Inhalt zurück gegeben diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 50f346531..50ca4499c 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -620,7 +620,7 @@ Ali sta prepričani, da želite izvesti to opravilo? General Settings - + Splošne nastavitve @@ -2141,7 +2141,7 @@ Te je treba uskladiti znova. Syncing %1 (%2 left) - + Usklajevanje %1 (%2 do konca) diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index e6d1f0d78..f1c3ea95f 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -603,7 +603,7 @@ Bu işlemi gerçekleştirmek istediğinize emin misiniz? Server returned wrong content-range - + Sunucu yanlış içerik aralığı döndürdü @@ -1272,7 +1272,7 @@ Kullanmanız önerilmez. Server returned wrong content-range - + Sunucu yanlış içerik aralığı döndürdü From 77e3480b2f0b0be7694e46ce67d611e290497340 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Mon, 21 Jul 2014 13:19:36 +0200 Subject: [PATCH 185/190] csync oC Util: set field flag correctly to avoid etag memleak. The fields varialbe should contain or'ed flags of the fields set in the csync_vio_file_stat_t struct. The problem was that the field for CSYNC_VIO_FILE_STAT_FIELDS_PERM was assigned rather than or'ed which makes the release function for the struct not freeing the etag memory => memleak. --- csync/src/csync_owncloud_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csync/src/csync_owncloud_util.c b/csync/src/csync_owncloud_util.c index 1a07a2854..af64ff6fc 100644 --- a/csync/src/csync_owncloud_util.c +++ b/csync/src/csync_owncloud_util.c @@ -318,7 +318,7 @@ void resourceToFileStat(csync_vio_file_stat_t *lfs, struct resource *res ) lfs->directDownloadCookies = c_strdup(res->directDownloadCookies); } if (strlen(res->remotePerm) > 0) { - lfs->fields = CSYNC_VIO_FILE_STAT_FIELDS_PERM; + lfs->fields |= CSYNC_VIO_FILE_STAT_FIELDS_PERM; strncpy(lfs->remotePerm, res->remotePerm, sizeof(lfs->remotePerm)); } } From 2e91ea80934d32ff121d9bf42d40b4903982a3ce Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Tue, 22 Jul 2014 01:25:22 -0400 Subject: [PATCH 186/190] [tx-robot] updated from transifex --- translations/mirall_cs.ts | 4 ++-- translations/mirall_ja.ts | 4 ++-- translations/mirall_nl.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 7c3d77c44..4b7b6187e 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -603,7 +603,7 @@ Opravdu chcete provést tuto akci? Server returned wrong content-range - + Server odpověděl chybným rozsahem obsahu @@ -1272,7 +1272,7 @@ Nedoporučuje se jí používat. Server returned wrong content-range - + Server odpověděl chybným rozsahem obsahu diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index e5eafdaee..43f4e59c0 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -603,7 +603,7 @@ Are you sure you want to perform this operation? Server returned wrong content-range - + サーバーが間違ったcontent-rangeを返しました @@ -1270,7 +1270,7 @@ It is not advisable to use it. Server returned wrong content-range - + サーバーが間違ったcontent-rangeを返しました diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index dbb770d6a..3dbf2b57f 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -603,7 +603,7 @@ Weet u zeker dat u deze bewerking wilt uitvoeren? Server returned wrong content-range - + Server retourneerde verkeerde content-bandbreedte @@ -1272,7 +1272,7 @@ We adviseren deze site niet te gebruiken. Server returned wrong content-range - + Server retourneerde verkeerde content-bandbreedte From 4dfe0fad7d73597db35008b50b4dd9fce2c69774 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 22 Jul 2014 10:44:05 +0200 Subject: [PATCH 187/190] tests: Big file chunking, change an existing big file to trigger update This failed on oC7 --- csync/tests/ownCloud/t6.pl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/csync/tests/ownCloud/t6.pl b/csync/tests/ownCloud/t6.pl index 6e8f31b09..b93de0f8c 100755 --- a/csync/tests/ownCloud/t6.pl +++ b/csync/tests/ownCloud/t6.pl @@ -63,6 +63,9 @@ sub chunkFileTest( $$ ) printInfo("Big file that needs chunking with default chunk size"); chunkFileTest( "BIG.file", 23251233 ); +# change the existing file again -> update +chunkFileTest( "BIG.file", 21762122 ); + # Set a custom chunk size in environment. my $ChunkSize = 1*1024*1024; $ENV{'OWNCLOUD_CHUNK_SIZE'} = $ChunkSize; From 0f4cf74ae0cf4448331e1bb681d73e62f82dd78d Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 22 Jul 2014 18:07:02 +0200 Subject: [PATCH 188/190] SyncEngine: allow to do a post upgrade script in debug mode. --- src/mirall/syncengine.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp index 8d664f937..cad4ce7c3 100644 --- a/src/mirall/syncengine.cpp +++ b/src/mirall/syncengine.cpp @@ -39,6 +39,7 @@ #include #include #include +#include namespace Mirall { @@ -584,6 +585,15 @@ void SyncEngine::slotUpdateFinished(int updateResult) csync_set_module_property(_csync_ctx, "get_dav_session", &session); Q_ASSERT(session); + // post update phase script: allow to tweak stuff by a custom script in debug mode. +#ifndef NDEBUG + if( !qgetenv("OWNCLOUD_POST_UPDATE_SCRIPT").isEmpty() ) { + QString script = qgetenv("OWNCLOUD_POST_UPDATE_SCRIPT"); + + qDebug() << "OOO => Post Update Script: " << script; + QProcess::execute(script.toUtf8()); + } +#endif _propagator.reset(new OwncloudPropagator (session, _localPath, _remoteUrl, _remotePath, _journal, &_thread)); connect(_propagator.data(), SIGNAL(completed(SyncFileItem)), From 8d85516e726bbfc625fbb2cbeebcc0cf311fa28f Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 22 Jul 2014 18:07:34 +0200 Subject: [PATCH 189/190] tx.pl: Add a chunking update test, test for precondition failed. --- csync/tests/ownCloud/t6.pl | 47 +++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/csync/tests/ownCloud/t6.pl b/csync/tests/ownCloud/t6.pl index b93de0f8c..66019fecf 100755 --- a/csync/tests/ownCloud/t6.pl +++ b/csync/tests/ownCloud/t6.pl @@ -33,6 +33,34 @@ print "Hello, this is t6, a tester for csync with ownCloud.\n"; initTesting(); +sub createPostUpdateScript() +{ + my $srcFile = localDir()."BIG.file"; + my $cred = configValue("user") . ":" . configValue("passwd"); + my $cmd = "curl -T $srcFile -u $cred " . testDirUrl(); + my $script = "/tmp/post_update_script.sh"; + open SC, ">$script" || die("Can not create script file"); + print SC "#!/bin/bash\n"; + print SC "$cmd\n"; + close SC; + chmod 0755, $script; + + return $script; +} + +sub getETagFromJournal($) +{ + my ($num) = @_; + + my $sql = "sqlite3 " . localDir() . ".csync_journal.db \"SELECT md5 FROM metadata WHERE path='BIG.file';\""; + open(my $fh, '-|', $sql) or die $!; + my $etag = <$fh>; + close $fh; + print "$num etag: $etag"; + + return $etag; +} + sub chunkFileTest( $$ ) { my ($name, $size) = @_; @@ -63,10 +91,27 @@ sub chunkFileTest( $$ ) printInfo("Big file that needs chunking with default chunk size"); chunkFileTest( "BIG.file", 23251233 ); +printInfo("Update the existing file and trigger reupload"); # change the existing file again -> update chunkFileTest( "BIG.file", 21762122 ); - # Set a custom chunk size in environment. +printInfo("Cause a precondition failed error"); +# Now overwrite the existing file to change it +createLocalFile( localDir()."BIG.file", 21832199 ); +# and create a post update script +my $script = createPostUpdateScript(); +$ENV{'OWNCLOUD_POST_UPDATE_SCRIPT'} = $script; + +# Save the etag before the sync +my $firstETag = getETagFromJournal('First'); +csync(); # Sync, which ends in a precondition failed error +# get the etag again. It has to be unchanged because of the error. +my $secondETag = getETagFromJournal('Second'); +assert( $firstETag eq $secondETag, "Different ETags, no precondition error." ); + +unlink($script); + +# Set a custom chunk size in environment. my $ChunkSize = 1*1024*1024; $ENV{'OWNCLOUD_CHUNK_SIZE'} = $ChunkSize; From 6b7bd07c977373af91372e387ff917ff3dd02c3c Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Wed, 23 Jul 2014 01:25:21 -0400 Subject: [PATCH 190/190] [tx-robot] updated from transifex --- translations/mirall_ca.ts | 94 +++++++++++++++++----------------- translations/mirall_cs.ts | 94 +++++++++++++++++----------------- translations/mirall_de.ts | 94 +++++++++++++++++----------------- translations/mirall_el.ts | 94 +++++++++++++++++----------------- translations/mirall_en.ts | 94 +++++++++++++++++----------------- translations/mirall_es.ts | 98 ++++++++++++++++++------------------ translations/mirall_es_AR.ts | 94 +++++++++++++++++----------------- translations/mirall_et.ts | 94 +++++++++++++++++----------------- translations/mirall_eu.ts | 94 +++++++++++++++++----------------- translations/mirall_fa.ts | 94 +++++++++++++++++----------------- translations/mirall_fi.ts | 94 +++++++++++++++++----------------- translations/mirall_fr.ts | 94 +++++++++++++++++----------------- translations/mirall_gl.ts | 94 +++++++++++++++++----------------- translations/mirall_hu.ts | 94 +++++++++++++++++----------------- translations/mirall_it.ts | 98 ++++++++++++++++++------------------ translations/mirall_ja.ts | 94 +++++++++++++++++----------------- translations/mirall_nl.ts | 94 +++++++++++++++++----------------- translations/mirall_pl.ts | 94 +++++++++++++++++----------------- translations/mirall_pt.ts | 94 +++++++++++++++++----------------- translations/mirall_pt_BR.ts | 98 ++++++++++++++++++------------------ translations/mirall_ru.ts | 94 +++++++++++++++++----------------- translations/mirall_sk.ts | 94 +++++++++++++++++----------------- translations/mirall_sl.ts | 94 +++++++++++++++++----------------- translations/mirall_sv.ts | 94 +++++++++++++++++----------------- translations/mirall_th.ts | 94 +++++++++++++++++----------------- translations/mirall_tr.ts | 94 +++++++++++++++++----------------- translations/mirall_uk.ts | 94 +++++++++++++++++----------------- translations/mirall_zh_CN.ts | 94 +++++++++++++++++----------------- translations/mirall_zh_TW.ts | 94 +++++++++++++++++----------------- 29 files changed, 1369 insertions(+), 1369 deletions(-) diff --git a/translations/mirall_ca.ts b/translations/mirall_ca.ts index 1eefecb2d..004441c05 100644 --- a/translations/mirall_ca.ts +++ b/translations/mirall_ca.ts @@ -1784,229 +1784,229 @@ Proveu de sincronitzar-los de nou. Mirall::SyncEngine - + Success. Èxit. - + CSync failed to create a lock file. CSync ha fallat en crear un fitxer de bloqueig. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync ha fallat en carregar o crear el fitxer de revista. Assegureu-vos que yeniu permisos de lectura i escriptura en la carpeta local de sincronització. - + CSync failed to write the journal file. CSync ha fallat en escriure el fitxer de revista - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>No s'ha pogut carregar el connector %1 per csync.<br/>Comproveu la instal·lació!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'hora del sistema d'aquest client és diferent de l'hora del sistema del servidor. Useu un servei de sincronització de temps (NTP) en el servidor i al client perquè l'hora sigui la mateixa. - + CSync could not detect the filesystem type. CSync no ha pogut detectar el tipus de fitxers del sistema. - + CSync got an error while processing internal trees. CSync ha patit un error mentre processava els àrbres interns. - + CSync failed to reserve memory. CSync ha fallat en reservar memòria. - + CSync fatal parameter error. Error fatal de paràmetre en CSync. - + CSync processing step update failed. El pas d'actualització del processat de CSync ha fallat. - + CSync processing step reconcile failed. El pas de reconciliació del processat de CSync ha fallat. - + CSync processing step propagate failed. El pas de propagació del processat de CSync ha fallat. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>La carpeta destí no existeix.</p><p>Comproveu la configuració de sincronització</p> - + A remote file can not be written. Please check the remote access. No es pot escriure el fitxer remot. Reviseu l'acces remot. - + The local filesystem can not be written. Please check permissions. No es pot escriure al sistema de fitxers local. Reviseu els permisos. - + CSync failed to connect through a proxy. CSync ha fallat en connectar a través d'un proxy. - + CSync could not authenticate at the proxy. CSync no s'ha pogut acreditar amb el proxy. - + CSync failed to lookup proxy or server. CSync ha fallat en cercar el proxy o el servidor. - + CSync failed to authenticate at the %1 server. L'autenticació de CSync ha fallat al servidor %1. - + CSync failed to connect to the network. CSync ha fallat en connectar-se a la xarxa. - + A network connection timeout happened. Temps excedit en la connexió. - + A HTTP transmission error happened. S'ha produït un error en la transmissió HTTP. - + CSync failed due to not handled permission deniend. CSync ha fallat en no implementar el permís denegat. - + CSync failed to access CSync ha fallat en accedir - + CSync tried to create a directory that already exists. CSync ha intentat crear una carpeta que ja existeix. - - + + CSync: No space on %1 server available. CSync: No hi ha espai disponible al servidor %1. - + CSync unspecified error. Error inespecífic de CSync. - + Aborted by the user Aturat per l'usuari - + 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. - + 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ó - + 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 - + 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 diff --git a/translations/mirall_cs.ts b/translations/mirall_cs.ts index 4b7b6187e..0bd6e5e35 100644 --- a/translations/mirall_cs.ts +++ b/translations/mirall_cs.ts @@ -1785,229 +1785,229 @@ Zkuste provést novou synchronizaci. Mirall::SyncEngine - + Success. Úspěch. - + CSync failed to create a lock file. CSync nemůže vytvořit soubor zámku. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync se nepodařilo načíst či vytvořit soubor žurnálu. Ujistěte se, že máte oprávnění pro čtení a zápis v místní synchronizované složce. - + CSync failed to write the journal file. CSync se nepodařilo zapsat do souboru žurnálu. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Plugin %1 pro csync nelze načíst.<br/>Zkontrolujte prosím instalaci!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systémový čas na klientovi je rozdílný od systémového času serveru. Použijte, prosím, službu synchronizace času (NTP) na serveru i klientovi, aby byl čas na obou strojích stejný. - + CSync could not detect the filesystem type. CSync nemohl detekovat typ souborového systému. - + CSync got an error while processing internal trees. CSync obdrželo chybu při zpracování vnitřních struktur. - + CSync failed to reserve memory. CSync se nezdařilo rezervovat paměť. - + CSync fatal parameter error. CSync: kritická chyba parametrů. - + CSync processing step update failed. CSync se nezdařilo zpracovat krok aktualizace. - + CSync processing step reconcile failed. CSync se nezdařilo zpracovat krok sladění. - + CSync processing step propagate failed. CSync se nezdařilo zpracovat krok propagace. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Cílový adresář neexistuje.</p><p>Zkontrolujte, prosím, nastavení synchronizace.</p> - + A remote file can not be written. Please check the remote access. Vzdálený soubor nelze zapsat. Ověřte prosím vzdálený přístup. - + The local filesystem can not be written. Please check permissions. Do místního souborového systému nelze zapisovat. Ověřte, prosím, přístupová práva. - + CSync failed to connect through a proxy. CSync se nezdařilo připojit skrze proxy. - + CSync could not authenticate at the proxy. CSync se nemohlo přihlásit k proxy. - + CSync failed to lookup proxy or server. CSync se nezdařilo najít proxy server nebo cílový server. - + CSync failed to authenticate at the %1 server. CSync se nezdařilo přihlásit k serveru %1. - + CSync failed to connect to the network. CSync se nezdařilo připojit k síti. - + A network connection timeout happened. Došlo k vypršení časového limitu síťového spojení. - + A HTTP transmission error happened. Nastala chyba HTTP přenosu. - + CSync failed due to not handled permission deniend. CSync selhalo z důvodu nezpracovaného odmítnutí práv. - + CSync failed to access CSync se nezdařil přístup - + CSync tried to create a directory that already exists. CSync se pokusilo vytvořit adresář, který již existuje. - - + + CSync: No space on %1 server available. CSync: Nedostatek volného místa na serveru %1. - + CSync unspecified error. Nespecifikovaná chyba CSync. - + Aborted by the user Zrušeno uživatelem - + 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. - + 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 - + 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 - + 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 diff --git a/translations/mirall_de.ts b/translations/mirall_de.ts index 5ed983537..f681abc8c 100644 --- a/translations/mirall_de.ts +++ b/translations/mirall_de.ts @@ -1785,229 +1785,229 @@ Versuchen Sie diese nochmals zu synchronisieren. Mirall::SyncEngine - + Success. Erfolgreich - + CSync failed to create a lock file. CSync konnte keine lock-Datei erstellen. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync konnte den Synchronisationsbericht nicht laden oder erstellen. Stellen Sie bitte sicher, dass Sie Lese- und Schreibrechte auf das lokale Synchronisationsverzeichnis haben. - + CSync failed to write the journal file. CSync konnte den Synchronisationsbericht nicht schreiben. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Das %1-Plugin für csync konnte nicht geladen werden.<br/>Bitte überprüfen Sie die Installation!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Die Uhrzeit auf diesem Computer und dem Server sind verschieden. Bitte verwenden Sie ein Zeitsynchronisationsprotokolls (NTP) auf Ihrem Server und Klienten, damit die gleiche Uhrzeit verwendet wird. - + CSync could not detect the filesystem type. CSync konnte den Typ des Dateisystem nicht feststellen. - + CSync got an error while processing internal trees. CSync hatte einen Fehler bei der Verarbeitung von internen Strukturen. - + CSync failed to reserve memory. CSync konnte keinen Speicher reservieren. - + CSync fatal parameter error. CSync hat einen schwerwiegender Parameterfehler festgestellt. - + CSync processing step update failed. CSync Verarbeitungsschritt "Aktualisierung" fehlgeschlagen. - + CSync processing step reconcile failed. CSync Verarbeitungsschritt "Abgleich" fehlgeschlagen. - + CSync processing step propagate failed. CSync Verarbeitungsschritt "Übertragung" fehlgeschlagen. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Das Zielverzeichnis existiert nicht.</p><p>Bitte prüfen Sie die Synchronisationseinstellungen.</p> - + A remote file can not be written. Please check the remote access. Eine Remote-Datei konnte nicht geschrieben werden. Bitte den Remote-Zugriff überprüfen. - + The local filesystem can not be written. Please check permissions. Kann auf dem lokalen Dateisystem nicht schreiben. Bitte Berechtigungen überprüfen. - + CSync failed to connect through a proxy. CSync konnte sich nicht über einen Proxy verbinden. - + CSync could not authenticate at the proxy. CSync konnte sich nicht am Proxy authentifizieren. - + CSync failed to lookup proxy or server. CSync konnte den Proxy oder Server nicht auflösen. - + CSync failed to authenticate at the %1 server. CSync konnte sich nicht am Server %1 authentifizieren. - + CSync failed to connect to the network. CSync konnte sich nicht mit dem Netzwerk verbinden. - + A network connection timeout happened. Eine Zeitüberschreitung der Netzwerkverbindung ist aufgetreten. - + A HTTP transmission error happened. Es hat sich ein HTTP-Übertragungsfehler ereignet. - + CSync failed due to not handled permission deniend. CSync wegen fehlender Berechtigung fehlgeschlagen. - + CSync failed to access CSync-Zugriff fehlgeschlagen - + CSync tried to create a directory that already exists. CSync versuchte, ein Verzeichnis zu erstellen, welches bereits existiert. - - + + CSync: No space on %1 server available. CSync: Kein Platz auf Server %1 frei. - + CSync unspecified error. CSync unbekannter Fehler. - + Aborted by the user Abbruch durch den Benutzer - + 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. - + 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 - + 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 - + 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 diff --git a/translations/mirall_el.ts b/translations/mirall_el.ts index 47dda3afe..85f63b26f 100644 --- a/translations/mirall_el.ts +++ b/translations/mirall_el.ts @@ -1785,229 +1785,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Επιτυχία. - + CSync failed to create a lock file. Το CSync απέτυχε να δημιουργήσει ένα αρχείο κλειδώματος. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Το CSync απέτυχε να φορτώσει ή να δημιουργήσει το αρχείο καταλόγου. Βεβαιωθείτε ότι έχετε άδειες ανάγνωσης και εγγραφής στον τοπικό κατάλογο συγχρονισμού. - + CSync failed to write the journal file. Το CSync απέτυχε να εγγράψει στο αρχείο καταλόγου. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Το πρόσθετο του %1 για το csync δεν μπόρεσε να φορτωθεί.<br/>Παρακαλούμε επαληθεύσετε την εγκατάσταση!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Η ώρα του συστήματος στον τοπικό υπολογιστή διαφέρει από την ώρα του συστήματος στο διακομιστή. Παρακαλούμε χρησιμοποιήστε μια υπηρεσία χρονικού συγχρονισμού (NTP) στο διακομιστή και στον τοπικό υπολογιστή ώστε η ώρα να παραμένει η ίδια. - + CSync could not detect the filesystem type. To CSync δεν μπορούσε να ανιχνεύσει τον τύπο του συστήματος αρχείων. - + CSync got an error while processing internal trees. Το CSync έλαβε κάποιο μήνυμα λάθους κατά την επεξεργασία της εσωτερικής διεργασίας. - + CSync failed to reserve memory. Το CSync απέτυχε να δεσμεύσει μνήμη. - + CSync fatal parameter error. Μοιραίο σφάλμα παράμετρου CSync. - + CSync processing step update failed. Η ενημέρωση του βήματος επεξεργασίας του CSync απέτυχε. - + CSync processing step reconcile failed. CSync στάδιο επεξεργασίας συμφιλίωση απέτυχε. - + CSync processing step propagate failed. Η μετάδοση του βήματος επεξεργασίας του CSync απέτυχε. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Ο κατάλογος προορισμού δεν υπάρχει.</p><p>Παρακαλώ ελέγξτε τις ρυθμίσεις συγχρονισμού.</p> - + A remote file can not be written. Please check the remote access. Ένα απομακρυσμένο αρχείο δεν μπορεί να εγγραφεί. Παρακαλούμε ελέγξτε την απομακρυσμένη πρόσβαση. - + The local filesystem can not be written. Please check permissions. Το τοπικό σύστημα αρχείων δεν είναι εγγράψιμο. Παρακαλούμε ελέγξτε τα δικαιώματα. - + CSync failed to connect through a proxy. Το CSync απέτυχε να συνδεθεί μέσω ενός διαμεσολαβητή. - + CSync could not authenticate at the proxy. Το CSync δεν μπόρεσε να πιστοποιηθεί στο διακομιστή μεσολάβησης. - + CSync failed to lookup proxy or server. Το CSync απέτυχε να διερευνήσει το διαμεσολαβητή ή το διακομιστή. - + CSync failed to authenticate at the %1 server. Το CSync απέτυχε να πιστοποιηθεί στο διακομιστή 1%. - + CSync failed to connect to the network. Το CSync απέτυχε να συνδεθεί με το δίκτυο. - + A network connection timeout happened. Διακοπή σύνδεσης δικτύου. - + A HTTP transmission error happened. Ένα σφάλμα μετάδοσης HTTP συνέβη. - + CSync failed due to not handled permission deniend. Το CSync απέτυχε λόγω απόρριψης μη-διαχειρίσιμων δικαιωμάτων. - + CSync failed to access Το CSync απέτυχε να αποκτήσει πρόσβαση - + CSync tried to create a directory that already exists. Το CSync προσπάθησε να δημιουργήσει ένα κατάλογο που υπάρχει ήδη. - - + + CSync: No space on %1 server available. CSync: Δεν υπάρχει διαθέσιμος χώρος στο διακομιστή 1%. - + CSync unspecified error. Άγνωστο σφάλμα CSync. - + Aborted by the user Ματαιώθηκε από το χρήστη - + 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. Οι συμβολικού σύνδεσμοι δεν υποστηρίζονται για το συγχρονισμό. - + 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 Αδυναμία ανοίγματος του αρχείου συγχρονισμού - + 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 Δεν επιτρέπεται η αφαίρεση, αποκατάσταση σε εξέλιξη - + Move not allowed, item restored Η μετακίνηση δεν επιτρέπεται, το αντικείμενο αποκαταστάθηκε - + Move not allowed because %1 is read-only Η μετακίνηση δεν επιτρέπεται επειδή το %1 είναι μόνο για ανάγνωση - + the destination ο προορισμός - + the source η προέλευση diff --git a/translations/mirall_en.ts b/translations/mirall_en.ts index e8abd573a..efcd5d9ae 100644 --- a/translations/mirall_en.ts +++ b/translations/mirall_en.ts @@ -1776,229 +1776,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. - + CSync failed to create a lock file. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. - + CSync could not detect the filesystem type. - + CSync got an error while processing internal trees. - + CSync failed to reserve memory. - + CSync fatal parameter error. - + CSync processing step update failed. - + CSync processing step reconcile failed. - + CSync processing step propagate failed. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. - + The local filesystem can not be written. Please check permissions. - + CSync failed to connect through a proxy. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. - + CSync failed to authenticate at the %1 server. - + CSync failed to connect to the network. - + A network connection timeout happened. - + A HTTP transmission error happened. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. - - + + CSync: No space on %1 server available. - + CSync unspecified error. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_es.ts b/translations/mirall_es.ts index 909bfe1cb..3543fa406 100644 --- a/translations/mirall_es.ts +++ b/translations/mirall_es.ts @@ -603,7 +603,7 @@ Está seguro de que desea realizar esta operación? Server returned wrong content-range - + El servidor devolvió un content-range erróneo @@ -1272,7 +1272,7 @@ No se recomienda usarlo. Server returned wrong content-range - + El servidor devolvió un content-range erróneo @@ -1784,229 +1784,229 @@ Intente sincronizar los archivos nuevamente. Mirall::SyncEngine - + Success. Completado con éxito. - + CSync failed to create a lock file. CSync no pudo crear un fichero de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync falló al cargar o crear el archivo de diario. Asegúrese de tener permisos de lectura y escritura en el directorio local de sincronización. - + CSync failed to write the journal file. CSync falló al escribir el archivo de diario. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>El %1 complemente para csync no se ha podido cargar.<br/>Por favor, verifique la instalación</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. La hora del sistema en este cliente es diferente de la hora del sistema en el servidor. Por favor use un servicio de sincronización de hora (NTP) en los servidores y clientes para que las horas se mantengan idénticas. - + CSync could not detect the filesystem type. CSync no pudo detectar el tipo de sistema de archivos. - + CSync got an error while processing internal trees. CSync encontró un error mientras procesaba los árboles de datos internos. - + CSync failed to reserve memory. Fallo al reservar memoria para Csync - + CSync fatal parameter error. Error fatal de parámetro en CSync. - + CSync processing step update failed. El proceso de actualización de CSync ha fallado. - + CSync processing step reconcile failed. Falló el proceso de composición de CSync - + CSync processing step propagate failed. Error en el proceso de propagación de CSync - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>El directorio de destino no existe.</p><p>Por favor verifique la configuración de sincronización.</p> - + A remote file can not be written. Please check the remote access. No se pudo escribir en un archivo remoto. Por favor, compruebe el acceso remoto. - + The local filesystem can not be written. Please check permissions. No se puede escribir en el sistema de archivos local. Por favor, compruebe los permisos. - + CSync failed to connect through a proxy. CSync falló al realizar la conexión a través del proxy - + CSync could not authenticate at the proxy. CSync no pudo autenticar el proxy. - + CSync failed to lookup proxy or server. CSync falló al realizar la búsqueda del proxy - + CSync failed to authenticate at the %1 server. CSync: Falló la autenticación con el servidor %1. - + CSync failed to connect to the network. CSync: Falló la conexión con la red. - + A network connection timeout happened. Se sobrepasó el tiempo de espera de la conexión de red. - + A HTTP transmission error happened. Ha ocurrido un error de transmisión HTTP. - + CSync failed due to not handled permission deniend. CSync: Falló debido a un permiso denegado. - + CSync failed to access Error al acceder CSync - + CSync tried to create a directory that already exists. CSync trató de crear un directorio que ya existe. - - + + CSync: No space on %1 server available. CSync: No queda espacio disponible en el servidor %1. - + CSync unspecified error. Error no especificado de CSync - + Aborted by the user Interrumpido por el usuario - + 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. - + 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 - + 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. - + 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 diff --git a/translations/mirall_es_AR.ts b/translations/mirall_es_AR.ts index 377a5e671..ff5cab196 100644 --- a/translations/mirall_es_AR.ts +++ b/translations/mirall_es_AR.ts @@ -1779,229 +1779,229 @@ Intente sincronizar estos nuevamente. Mirall::SyncEngine - + Success. Éxito. - + CSync failed to create a lock file. Se registró un error en CSync cuando se intentaba crear un archivo de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>No fue posible cargar el plugin de %1 para csync.<br/>Por favor, verificá la instalación</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. La hora del sistema en este cliente es diferente de la hora del sistema en el servidor. Por favor, usá un servicio de sincronización (NTP) de hora en las máquinas cliente y servidor para que las horas se mantengan iguales. - + CSync could not detect the filesystem type. CSync no pudo detectar el tipo de sistema de archivos. - + CSync got an error while processing internal trees. CSync tuvo un error mientras procesaba los árboles de datos internos. - + CSync failed to reserve memory. CSync falló al reservar memoria. - + CSync fatal parameter error. Error fatal de parámetro en CSync. - + CSync processing step update failed. Falló el proceso de actualización de CSync. - + CSync processing step reconcile failed. Falló el proceso de composición de CSync - + CSync processing step propagate failed. Proceso de propagación de CSync falló - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>El directorio de destino %1 no existe.</p> Por favor, comprobá la configuración de sincronización. </p> - + A remote file can not be written. Please check the remote access. No se puede escribir un archivo remoto. Revisá el acceso remoto. - + The local filesystem can not be written. Please check permissions. No se puede escribir en el sistema de archivos local. Revisá los permisos. - + CSync failed to connect through a proxy. CSync falló al tratar de conectarse a través de un proxy - + CSync could not authenticate at the proxy. CSync no pudo autenticar el proxy. - + CSync failed to lookup proxy or server. CSync falló al realizar la busqueda del proxy. - + CSync failed to authenticate at the %1 server. CSync: fallo al autenticarse en el servidor %1. - + CSync failed to connect to the network. CSync: fallo al conectarse a la red - + A network connection timeout happened. - + A HTTP transmission error happened. Ha ocurrido un error de transmisión HTTP. - + CSync failed due to not handled permission deniend. CSync: Falló debido a un permiso denegado. - + CSync failed to access CSync falló al acceder - + CSync tried to create a directory that already exists. Csync trató de crear un directorio que ya existía. - - + + CSync: No space on %1 server available. CSync: No hay más espacio disponible en el servidor %1. - + CSync unspecified error. Error no especificado de CSync - + Aborted by the user Interrumpido por el usuario - + 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. - + 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_et.ts b/translations/mirall_et.ts index 6c59e89a4..55cd7b341 100644 --- a/translations/mirall_et.ts +++ b/translations/mirall_et.ts @@ -1784,229 +1784,229 @@ Proovi neid uuesti sünkroniseerida. Mirall::SyncEngine - + Success. Korras. - + CSync failed to create a lock file. CSync lukustusfaili loomine ebaõnnestus. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync ei suutnud avada või luua registri faili. Tee kindlaks et sul on õigus lugeda ja kirjutada kohalikus sünkrooniseerimise kataloogis - + CSync failed to write the journal file. CSync ei suutnud luua registri faili. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Ei suuda laadida csync lisa %1.<br/>Palun kontrolli paigaldust!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Kliendi arvuti kellaeg erineb serveri omast. Palun kasuta õige aja hoidmiseks kella sünkroniseerimise teenust (NTP) nii serveris kui kliendi arvutites, et kell oleks kõikjal õige. - + CSync could not detect the filesystem type. CSync ei suutnud tuvastada failisüsteemi tüüpi. - + CSync got an error while processing internal trees. CSync sai vea sisemiste andmestruktuuride töötlemisel. - + CSync failed to reserve memory. CSync ei suutnud mälu reserveerida. - + CSync fatal parameter error. CSync parameetri saatuslik viga. - + CSync processing step update failed. CSync uuendusprotsess ebaõnnestus. - + CSync processing step reconcile failed. CSync tasakaalustuse protsess ebaõnnestus. - + CSync processing step propagate failed. CSync edasikandeprotsess ebaõnnestus. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Sihtkataloogi ei eksisteeri.</p><p>Palun kontrolli sünkroniseeringu seadistust</p> - + A remote file can not be written. Please check the remote access. Eemalolevasse faili ei saa kirjutada. Palun kontrolli kaugühenduse ligipääsu. - + The local filesystem can not be written. Please check permissions. Kohalikku failissüsteemi ei saa kirjutada. Palun kontrolli õiguseid. - + CSync failed to connect through a proxy. CSync ühendus läbi puhverserveri ebaõnnestus. - + CSync could not authenticate at the proxy. CSync ei suutnud puhverserveris autoriseerida. - + CSync failed to lookup proxy or server. Csync ei suuda leida puhverserverit. - + CSync failed to authenticate at the %1 server. CSync autoriseering serveris %1 ebaõnnestus. - + CSync failed to connect to the network. CSync võrguga ühendumine ebaõnnestus. - + A network connection timeout happened. Toimus võrgukatkestus. - + A HTTP transmission error happened. HTTP ülekande viga. - + CSync failed due to not handled permission deniend. CSync ebaõnnestus ligipääsu puudumisel. - + CSync failed to access CSyncile ligipääs ebaõnnestus - + CSync tried to create a directory that already exists. Csync proovis tekitada kataloogi, mis oli juba olemas. - - + + CSync: No space on %1 server available. CSync: Serveris %1 on ruum otsas. - + CSync unspecified error. CSync tuvastamatu viga. - + Aborted by the user Kasutaja poolt tühistatud - + 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. - + 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 - + 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 - + 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 diff --git a/translations/mirall_eu.ts b/translations/mirall_eu.ts index 2a8bc9759..44299e196 100644 --- a/translations/mirall_eu.ts +++ b/translations/mirall_eu.ts @@ -1777,229 +1777,229 @@ Saiatu horiek berriz sinkronizatzen. Mirall::SyncEngine - + Success. Arrakasta. - + CSync failed to create a lock file. CSyncek huts egin du lock fitxategia sortzean. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csyncen %1 plugina ezin da kargatu.<br/>Mesedez egiaztatu instalazioa!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Bezero honetako sistemaren ordua zerbitzariarenaren ezberdina da. Mesedez erabili sinkronizazio zerbitzari bat (NTP) zerbitzari eta bezeroan orduak berdinak izan daitezen. - + CSync could not detect the filesystem type. CSyncek ezin du fitxategi sistema mota antzeman. - + CSync got an error while processing internal trees. CSyncek errorea izan du barne zuhaitzak prozesatzerakoan. - + CSync failed to reserve memory. CSyncek huts egin du memoria alokatzean. - + CSync fatal parameter error. CSync parametro larri errorea. - + CSync processing step update failed. CSync prozesatzearen eguneratu urratsak huts egin du. - + CSync processing step reconcile failed. CSync prozesatzearen berdinkatze urratsak huts egin du. - + CSync processing step propagate failed. CSync prozesatzearen hedatu urratsak huts egin du. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Helburu direktorioa ez da existitzen.</p><p>Egiazt6atu sinkronizazio konfigurazioa.</p> - + A remote file can not be written. Please check the remote access. Urruneko fitxategi bat ezin da idatzi. Mesedez egiaztatu urreneko sarbidea. - + The local filesystem can not be written. Please check permissions. Ezin da idatzi bertako fitxategi sisteman. Mesedez egiaztatu baimenak. - + CSync failed to connect through a proxy. CSyncek huts egin du proxiaren bidez konektatzean. - + CSync could not authenticate at the proxy. CSyncek ezin izan du proxya autentikatu. - + CSync failed to lookup proxy or server. CSyncek huts egin du zerbitzaria edo proxia bilatzean. - + CSync failed to authenticate at the %1 server. CSyncek huts egin du %1 zerbitzarian autentikatzean. - + CSync failed to connect to the network. CSyncek sarera konektatzean huts egin du. - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP transmisio errore bat gertatu da. - + CSync failed due to not handled permission deniend. CSyncek huts egin du kudeatu gabeko baimen ukapen bat dela eta. - + CSync failed to access - + CSync tried to create a directory that already exists. CSyncek dagoeneko existitzen zen karpeta bat sortzen saiatu da. - - + + CSync: No space on %1 server available. CSync: Ez dago lekurik %1 zerbitzarian. - + CSync unspecified error. CSyncen zehaztugabeko errorea. - + Aborted by the user Erabiltzaileak bertan behera utzita - + 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. - + 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_fa.ts b/translations/mirall_fa.ts index 02149153d..da4f3219e 100644 --- a/translations/mirall_fa.ts +++ b/translations/mirall_fa.ts @@ -1774,229 +1774,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. موفقیت - + CSync failed to create a lock file. CSync موفق به ایجاد یک فایل قفل شده، نشد. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>ماژول %1 برای csync نمی تواند بارگذاری شود.<br/>لطفا نصب را بررسی کنید!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. سیستم زمان بر روی این مشتری با سیستم زمان بر روی سرور متفاوت است.لطفا از خدمات هماهنگ سازی زمان (NTP) بر روی ماشین های سرور و کلاینت استفاده کنید تا زمان ها یکسان باقی بمانند. - + CSync could not detect the filesystem type. CSync نوع فایل های سیستم را نتوانست تشخیص بدهد. - + CSync got an error while processing internal trees. CSync هنگام پردازش درختان داخلی یک خطا دریافت نمود. - + CSync failed to reserve memory. CSync موفق به رزرو حافظه نشد است. - + CSync fatal parameter error. - + CSync processing step update failed. مرحله به روز روسانی پردازش CSync ناموفق بود. - + CSync processing step reconcile failed. مرحله تطبیق پردازش CSync ناموفق بود. - + CSync processing step propagate failed. مرحله گسترش پردازش CSync ناموفق بود. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>پوشه هدف وجود ندارد.</p><p>لطفا راه اندازی همگام سازی را بررسی کنید.</p> - + A remote file can not be written. Please check the remote access. یک فایل از راه دور نمی تواند نوشته شود. لطفا دسترسی از راه دور را بررسی نمایید. - + The local filesystem can not be written. Please check permissions. بر روی فایل سیستمی محلی نمی توانید چیزی بنویسید.لطفا مجوزش را بررسی کنید. - + CSync failed to connect through a proxy. عدم موفقیت CSync برای اتصال از طریق یک پروکسی. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. عدم موفقیت CSync برای مراجعه به پروکسی یا سرور. - + CSync failed to authenticate at the %1 server. عدم موفقیت CSync برای اعتبار دادن در %1 سرور. - + CSync failed to connect to the network. عدم موفقیت CSync برای اتصال به شبکه. - + A network connection timeout happened. - + A HTTP transmission error happened. خطا در انتقال HTTP اتفاق افتاده است. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync برای ایجاد یک پوشه که در حال حاضر موجود است تلاش کرده است. - - + + CSync: No space on %1 server available. CSync: فضا در %1 سرور در دسترس نیست. - + CSync unspecified error. خطای نامشخص CSync - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_fi.ts b/translations/mirall_fi.ts index 37ca946bb..b16690c28 100644 --- a/translations/mirall_fi.ts +++ b/translations/mirall_fi.ts @@ -1779,229 +1779,229 @@ Osoitteen käyttäminen ei ole suositeltavaa. Mirall::SyncEngine - + Success. Onnistui. - + CSync failed to create a lock file. Csync ei onnistunut luomaan lukitustiedostoa. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1-liitännäistä csyncia varten ei voitu ladata.<br/>Varmista asennuksen toimivuus!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Tämän koneen järjestelmäaika on erilainen verrattuna palvelimen aikaan. Käytä NTP-palvelua kummallakin koneella, jotta kellot pysyvät samassa ajassa. Muuten tiedostojen synkronointi ei toimi. - + CSync could not detect the filesystem type. Csync-synkronointipalvelu ei kyennyt tunnistamaan tiedostojärjestelmän tyyppiä. - + CSync got an error while processing internal trees. Csync-synkronointipalvelussa tapahtui virhe sisäisten puurakenteiden prosessoinnissa. - + CSync failed to reserve memory. CSync ei onnistunut varaamaan muistia. - + CSync fatal parameter error. - + CSync processing step update failed. - + CSync processing step reconcile failed. - + CSync processing step propagate failed. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Kohdekansiota ei ole olemassa.</p><p>Tarkasta synkronointiasetuksesi.</p> - + A remote file can not be written. Please check the remote access. Etätiedostoa ei pystytä kirjoittamaan. Tarkista, että etäpääsy toimii. - + The local filesystem can not be written. Please check permissions. Paikalliseen tiedostojärjestelmään kirjoittaminen epäonnistui. Tarkista kansion oikeudet. - + CSync failed to connect through a proxy. CSync ei onnistunut muodostamaan yhteyttä välityspalvelimen välityksellä. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. - + CSync failed to authenticate at the %1 server. - + CSync failed to connect to the network. CSync ei onnistunut yhdistämään verkkoon. - + A network connection timeout happened. Tapahtui verkon aikakatkaisu. - + A HTTP transmission error happened. Tapahtui HTTP-välitysvirhe. - + CSync failed due to not handled permission deniend. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync yritti luoda olemassa olevan kansion. - - + + CSync: No space on %1 server available. CSync: %1-palvelimella ei ole tilaa vapaana. - + CSync unspecified error. CSync - määrittämätön virhe. - + Aborted by the user - + 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. - + 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 - + 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 - + 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 diff --git a/translations/mirall_fr.ts b/translations/mirall_fr.ts index e4acec93e..9f6b3e974 100644 --- a/translations/mirall_fr.ts +++ b/translations/mirall_fr.ts @@ -1784,229 +1784,229 @@ Il est déconseillé de l'utiliser. Mirall::SyncEngine - + Success. Succès. - + CSync failed to create a lock file. CSync n'a pas pu créer le fichier de verrouillage. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync n’a pu charger ou créer le fichier de journalisation. Veuillez vérifier que vous possédez les droits en lecture/écriture dans le répertoire de synchronisation local. - + CSync failed to write the journal file. CSync n’a pu écrire le fichier de journalisation. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Le plugin %1 pour csync n'a pas pu être chargé.<br/>Merci de vérifier votre installation !</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'heure du client est différente de l'heure du serveur. Veuillez utiliser un service de synchronisation du temps (NTP) sur le serveur et le client afin que les horloges soient à la même heure. - + CSync could not detect the filesystem type. CSync n'a pas pu détecter le type de système de fichier. - + CSync got an error while processing internal trees. CSync obtient une erreur pendant le traitement des arbres internes. - + CSync failed to reserve memory. Erreur lors de l'allocation mémoire par CSync. - + CSync fatal parameter error. Erreur fatale CSync : mauvais paramètre. - + CSync processing step update failed. Erreur CSync lors de l'opération de mise à jour - + CSync processing step reconcile failed. Erreur CSync lors de l'opération d'harmonisation - + CSync processing step propagate failed. Erreur CSync lors de l'opération de propagation - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Le répertoire cible n'existe pas.</p><p>Veuillez vérifier la configuration de la synchronisation.</p> - + A remote file can not be written. Please check the remote access. Un fichier distant ne peut être écrit. Veuillez vérifier l’accès distant. - + The local filesystem can not be written. Please check permissions. Le système de fichiers local n'est pas accessible en écriture. Veuillez vérifier les permissions. - + CSync failed to connect through a proxy. CSync n'a pu établir une connexion à travers un proxy. - + CSync could not authenticate at the proxy. CSync ne peut s'authentifier auprès du proxy. - + CSync failed to lookup proxy or server. CSync n'a pu trouver un proxy ou serveur auquel se connecter. - + CSync failed to authenticate at the %1 server. CSync n'a pu s'authentifier auprès du serveur %1. - + CSync failed to connect to the network. CSync n'a pu établir une connexion au réseau. - + A network connection timeout happened. - + A HTTP transmission error happened. Une erreur de transmission HTTP s'est produite. - + CSync failed due to not handled permission deniend. CSync a échoué en raison d'une erreur de permission non prise en charge. - + CSync failed to access Echec de CSync pour accéder - + CSync tried to create a directory that already exists. CSync a tenté de créer un répertoire déjà présent. - - + + CSync: No space on %1 server available. CSync : Aucun espace disponibla sur le serveur %1. - + CSync unspecified error. Erreur CSync inconnue. - + Aborted by the user Abandonné par l'utilisateur - + 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 supportés par la synchronisation. - + File is listed on the ignore list. Le fichier est présent dans la liste de fichiers à ignorer. - + File contains invalid characters that can not be synced cross platform. Le fichier contient des caractères invalides 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 - + 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 Non autorisé parce-que 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 - - + + Not allowed to remove, restoring - + Move not allowed, item restored - + 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 diff --git a/translations/mirall_gl.ts b/translations/mirall_gl.ts index c5eb11fae..68671e2ac 100644 --- a/translations/mirall_gl.ts +++ b/translations/mirall_gl.ts @@ -1784,229 +1784,229 @@ Tente sincronizalos de novo. Mirall::SyncEngine - + Success. Correcto. - + CSync failed to create a lock file. Produciuse un fallo en CSync ao crear un ficheiro de bloqueo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Produciuse un fallo do Csync ao cargar ou crear o ficheiro de rexistro. Asegúrese de que ten permisos de lectura e escritura no directorio de sincronización local. - + CSync failed to write the journal file. Produciuse un fallo en CSync ao escribir o ficheiro de rexistro. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Non foi posíbel cargar o engadido %1 para CSync.<br/>Verifique a instalación!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A diferenza de tempo neste cliente e diferente do tempo do sistema no servidor. Use o servido de sincronización de tempo (NTP) no servidor e nas máquinas cliente para que os tempos se manteñan iguais. - + CSync could not detect the filesystem type. CSync non pode detectar o tipo de sistema de ficheiros. - + CSync got an error while processing internal trees. CSync tivo un erro ao procesar árbores internas. - + CSync failed to reserve memory. Produciuse un fallo ao reservar memoria para CSync. - + CSync fatal parameter error. Produciuse un erro fatal de parámetro CSync. - + CSync processing step update failed. Produciuse un fallo ao procesar o paso de actualización de CSync. - + CSync processing step reconcile failed. Produciuse un fallo ao procesar o paso de reconciliación de CSync. - + CSync processing step propagate failed. Produciuse un fallo ao procesar o paso de propagación de CSync. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Non existe o directorio de destino.</p><p>Comprobe a configuración da sincronización.</p> - + A remote file can not be written. Please check the remote access. Non é posíbel escribir un ficheiro remoto. Comprobe o acceso remoto. - + The local filesystem can not be written. Please check permissions. Non é posíbel escribir no sistema de ficheiros local. Comprobe os permisos. - + CSync failed to connect through a proxy. CSYNC no puido conectarse a través dun proxy. - + CSync could not authenticate at the proxy. CSync non puido autenticarse no proxy. - + CSync failed to lookup proxy or server. CSYNC no puido atopar o servidor proxy. - + CSync failed to authenticate at the %1 server. CSync non puido autenticarse no servidor %1. - + CSync failed to connect to the network. CSYNC no puido conectarse á rede. - + A network connection timeout happened. Excedeuse do tempo de espera para a conexión á rede. - + A HTTP transmission error happened. Produciuse un erro na transmisión HTTP. - + CSync failed due to not handled permission deniend. Produciuse un fallo en CSync por mor dun permiso denegado. - + CSync failed to access Produciuse un fallo ao acceder a CSync - + CSync tried to create a directory that already exists. CSYNC tenta crear un directorio que xa existe. - - + + CSync: No space on %1 server available. CSync: Non hai espazo dispoñíbel no servidor %1. - + CSync unspecified error. Produciuse un erro non especificado de CSync - + Aborted by the user Interrompido polo usuario - + 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 - + 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 - + 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 - + 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 diff --git a/translations/mirall_hu.ts b/translations/mirall_hu.ts index 6bb401b38..57489022f 100644 --- a/translations/mirall_hu.ts +++ b/translations/mirall_hu.ts @@ -1774,229 +1774,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Sikerült. - + CSync failed to create a lock file. A CSync nem tudott létrehozni lock fájlt. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Az %1 beépülőmodul a csync-hez nem tölthető be.<br/>Ellenőrizze a telepítést!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A helyi rendszeridő különbözik a kiszolgáló rendszeridejétől. Használjon időszinkronizációs szolgáltatást (NTP) a rendszerén és a szerveren is, hogy az idő mindig megeggyezzen. - + CSync could not detect the filesystem type. A CSync nem tudta megállapítani a fájlrendszer típusát. - + CSync got an error while processing internal trees. A CSync hibába ütközött a belső adatok feldolgozása közben. - + CSync failed to reserve memory. Hiba a CSync memórifoglalásakor. - + CSync fatal parameter error. CSync hibás paraméterhiba. - + CSync processing step update failed. CSync frissítés feldolgozása meghíusult. - + CSync processing step reconcile failed. CSync egyeztetési lépés meghíusult. - + CSync processing step propagate failed. CSync propagálási lépés meghíusult. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>A célmappa nem létezik.</p><p>Ellenőrizze a sync beállításait.</p> - + A remote file can not be written. Please check the remote access. Egy távoli fájl nem írható. Kérlek, ellenőrizd a távoli elérést. - + The local filesystem can not be written. Please check permissions. A helyi fájlrendszer nem írható. Kérlek, ellenőrizd az engedélyeket. - + CSync failed to connect through a proxy. CSync proxy kapcsolódási hiba. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. A CSync nem találja a proxy kiszolgálót. - + CSync failed to authenticate at the %1 server. A CSync nem tuja azonosítani magát a %1 kiszolgálón. - + CSync failed to connect to the network. CSync hálózati kapcsolódási hiba. - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP átviteli hiba történt. - + CSync failed due to not handled permission deniend. CSync hiba, nincs kezelési jogosultság. - + CSync failed to access - + CSync tried to create a directory that already exists. A CSync megpróbált létrehozni egy már létező mappát. - - + + CSync: No space on %1 server available. CSync: Nincs szabad tárhely az %1 kiszolgálón. - + CSync unspecified error. CSync ismeretlen hiba. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_it.ts b/translations/mirall_it.ts index 8e3573a11..85c3144f1 100644 --- a/translations/mirall_it.ts +++ b/translations/mirall_it.ts @@ -603,7 +603,7 @@ Sei sicuro di voler eseguire questa operazione? Server returned wrong content-range - + Il server ha restituito un content-range errato @@ -1271,7 +1271,7 @@ Non è consigliabile utilizzarlo. Server returned wrong content-range - + Il server ha restituito un content-range errato @@ -1783,229 +1783,229 @@ Prova a sincronizzare nuovamente. Mirall::SyncEngine - + Success. Successo. - + CSync failed to create a lock file. CSync non è riuscito a creare il file di lock. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync non è riuscito a caricare o a creare il file di registro. Assicurati di avere i permessi di lettura e scrittura nella cartella di sincronizzazione locale. - + CSync failed to write the journal file. CSync non è riuscito a scrivere il file di registro. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Il plugin %1 per csync non può essere caricato.<br/>Verifica l'installazione!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. L'ora di sistema su questo client è diversa dall'ora di sistema del server. Usa un servizio di sincronizzazione dell'orario (NTP) sul server e sulle macchine client in modo che l'ora sia la stessa. - + CSync could not detect the filesystem type. CSync non è riuscito a individuare il tipo di filesystem. - + CSync got an error while processing internal trees. Errore di CSync durante l'elaborazione degli alberi interni. - + CSync failed to reserve memory. CSync non è riuscito a riservare la memoria. - + CSync fatal parameter error. Errore grave di parametro di CSync. - + CSync processing step update failed. La fase di aggiornamento di CSync non è riuscita. - + CSync processing step reconcile failed. La fase di riconciliazione di CSync non è riuscita. - + CSync processing step propagate failed. La fase di propagazione di CSync non è riuscita. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>La cartella di destinazione non esiste.</p><p>Controlla la configurazione della sincronizzazione.</p> - + A remote file can not be written. Please check the remote access. Un file remoto non può essere scritto. Controlla l'accesso remoto. - + The local filesystem can not be written. Please check permissions. Il filesystem locale non può essere scritto. Controlla i permessi. - + CSync failed to connect through a proxy. CSync non è riuscito a connettersi tramite un proxy. - + CSync could not authenticate at the proxy. CSync non è in grado di autenticarsi al proxy. - + CSync failed to lookup proxy or server. CSync non è riuscito a trovare un proxy o server. - + CSync failed to authenticate at the %1 server. CSync non è riuscito ad autenticarsi al server %1. - + CSync failed to connect to the network. CSync non è riuscito a connettersi alla rete. - + A network connection timeout happened. Si è verificato un timeout della connessione di rete. - + A HTTP transmission error happened. Si è verificato un errore di trasmissione HTTP. - + CSync failed due to not handled permission deniend. Problema di CSync dovuto alla mancata gestione dei permessi. - + CSync failed to access CSync non è riuscito ad accedere - + CSync tried to create a directory that already exists. CSync ha cercato di creare una cartella già esistente. - - + + CSync: No space on %1 server available. CSync: spazio insufficiente sul server %1. - + CSync unspecified error. Errore non specificato di CSync. - + Aborted by the user Interrotto dall'utente - + 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. - + 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 - + 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 - + 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 diff --git a/translations/mirall_ja.ts b/translations/mirall_ja.ts index 43f4e59c0..42ce34dbf 100644 --- a/translations/mirall_ja.ts +++ b/translations/mirall_ja.ts @@ -1782,229 +1782,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSyncがロックファイルの作成に失敗しました。 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSyncはジャーナルファイルの読み込みや作成に失敗しました。ローカルの同期ディレクトリに読み書きの権限があるか確認してください。 - + CSync failed to write the journal file. CSyncはジャーナルファイルの書き込みに失敗しました。 - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csync 用の %1 プラグインをロードできませんでした。<br/>インストール状態を確認してください!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. このクライアントのシステム時刻はサーバーのシステム時刻と異なります。時刻が同じになるように、クライアントとサーバーの両方で時刻同期サービス(NTP)を実行してください。 - + CSync could not detect the filesystem type. CSyncはファイルシステムタイプを検出できませんでした。 - + CSync got an error while processing internal trees. CSyncは内部ツリーの処理中にエラーに遭遇しました。 - + CSync failed to reserve memory. CSyncで使用するメモリの確保に失敗しました。 - + CSync fatal parameter error. CSyncの致命的なパラメータエラーです。 - + CSync processing step update failed. CSyncの処理ステップの更新に失敗しました。 - + CSync processing step reconcile failed. CSyncの処理ステップの調停に失敗しました。 - + CSync processing step propagate failed. CSyncの処理ステップの伝播に失敗しました。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>ターゲットディレクトリは存在しません。</p><p>同期設定を確認してください。</p> - + A remote file can not be written. Please check the remote access. リモートファイルは書き込みできません。リモートアクセスをチェックしてください。 - + The local filesystem can not be written. Please check permissions. ローカルファイルシステムは書き込みができません。パーミッションをチェックしてください。 - + CSync failed to connect through a proxy. CSyncがプロキシ経由での接続に失敗しました。 - + CSync could not authenticate at the proxy. CSyncはそのプロキシで認証できませんでした。 - + CSync failed to lookup proxy or server. CSyncはプロキシもしくはサーバーの参照に失敗しました。 - + CSync failed to authenticate at the %1 server. CSyncは %1 サーバーでの認証に失敗しました。 - + CSync failed to connect to the network. CSyncはネットワークへの接続に失敗しました。 - + A network connection timeout happened. ネットワーク接続のタイムアウトが発生しました。 - + A HTTP transmission error happened. HTTPの伝送エラーが発生しました。 - + CSync failed due to not handled permission deniend. CSyncは対応できないパーミッション拒否が原因で失敗しました。 - + CSync failed to access CSync はアクセスに失敗しました - + CSync tried to create a directory that already exists. CSyncはすでに存在するディレクトリを作成しようとしました。 - - + + CSync: No space on %1 server available. CSync: %1 サーバーには利用可能な空き領域がありません。 - + CSync unspecified error. CSyncの未指定のエラーです。 - + Aborted by the user ユーザーによって中止されました - + 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. 同期の際にシンボリックリンクはサポートしていません - + 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 同期ジャーナルを開くことができません - + 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 削除できません、復元しています - + Move not allowed, item restored 移動できません、項目を復元しました - + Move not allowed because %1 is read-only %1 は読み取り専用のため移動できません - + the destination 移動先 - + the source 移動元 diff --git a/translations/mirall_nl.ts b/translations/mirall_nl.ts index 3dbf2b57f..cb31c5fe0 100644 --- a/translations/mirall_nl.ts +++ b/translations/mirall_nl.ts @@ -1784,229 +1784,229 @@ Probeer opnieuw te synchroniseren. Mirall::SyncEngine - + Success. Succes. - + CSync failed to create a lock file. CSync kon geen lock file maken. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync kon het journal bestand niet maken of lezen. Controleer of u de juiste lees- en schrijfrechten in de lokale syncmap hebt. - + CSync failed to write the journal file. CSync kon het journal bestand niet wegschrijven. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>De %1 plugin voor csync kon niet worden geladen.<br/>Verifieer de installatie!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. De systeemtijd van deze client wijkt af van de systeemtijd op de server. Gebruik een tijdsynchronisatieservice (NTP) op zowel de server als de client, zodat de machines dezelfde systeemtijd hebben. - + CSync could not detect the filesystem type. CSync kon het soort bestandssysteem niet bepalen. - + CSync got an error while processing internal trees. CSync kreeg een fout tijdens het verwerken van de interne mappenstructuur. - + CSync failed to reserve memory. CSync kon geen geheugen reserveren. - + CSync fatal parameter error. CSync fatale parameter fout. - + CSync processing step update failed. CSync verwerkingsstap bijwerken mislukt. - + CSync processing step reconcile failed. CSync verwerkingsstap verzamelen mislukt. - + CSync processing step propagate failed. CSync verwerkingsstap doorzetten mislukt. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>De doelmap bestaat niet.</p><p>Controleer de synchinstellingen.</p> - + A remote file can not be written. Please check the remote access. Een extern bestand kon niet worden weggeschreven. Controleer de externe rechten. - + The local filesystem can not be written. Please check permissions. Er kan niet worden geschreven naar het lokale bestandssysteem. Controleer de schrijfrechten. - + CSync failed to connect through a proxy. CSync kon niet verbinden via een proxy. - + CSync could not authenticate at the proxy. CSync kon niet authenticeren bij de proxy. - + CSync failed to lookup proxy or server. CSync kon geen proxy of server vinden. - + CSync failed to authenticate at the %1 server. CSync kon niet authenticeren bij de %1 server. - + CSync failed to connect to the network. CSync kon niet verbinden met het netwerk. - + A network connection timeout happened. Er trad een netwerk time-out op. - + A HTTP transmission error happened. Er trad een HTTP transmissiefout plaats. - + CSync failed due to not handled permission deniend. CSync mislukt omdat de benodigde toegang werd geweigerd. - + CSync failed to access CSync kreeg geen toegang - + CSync tried to create a directory that already exists. CSync probeerde een al bestaande directory aan te maken. - - + + CSync: No space on %1 server available. CSync: Geen ruimte op %1 server beschikbaar. - + CSync unspecified error. CSync ongedefinieerde fout. - + Aborted by the user Afgebroken door de gebruiker - + 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. - + 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 - + 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 - + 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 diff --git a/translations/mirall_pl.ts b/translations/mirall_pl.ts index 7f9fd6066..aeccc1f94 100644 --- a/translations/mirall_pl.ts +++ b/translations/mirall_pl.ts @@ -1784,229 +1784,229 @@ Niezalecane jest jego użycie. Mirall::SyncEngine - + Success. Sukces. - + CSync failed to create a lock file. CSync nie mógł utworzyć pliku blokady. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync nie powiodło się załadowanie lub utworzenie pliku dziennika. Upewnij się, że masz prawa do odczytu i zapisu do lokalnego katalogu synchronizacji. - + CSync failed to write the journal file. CSync nie udało się zapisać pliku dziennika. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Wtyczka %1 do csync nie może być załadowana.<br/>Sprawdź poprawność instalacji!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Czas systemowy na tym kliencie różni się od czasu systemowego na serwerze. Użyj usługi synchronizacji czasu (NTP) na serwerze i kliencie, aby czas na obu urządzeniach był taki sam. - + CSync could not detect the filesystem type. CSync nie może wykryć typu systemu plików. - + CSync got an error while processing internal trees. CSync napotkał błąd podczas przetwarzania wewnętrznych drzew. - + CSync failed to reserve memory. CSync nie mógł zarezerwować pamięci. - + CSync fatal parameter error. Krytyczny błąd parametru CSync. - + CSync processing step update failed. Aktualizacja procesu przetwarzania CSync nie powiodła się. - + CSync processing step reconcile failed. Scalenie w procesie przetwarzania CSync nie powiodło się. - + CSync processing step propagate failed. Propagacja w procesie przetwarzania CSync nie powiodła się. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Katalog docelowy nie istnieje.</p><p>Sprawdź ustawienia synchronizacji.</p> - + A remote file can not be written. Please check the remote access. Zdalny plik nie może zostać zapisany. Sprawdź dostęp zdalny. - + The local filesystem can not be written. Please check permissions. Nie można zapisywać na lokalnym systemie plików. Sprawdź uprawnienia. - + CSync failed to connect through a proxy. CSync nie mógł połączyć się przez proxy. - + CSync could not authenticate at the proxy. CSync nie mógł się uwierzytelnić przez proxy. - + CSync failed to lookup proxy or server. CSync nie mógł odnaleźć serwera proxy. - + CSync failed to authenticate at the %1 server. CSync nie mógł uwierzytelnić się na serwerze %1. - + CSync failed to connect to the network. CSync nie mógł połączyć się z siecią. - + A network connection timeout happened. - + A HTTP transmission error happened. Wystąpił błąd transmisji HTTP. - + CSync failed due to not handled permission deniend. CSync nie obsługiwane, odmowa uprawnień. - + CSync failed to access Synchronizacja nieudana z powodu braku dostępu - + CSync tried to create a directory that already exists. CSync próbował utworzyć katalog, który już istnieje. - - + + CSync: No space on %1 server available. CSync: Brak dostępnego miejsca na serwerze %1. - + CSync unspecified error. Nieokreślony błąd CSync. - + Aborted by the user Anulowane przez użytkownika - + 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. - + 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination docelowy - + the source źródło diff --git a/translations/mirall_pt.ts b/translations/mirall_pt.ts index 4c597a2bc..9e6668f7f 100644 --- a/translations/mirall_pt.ts +++ b/translations/mirall_pt.ts @@ -1781,230 +1781,230 @@ Por favor tente sincronizar novamente. Mirall::SyncEngine - + Success. Sucesso - + CSync failed to create a lock file. CSync falhou a criação do ficheiro de lock. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync falhou no carregamento ou criação do ficheiro jornal. Confirme que tem permissões de escrita e leitura no directório de sincronismo local. - + CSync failed to write the journal file. CSync falhou a escrever o ficheiro do jornal. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>O plugin %1 para o CSync não foi carregado.<br/>Por favor verifique a instalação!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A data/hora neste cliente é difere da data/hora do servidor. Por favor utilize um servidor de sincronização horária (NTP), no servidor e nos clientes para garantir que a data/hora são iguais. - + CSync could not detect the filesystem type. Csync não conseguiu detectar o tipo de sistema de ficheiros. - + CSync got an error while processing internal trees. Csync obteve um erro enquanto processava as árvores internas. - + CSync failed to reserve memory. O CSync falhou a reservar memória - + CSync fatal parameter error. Parametro errado, CSync falhou - + CSync processing step update failed. O passo de processamento do CSyn falhou - + CSync processing step reconcile failed. CSync: Processo de reconciliação falhou. - + CSync processing step propagate failed. CSync: O processo de propagação falhou. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>A pasta de destino não existe.</p><p>Por favor verifique a configuração da sincronização.</p> - + A remote file can not be written. Please check the remote access. Não é possivel escrever num ficheiro remoto. Por favor verifique o acesso remoto. - + The local filesystem can not be written. Please check permissions. Não é possivel escrever no sistema de ficheiros local. Por favor verifique as permissões. - + CSync failed to connect through a proxy. CSync: Erro a ligar através do proxy - + CSync could not authenticate at the proxy. CSync: erro ao autenticar-se no servidor proxy. - + CSync failed to lookup proxy or server. CSync: Erro a contactar o proxy ou o servidor. - + CSync failed to authenticate at the %1 server. CSync: Erro a autenticar no servidor %1 - + CSync failed to connect to the network. CSync: Erro na conecção à rede - + A network connection timeout happened. Houve um erro de timeout de rede. - + A HTTP transmission error happened. Ocorreu um erro de transmissão HTTP - + CSync failed due to not handled permission deniend. CSync: Erro devido a permissões de negação não tratadas. - + CSync failed to access CSync: falha no acesso - + CSync tried to create a directory that already exists. O CSync tentou criar uma pasta que já existe. - - + + CSync: No space on %1 server available. CSync: Não ha espaço disponível no servidor %1 - + CSync unspecified error. CSync: erro não especificado - + Aborted by the user Cancelado pelo utilizador - + 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. - + 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 - + 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 - + 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 diff --git a/translations/mirall_pt_BR.ts b/translations/mirall_pt_BR.ts index 61c05798b..5d29e6a5a 100644 --- a/translations/mirall_pt_BR.ts +++ b/translations/mirall_pt_BR.ts @@ -603,7 +603,7 @@ Você tem certeza que quer executar esta operação? Server returned wrong content-range - + O servidor retornou erro numa série-de-conteúdo @@ -1270,7 +1270,7 @@ It is not advisable to use it. Server returned wrong content-range - + O servidor retornou erro numa série-de-conteúdo @@ -1782,229 +1782,229 @@ Tente sincronizar novamente. Mirall::SyncEngine - + Success. Sucesso. - + CSync failed to create a lock file. Falha ao criar o arquivo de trava pelo CSync. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync falhou ao carregar ou criar o arquivo jornal. Certifique-se de ter permissão de escrita no diretório de sincronização local. - + CSync failed to write the journal file. Csync falhou ao tentar gravar o arquivo jornal. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>O plugin %1 para csync não foi carregado.<br/>Por favor verifique a instalação!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. A hora do sistema neste cliente é diferente da hora de sistema no servidor. Por favor, use um serviço de sincronização de tempo (NTP) no servidor e máquinas clientes para que as datas continuam as mesmas. - + CSync could not detect the filesystem type. Tipo de sistema de arquivo não detectado pelo CSync. - + CSync got an error while processing internal trees. Erro do CSync enquanto processava árvores internas. - + CSync failed to reserve memory. CSync falhou ao reservar memória. - + CSync fatal parameter error. Erro fatal de parametro do CSync. - + CSync processing step update failed. Processamento da atualização do CSync falhou. - + CSync processing step reconcile failed. Processamento da conciliação do CSync falhou. - + CSync processing step propagate failed. Processamento da propagação do CSync falhou. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>O diretório de destino não existe.</p> <p>Por favor, verifique a configuração de sincronização. </p> - + A remote file can not be written. Please check the remote access. O arquivo remoto não pode ser escrito. Por Favor, verifique o acesso remoto. - + The local filesystem can not be written. Please check permissions. O sistema de arquivos local não pode ser escrito. Por favor, verifique as permissões. - + CSync failed to connect through a proxy. CSync falhou ao conectar por um proxy. - + CSync could not authenticate at the proxy. Csync não conseguiu autenticação no proxy. - + CSync failed to lookup proxy or server. CSync falhou ao localizar o proxy ou servidor. - + CSync failed to authenticate at the %1 server. CSync falhou ao autenticar no servidor %1. - + CSync failed to connect to the network. CSync falhou ao conectar à rede. - + A network connection timeout happened. Ocorreu uma desconexão de rede. - + A HTTP transmission error happened. Houve um erro na transmissão HTTP. - + CSync failed due to not handled permission deniend. CSync falhou devido a uma negativa de permissão não resolvida. - + CSync failed to access Falha no acesso CSync - + CSync tried to create a directory that already exists. CSync tentou criar um diretório que já existe. - - + + CSync: No space on %1 server available. CSync: Sem espaço disponível no servidor %1. - + CSync unspecified error. Erro não especificado no CSync. - + Aborted by the user Abortado pelo usuário - + 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. - + 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 - + 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 - + 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 diff --git a/translations/mirall_ru.ts b/translations/mirall_ru.ts index d864db783..c2fc62983 100644 --- a/translations/mirall_ru.ts +++ b/translations/mirall_ru.ts @@ -1784,229 +1784,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Успешно. - + CSync failed to create a lock file. CSync не удалось создать файл блокировки. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync не смог загрузить или создать файл журнала. Убедитесь что вы имеете права чтения и записи в локальной директории. - + CSync failed to write the journal file. CSync не смог записать файл журнала. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1 плагин для синхронизации не удается загрузить.<br/>Пожалуйста, убедитесь, что он установлен!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Системное время на этом клиенте отличается от времени на сервере. Воспользуйтесь сервисом синхронизации времени (NTP) на серверной и клиентской машинах для установки точного времени. - + CSync could not detect the filesystem type. CSync не удалось обнаружить тип файловой системы. - + CSync got an error while processing internal trees. CSync получил сообщение об ошибке при обработке внутренних деревьев. - + CSync failed to reserve memory. CSync не удалось зарезервировать память. - + CSync fatal parameter error. Фатальная ошибка параметра CSync. - + CSync processing step update failed. Процесс обновления CSync не удался. - + CSync processing step reconcile failed. Процесс согласования CSync не удался. - + CSync processing step propagate failed. Процесс передачи CSync не удался. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Целевая папка не существует.</p><p>Проверьте настройки синхронизации.</p> - + A remote file can not be written. Please check the remote access. Удаленный файл не может быть записан. Пожалуйста, проверьте удаленный доступ. - + The local filesystem can not be written. Please check permissions. Локальная файловая система не доступна для записи. Пожалуйста, проверьте права пользователя. - + CSync failed to connect through a proxy. CSync не удалось подключиться через прокси. - + CSync could not authenticate at the proxy. CSync не удалось авторизоваться на прокси сервере. - + CSync failed to lookup proxy or server. CSync не удалось найти прокси сервер. - + CSync failed to authenticate at the %1 server. CSync не удалось аутентифицироваться на сервере %1. - + CSync failed to connect to the network. CSync не удалось подключиться к сети. - + A network connection timeout happened. Произошёл таймаут соединения сети. - + A HTTP transmission error happened. Произошла ошибка передачи http. - + CSync failed due to not handled permission deniend. CSync упал в связи с отутствием обработки из-за отказа в доступе. - + CSync failed to access CSync не имеет доступа - + CSync tried to create a directory that already exists. CSync пытался создать директорию, которая уже существует. - - + + CSync: No space on %1 server available. CSync: Нет доступного пространства на сервере %1 server. - + CSync unspecified error. Неизвестная ошибка CSync. - + Aborted by the user Прервано пользователем - + 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. Синхронизация символических ссылок не поддерживается. - + 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 Не удаётся открыть журнал синхронизации - + 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 Недопустимо удалить, восстанавливаем - + Move not allowed, item restored Перемещение недопустимо, элемент восстановлен - + Move not allowed because %1 is read-only Перемещение недопустимо, поскольку %1 помечен только для чтения - + the destination Назначение - + the source Источник diff --git a/translations/mirall_sk.ts b/translations/mirall_sk.ts index 923c73727..30ef43dca 100644 --- a/translations/mirall_sk.ts +++ b/translations/mirall_sk.ts @@ -1782,229 +1782,229 @@ Nie je vhodné ju používať. Mirall::SyncEngine - + Success. Úspech. - + CSync failed to create a lock file. Vytvorenie "zamykacieho" súboru cez "CSync" zlyhalo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync sa nepodarilo načítať alebo vytvoriť súbor žurnálu. Uistite sa, že máte oprávnenia na čítanie a zápis v lokálnom synchronizovanom priečinku. - + CSync failed to write the journal file. CSync sa nepodarilo zapísať do súboru žurnálu. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1 zásuvný modul pre "CSync" nebolo možné načítať.<br/>Prosím skontrolujte inštaláciu!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systémový čas tohoto klienta je odlišný od systémového času na serveri. Prosím zvážte použitie sieťovej časovej synchronizačnej služby (NTP) na serveri a klientských strojoch, aby bol na nich rovnaký čas. - + CSync could not detect the filesystem type. Detekcia súborového systému vrámci "CSync" zlyhala. - + CSync got an error while processing internal trees. Spracovanie "vnútorných stromov" vrámci "CSync" zlyhalo. - + CSync failed to reserve memory. CSync sa nepodarilo zarezervovať pamäť. - + CSync fatal parameter error. CSync kritická chyba parametrov. - + CSync processing step update failed. CSync sa nepodarilo spracovať krok aktualizácie. - + CSync processing step reconcile failed. CSync sa nepodarilo spracovať krok zladenia. - + CSync processing step propagate failed. CSync sa nepodarilo spracovať krok propagácie. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Cieľový priečinok neexistuje.</p><p>Skontrolujte, prosím, nastavenia synchronizácie.</p> - + A remote file can not be written. Please check the remote access. Vzdialený súbor nie je možné zapísať. Prosím skontrolujte vzdialený prístup. - + The local filesystem can not be written. Please check permissions. Do lokálneho súborového systému nie je možné zapisovať. Prosím skontrolujte povolenia. - + CSync failed to connect through a proxy. CSync sa nepodarilo prihlásiť cez proxy. - + CSync could not authenticate at the proxy. CSync sa nemohol prihlásiť k proxy. - + CSync failed to lookup proxy or server. CSync sa nepodarilo nájsť proxy alebo server. - + CSync failed to authenticate at the %1 server. CSync sa nepodarilo prihlásiť na server %1. - + CSync failed to connect to the network. CSync sa nepodarilo pripojiť k sieti. - + A network connection timeout happened. - + A HTTP transmission error happened. Chyba HTTP prenosu. - + CSync failed due to not handled permission deniend. CSync zlyhalo. Nedostatočné oprávnenie. - + CSync failed to access CSync nepodaril prístup - + CSync tried to create a directory that already exists. CSync sa pokúsil vytvoriť priečinok, ktorý už existuje. - - + + CSync: No space on %1 server available. CSync: Na serveri %1 nie je žiadne voľné miesto. - + CSync unspecified error. CSync nešpecifikovaná chyba. - + Aborted by the user Zrušené používateľom - + 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. - + 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_sl.ts b/translations/mirall_sl.ts index 50ca4499c..813a99591 100644 --- a/translations/mirall_sl.ts +++ b/translations/mirall_sl.ts @@ -1783,229 +1783,229 @@ Te je treba uskladiti znova. Mirall::SyncEngine - + Success. Uspešno končano. - + CSync failed to create a lock file. Ustvarjanje datoteke zaklepa s CSync je spodletelo. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Nalaganje ali ustvarjanje dnevniške datoteke s CSync je spodletelo. Za to opravilo so zahtevana posebna dovoljenja krajevne mape za usklajevanje. - + CSync failed to write the journal file. Zapisovanje dnevniške datoteke s CSync je spodletelo. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Vstavka %1 za CSync ni mogoče naložiti.<br/>Preverite namestitev!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Sistemski čas na odjemalcu ni skladen s sistemskim časom na strežniku. Priporočljivo je uporabiti storitev usklajevanja časa (NTP) na strežniku in odjemalcu. S tem omogočimo ujemanje podatkov o času krajevnih in oddaljenih datotek. - + CSync could not detect the filesystem type. Zaznavanje vrste datotečnega sistema s CSync je spodletelo. - + CSync got an error while processing internal trees. Pri obdelavi notranje drevesne strukture s CSync je prišlo do napake. - + CSync failed to reserve memory. Vpisovanje prostora v pomnilniku za CSync je spodletelo. - + CSync fatal parameter error. Usodna napaka parametra CSync. - + CSync processing step update failed. Korak opravila posodobitve CSync je spodletel. - + CSync processing step reconcile failed. Korak opravila poravnave CSync je spodletel. - + CSync processing step propagate failed. Korak opravila razširjanja CSync je spodletel. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Ciljna mapa ne obstaja.</p><p>Preveriti je treba nastavitve usklajevanja.</p> - + A remote file can not be written. Please check the remote access. Oddaljene datoteke ni mogoče zapisati. Najverjetneje je vzrok v oddaljenem dostopu. - + The local filesystem can not be written. Please check permissions. V krajevni datotečni sistem ni mogoče pisati. Najverjetneje je vzrok v neustreznih dovoljenjih. - + CSync failed to connect through a proxy. Povezava CSync preko posredniškega strežnika je spodletel. - + CSync could not authenticate at the proxy. Overitev CSync na posredniškem strežniku je spodletela. - + CSync failed to lookup proxy or server. Poizvedba posredniškega strežnika s CSync je spodletela. - + CSync failed to authenticate at the %1 server. Overitev CSync pri strežniku %1 je spodletela. - + CSync failed to connect to the network. Povezava CSync v omrežje je spodletela. - + A network connection timeout happened. - + A HTTP transmission error happened. Prišlo je do napake med prenosom HTTP. - + CSync failed due to not handled permission deniend. Delovanje CSync je zaradi neustreznih dovoljenj spodletelo. - + CSync failed to access Dostop s CSync je spodletel - + CSync tried to create a directory that already exists. Prišlo je do napake programa CSync zaradi poskusa ustvarjanja mape z že obstoječim imenom. - - + + CSync: No space on %1 server available. Odziv CSync: na strežniku %1 ni razpoložljivega prostora. - + CSync unspecified error. Nedoločena napaka CSync. - + Aborted by the user Opravilo je bilo prekinjeno s strani uporabnika - + 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. - + 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination cilj - + the source vir diff --git a/translations/mirall_sv.ts b/translations/mirall_sv.ts index f2e770f42..b5dc931f9 100644 --- a/translations/mirall_sv.ts +++ b/translations/mirall_sv.ts @@ -1784,229 +1784,229 @@ Försök att synka dessa igen. Mirall::SyncEngine - + Success. Lyckades. - + CSync failed to create a lock file. CSync misslyckades med att skapa en låsfil. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync misslyckades att skapa en journal fil. Se till att du har läs och skriv rättigheter i den lokala synk katalogen. - + CSync failed to write the journal file. CSynk misslyckades att skriva till journal filen. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Plugin %1 för csync kunde inte laddas.<br/>Var god verifiera installationen!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Systemtiden på denna klientdator är annorlunda än systemtiden på servern. Använd en tjänst för tidssynkronisering (NTP) på servern och alla klientdatorer så att tiden är lika. - + CSync could not detect the filesystem type. CSync kunde inte upptäcka filsystemtyp. - + CSync got an error while processing internal trees. CSYNC fel vid intern bearbetning. - + CSync failed to reserve memory. CSync misslyckades att reservera minne. - + CSync fatal parameter error. CSync fatal parameter fel. - + CSync processing step update failed. CSync processteg update misslyckades. - + CSync processing step reconcile failed. CSync processteg reconcile misslyckades. - + CSync processing step propagate failed. CSync processteg propagate misslyckades. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Målmappen finns inte</p><p>Vänligen, kontroller inställningen för sync.</p> - + A remote file can not be written. Please check the remote access. En fil på servern kan inte skapas. Kontrollera åtkomst till fjärranslutningen. - + The local filesystem can not be written. Please check permissions. Kan inte skriva till det lokala filsystemet. Var god kontrollera rättigheterna. - + CSync failed to connect through a proxy. CSync misslyckades att ansluta genom en proxy. - + CSync could not authenticate at the proxy. CSync kunde inte autentisera mot proxy. - + CSync failed to lookup proxy or server. CSync misslyckades att hitta proxy eller server. - + CSync failed to authenticate at the %1 server. CSync misslyckades att autentisera mot %1 servern. - + CSync failed to connect to the network. CSync misslyckades att ansluta mot nätverket. - + A network connection timeout happened. En timeout på nätverksanslutningen har inträffat. - + A HTTP transmission error happened. Ett HTTP överföringsfel inträffade. - + CSync failed due to not handled permission deniend. CSYNC misslyckades på grund av att nekad åtkomst inte hanterades. - + CSync failed to access CSynk misslyckades att tillträda - + CSync tried to create a directory that already exists. CSync försökte skapa en mapp som redan finns. - - + + CSync: No space on %1 server available. CSync: Ingen plats på %1 server tillgänglig. - + CSync unspecified error. CSync ospecificerat fel. - + Aborted by the user Avbruten av användare - + 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. - + 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 - + 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 - + 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 diff --git a/translations/mirall_th.ts b/translations/mirall_th.ts index 248c401a8..57e6647c6 100644 --- a/translations/mirall_th.ts +++ b/translations/mirall_th.ts @@ -1774,229 +1774,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. เสร็จสิ้น - + CSync failed to create a lock file. CSync ล้มเหลวในการสร้างไฟล์ล็อคข้อมูล - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>ปลั๊กอิน %1 สำหรับ csync could not be loadeไม่สามารถโหลดได้.<br/>กรุณาตรวจสอบความถูกต้องในการติดตั้ง!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. เวลาในระบบของโปรแกรมไคลเอนต์นี้แตกต่างจากเวลาในระบบของเซิร์ฟเวอร์ กรุณาใช้บริการผสานข้อมูลของเวลา (NTP) บนเซิร์ฟเวอร์และเครื่องไคลเอนต์เพื่อปรับเวลาให้ตรงกัน - + CSync could not detect the filesystem type. CSync ไม่สามารถตรวจพบประเภทของไฟล์ในระบบได้ - + CSync got an error while processing internal trees. CSync เกิดข้อผิดพลาดบางประการในระหว่างประมวลผล internal trees - + CSync failed to reserve memory. การจัดสรรหน่วยความจำ CSync ล้มเหลว - + CSync fatal parameter error. พบข้อผิดพลาดเกี่ยวกับ CSync fatal parameter - + CSync processing step update failed. การอัพเดทขั้นตอนการประมวลผล CSync ล้มเหลว - + CSync processing step reconcile failed. การปรับปรุงขั้นตอนการประมวลผล CSync ล้มเหลว - + CSync processing step propagate failed. การถ่ายทอดขั้นตอนการประมวลผล CSync ล้มเหลว - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. ไม่สามารถเขียนข้อมูลไปยังไฟล์ระยะไกลได้ กรุณาตรวจสอบการเข้าถึงข้อมูลระยะไกล - + The local filesystem can not be written. Please check permissions. ระบบไฟล์ในพื้นที่ไม่สามารถเขียนข้อมูลได้ กรุณาตรวจสอบสิทธิ์การเข้าใช้งาน - + CSync failed to connect through a proxy. CSync ล้มเหลวในการเชื่อมต่อผ่านทางพร็อกซี่ - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync ไม่สามารถค้นหาพร็อกซี่บนเซิร์ฟเวอร์ได้ - + CSync failed to authenticate at the %1 server. CSync ล้มเหลวในการยืนยันสิทธิ์การเข้าใช้งานที่เซิร์ฟเวอร์ %1 - + CSync failed to connect to the network. CSync ล้มเหลวในการเชื่อมต่อกับเครือข่าย - + A network connection timeout happened. - + A HTTP transmission error happened. เกิดข้อผิดพลาดเกี่ยวกับ HTTP transmission - + CSync failed due to not handled permission deniend. CSync ล้มเหลว เนื่องจากไม่สามารถจัดการกับการปฏิเสธให้เข้าใช้งานได้ - + CSync failed to access - + CSync tried to create a directory that already exists. CSync ได้พยายามที่จะสร้างไดเร็กทอรี่ที่มีอยู่แล้ว - - + + CSync: No space on %1 server available. CSync: ไม่มีพื้นที่เหลือเพียงพอบนเซิร์ฟเวอร์ %1 - + CSync unspecified error. CSync ไม่สามารถระบุข้อผิดพลาดได้ - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_tr.ts b/translations/mirall_tr.ts index f1c3ea95f..f752bf6e3 100644 --- a/translations/mirall_tr.ts +++ b/translations/mirall_tr.ts @@ -1784,229 +1784,229 @@ Bu dosyaları tekrar eşitlemeyi deneyin. Mirall::SyncEngine - + Success. Başarılı. - + CSync failed to create a lock file. CSync bir kilit dosyası oluşturamadı. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. CSync, günlük dosyası yükleyemedi veya oluşturamadı. Lütfen yerel eşitleme dizininde okuma ve yazma izinleriniz olduğundan emin olun. - + CSync failed to write the journal file. CSync günlük dosyasına yazamadı. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Csync için %1 eklentisi yüklenemedi.<br/>Lütfen kurulumu doğrulayın!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Bu istemci üzerinde sistem saati sunucudaki sistem saati ile farklı. Sunucu ve istemci makinelerde bir zaman eşitleme hizmeti (NTP) kullanırsanız zaman aynı kalır. - + CSync could not detect the filesystem type. CSync dosya sistemi türünü tespit edemedi. - + CSync got an error while processing internal trees. CSync dahili ağaçları işlerken bir hata ile karşılaştı. - + CSync failed to reserve memory. CSync bellek ayıramadı. - + CSync fatal parameter error. CSync ciddi parametre hatası. - + CSync processing step update failed. CSync güncelleme süreç adımı başarısız. - + CSync processing step reconcile failed. CSync uzlaştırma süreç adımı başarısız. - + CSync processing step propagate failed. CSync yayma süreç adımı başarısız. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>Hedef dizin mevcut değil.</p><p>Lütfen eşitleme ayarını denetleyin.</p> - + A remote file can not be written. Please check the remote access. Bir uzak dosya yazılamıyor. Lütfen uzak erişimi denetleyin. - + The local filesystem can not be written. Please check permissions. Yerel dosya sistemine yazılamıyor. Lütfen izinleri kontrol edin. - + CSync failed to connect through a proxy. CSync bir vekil sunucu aracılığıyla bağlanırken hata oluştu. - + CSync could not authenticate at the proxy. CSync vekil sunucuda kimlik doğrulayamadı. - + CSync failed to lookup proxy or server. CSync bir vekil veya sunucu ararken başarısız oldu. - + CSync failed to authenticate at the %1 server. CSync %1 sunucusunda kimlik doğrularken başarısız oldu. - + CSync failed to connect to the network. CSync ağa bağlanamadı. - + A network connection timeout happened. Bir ağ zaman aşımı meydana geldi. - + A HTTP transmission error happened. Bir HTTP aktarım hatası oluştu. - + CSync failed due to not handled permission deniend. CSync ele alınmayan izin reddinden dolayı başarısız. - + CSync failed to access CSync erişemedi: - + CSync tried to create a directory that already exists. CSync, zaten mevcut olan bir dizin oluşturmaya çalıştı. - - + + CSync: No space on %1 server available. CSync: %1 sunucusunda kullanılabilir alan yok. - + CSync unspecified error. CSync belirtilmemiş hata. - + Aborted by the user Kullanıcı tarafından iptal edildi - + 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. - + 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 - + 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 - + 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 diff --git a/translations/mirall_uk.ts b/translations/mirall_uk.ts index 546d1142a..323ac61b9 100644 --- a/translations/mirall_uk.ts +++ b/translations/mirall_uk.ts @@ -1776,229 +1776,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. Успішно. - + CSync failed to create a lock file. CSync не вдалося створити файл блокування. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p> %1 плагін для синхронізації не вдалося завантажити.<br/>Будь ласка, перевірте його інсталяцію!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. Системний час цього клієнта відрізняється від системного часу на сервері. Будь ласка, використовуйте сервіс синхронізації часу (NTP) на сервері та клієнті, аби час був однаковий. - + CSync could not detect the filesystem type. CSync не вдалося визначити тип файлової системи. - + CSync got an error while processing internal trees. У CSync виникла помилка під час сканування внутрішньої структури каталогів. - + CSync failed to reserve memory. CSync не вдалося зарезервувати пам'ять. - + CSync fatal parameter error. У CSync сталася фатальна помилка параметра. - + CSync processing step update failed. CSync не вдалася зробити оновлення . - + CSync processing step reconcile failed. CSync не вдалася зробити врегулювання. - + CSync processing step propagate failed. CSync не вдалася зробити розповсюдження. - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> - + A remote file can not be written. Please check the remote access. Не можливо проводити запис у віддалену файлову систему. Будь ласка, перевірте повноваження доступу. - + The local filesystem can not be written. Please check permissions. Не можливо проводити запис у локальну файлову систему. Будь ласка, перевірте повноваження. - + CSync failed to connect through a proxy. CSync не вдалося приєднатися через Проксі. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync не вдалося знайти Проксі або Сервер. - + CSync failed to authenticate at the %1 server. CSync не вдалося аутентифікуватися на %1 сервері. - + CSync failed to connect to the network. CSync не вдалося приєднатися до мережі. - + A network connection timeout happened. - + A HTTP transmission error happened. Сталася помилка передачі даних по HTTP. - + CSync failed due to not handled permission deniend. CSync завершився неуспішно через порушення прав доступу. - + CSync failed to access - + CSync tried to create a directory that already exists. CSync намагалася створити каталог, який вже існує. - - + + CSync: No space on %1 server available. CSync: на сервері %1 скінчилося місце. - + CSync unspecified error. Невизначена помилка CSync. - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_zh_CN.ts b/translations/mirall_zh_CN.ts index 0337b84e4..c2f75dc8f 100644 --- a/translations/mirall_zh_CN.ts +++ b/translations/mirall_zh_CN.ts @@ -1780,229 +1780,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSync 无法创建文件锁。 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. Csync同步失败,请确定是否有本地同步目录的读写权 - + CSync failed to write the journal file. CSync写日志文件失败 - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csync 的 %1 插件不能加载。<br/>请校验安装!</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. 本客户端的系统时间和服务器的系统时间不一致。请在服务器和客户机上使用时间同步服务 (NTP)以让时间一致。 - + CSync could not detect the filesystem type. CSync 无法检测文件系统类型。 - + CSync got an error while processing internal trees. CSync 在处理内部文件树时出错。 - + CSync failed to reserve memory. CSync 失败,内存不足。 - + CSync fatal parameter error. CSync 致命参数错误。 - + CSync processing step update failed. CSync 处理步骤更新失败。 - + CSync processing step reconcile failed. CSync 处理步骤调和失败。 - + CSync processing step propagate failed. CSync 处理步骤传播失败。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>目标目录不存在。</p><p>请检查同步设置。</p> - + A remote file can not be written. Please check the remote access. 远程文件不可写,请检查远程权限。 - + The local filesystem can not be written. Please check permissions. 本地文件系统不可写。请检查权限。 - + CSync failed to connect through a proxy. CSync 未能通过代理连接。 - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync 无法查询代理或服务器。 - + CSync failed to authenticate at the %1 server. CSync 于 %1 服务器认证失败。 - + CSync failed to connect to the network. CSync 联网失败。 - + A network connection timeout happened. 网络连接超时。 - + A HTTP transmission error happened. HTTP 传输错误。 - + CSync failed due to not handled permission deniend. 出于未处理的权限拒绝,CSync 失败。 - + CSync failed to access 访问 CSync 失败 - + CSync tried to create a directory that already exists. CSync 尝试创建了已有的文件夹。 - - + + CSync: No space on %1 server available. CSync:%1 服务器空间已满。 - + CSync unspecified error. CSync 未定义错误。 - + Aborted by the user 用户撤销 - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 无法打开同步日志 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source diff --git a/translations/mirall_zh_TW.ts b/translations/mirall_zh_TW.ts index 1608aef37..41aaf4769 100644 --- a/translations/mirall_zh_TW.ts +++ b/translations/mirall_zh_TW.ts @@ -1774,229 +1774,229 @@ It is not advisable to use it. Mirall::SyncEngine - + Success. 成功。 - + CSync failed to create a lock file. CSync 無法建立文件鎖 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync directory. - + CSync failed to write the journal file. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>用於csync的套件%1</p> - + The system time on this client is different than the system time on the server. Please use a time synchronization service (NTP) on the server and client machines so that the times remain the same. 本客戶端的系統時間和伺服器系統時間不一致,請在伺服器與客戶端上使用時間同步服務(NTP)讓時間保持一致 - + CSync could not detect the filesystem type. CSync 無法偵測檔案系統的類型 - + CSync got an error while processing internal trees. CSync 處理內部資料樹時發生錯誤 - + CSync failed to reserve memory. CSync 無法取得記憶體空間。 - + CSync fatal parameter error. CSync 參數錯誤。 - + CSync processing step update failed. CSync 處理步驟 "update" 失敗。 - + CSync processing step reconcile failed. CSync 處理步驟 "reconcile" 失敗。 - + CSync processing step propagate failed. CSync 處理步驟 "propagate" 失敗。 - + <p>The target directory does not exist.</p><p>Please check the sync setup.</p> <p>目標資料夾不存在</p><p>請檢查同步設定</p> - + A remote file can not be written. Please check the remote access. 遠端檔案無法寫入,請確認遠端存取權限。 - + The local filesystem can not be written. Please check permissions. 本地檔案系統無法寫入,請確認權限。 - + CSync failed to connect through a proxy. CSync 透過代理伺服器連線失敗。 - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. CSync 查詢代理伺服器或伺服器失敗。 - + CSync failed to authenticate at the %1 server. CSync 於伺服器 %1 認證失敗。 - + CSync failed to connect to the network. CSync 無法連接到網路。 - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP 傳輸錯誤。 - + CSync failed due to not handled permission deniend. CSync 失敗,由於未處理的存取被拒。 - + CSync failed to access - + CSync tried to create a directory that already exists. CSync 試圖建立一個已經存在的目錄。 - - + + CSync: No space on %1 server available. CSync:伺服器 %1 沒有可用空間。 - + CSync unspecified error. CSync 未知的錯誤。 - + Aborted by the user - + An internal error number %1 happened. - + The item is not synced because of previous errors: %1 - + Symbolic 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 - + 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 - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source