From 3c00c09ea87007163fed4304c6e846992e673045 Mon Sep 17 00:00:00 2001 From: tuxmaster5000 <837503+tuxmaster5000@users.noreply.github.com> Date: Fri, 12 Oct 2018 14:52:18 +0200 Subject: [PATCH 001/192] Rename owncloud tests to nextcloud --- test/CMakeLists.txt | 52 +++++++++---------- ...dd_test.cmake => nextcloud_add_test.cmake} | 4 +- ...agator.cpp => testnextcloudpropagator.cpp} | 10 ++-- 3 files changed, 33 insertions(+), 33 deletions(-) rename test/{owncloud_add_test.cmake => nextcloud_add_test.cmake} (93%) rename test/{testowncloudpropagator.cpp => testnextcloudpropagator.cpp} (88%) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index bb184412b..fc7e8ef0a 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -12,10 +12,10 @@ include_directories(${CMAKE_SOURCE_DIR}/src ${SQLITE3_INCLUDE_DIR} ) -include(owncloud_add_test.cmake) +include(nextcloud_add_test.cmake) -owncloud_add_test(OwncloudPropagator "") -owncloud_add_test(Updater "") +nextcloud_add_test(NextcloudPropagator "") +nextcloud_add_test(Updater "") SET(FolderWatcher_SRC ../src/gui/folderwatcher.cpp) @@ -29,33 +29,33 @@ IF( APPLE ) list(APPEND FolderWatcher_SRC ../src/gui/folderwatcher_mac.cpp) list(APPEND FolderWatcher_SRC ../src/gui/socketapisocket_mac.mm) ENDIF() -owncloud_add_test(NetrcParser ../src/cmd/netrcparser.cpp) -owncloud_add_test(OwnSql "") -owncloud_add_test(SyncJournalDB "") -owncloud_add_test(SyncFileItem "") -owncloud_add_test(ConcatUrl "") -owncloud_add_test(XmlParse "") -owncloud_add_test(ChecksumValidator "") +nextcloud_add_test(NetrcParser ../src/cmd/netrcparser.cpp) +nextcloud_add_test(OwnSql "") +nextcloud_add_test(SyncJournalDB "") +nextcloud_add_test(SyncFileItem "") +nextcloud_add_test(ConcatUrl "") +nextcloud_add_test(XmlParse "") +nextcloud_add_test(ChecksumValidator "") -owncloud_add_test(ExcludedFiles "") +nextcloud_add_test(ExcludedFiles "") -owncloud_add_test(FileSystem "") -owncloud_add_test(Utility "") -owncloud_add_test(SyncEngine "syncenginetestutils.h") -owncloud_add_test(SyncMove "syncenginetestutils.h") -owncloud_add_test(SyncConflict "syncenginetestutils.h") -owncloud_add_test(SyncFileStatusTracker "syncenginetestutils.h") -owncloud_add_test(ChunkingNg "syncenginetestutils.h") -owncloud_add_test(UploadReset "syncenginetestutils.h") -owncloud_add_test(AllFilesDeleted "syncenginetestutils.h") -owncloud_add_test(Blacklist "syncenginetestutils.h") -owncloud_add_test(FolderWatcher "${FolderWatcher_SRC}") +nextcloud_add_test(FileSystem "") +nextcloud_add_test(Utility "") +nextcloud_add_test(SyncEngine "syncenginetestutils.h") +nextcloud_add_test(SyncMove "syncenginetestutils.h") +nextcloud_add_test(SyncConflict "syncenginetestutils.h") +nextcloud_add_test(SyncFileStatusTracker "syncenginetestutils.h") +nextcloud_add_test(ChunkingNg "syncenginetestutils.h") +nextcloud_add_test(UploadReset "syncenginetestutils.h") +nextcloud_add_test(AllFilesDeleted "syncenginetestutils.h") +nextcloud_add_test(Blacklist "syncenginetestutils.h") +nextcloud_add_test(FolderWatcher "${FolderWatcher_SRC}") if( UNIX AND NOT APPLE ) - owncloud_add_test(InotifyWatcher "${FolderWatcher_SRC}") + nextcloud_add_test(InotifyWatcher "${FolderWatcher_SRC}") endif(UNIX AND NOT APPLE) -owncloud_add_benchmark(LargeSync "syncenginetestutils.h") +nextcloud_add_benchmark(LargeSync "syncenginetestutils.h") SET(FolderMan_SRC ../src/gui/folderman.cpp) list(APPEND FolderMan_SRC ../src/gui/folder.cpp ) @@ -69,9 +69,9 @@ list(APPEND FolderMan_SRC ../src/gui/connectionvalidator.cpp ) list(APPEND FolderMan_SRC ../src/gui/clientproxy.cpp ) list(APPEND FolderMan_SRC ${FolderWatcher_SRC}) list(APPEND FolderMan_SRC stub.cpp ) -owncloud_add_test(FolderMan "${FolderMan_SRC}") +nextcloud_add_test(FolderMan "${FolderMan_SRC}") -owncloud_add_test(OAuth "syncenginetestutils.h;../src/gui/creds/oauth.cpp") +nextcloud_add_test(OAuth "syncenginetestutils.h;../src/gui/creds/oauth.cpp") configure_file(test_journal.db "${PROJECT_BINARY_DIR}/bin/test_journal.db" COPYONLY) diff --git a/test/owncloud_add_test.cmake b/test/nextcloud_add_test.cmake similarity index 93% rename from test/owncloud_add_test.cmake rename to test/nextcloud_add_test.cmake index ee2cfd200..f65687b84 100644 --- a/test/owncloud_add_test.cmake +++ b/test/nextcloud_add_test.cmake @@ -1,6 +1,6 @@ find_package(Qt5 COMPONENTS Core Test Xml Network REQUIRED) -macro(owncloud_add_test test_class additional_cpp) +macro(nextcloud_add_test test_class additional_cpp) set(CMAKE_AUTOMOC TRUE) set(OWNCLOUD_TEST_CLASS ${test_class}) string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE) @@ -19,7 +19,7 @@ macro(owncloud_add_test test_class additional_cpp) add_test(NAME ${OWNCLOUD_TEST_CLASS}Test COMMAND ${OWNCLOUD_TEST_CLASS}Test) endmacro() -macro(owncloud_add_benchmark test_class additional_cpp) +macro(nextcloud_add_benchmark test_class additional_cpp) set(CMAKE_AUTOMOC TRUE) set(OWNCLOUD_TEST_CLASS ${test_class}) string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE) diff --git a/test/testowncloudpropagator.cpp b/test/testnextcloudpropagator.cpp similarity index 88% rename from test/testowncloudpropagator.cpp rename to test/testnextcloudpropagator.cpp index cd8f431a9..6ad1a6b37 100644 --- a/test/testowncloudpropagator.cpp +++ b/test/testnextcloudpropagator.cpp @@ -8,21 +8,21 @@ #include #include "propagatedownload.h" -#include "owncloudpropagator_p.h" +#include "nextcloudpropagator_p.h" using namespace OCC; namespace OCC { QString OWNCLOUDSYNC_EXPORT createDownloadTmpFileName(const QString &previous); } -class TestOwncloudPropagator : public QObject +class TestNextcloudPropagator : public QObject { Q_OBJECT private slots: void testUpdateErrorFromSession() { -// OwncloudPropagator propagator( NULL, QLatin1String("test1"), QLatin1String("test2"), new ProgressDatabase); +// NextcloudPropagator propagator( NULL, QLatin1String("test1"), QLatin1String("test2"), new ProgressDatabase); QVERIFY( true ); } @@ -78,5 +78,5 @@ private slots: } }; -QTEST_APPLESS_MAIN(TestOwncloudPropagator) -#include "testowncloudpropagator.moc" +QTEST_APPLESS_MAIN(TestNextcloudPropagator) +#include "testnextcloudpropagator.moc" From f9c6449c050cad673cf37971d9815a35e6ffb5dd Mon Sep 17 00:00:00 2001 From: tuxmaster5000 <837503+tuxmaster5000@users.noreply.github.com> Date: Fri, 12 Oct 2018 15:56:26 +0200 Subject: [PATCH 002/192] Fix include file --- test/testnextcloudpropagator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/testnextcloudpropagator.cpp b/test/testnextcloudpropagator.cpp index 6ad1a6b37..dc2e476ad 100644 --- a/test/testnextcloudpropagator.cpp +++ b/test/testnextcloudpropagator.cpp @@ -8,7 +8,7 @@ #include #include "propagatedownload.h" -#include "nextcloudpropagator_p.h" +#include "owncloudpropagator_p.h" using namespace OCC; namespace OCC { From cbc19e86fbd2275cb66d6744730675c7f92cd215 Mon Sep 17 00:00:00 2001 From: Javier Llorente Date: Tue, 22 Jan 2019 23:16:57 +0100 Subject: [PATCH 003/192] Add sync date next to "Synchronized with local folder" --- src/gui/folderstatusdelegate.cpp | 3 ++- src/gui/folderstatusdelegate.h | 1 + src/gui/folderstatusmodel.cpp | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gui/folderstatusdelegate.cpp b/src/gui/folderstatusdelegate.cpp index d0660b4a2..337530da9 100644 --- a/src/gui/folderstatusdelegate.cpp +++ b/src/gui/folderstatusdelegate.cpp @@ -168,6 +168,7 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem & QString itemString = qvariant_cast(index.data(SyncProgressItemString)); int warningCount = qvariant_cast(index.data(WarningCount)); bool syncOngoing = qvariant_cast(index.data(SyncRunning)); + QDateTime syncDate = qvariant_cast(index.data(SyncDate)); bool syncEnabled = qvariant_cast(index.data(FolderAccountConnected)); QRect iconRect = option.rect; @@ -252,7 +253,7 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem & if (!showProgess) { painter->setFont(subFont); QString elidedRemotePathText = subFm.elidedText( - tr("Synchronized with local folder"), + tr("Synchronized with local folder (%1)").arg(syncDate.toTimeSpec(Qt::LocalTime).toString(Qt::SystemLocaleShortDate)), Qt::ElideRight, remotePathRect.width()); painter->drawText(QStyle::visualRect(option.direction, option.rect, remotePathRect), textAlign, elidedRemotePathText); diff --git a/src/gui/folderstatusdelegate.h b/src/gui/folderstatusdelegate.h index 2879bdb5e..b4902abf0 100644 --- a/src/gui/folderstatusdelegate.h +++ b/src/gui/folderstatusdelegate.h @@ -44,6 +44,7 @@ public: SyncProgressItemString, WarningCount, SyncRunning, + SyncDate, AddButton // 1 = enabled; 2 = disabled }; diff --git a/src/gui/folderstatusmodel.cpp b/src/gui/folderstatusmodel.cpp index 563166f34..fb16dfacb 100644 --- a/src/gui/folderstatusmodel.cpp +++ b/src/gui/folderstatusmodel.cpp @@ -218,6 +218,8 @@ QVariant FolderStatusModel::data(const QModelIndex &index, int role) const return f->syncResult().errorStrings(); case FolderStatusDelegate::SyncRunning: return f->syncResult().status() == SyncResult::SyncRunning; + case FolderStatusDelegate::SyncDate: + return f->syncResult().syncTime(); case FolderStatusDelegate::HeaderRole: return f->shortGuiRemotePathOrAppName(); case FolderStatusDelegate::FolderAliasRole: From e64fa748997f3105a4cf93781ca7910b906c4c74 Mon Sep 17 00:00:00 2001 From: Terence Eden Date: Sun, 28 Apr 2019 10:03:38 +0100 Subject: [PATCH 004/192] Typo There's no such thing as a "key*h*chain". --- src/gui/creds/webflowcredentials.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/creds/webflowcredentials.cpp b/src/gui/creds/webflowcredentials.cpp index 0912753d3..3ff15b26b 100644 --- a/src/gui/creds/webflowcredentials.cpp +++ b/src/gui/creds/webflowcredentials.cpp @@ -108,7 +108,7 @@ void WebFlowCredentials::fetchFromKeychain() { if (ready()) { emit fetched(); } else { - qCInfo(lcWebFlowCredentials()) << "Fetch from keyhchain!"; + qCInfo(lcWebFlowCredentials()) << "Fetch from keychain!"; fetchFromKeychainHelper(); } } From 8151eb4837573631e0d6a357c261930c70c253da Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 5 May 2019 00:49:10 +0000 Subject: [PATCH 005/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 +++--- translations/client_hu.ts | 30 ++++++++++----------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_hu.ts b/translations/client_hu.ts index cee5f67ef..b95a5f12c 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -35,7 +35,7 @@ No recently changed files - + Nem található mostanában módosított fájl @@ -50,37 +50,37 @@ Open website - + Weboldal megnyitása Recently changed - + Nemrég módosítva Pause synchronization - + Szinkronizálás szüneteltetése Help - + Súgó Settings - + Beállítások Log out - + Kijelentkezés Quit sync client - + Kilépés a szinkronizálási kliensből @@ -1928,7 +1928,7 @@ for additional privileges during the process. There isn't enough free space in the local folder! - + Nincs elég szabad hely a helyi mappában. @@ -2292,7 +2292,7 @@ Használata nem ajánlott. The downloaded file is empty despite that the server announced it should have been %1. - + A letöltött fájl üres, annak ellenére, hogy a kiszolgáló szerint %1 méretű kellene legyen. @@ -2741,7 +2741,7 @@ Használata nem ajánlott. Add another link - + Egyéb hivatkozás hozzáadása @@ -2988,7 +2988,7 @@ Használata nem ajánlott. <p><b>Note:</b> This certificate was manually approved</p> - <p><b>Megjegyzés:</b> A tanúsítvány kézileg jóváhagyva</p> + <p><b>Megjegyzés:</b> A tanúsítvány kézileg lett jóváhagyva</p> @@ -3090,7 +3090,7 @@ Használata nem ajánlott. Effective Date: %1 - Tényleges dátum: %1 + Érvényességi dátum: %1 @@ -3189,7 +3189,7 @@ Használata nem ajánlott. CSync unspecified error. - CSync ismeretlen hiba. + Ismeretlen CSync hiba. @@ -3244,7 +3244,7 @@ Használata nem ajánlott. Symbolic links are not supported in syncing. - A szimbolikus nem támogatott a szinkronizálásnál. + A szimbolikus linkek nem támogatottak a szinkronizálásnál. From 9153f710dfc630fde054b39bd433b336122b2333 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 7 May 2019 00:48:06 +0000 Subject: [PATCH 006/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_hu.ts | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_hu.ts b/translations/client_hu.ts index b95a5f12c..6f5bef67a 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -2681,7 +2681,7 @@ Használata nem ajánlott. &Share link - &Megosztás hivatkozás + &Megosztási hivatkozás @@ -3499,12 +3499,12 @@ Használata nem ajánlott. Quit %1 - %1 kilépés + Kilépés a %1ból Disconnected from %1 - Kapcsolat bontva ezzel: %1 + Kapcsolat bontva a %1dal @@ -3822,7 +3822,7 @@ Használata nem ajánlott. Error Label - Hiba címke + Hibacímke From 92a5e64487656763e04e281ff346f56a96f64fc7 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 8 May 2019 00:52:12 +0000 Subject: [PATCH 007/192] [tx-robot] updated from transifex --- translations/client_he.ts | 102 +++++++++++++++++++------------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/translations/client_he.ts b/translations/client_he.ts index 0ddd90b04..4525d18c2 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -1451,7 +1451,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Sync hidden files - + סנכרון קבצים נסתרים @@ -1498,7 +1498,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from Cannot write changes to '%1'. - + לא ניתן לכתוב שינויים אל ‚%1’. @@ -1526,7 +1526,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from Legal notice - + הצהרה משפטית @@ -1536,12 +1536,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from Close - + סגירה <p>Copyright 2017-2018 Nextcloud GmbH<br />Copyright 2012-2018 ownCloud GmbH</p> - + <p>כל הזכויות שמורות 2017‏-2018 ל־Nextcloud GmbH<br />כל הזכויות שמורות 2012‏-2018 ל־ownCloud GmbH</p> @@ -1559,12 +1559,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from &Search: - + &חיפוש: &Find - + &איתור: @@ -1596,27 +1596,27 @@ Logs will be written to %1 S&ave - + &שמירה Save the log file to a file on disk for debugging. - + שמירת קובץ היומן לקובץ בכונן לצורכי ניפוי שגיאות. Save log file - + שמירת קובץ יומן Error - + שגיאה Could not write to log file %1 - + לא ניתן לכתוב לקובץ היומן %1 @@ -1624,7 +1624,7 @@ Logs will be written to %1 Error - + שגיאה @@ -1647,17 +1647,17 @@ Logs will be written to %1 Skip this version - + לדלג על הגרסה הזו Skip this time - + לדלג הפעם Get update - + לקבל עדכון @@ -1670,27 +1670,27 @@ Logs will be written to %1 Proxy Settings - + הגדרות מתווך No Proxy - + אין מתווך Use system proxy - + להשתמש במתווך המערכת Specify proxy manually as - + לציין מתווך ידנית בתור Host - + מארח @@ -1700,30 +1700,30 @@ Logs will be written to %1 Proxy server requires authentication - + השרת המתווך דורש אימות Download Bandwidth - + רוחב פס הורדה Limit to - + להגביל לכדי KBytes/s - + ק״ב/ש׳ No limit - + ללא הגבלה @@ -1895,23 +1895,23 @@ for additional privileges during the process. Free space: %1 - + מקום פנוי: %1 Local Sync Folder - + תיקיית סנכרון מקומית (%1) - + (%1) There isn't enough free space in the local folder! - + אין מספיק שטח פנוי בתיקייה המקומית! @@ -1919,7 +1919,7 @@ for additional privileges during the process. Connection failed - + החיבור נכשל @@ -1929,7 +1929,7 @@ for additional privileges during the process. Select a different URL - + נא לבחור בכתובת אחרת @@ -1952,17 +1952,17 @@ for additional privileges during the process. &Email - + &דוא״ל Connect to %1 - + להתחבר אל %1 Enter user credentials - + להכניס פרטי משתמש @@ -1970,17 +1970,17 @@ for additional privileges during the process. Connect to %1 - + להתחבר אל %1 Login in your browser - + כניסה בדפדפן שלך Copy link to clipboard - + להעתיק קישור ללוח הגזירים @@ -1988,12 +1988,12 @@ for additional privileges during the process. Connect to %1 - + להתחבר אל %1 Setup %1 server - + הקמת שרת %1 @@ -2034,7 +2034,7 @@ It is not advisable to use it. Invalid URL - + כתובת שגויה @@ -2122,7 +2122,7 @@ It is not advisable to use it. Error: %1 - + שגיאה: %1 @@ -2197,12 +2197,12 @@ It is not advisable to use it. %1 Connection Wizard - + אשף החיבור אל %1 Skip folders configuration - + דילוג על הגדרות תיקיות @@ -2210,17 +2210,17 @@ It is not advisable to use it. Everything set up! - + הכול הוגדר! Open Local Folder - + פתיחת תיקייה מקומית Open %1 in Browser - + לפתוח את %1 בדפדפן @@ -2228,7 +2228,7 @@ It is not advisable to use it. Invalid JSON reply from the poll URL - + תגובת JSON שגויה מכתובת התשאול @@ -2236,7 +2236,7 @@ It is not advisable to use it. Error writing metadata to the database - + שגיאה בכתיבת נתוני העל למסד הנתונים @@ -2264,12 +2264,12 @@ It is not advisable to use it. File was deleted from server - + הקובץ נמחק מהשרת The file could not be downloaded completely. - + לא ניתן להוריד את הקובץ במלואו. From c2e3cbca312f99e915b3d26427589fd20c15f1cb Mon Sep 17 00:00:00 2001 From: Christoph Wurst Date: Wed, 8 May 2019 19:41:48 +0200 Subject: [PATCH 008/192] Fix memory leak with device pointer Downstream of https://github.com/owncloud/client/pull/6856 Signed-off-by: Christoph Wurst --- src/libsync/propagateupload.h | 8 ++++---- src/libsync/propagateuploadng.cpp | 7 ++++--- src/libsync/propagateuploadv1.cpp | 8 ++++---- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/libsync/propagateupload.h b/src/libsync/propagateupload.h index 8dfd98d6f..a1b4f8666 100644 --- a/src/libsync/propagateupload.h +++ b/src/libsync/propagateupload.h @@ -92,19 +92,19 @@ private: public: // Takes ownership of the device - explicit PUTFileJob(AccountPtr account, const QString &path, QIODevice *device, + explicit PUTFileJob(AccountPtr account, const QString &path, std::unique_ptr device, const QMap &headers, int chunk, QObject *parent = nullptr) : AbstractNetworkJob(account, path, parent) - , _device(device) + , _device(device.release()) , _headers(headers) , _chunk(chunk) { _device->setParent(this); } - explicit PUTFileJob(AccountPtr account, const QUrl &url, QIODevice *device, + explicit PUTFileJob(AccountPtr account, const QUrl &url, std::unique_ptr device, const QMap &headers, int chunk, QObject *parent = nullptr) : AbstractNetworkJob(account, QString(), parent) - , _device(device) + , _device(device.release()) , _headers(headers) , _url(url) , _chunk(chunk) diff --git a/src/libsync/propagateuploadng.cpp b/src/libsync/propagateuploadng.cpp index 49728a781..7dae923cb 100644 --- a/src/libsync/propagateuploadng.cpp +++ b/src/libsync/propagateuploadng.cpp @@ -305,7 +305,7 @@ void PropagateUploadFileNG::startNextChunk() return; } - auto device = new UploadDevice(&propagator()->_bandwidthManager); + auto device = std::make_unique(&propagator()->_bandwidthManager); const QString fileName = _fileToUpload._path; if (!device->prepareAndOpen(fileName, _sent, _currentChunkSize)) { @@ -328,13 +328,14 @@ void PropagateUploadFileNG::startNextChunk() QUrl url = chunkUrl(_currentChunk); // job takes ownership of device via a QScopedPointer. Job deletes itself when finishing - PUTFileJob *job = new PUTFileJob(propagator()->account(), url, device, headers, _currentChunk, this); + auto devicePtr = device.get(); // for connections later + PUTFileJob *job = new PUTFileJob(propagator()->account(), url, std::move(device), headers, _currentChunk, this); _jobs.append(job); connect(job, &PUTFileJob::finishedSignal, this, &PropagateUploadFileNG::slotPutFinished); connect(job, &PUTFileJob::uploadProgress, this, &PropagateUploadFileNG::slotUploadProgress); connect(job, &PUTFileJob::uploadProgress, - device, &UploadDevice::slotJobUploadProgress); + devicePtr, &UploadDevice::slotJobUploadProgress); connect(job, &QObject::destroyed, this, &PropagateUploadFileCommon::slotJobDestroyed); job->start(); propagator()->_activeJobList.append(this); diff --git a/src/libsync/propagateuploadv1.cpp b/src/libsync/propagateuploadv1.cpp index bcd31761c..104fa9d75 100644 --- a/src/libsync/propagateuploadv1.cpp +++ b/src/libsync/propagateuploadv1.cpp @@ -89,7 +89,7 @@ void PropagateUploadFileV1::startNextChunk() QString path = _fileToUpload._file; - UploadDevice *device = new UploadDevice(&propagator()->_bandwidthManager); + auto device = std::make_unique(&propagator()->_bandwidthManager); qint64 chunkStart = 0; qint64 currentChunkSize = fileSize; bool isFinalChunk = false; @@ -134,16 +134,16 @@ void PropagateUploadFileV1::startNextChunk() } // Soft error because this is likely caused by the user modifying his files while syncing abortWithError(SyncFileItem::SoftError, device->errorString()); - delete device; return; } // job takes ownership of device via a QScopedPointer. Job deletes itself when finishing - PUTFileJob *job = new PUTFileJob(propagator()->account(), propagator()->_remoteFolder + path, device, headers, _currentChunk, this); + auto devicePtr = device.get(); // for connections later + PUTFileJob *job = new PUTFileJob(propagator()->account(), propagator()->_remoteFolder + path, std::move(device), headers, _currentChunk, this); _jobs.append(job); connect(job, &PUTFileJob::finishedSignal, this, &PropagateUploadFileV1::slotPutFinished); connect(job, &PUTFileJob::uploadProgress, this, &PropagateUploadFileV1::slotUploadProgress); - connect(job, &PUTFileJob::uploadProgress, device, &UploadDevice::slotJobUploadProgress); + connect(job, &PUTFileJob::uploadProgress, devicePtr, &UploadDevice::slotJobUploadProgress); connect(job, &QObject::destroyed, this, &PropagateUploadFileCommon::slotJobDestroyed); if (isFinalChunk) adjustLastJobTimeout(job, fileSize); From 7af786fde911c1a28d649f5ec2c1f9d6e966f1b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20=C4=8Cuki=C4=87?= Date: Wed, 8 May 2019 19:56:00 +0200 Subject: [PATCH 009/192] Added a nice UI for the E2E-enabled account first connect Instead of immediately popping up the mnemonic dialogue, only show a notification bar on the account setup page. For the cases where the user does not want to use E2E, this is significantly less intrusive than the old approach. --- .gitignore | 1 + .../kmessagewidget/kmessagewidget.cpp | 512 ++++++++++++++++++ src/3rdparty/kmessagewidget/kmessagewidget.h | 346 ++++++++++++ src/gui/CMakeLists.txt | 2 + src/gui/accountmanager.cpp | 4 +- src/gui/accountsettings.cpp | 21 + src/gui/accountsettings.h | 1 + src/gui/accountsettings.ui | 255 ++++----- src/libsync/clientsideencryption.cpp | 6 + src/libsync/clientsideencryption.h | 3 + 10 files changed, 1025 insertions(+), 126 deletions(-) create mode 100644 src/3rdparty/kmessagewidget/kmessagewidget.cpp create mode 100644 src/3rdparty/kmessagewidget/kmessagewidget.h diff --git a/.gitignore b/.gitignore index 0b9b16727..b16e70a67 100644 --- a/.gitignore +++ b/.gitignore @@ -171,3 +171,4 @@ CPackConfig.cmake CPackOptions.cmake CPackSourceConfig.cmake +compile_commands.json diff --git a/src/3rdparty/kmessagewidget/kmessagewidget.cpp b/src/3rdparty/kmessagewidget/kmessagewidget.cpp new file mode 100644 index 000000000..9e9a7ebb0 --- /dev/null +++ b/src/3rdparty/kmessagewidget/kmessagewidget.cpp @@ -0,0 +1,512 @@ +/* This file is part of the KDE libraries + * + * Copyright (c) 2011 Aurélien Gâteau + * Copyright (c) 2014 Dominik Haumann + * + * 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 + */ +#include "kmessagewidget.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +//--------------------------------------------------------------------- +// KMessageWidgetPrivate +//--------------------------------------------------------------------- +class KMessageWidgetPrivate +{ +public: + void init(KMessageWidget *); + + KMessageWidget *q; + QFrame *content = nullptr; + QLabel *iconLabel = nullptr; + QLabel *textLabel = nullptr; + QToolButton *closeButton = nullptr; + QTimeLine *timeLine = nullptr; + QIcon icon; + bool ignoreShowEventDoingAnimatedShow = false; + + KMessageWidget::MessageType messageType; + bool wordWrap; + QList buttons; + QPixmap contentSnapShot; + + void createLayout(); + void applyStyleSheet(); + void updateSnapShot(); + void updateLayout(); + void slotTimeLineChanged(qreal); + void slotTimeLineFinished(); + + int bestContentHeight() const; +}; + +void KMessageWidgetPrivate::init(KMessageWidget *q_ptr) +{ + q = q_ptr; + + q->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); + + // Note: when changing the value 500, also update KMessageWidgetTest + timeLine = new QTimeLine(500, q); + QObject::connect(timeLine, SIGNAL(valueChanged(qreal)), q, SLOT(slotTimeLineChanged(qreal))); + QObject::connect(timeLine, SIGNAL(finished()), q, SLOT(slotTimeLineFinished())); + + content = new QFrame(q); + content->setObjectName(QStringLiteral("contentWidget")); + content->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + + wordWrap = false; + + iconLabel = new QLabel(content); + iconLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + iconLabel->hide(); + + textLabel = new QLabel(content); + textLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + textLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); + QObject::connect(textLabel, &QLabel::linkActivated, q, &KMessageWidget::linkActivated); + QObject::connect(textLabel, &QLabel::linkHovered, q, &KMessageWidget::linkHovered); + + QAction *closeAction = new QAction(q); + closeAction->setText(KMessageWidget::tr("&Close")); + closeAction->setToolTip(KMessageWidget::tr("Close message")); + closeAction->setIcon(q->style()->standardIcon(QStyle::SP_DialogCloseButton)); + + QObject::connect(closeAction, &QAction::triggered, q, &KMessageWidget::animatedHide); + + closeButton = new QToolButton(content); + closeButton->setAutoRaise(true); + closeButton->setDefaultAction(closeAction); + + q->setMessageType(KMessageWidget::Information); +} + +void KMessageWidgetPrivate::createLayout() +{ + delete content->layout(); + + content->resize(q->size()); + + qDeleteAll(buttons); + buttons.clear(); + + Q_FOREACH (QAction *action, q->actions()) { + QToolButton *button = new QToolButton(content); + button->setDefaultAction(action); + button->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); + buttons.append(button); + } + + // AutoRaise reduces visual clutter, but we don't want to turn it on if + // there are other buttons, otherwise the close button will look different + // from the others. + closeButton->setAutoRaise(buttons.isEmpty()); + + if (wordWrap) { + QGridLayout *layout = new QGridLayout(content); + // Set alignment to make sure icon does not move down if text wraps + layout->addWidget(iconLabel, 0, 0, 1, 1, Qt::AlignHCenter | Qt::AlignTop); + layout->addWidget(textLabel, 0, 1); + + if (buttons.isEmpty()) { + // Use top-vertical alignment like the icon does. + layout->addWidget(closeButton, 0, 2, 1, 1, Qt::AlignHCenter | Qt::AlignTop); + } else { + // Use an additional layout in row 1 for the buttons. + QHBoxLayout *buttonLayout = new QHBoxLayout; + buttonLayout->addStretch(); + Q_FOREACH (QToolButton *button, buttons) { + // For some reason, calling show() is necessary if wordwrap is true, + // otherwise the buttons do not show up. It is not needed if + // wordwrap is false. + button->show(); + buttonLayout->addWidget(button); + } + buttonLayout->addWidget(closeButton); + layout->addItem(buttonLayout, 1, 0, 1, 2); + } + } else { + QHBoxLayout *layout = new QHBoxLayout(content); + layout->addWidget(iconLabel); + layout->addWidget(textLabel); + + for (QToolButton *button : qAsConst(buttons)) { + layout->addWidget(button); + } + + layout->addWidget(closeButton); + }; + + if (q->isVisible()) { + q->setFixedHeight(content->sizeHint().height()); + } + q->updateGeometry(); +} + +void KMessageWidgetPrivate::applyStyleSheet() +{ + QColor bgBaseColor; + + // We have to hardcode colors here because KWidgetsAddons is a tier 1 framework + // and therefore can't depend on any other KDE Frameworks + // The following RGB color values come from the "default" scheme in kcolorscheme.cpp + switch (messageType) { + case KMessageWidget::Positive: + bgBaseColor.setRgb(39, 174, 96); // Window: ForegroundPositive + break; + case KMessageWidget::Information: + bgBaseColor.setRgb(61, 174, 233); // Window: ForegroundActive + break; + case KMessageWidget::Warning: + bgBaseColor.setRgb(246, 116, 0); // Window: ForegroundNeutral + break; + case KMessageWidget::Error: + bgBaseColor.setRgb(218, 68, 83); // Window: ForegroundNegative + break; + } + const qreal bgBaseColorAlpha = 0.2; + bgBaseColor.setAlphaF(bgBaseColorAlpha); + + const QPalette palette = QGuiApplication::palette(); + const QColor windowColor = palette.window().color(); + const QColor textColor = palette.text().color(); + const QColor border = bgBaseColor; + + // Generate a final background color from overlaying bgBaseColor over windowColor + const int newRed = (bgBaseColor.red() * bgBaseColorAlpha) + (windowColor.red() * (1 - bgBaseColorAlpha)); + const int newGreen = (bgBaseColor.green() * bgBaseColorAlpha) + (windowColor.green() * (1 - bgBaseColorAlpha)); + const int newBlue = (bgBaseColor.blue() * bgBaseColorAlpha) + (windowColor.blue() * (1 - bgBaseColorAlpha)); + + const QColor bgFinalColor = QColor(newRed, newGreen, newBlue); + + content->setStyleSheet( + QString::fromLatin1(".QFrame {" + "background-color: %1;" + "border-radius: 4px;" + "border: 2px solid %2;" + "margin: %3px;" + "}" + ".QLabel { color: %4; }" + ) + .arg(bgFinalColor.name()) + .arg(border.name()) + // DefaultFrameWidth returns the size of the external margin + border width. We know our border is 1px, so we subtract this from the frame normal QStyle FrameWidth to get our margin + .arg(q->style()->pixelMetric(QStyle::PM_DefaultFrameWidth, nullptr, q) - 1) + .arg(textColor.name()) + ); +} + +void KMessageWidgetPrivate::updateLayout() +{ + if (content->layout()) { + createLayout(); + } +} + +void KMessageWidgetPrivate::updateSnapShot() +{ + // Attention: updateSnapShot calls QWidget::render(), which causes the whole + // window layouts to be activated. Calling this method from resizeEvent() + // can lead to infinite recursion, see: + // https://bugs.kde.org/show_bug.cgi?id=311336 + contentSnapShot = QPixmap(content->size() * q->devicePixelRatio()); + contentSnapShot.setDevicePixelRatio(q->devicePixelRatio()); + contentSnapShot.fill(Qt::transparent); + content->render(&contentSnapShot, QPoint(), QRegion(), QWidget::DrawChildren); +} + +void KMessageWidgetPrivate::slotTimeLineChanged(qreal value) +{ + q->setFixedHeight(qMin(value * 2, qreal(1.0)) * content->height()); + q->update(); +} + +void KMessageWidgetPrivate::slotTimeLineFinished() +{ + if (timeLine->direction() == QTimeLine::Forward) { + // Show + // We set the whole geometry here, because it may be wrong if a + // KMessageWidget is shown right when the toplevel window is created. + content->setGeometry(0, 0, q->width(), bestContentHeight()); + + // notify about finished animation + emit q->showAnimationFinished(); + } else { + // hide and notify about finished animation + q->hide(); + emit q->hideAnimationFinished(); + } +} + +int KMessageWidgetPrivate::bestContentHeight() const +{ + int height = content->heightForWidth(q->width()); + if (height == -1) { + height = content->sizeHint().height(); + } + return height; +} + +//--------------------------------------------------------------------- +// KMessageWidget +//--------------------------------------------------------------------- +KMessageWidget::KMessageWidget(QWidget *parent) + : QFrame(parent) + , d(new KMessageWidgetPrivate) +{ + d->init(this); +} + +KMessageWidget::KMessageWidget(const QString &text, QWidget *parent) + : QFrame(parent) + , d(new KMessageWidgetPrivate) +{ + d->init(this); + setText(text); +} + +KMessageWidget::~KMessageWidget() +{ + delete d; +} + +QString KMessageWidget::text() const +{ + return d->textLabel->text(); +} + +void KMessageWidget::setText(const QString &text) +{ + d->textLabel->setText(text); + updateGeometry(); +} + +KMessageWidget::MessageType KMessageWidget::messageType() const +{ + return d->messageType; +} + +void KMessageWidget::setMessageType(KMessageWidget::MessageType type) +{ + d->messageType = type; + d->applyStyleSheet(); +} + +QSize KMessageWidget::sizeHint() const +{ + ensurePolished(); + return d->content->sizeHint(); +} + +QSize KMessageWidget::minimumSizeHint() const +{ + ensurePolished(); + return d->content->minimumSizeHint(); +} + +bool KMessageWidget::event(QEvent *event) +{ + if (event->type() == QEvent::Polish && !d->content->layout()) { + d->createLayout(); + } else if (event->type() == QEvent::PaletteChange) { + d->applyStyleSheet(); + } else if (event->type() == QEvent::Show && !d->ignoreShowEventDoingAnimatedShow) { + if ((height() != d->content->height()) || (d->content->pos().y() != 0)) { + d->content->move(0, 0); + setFixedHeight(d->content->height()); + } + } + return QFrame::event(event); +} + +void KMessageWidget::resizeEvent(QResizeEvent *event) +{ + QFrame::resizeEvent(event); + + if (d->timeLine->state() == QTimeLine::NotRunning) { + d->content->resize(width(), d->bestContentHeight()); + } +} + +int KMessageWidget::heightForWidth(int width) const +{ + ensurePolished(); + return d->content->heightForWidth(width); +} + +void KMessageWidget::paintEvent(QPaintEvent *event) +{ + QFrame::paintEvent(event); + if (d->timeLine->state() == QTimeLine::Running) { + QPainter painter(this); + painter.setOpacity(d->timeLine->currentValue() * d->timeLine->currentValue()); + painter.drawPixmap(0, 0, d->contentSnapShot); + } +} + +bool KMessageWidget::wordWrap() const +{ + return d->wordWrap; +} + +void KMessageWidget::setWordWrap(bool wordWrap) +{ + d->wordWrap = wordWrap; + d->textLabel->setWordWrap(wordWrap); + QSizePolicy policy = sizePolicy(); + policy.setHeightForWidth(wordWrap); + setSizePolicy(policy); + d->updateLayout(); + // Without this, when user does wordWrap -> !wordWrap -> wordWrap, a minimum + // height is set, causing the widget to be too high. + // Mostly visible in test programs. + if (wordWrap) { + setMinimumHeight(0); + } +} + +bool KMessageWidget::isCloseButtonVisible() const +{ + return d->closeButton->isVisible(); +} + +void KMessageWidget::setCloseButtonVisible(bool show) +{ + d->closeButton->setVisible(show); + updateGeometry(); +} + +void KMessageWidget::addAction(QAction *action) +{ + QFrame::addAction(action); + d->updateLayout(); +} + +void KMessageWidget::removeAction(QAction *action) +{ + QFrame::removeAction(action); + d->updateLayout(); +} + +void KMessageWidget::animatedShow() +{ + // Test before styleHint, as there might have been a style change while animation was running + if (isHideAnimationRunning()) { + d->timeLine->stop(); + emit hideAnimationFinished(); + } + + if (!style()->styleHint(QStyle::SH_Widget_Animate, nullptr, this) + || (parentWidget() && !parentWidget()->isVisible())) { + show(); + emit showAnimationFinished(); + return; + } + + if (isVisible() && (d->timeLine->state() == QTimeLine::NotRunning) && (height() == d->bestContentHeight()) && (d->content->pos().y() == 0)) { + emit showAnimationFinished(); + return; + } + + d->ignoreShowEventDoingAnimatedShow = true; + show(); + d->ignoreShowEventDoingAnimatedShow = false; + setFixedHeight(0); + int wantedHeight = d->bestContentHeight(); + d->content->setGeometry(0, -wantedHeight, width(), wantedHeight); + + d->updateSnapShot(); + + d->timeLine->setDirection(QTimeLine::Forward); + if (d->timeLine->state() == QTimeLine::NotRunning) { + d->timeLine->start(); + } +} + +void KMessageWidget::animatedHide() +{ + // test this before isVisible, as animatedShow might have been called directly before, + // so the first timeline event is not yet done and the widget is still hidden + // And before styleHint, as there might have been a style change while animation was running + if (isShowAnimationRunning()) { + d->timeLine->stop(); + emit showAnimationFinished(); + } + + if (!style()->styleHint(QStyle::SH_Widget_Animate, nullptr, this)) { + hide(); + emit hideAnimationFinished(); + return; + } + + if (!isVisible()) { + // explicitly hide it, so it stays hidden in case it is only not visible due to the parents + hide(); + emit hideAnimationFinished(); + return; + } + + d->content->move(0, -d->content->height()); + d->updateSnapShot(); + + d->timeLine->setDirection(QTimeLine::Backward); + if (d->timeLine->state() == QTimeLine::NotRunning) { + d->timeLine->start(); + } +} + +bool KMessageWidget::isHideAnimationRunning() const +{ + return (d->timeLine->direction() == QTimeLine::Backward) + && (d->timeLine->state() == QTimeLine::Running); +} + +bool KMessageWidget::isShowAnimationRunning() const +{ + return (d->timeLine->direction() == QTimeLine::Forward) + && (d->timeLine->state() == QTimeLine::Running); +} + +QIcon KMessageWidget::icon() const +{ + return d->icon; +} + +void KMessageWidget::setIcon(const QIcon &icon) +{ + d->icon = icon; + if (d->icon.isNull()) { + d->iconLabel->hide(); + } else { + const int size = style()->pixelMetric(QStyle::PM_ToolBarIconSize); + d->iconLabel->setPixmap(d->icon.pixmap(size)); + d->iconLabel->show(); + } +} + +#include "moc_kmessagewidget.cpp" + diff --git a/src/3rdparty/kmessagewidget/kmessagewidget.h b/src/3rdparty/kmessagewidget/kmessagewidget.h new file mode 100644 index 000000000..cc2767bf9 --- /dev/null +++ b/src/3rdparty/kmessagewidget/kmessagewidget.h @@ -0,0 +1,346 @@ +/* This file is part of the KDE libraries + * + * Copyright (c) 2011 Aurélien Gâteau + * Copyright (c) 2014 Dominik Haumann + * + * 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 + */ +#ifndef KMESSAGEWIDGET_H +#define KMESSAGEWIDGET_H + +#include + +class KMessageWidgetPrivate; + +/** + * @class KMessageWidget kmessagewidget.h KMessageWidget + * + * @short A widget to provide feedback or propose opportunistic interactions. + * + * KMessageWidget can be used to provide inline positive or negative + * feedback, or to implement opportunistic interactions. + * + * As a feedback widget, KMessageWidget provides a less intrusive alternative + * to "OK Only" message boxes. If you want to avoid a modal KMessageBox, + * consider using KMessageWidget instead. + * + * Examples of KMessageWidget look as follows, all of them having an icon set + * with setIcon(), and the first three show a close button: + * + * \image html kmessagewidget.png "KMessageWidget with different message types" + * + * Negative feedback + * + * The KMessageWidget can be used as a secondary indicator of failure: the + * first indicator is usually the fact the action the user expected to happen + * did not happen. + * + * Example: User fills a form, clicks "Submit". + * + * @li Expected feedback: form closes + * @li First indicator of failure: form stays there + * @li Second indicator of failure: a KMessageWidget appears on top of the + * form, explaining the error condition + * + * When used to provide negative feedback, KMessageWidget should be placed + * close to its context. In the case of a form, it should appear on top of the + * form entries. + * + * KMessageWidget should get inserted in the existing layout. Space should not + * be reserved for it, otherwise it becomes "dead space", ignored by the user. + * KMessageWidget should also not appear as an overlay to prevent blocking + * access to elements the user needs to interact with to fix the failure. + * + * Positive feedback + * + * KMessageWidget can be used for positive feedback but it shouldn't be + * overused. It is often enough to provide feedback by simply showing the + * results of an action. + * + * Examples of acceptable uses: + * + * @li Confirm success of "critical" transactions + * @li Indicate completion of background tasks + * + * Example of unadapted uses: + * + * @li Indicate successful saving of a file + * @li Indicate a file has been successfully removed + * + * Opportunistic interaction + * + * Opportunistic interaction is the situation where the application suggests to + * the user an action he could be interested in perform, either based on an + * action the user just triggered or an event which the application noticed. + * + * Example of acceptable uses: + * + * @li A browser can propose remembering a recently entered password + * @li A music collection can propose ripping a CD which just got inserted + * @li A chat application may notify the user a "special friend" just connected + * + * @author Aurélien Gâteau + * @since 4.7 + */ +class KMessageWidget : public QFrame +{ + Q_OBJECT + + Q_PROPERTY(QString text READ text WRITE setText) + Q_PROPERTY(bool wordWrap READ wordWrap WRITE setWordWrap) + Q_PROPERTY(bool closeButtonVisible READ isCloseButtonVisible WRITE setCloseButtonVisible) + Q_PROPERTY(MessageType messageType READ messageType WRITE setMessageType) + Q_PROPERTY(QIcon icon READ icon WRITE setIcon) +public: + + /** + * Available message types. + * The background colors are chosen depending on the message type. + */ + enum MessageType { + Positive, + Information, + Warning, + Error + }; + Q_ENUM(MessageType) + + /** + * Constructs a KMessageWidget with the specified @p parent. + */ + explicit KMessageWidget(QWidget *parent = nullptr); + + /** + * Constructs a KMessageWidget with the specified @p parent and + * contents @p text. + */ + explicit KMessageWidget(const QString &text, QWidget *parent = nullptr); + + /** + * Destructor. + */ + ~KMessageWidget() override; + + /** + * Get the text of this message widget. + * @see setText() + */ + QString text() const; + + /** + * Check whether word wrap is enabled. + * + * If word wrap is enabled, the message widget wraps the displayed text + * as required to the available width of the widget. This is useful to + * avoid breaking widget layouts. + * + * @see setWordWrap() + */ + bool wordWrap() const; + + /** + * Check whether the close button is visible. + * + * @see setCloseButtonVisible() + */ + bool isCloseButtonVisible() const; + + /** + * Get the type of this message. + * By default, the type is set to KMessageWidget::Information. + * + * @see KMessageWidget::MessageType, setMessageType() + */ + MessageType messageType() const; + + /** + * Add @p action to the message widget. + * For each action a button is added to the message widget in the + * order the actions were added. + * + * @param action the action to add + * @see removeAction(), QWidget::actions() + */ + void addAction(QAction *action); + + /** + * Remove @p action from the message widget. + * + * @param action the action to remove + * @see KMessageWidget::MessageType, addAction(), setMessageType() + */ + void removeAction(QAction *action); + + /** + * Returns the preferred size of the message widget. + */ + QSize sizeHint() const override; + + /** + * Returns the minimum size of the message widget. + */ + QSize minimumSizeHint() const override; + + /** + * Returns the required height for @p width. + * @param width the width in pixels + */ + int heightForWidth(int width) const override; + + /** + * The icon shown on the left of the text. By default, no icon is shown. + * @since 4.11 + */ + QIcon icon() const; + + /** + * Check whether the hide animation started by calling animatedHide() + * is still running. If animations are disabled, this function always + * returns @e false. + * + * @see animatedHide(), hideAnimationFinished() + * @since 5.0 + */ + bool isHideAnimationRunning() const; + + /** + * Check whether the show animation started by calling animatedShow() + * is still running. If animations are disabled, this function always + * returns @e false. + * + * @see animatedShow(), showAnimationFinished() + * @since 5.0 + */ + bool isShowAnimationRunning() const; + +public Q_SLOTS: + /** + * Set the text of the message widget to @p text. + * If the message widget is already visible, the text changes on the fly. + * + * @param text the text to display, rich text is allowed + * @see text() + */ + void setText(const QString &text); + + /** + * Set word wrap to @p wordWrap. If word wrap is enabled, the text() + * of the message widget is wrapped to fit the available width. + * If word wrap is disabled, the message widget's minimum size is + * such that the entire text fits. + * + * @param wordWrap disable/enable word wrap + * @see wordWrap() + */ + void setWordWrap(bool wordWrap); + + /** + * Set the visibility of the close button. If @p visible is @e true, + * a close button is shown that calls animatedHide() if clicked. + * + * @see closeButtonVisible(), animatedHide() + */ + void setCloseButtonVisible(bool visible); + + /** + * Set the message type to @p type. + * By default, the message type is set to KMessageWidget::Information. + * Appropriate colors are chosen to mimic the appearance of Kirigami's + * InlineMessage. + * + * @see messageType(), KMessageWidget::MessageType + */ + void setMessageType(KMessageWidget::MessageType type); + + /** + * Show the widget using an animation. + */ + void animatedShow(); + + /** + * Hide the widget using an animation. + */ + void animatedHide(); + + /** + * Define an icon to be shown on the left of the text + * @since 4.11 + */ + void setIcon(const QIcon &icon); + +Q_SIGNALS: + /** + * This signal is emitted when the user clicks a link in the text label. + * The URL referred to by the href anchor is passed in contents. + * @param contents text of the href anchor + * @see QLabel::linkActivated() + * @since 4.10 + */ + void linkActivated(const QString &contents); + + /** + * This signal is emitted when the user hovers over a link in the text label. + * The URL referred to by the href anchor is passed in contents. + * @param contents text of the href anchor + * @see QLabel::linkHovered() + * @since 4.11 + */ + void linkHovered(const QString &contents); + + /** + * This signal is emitted when the hide animation is finished, started by + * calling animatedHide(). If animations are disabled, this signal is + * emitted immediately after the message widget got hidden. + * + * @note This signal is @e not emitted if the widget was hidden by + * calling hide(), so this signal is only useful in conjunction + * with animatedHide(). + * + * @see animatedHide() + * @since 5.0 + */ + void hideAnimationFinished(); + + /** + * This signal is emitted when the show animation is finished, started by + * calling animatedShow(). If animations are disabled, this signal is + * emitted immediately after the message widget got shown. + * + * @note This signal is @e not emitted if the widget was shown by + * calling show(), so this signal is only useful in conjunction + * with animatedShow(). + * + * @see animatedShow() + * @since 5.0 + */ + void showAnimationFinished(); + +protected: + void paintEvent(QPaintEvent *event) override; + + bool event(QEvent *event) override; + + void resizeEvent(QResizeEvent *event) override; + +private: + KMessageWidgetPrivate *const d; + friend class KMessageWidgetPrivate; + + Q_PRIVATE_SLOT(d, void slotTimeLineChanged(qreal)) + Q_PRIVATE_SLOT(d, void slotTimeLineFinished()) +}; + +#endif /* KMESSAGEWIDGET_H */ diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 4e739e25a..167d1727f 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -165,6 +165,7 @@ set(3rdparty_SRC ../3rdparty/qtsingleapplication/qtlocalpeer.cpp ../3rdparty/qtsingleapplication/qtsingleapplication.cpp ../3rdparty/qtsingleapplication/qtsinglecoreapplication.cpp + ../3rdparty/kmessagewidget/kmessagewidget.cpp ) if (APPLE) @@ -329,6 +330,7 @@ target_include_directories(${APPLICATION_EXECUTABLE} PRIVATE ${CMAKE_SOURCE_DIR}/src/3rdparty/qtlockedfile ${CMAKE_SOURCE_DIR}/src/3rdparty/qtmacgoodies/src ${CMAKE_SOURCE_DIR}/src/3rdparty/qtsingleapplication + ${CMAKE_SOURCE_DIR}/src/3rdparty/kmessagewidget ${CMAKE_CURRENT_BINARY_DIR} ) diff --git a/src/gui/accountmanager.cpp b/src/gui/accountmanager.cpp index 8824ac7c7..ca00a4e17 100644 --- a/src/gui/accountmanager.cpp +++ b/src/gui/accountmanager.cpp @@ -342,9 +342,6 @@ AccountPtr AccountManager::createAccount() connect(acc.data(), &Account::proxyAuthenticationRequired, ProxyAuthHandler::instance(), &ProxyAuthHandler::handleProxyAuthenticationRequired); - connect(acc.data()->e2e(), &ClientSideEncryption::mnemonicGenerated, - &AccountManager::displayMnemonic); - return acc; } @@ -364,6 +361,7 @@ void AccountManager::displayMnemonic(const QString& mnemonic) widget->exec(); widget->resize(widget->sizeHint()); } + void AccountManager::shutdown() { auto accountsCopy = _accounts; diff --git a/src/gui/accountsettings.cpp b/src/gui/accountsettings.cpp index 81f441f22..4a554a196 100644 --- a/src/gui/accountsettings.cpp +++ b/src/gui/accountsettings.cpp @@ -194,6 +194,14 @@ AccountSettings::AccountSettings(AccountState *accountState, QWidget *parent) // Connect E2E stuff connect(this, &AccountSettings::requesetMnemonic, _accountState->account()->e2e(), &ClientSideEncryption::slotRequestMnemonic); connect(_accountState->account()->e2e(), &ClientSideEncryption::showMnemonic, this, &AccountSettings::slotShowMnemonic); + + connect(_accountState->account()->e2e(), &ClientSideEncryption::mnemonicGenerated, this, &AccountSettings::slotNewMnemonicGenerated); + if (_accountState->account()->e2e()->newMnemonicGenerated()) + { + slotNewMnemonicGenerated(); + } else { + ui->encryptionMessage->hide(); + } } @@ -222,6 +230,19 @@ void AccountSettings::createAccountToolbox() slotAccountAdded(_accountState); } + +void AccountSettings::slotNewMnemonicGenerated() +{ + ui->encryptionMessage->setText(tr("This account supports end to end encryption")); + + QAction *mnemonic = new QAction(tr("Setup"), this); + connect(mnemonic, &QAction::triggered, this, &AccountSettings::requesetMnemonic); + connect(mnemonic, &QAction::triggered, ui->encryptionMessage, &KMessageWidget::hide); + + ui->encryptionMessage->addAction(mnemonic); + ui->encryptionMessage->show(); +} + void AccountSettings::slotMenuBeforeShow() { if (_menuShown) { return; diff --git a/src/gui/accountsettings.h b/src/gui/accountsettings.h index e0132ae2f..eb6a78b17 100644 --- a/src/gui/accountsettings.h +++ b/src/gui/accountsettings.h @@ -99,6 +99,7 @@ protected slots: // Encryption Related Stuff. void slotShowMnemonic(const QString &mnemonic); + void slotNewMnemonicGenerated(); void slotEncryptionFlagSuccess(const QByteArray &folderId); void slotEncryptionFlagError(const QByteArray &folderId, int httpReturnCode); diff --git a/src/gui/accountsettings.ui b/src/gui/accountsettings.ui index 705f1bdad..fcdd8365a 100644 --- a/src/gui/accountsettings.ui +++ b/src/gui/accountsettings.ui @@ -6,7 +6,7 @@ 0 0 - 575 + 582 557 @@ -14,128 +14,7 @@ Form - - - - - - - - 0 - 0 - - - - - - - - - - - - 0 - 0 - - - - Connected with <server> as <user> - - - Qt::RichText - - - true - - - true - - - - - - - ... - - - - - - - - - - - - - 0 - 0 - - - - - - - Storage space: ... - - - Qt::PlainText - - - false - - - - - - - false - - - - 0 - 0 - - - - - 16777215 - 7 - - - - 100 - - - -1 - - - false - - - - - - - - - - 0 - 5 - - - - Qt::CustomContextMenu - - - QAbstractItemView::NoEditTriggers - - - true - - - - + @@ -267,6 +146,130 @@ + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + Connected with <server> as <user> + + + Qt::RichText + + + true + + + true + + + + + + + ... + + + + + + + + + + + + + 0 + 0 + + + + + + + Storage space: ... + + + Qt::PlainText + + + false + + + + + + + false + + + + 0 + 0 + + + + + 16777215 + 7 + + + + 100 + + + -1 + + + false + + + + + + + + + + 0 + 5 + + + + Qt::CustomContextMenu + + + QAbstractItemView::NoEditTriggers + + + true + + + + + + @@ -280,6 +283,12 @@ QTreeView
folderstatusview.h
+ + KMessageWidget + QWidget +
kmessagewidget.h
+ 1 +
diff --git a/src/libsync/clientsideencryption.cpp b/src/libsync/clientsideencryption.cpp index f0d3bc9dc..5c5f23c9e 100644 --- a/src/libsync/clientsideencryption.cpp +++ b/src/libsync/clientsideencryption.cpp @@ -958,6 +958,7 @@ void ClientSideEncryption::encryptPrivateKey() { QStringList list = WordList::getRandomWords(12); _mnemonic = list.join(' '); + _newMnemonicGenerated = true; qCInfo(lcCse()) << "mnemonic Generated:" << _mnemonic; emit mnemonicGenerated(_mnemonic); @@ -989,6 +990,11 @@ void ClientSideEncryption::encryptPrivateKey() job->start(); } +bool ClientSideEncryption::newMnemonicGenerated() const +{ + return _newMnemonicGenerated; +} + void ClientSideEncryption::decryptPrivateKey(const QByteArray &key) { QString msg = tr("Please enter your end to end encryption passphrase:
" "
" diff --git a/src/libsync/clientsideencryption.h b/src/libsync/clientsideencryption.h index 400260706..05425a26f 100644 --- a/src/libsync/clientsideencryption.h +++ b/src/libsync/clientsideencryption.h @@ -87,6 +87,8 @@ public: void forgetSensitiveData(); + bool newMnemonicGenerated() const; + public slots: void slotRequestMnemonic(); @@ -127,6 +129,7 @@ public: QSslKey _publicKey; QSslCertificate _certificate; QString _mnemonic; + bool _newMnemonicGenerated = false; }; /* Generates the Metadata for the folder */ From 2d3bac4e530c5bf5998d07d78e7e35f91a956024 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 9 May 2019 00:48:24 +0000 Subject: [PATCH 010/192] [tx-robot] updated from transifex --- translations/client_bg.ts | 10 +++++----- translations/client_ca.ts | 10 +++++----- translations/client_cs.ts | 12 ++++++------ translations/client_da.ts | 10 +++++----- translations/client_de.ts | 10 +++++----- translations/client_el.ts | 10 +++++----- translations/client_en.ts | 10 +++++----- translations/client_en_GB.ts | 10 +++++----- translations/client_eo.ts | 10 +++++----- translations/client_es.ts | 10 +++++----- translations/client_es_AR.ts | 10 +++++----- translations/client_es_CL.ts | 10 +++++----- translations/client_es_CO.ts | 10 +++++----- translations/client_es_CR.ts | 10 +++++----- translations/client_es_DO.ts | 10 +++++----- translations/client_es_EC.ts | 10 +++++----- translations/client_es_GT.ts | 10 +++++----- translations/client_es_HN.ts | 10 +++++----- translations/client_es_MX.ts | 10 +++++----- translations/client_es_SV.ts | 10 +++++----- translations/client_et.ts | 10 +++++----- translations/client_eu.ts | 10 +++++----- translations/client_fa.ts | 10 +++++----- translations/client_fi.ts | 10 +++++----- translations/client_fr.ts | 10 +++++----- translations/client_gl.ts | 10 +++++----- translations/client_he.ts | 10 +++++----- translations/client_hu.ts | 10 +++++----- translations/client_is.ts | 10 +++++----- translations/client_it.ts | 10 +++++----- translations/client_ja.ts | 10 +++++----- translations/client_lt_LT.ts | 10 +++++----- translations/client_lv.ts | 10 +++++----- translations/client_nb_NO.ts | 10 +++++----- translations/client_nl.ts | 10 +++++----- translations/client_pl.ts | 10 +++++----- translations/client_pt.ts | 10 +++++----- translations/client_pt_BR.ts | 10 +++++----- translations/client_ru.ts | 10 +++++----- translations/client_sk.ts | 10 +++++----- translations/client_sl.ts | 10 +++++----- translations/client_sr.ts | 10 +++++----- translations/client_sv.ts | 10 +++++----- translations/client_th.ts | 10 +++++----- translations/client_tr.ts | 10 +++++----- translations/client_uk.ts | 10 +++++----- translations/client_zh_CN.ts | 10 +++++----- translations/client_zh_TW.ts | 10 +++++----- 48 files changed, 241 insertions(+), 241 deletions(-) diff --git a/translations/client_bg.ts b/translations/client_bg.ts index 06587b346..d23169ce2 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -2435,27 +2435,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. - + Local file changed during sync. Локален файл е променен по време на синхронизирането. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server diff --git a/translations/client_ca.ts b/translations/client_ca.ts index 159230e9e..af2b0ca42 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -2453,27 +2453,27 @@ No és aconsellable fer-la servir. OCC::PropagateUploadFileNG - + The local file was removed during sync. El fitxer local s'ha suprimit durant la sincronització. - + Local file changed during sync. El fitxer local ha canviat durant la sincronització. - + Unexpected return code from server (%1) Codi de retorn inesperat del servidor (%1) - + Missing File ID from server Falta l'ID de fitxer del servidor - + Missing ETag from server Falta l'ETag del servidor diff --git a/translations/client_cs.ts b/translations/client_cs.ts index 34ee5c365..433f9d809 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -2292,7 +2292,7 @@ Nedoporučuje se jí používat. The downloaded file is empty despite that the server announced it should have been %1. - + Stažený soubor je prázdný, přestože soubor oznámil, že měl mít %1. @@ -2450,27 +2450,27 @@ Nedoporučuje se jí používat. OCC::PropagateUploadFileNG - + 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. - + Unexpected return code from server (%1) Neočekávaný návratový kód ze serveru (%1) - + Missing File ID from server Chybějící souborové ID ze serveru - + Missing ETag from server Chybějící ETag ze serveru diff --git a/translations/client_da.ts b/translations/client_da.ts index 73af35b20..d2baed6df 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -2430,27 +2430,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. - + Local file changed during sync. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server diff --git a/translations/client_de.ts b/translations/client_de.ts index b304c08f4..40bbf6974 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -2450,27 +2450,27 @@ Es ist nicht ratsam, sie zu benutzen. OCC::PropagateUploadFileNG - + 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. - + Unexpected return code from server (%1) Unerwarteter Rückgabe-Code Antwort vom Server (%1) - + Missing File ID from server Fehlende Datei-ID vom Server - + Missing ETag from server Fehlender ETag vom Server diff --git a/translations/client_el.ts b/translations/client_el.ts index 733f962eb..9cde18f9d 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -2440,27 +2440,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. Το τοπικό αρχείο αφαιρέθηκε κατά το συγχρονισμό. - + Local file changed during sync. Το τοπικό αρχείο τροποποιήθηκε κατά τον συγχρονισμό. - + Unexpected return code from server (%1) Ο διακομιστής επέστρεψε απροσδόκητο κωδικό (%1) - + Missing File ID from server Απουσία ID αρχείου από τον διακομιστή - + Missing ETag from server Απουσία ETag από τον διακομιστή diff --git a/translations/client_en.ts b/translations/client_en.ts index e533ffe82..8d16ed2fd 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -2456,27 +2456,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. - + Local file changed during sync. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server diff --git a/translations/client_en_GB.ts b/translations/client_en_GB.ts index 6d9c37127..111d80b3e 100644 --- a/translations/client_en_GB.ts +++ b/translations/client_en_GB.ts @@ -2451,27 +2451,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. The local file was removed during sync. - + Local file changed during sync. Local file changed during sync. - + Unexpected return code from server (%1) Unexpected return code from server (%1) - + Missing File ID from server Missing File ID from server - + Missing ETag from server Missing ETag from server diff --git a/translations/client_eo.ts b/translations/client_eo.ts index 16686ba4e..6809c2fa0 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -2450,27 +2450,27 @@ Uzi ĝin ne konsilindas. OCC::PropagateUploadFileNG - + The local file was removed during sync. Loka dosiero estis forigita dum sinkronigo. - + Local file changed during sync. Loka dosiero ŝanĝiĝis dum sinkronigo. - + Unexpected return code from server (%1) Neatendita elirkodo el servilo (%1) - + Missing File ID from server Mankanta identigilo de dosiero el la servilo - + Missing ETag from server Mankanta ETag el la servilo diff --git a/translations/client_es.ts b/translations/client_es.ts index 0b7935942..cdb44fe1c 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -2450,27 +2450,27 @@ No se recomienda usarla. OCC::PropagateUploadFileNG - + The local file was removed during sync. El archivo local ha sido eliminado durante la sincronización. - + Local file changed during sync. Un archivo local fue modificado durante la sincronización. - + Unexpected return code from server (%1) Respuesta inesperada del servidor (%1) - + Missing File ID from server ID perdido del archivo del servidor - + Missing ETag from server Perdido ETag del servidor diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index f7242f6e5..11a0a2b9b 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -2430,27 +2430,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. - + Local file changed during sync. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server diff --git a/translations/client_es_CL.ts b/translations/client_es_CL.ts index 479715fcf..829f5d9c1 100644 --- a/translations/client_es_CL.ts +++ b/translations/client_es_CL.ts @@ -2441,27 +2441,27 @@ No es recomendable usarlo. OCC::PropagateUploadFileNG - + The local file was removed during sync. El archivo local se eliminó durante la sincronización. - + Local file changed during sync. El archivo local cambió durante la sincronización. - + Unexpected return code from server (%1) Código de retorno del servidor inesperado (%1) - + Missing File ID from server El ID de archivo no está en el servidor - + Missing ETag from server ETag no está en el servidor diff --git a/translations/client_es_CO.ts b/translations/client_es_CO.ts index 127ecbf99..b9d3a8641 100644 --- a/translations/client_es_CO.ts +++ b/translations/client_es_CO.ts @@ -2441,27 +2441,27 @@ No es recomendable usarlo. OCC::PropagateUploadFileNG - + The local file was removed during sync. El archivo local se eliminó durante la sincronización. - + Local file changed during sync. El archivo local cambió durante la sincronización. - + Unexpected return code from server (%1) Código de retorno del servidor inesperado (%1) - + Missing File ID from server El ID de archivo no está en el servidor - + Missing ETag from server ETag no está en el servidor diff --git a/translations/client_es_CR.ts b/translations/client_es_CR.ts index 19cb4d354..380b9b74c 100644 --- a/translations/client_es_CR.ts +++ b/translations/client_es_CR.ts @@ -2441,27 +2441,27 @@ No es recomendable usarlo. OCC::PropagateUploadFileNG - + The local file was removed during sync. El archivo local se eliminó durante la sincronización. - + Local file changed during sync. El archivo local cambió durante la sincronización. - + Unexpected return code from server (%1) Código de retorno del servidor inesperado (%1) - + Missing File ID from server El ID de archivo no está en el servidor - + Missing ETag from server ETag no está en el servidor diff --git a/translations/client_es_DO.ts b/translations/client_es_DO.ts index 8679215aa..00c99f185 100644 --- a/translations/client_es_DO.ts +++ b/translations/client_es_DO.ts @@ -2441,27 +2441,27 @@ No es recomendable usarlo. OCC::PropagateUploadFileNG - + The local file was removed during sync. El archivo local se eliminó durante la sincronización. - + Local file changed during sync. El archivo local cambió durante la sincronización. - + Unexpected return code from server (%1) Código de retorno del servidor inesperado (%1) - + Missing File ID from server El ID de archivo no está en el servidor - + Missing ETag from server ETag no está en el servidor diff --git a/translations/client_es_EC.ts b/translations/client_es_EC.ts index 038964182..d52200670 100644 --- a/translations/client_es_EC.ts +++ b/translations/client_es_EC.ts @@ -2441,27 +2441,27 @@ No es recomendable usarlo. OCC::PropagateUploadFileNG - + The local file was removed during sync. El archivo local se eliminó durante la sincronización. - + Local file changed during sync. El archivo local cambió durante la sincronización. - + Unexpected return code from server (%1) Código de retorno del servidor inesperado (%1) - + Missing File ID from server El ID de archivo no está en el servidor - + Missing ETag from server ETag no está en el servidor diff --git a/translations/client_es_GT.ts b/translations/client_es_GT.ts index 46a6e58bf..99776900a 100644 --- a/translations/client_es_GT.ts +++ b/translations/client_es_GT.ts @@ -2441,27 +2441,27 @@ No es recomendable usarlo. OCC::PropagateUploadFileNG - + The local file was removed during sync. El archivo local se eliminó durante la sincronización. - + Local file changed during sync. El archivo local cambió durante la sincronización. - + Unexpected return code from server (%1) Código de retorno del servidor inesperado (%1) - + Missing File ID from server El ID de archivo no está en el servidor - + Missing ETag from server ETag no está en el servidor diff --git a/translations/client_es_HN.ts b/translations/client_es_HN.ts index 193ae492d..7b67114cb 100644 --- a/translations/client_es_HN.ts +++ b/translations/client_es_HN.ts @@ -2441,27 +2441,27 @@ No es recomendable usarlo. OCC::PropagateUploadFileNG - + The local file was removed during sync. El archivo local se eliminó durante la sincronización. - + Local file changed during sync. El archivo local cambió durante la sincronización. - + Unexpected return code from server (%1) Código de retorno del servidor inesperado (%1) - + Missing File ID from server El ID de archivo no está en el servidor - + Missing ETag from server ETag no está en el servidor diff --git a/translations/client_es_MX.ts b/translations/client_es_MX.ts index 98fa7d5c8..59b718740 100644 --- a/translations/client_es_MX.ts +++ b/translations/client_es_MX.ts @@ -2441,27 +2441,27 @@ No es recomendable usarlo. OCC::PropagateUploadFileNG - + The local file was removed during sync. El archivo local se eliminó durante la sincronización. - + Local file changed during sync. El archivo local cambió durante la sincronización. - + Unexpected return code from server (%1) Código de retorno del servidor inesperado (%1) - + Missing File ID from server El ID de archivo no está en el servidor - + Missing ETag from server ETag no está en el servidor diff --git a/translations/client_es_SV.ts b/translations/client_es_SV.ts index c036be18e..774e76705 100644 --- a/translations/client_es_SV.ts +++ b/translations/client_es_SV.ts @@ -2441,27 +2441,27 @@ No es recomendable usarlo. OCC::PropagateUploadFileNG - + The local file was removed during sync. El archivo local se eliminó durante la sincronización. - + Local file changed during sync. El archivo local cambió durante la sincronización. - + Unexpected return code from server (%1) Código de retorno del servidor inesperado (%1) - + Missing File ID from server El ID de archivo no está en el servidor - + Missing ETag from server ETag no está en el servidor diff --git a/translations/client_et.ts b/translations/client_et.ts index 1d0cc962c..8bdbda1cf 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -2431,27 +2431,27 @@ Selle kasutamine pole soovitatav. OCC::PropagateUploadFileNG - + 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. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server diff --git a/translations/client_eu.ts b/translations/client_eu.ts index fd72a44b3..1506e70d1 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -2435,27 +2435,27 @@ Ez da gomendagarria erabltzea. OCC::PropagateUploadFileNG - + The local file was removed during sync. Fitxategi lokala ezabatu da sinkronizazioan. - + Local file changed during sync. Fitxategi lokala aldatu da sinkronizazioan. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server diff --git a/translations/client_fa.ts b/translations/client_fa.ts index 1e086c5a4..33cbb516b 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -2438,27 +2438,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. فایل محلی در حین همگام‌سازی حذف شده است. - + Local file changed during sync. فایل محلی در حین همگام‌سازی تغییر کرده است. - + Unexpected return code from server (%1) کد بازگشت غیر منتظره از سرور (1%) - + Missing File ID from server فاقد شناسه پرونده از سرور - + Missing ETag from server فاقد ETag از سرور diff --git a/translations/client_fi.ts b/translations/client_fi.ts index 1f902462a..6902af011 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -2435,27 +2435,27 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::PropagateUploadFileNG - + The local file was removed during sync. Paikallinen tiedosto poistettiin synkronoinnin aikana. - + Local file changed during sync. Paikallinen tiedosto muuttui synkronoinnin aikana. - + Unexpected return code from server (%1) Odottamaton paluukoodi palvelimelta (%1) - + Missing File ID from server - + Missing ETag from server diff --git a/translations/client_fr.ts b/translations/client_fr.ts index 14c69c0e9..96684c695 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -2453,27 +2453,27 @@ Il est déconseillé de l'utiliser. OCC::PropagateUploadFileNG - + The local file was removed during sync. Fichier local supprimé pendant la synchronisation. - + Local file changed during sync. Fichier local modifié pendant la synchronisation. - + Unexpected return code from server (%1) Le serveur a retourné un code inattendu (%1) - + Missing File ID from server L'identifiant de fichier est manquant sur le serveur - + Missing ETag from server L'information Etag de modification de fichier est manquante sur le serveur diff --git a/translations/client_gl.ts b/translations/client_gl.ts index 042d7f879..fdfa5203d 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -2452,27 +2452,27 @@ Recomendámoslle que non o use. OCC::PropagateUploadFileNG - + 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. - + Unexpected return code from server (%1) O servidor devolveu un código non agardado (%1) - + Missing File ID from server Falta o ID do ficheiro do servidor - + Missing ETag from server Falta ETag do servidor diff --git a/translations/client_he.ts b/translations/client_he.ts index 4525d18c2..9753b6946 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -2432,27 +2432,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. - + Local file changed during sync. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server diff --git a/translations/client_hu.ts b/translations/client_hu.ts index 6f5bef67a..37f28dfd2 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -2450,27 +2450,27 @@ Használata nem ajánlott. OCC::PropagateUploadFileNG - + The local file was removed during sync. A helyi fájl el lett távolítva szinkronizálás közben. - + Local file changed during sync. A helyi fájl megváltozott szinkronizálás közben. - + Unexpected return code from server (%1) Nem várt visszatérési érték a kiszolgálótól (%1) - + Missing File ID from server Hiányzik a fájlazonosító a kiszolgálóról - + Missing ETag from server Hiányzik az ETag a kiszolgálóról diff --git a/translations/client_is.ts b/translations/client_is.ts index d7f03e587..7a6de8379 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -2446,27 +2446,27 @@ Ekki er mælt með því að hún sé notuð. OCC::PropagateUploadFileNG - + The local file was removed during sync. Staðværa skráin var fjarlægð við samstillingu. - + Local file changed during sync. Staðværu skránni var breytt við samstillingu. - + Unexpected return code from server (%1) Óvæntur svarkóði frá þjóni (%1) - + Missing File ID from server - + Missing ETag from server diff --git a/translations/client_it.ts b/translations/client_it.ts index 2adc52c1d..e4c53c47f 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -2452,27 +2452,27 @@ Non è consigliabile utilizzarlo. OCC::PropagateUploadFileNG - + 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. - + Unexpected return code from server (%1) Codice di uscita inatteso dal server (%1) - + Missing File ID from server File ID mancante dal server - + Missing ETag from server ETag mancante dal server diff --git a/translations/client_ja.ts b/translations/client_ja.ts index d7e830f23..3de6fb1de 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -2436,27 +2436,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. ローカルファイルを同期中に削除します。 - + Local file changed during sync. ローカルのファイルが同期中に変更されました。 - + Unexpected return code from server (%1) サーバー (%1) からの予期しない戻りコード - + Missing File ID from server サーバーからファイルIDの戻りがありません - + Missing ETag from server サーバーからETagの戻りがありません diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index 7bc8e6368..7db5b73fe 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -2446,27 +2446,27 @@ Patariama jo nenaudoti. OCC::PropagateUploadFileNG - + The local file was removed during sync. Vietinis failas sinchronizavimo metu buvo pašalintas. - + Local file changed during sync. Failas kompiuteryje sinchronizavimo metu buvo pakeistas. - + Unexpected return code from server (%1) Nežinomas atsakymo kodas iš serverio (%1) - + Missing File ID from server Nėra File ID iš serverio - + Missing ETag from server Nėra ETag iš serverio diff --git a/translations/client_lv.ts b/translations/client_lv.ts index 7e0849455..701f4692e 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -2432,27 +2432,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. - + Local file changed during sync. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index f11ee9cb3..95a3cf3bb 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -2441,27 +2441,27 @@ Det er ikke tilrådelig å bruke den. OCC::PropagateUploadFileNG - + The local file was removed during sync. Den lokale filen ble fjernet under synkronisering. - + Local file changed during sync. Lokal fil endret under synkronisering. - + Unexpected return code from server (%1) Uventet returkode fra serveren (%1) - + Missing File ID from server Mangler File ID fra server - + Missing ETag from server Mangler ETag fra server diff --git a/translations/client_nl.ts b/translations/client_nl.ts index 2dee9bdb6..c305b75d8 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -2455,27 +2455,27 @@ We adviseren deze site niet te gebruiken. OCC::PropagateUploadFileNG - + The local file was removed during sync. Het lokale bestand werd verwijderd tijdens sync. - + Local file changed during sync. Lokaal bestand gewijzigd bij sync. - + Unexpected return code from server (%1) Onverwachte reactie van server (%1) - + Missing File ID from server Ontbrekende File ID van de server - + Missing ETag from server Ontbrekende ETag van de server diff --git a/translations/client_pl.ts b/translations/client_pl.ts index 70dea17d1..977907ff0 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -2451,27 +2451,27 @@ Niezalecane jest jego użycie. OCC::PropagateUploadFileNG - + The local file was removed during sync. Pliki lokalny został usunięty podczas synchronizacji. - + Local file changed during sync. Lokalny plik zmienił się podczas synchronizacji. - + Unexpected return code from server (%1) Nieoczekiwana odpowiedź z serwera (%1) - + Missing File ID from server Na serwerze nie odnaleziono File ID - + Missing ETag from server Na serwerze nie odnaleziono ETag diff --git a/translations/client_pt.ts b/translations/client_pt.ts index f28b1dd4c..c7d77adc0 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -2440,27 +2440,27 @@ Não é aconselhada a sua utilização. OCC::PropagateUploadFileNG - + 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. - + Unexpected return code from server (%1) Código de resposta inesperado do servidor (%1) - + Missing File ID from server ID do ficheiro no servidor em falta - + Missing ETag from server ETag do servidor em falta diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 25da08bfe..91306deaf 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -2451,27 +2451,27 @@ Não é aconselhável usá-la. OCC::PropagateUploadFileNG - + The local file was removed during sync. O arquivo local foi removido durante a sincronização. - + Local file changed during sync. O arquivo local foi modificado durante a sincronização. - + Unexpected return code from server (%1) Código de retorno inesperado do servidor (%1) - + Missing File ID from server Falta ID do arquivo do servidor - + Missing ETag from server Falta ETag do servidor diff --git a/translations/client_ru.ts b/translations/client_ru.ts index d8cdc2473..37d894f14 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -2445,27 +2445,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. Локальный файл был удалён в процессе синхронизации. - + Local file changed during sync. Локальный файл изменился в процессе синхронизации. - + Unexpected return code from server (%1) Неожиданный код завершения от сервера (%1) - + Missing File ID from server Отсутствует код файла от сервера - + Missing ETag from server Отсутствует ETag с сервера diff --git a/translations/client_sk.ts b/translations/client_sk.ts index 56c1be3f0..961b29391 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -2440,27 +2440,27 @@ Nie je vhodné ju používať. OCC::PropagateUploadFileNG - + 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. - + Unexpected return code from server (%1) Neočakávaný návratový kód zo servera (%1) - + Missing File ID from server - + Missing ETag from server diff --git a/translations/client_sl.ts b/translations/client_sl.ts index da3aa1f8c..7ac0fcbc3 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -2440,27 +2440,27 @@ Uporaba ni priporočljiva. OCC::PropagateUploadFileNG - + The local file was removed during sync. Krajevna datoteka je bila med usklajevanjem odstranjena. - + Local file changed during sync. Krajevna datoteka je bila med usklajevanjem spremenjena. - + Unexpected return code from server (%1) Napaka: nepričakovan odziv s strežnika (%1). - + Missing File ID from server Na strežniku manjka ID datoteke - + Missing ETag from server Na strežniku manjka ETag datoteke diff --git a/translations/client_sr.ts b/translations/client_sr.ts index 9cfaf3b79..02e236a43 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -2451,27 +2451,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. Локални фајл је уклоњен током синхронизације. - + Local file changed during sync. Локални фајл измењен током синхронизације. - + Unexpected return code from server (%1) Неочекивани повратни код са сервера (%1) - + Missing File ID from server ID фајла недостаје са сервера - + Missing ETag from server ETag фајла недостаје са сервера diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 1cb122369..3b67c3fe5 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -2451,27 +2451,27 @@ Det är inte lämpligt använda den. OCC::PropagateUploadFileNG - + The local file was removed during sync. Den lokala filen togs bort under synkronisering. - + Local file changed during sync. Lokal fil ändrades under synk. - + Unexpected return code from server (%1) Oväntad svarskod från servern (%1) - + Missing File ID from server Saknar Fil-ID från servern - + Missing ETag from server Saknar ETag från servern diff --git a/translations/client_th.ts b/translations/client_th.ts index 6a63f09a1..5a5a30d18 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -2440,27 +2440,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. ไฟล์ต้นทางถูกลบออกในระหว่างการประสานข้อมูล - + Local file changed during sync. ไฟล์ต้นทางถูกเปลี่ยนแปลงขณะกำลังประสานข้อมูล - + Unexpected return code from server (%1) มีรหัสข้อผิดพลาดตอบกลับมาจากเซิร์ฟเวอร์ (%1) - + Missing File ID from server ไฟล์ไอดีได้หายไปจากเซิร์ฟเวอร์ - + Missing ETag from server ETag ได้หายไปจากเซิร์ฟเวอร์ diff --git a/translations/client_tr.ts b/translations/client_tr.ts index 2eb553c51..21add51ba 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -2450,27 +2450,27 @@ Kullanmanız önerilmez. OCC::PropagateUploadFileNG - + The local file was removed during sync. Yerel dosya eşitleme sırasında silinmiş. - + Local file changed during sync. Yerel dosya eşitleme sırasında değişmiş. - + Unexpected return code from server (%1) Sunucudan bilinmeyen bir yanıt kodu alındı (%1) - + Missing File ID from server Sunucudan Dosya Kodu alınamadı - + Missing ETag from server Sunucudan E-Tag alınamadı diff --git a/translations/client_uk.ts b/translations/client_uk.ts index 233f2074e..0d73997dc 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -2431,27 +2431,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. Локальний файл було видалено під час синхронізації. - + Local file changed during sync. Локальний файл змінився під час синхронізації. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index ece04c76d..0368c430a 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -2449,27 +2449,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. 本地文件在同步时已删除。 - + Local file changed during sync. 本地文件在同步时已修改。 - + Unexpected return code from server (%1) 从服务器得到了意外的返回值(%1) - + Missing File ID from server 服务器端文件 ID 缺失 - + Missing ETag from server 服务器端 ETag 缺失 diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index 9ff719043..f20e27d5e 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -2434,27 +2434,27 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + The local file was removed during sync. 本地端的檔案在同步過程中被刪除。 - + Local file changed during sync. 本地端的檔案在同步過程中被更改。 - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server From b6ff17c50be2339ba1dcfa9a8b0afeccacd6d6e5 Mon Sep 17 00:00:00 2001 From: Joshua Sterner Date: Thu, 9 May 2019 01:05:49 -0700 Subject: [PATCH 011/192] Fixed Issue #1000 - Subfolders of moved folders not synced Signed-off-by: Joshua Sterner --- src/gui/folderwatcher.cpp | 18 ++++++++++++++++++ src/gui/folderwatcher.h | 3 +++ test/testfolderwatcher.cpp | 13 +++++++++++++ 3 files changed, 34 insertions(+) diff --git a/src/gui/folderwatcher.cpp b/src/gui/folderwatcher.cpp index d8136ff36..65e68cb36 100644 --- a/src/gui/folderwatcher.cpp +++ b/src/gui/folderwatcher.cpp @@ -75,9 +75,27 @@ bool FolderWatcher::isReliable() const return _isReliable; } +void FolderWatcher::appendSubPaths(QDir dir, QStringList& subPaths) { + QStringList newSubPaths = dir.entryList(QDir::NoDotAndDotDot | QDir::Dirs | QDir::Files); + for (int i = 0; i < newSubPaths.size(); i++) { + QString path = dir.path() + "/" + newSubPaths[i]; + QFileInfo fileInfo(path); + subPaths.append(path); + if (fileInfo.isDir()) { + QDir dir(path); + appendSubPaths(dir, subPaths); + } + } +} + void FolderWatcher::changeDetected(const QString &path) { + QFileInfo fileInfo(path); QStringList paths(path); + if (fileInfo.isDir()) { + QDir dir(path); + appendSubPaths(dir, paths); + } changeDetected(paths); } diff --git a/src/gui/folderwatcher.h b/src/gui/folderwatcher.h index a6cf006e2..b07c33a10 100644 --- a/src/gui/folderwatcher.h +++ b/src/gui/folderwatcher.h @@ -26,6 +26,7 @@ #include #include #include +#include class QTimer; @@ -120,6 +121,8 @@ private: Folder *_folder; bool _isReliable = true; + void appendSubPaths(QDir dir, QStringList& subPaths); + friend class FolderWatcherPrivate; }; } diff --git a/test/testfolderwatcher.cpp b/test/testfolderwatcher.cpp index d90856828..b5dba5fbc 100644 --- a/test/testfolderwatcher.cpp +++ b/test/testfolderwatcher.cpp @@ -140,6 +140,19 @@ private slots: QVERIFY(waitForPathChanged(file)); } + void testMove3LevelDirWithFile() { + QString file(_rootPath + "/a0/b/c/empty.txt"); + mkdir(_rootPath + "/a0"); + mkdir(_rootPath + "/a0/b"); + mkdir(_rootPath + "/a0/b/c"); + touch(file); + QString cmd = QString("mv " + _rootPath + "/a0 " + _rootPath + "/a"); + qDebug() << "Command: " << cmd; + system(cmd.toLocal8Bit()); + QVERIFY(waitForPathChanged(_rootPath + "/a/b/c/empty.txt")); + } + + void testCreateADir() { QString file(_rootPath+"/a1/b1/new_dir"); mkdir(file); From bd9fcd88d85f48889e5e6fd55456cec7b123a22c Mon Sep 17 00:00:00 2001 From: Joshua Sterner Date: Thu, 9 May 2019 03:45:41 -0700 Subject: [PATCH 012/192] testMove3LevelDirWithFile now uses mv function to move the directory Signed-off-by: Joshua Sterner --- test/testfolderwatcher.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/test/testfolderwatcher.cpp b/test/testfolderwatcher.cpp index b5dba5fbc..fdd97701d 100644 --- a/test/testfolderwatcher.cpp +++ b/test/testfolderwatcher.cpp @@ -146,9 +146,7 @@ private slots: mkdir(_rootPath + "/a0/b"); mkdir(_rootPath + "/a0/b/c"); touch(file); - QString cmd = QString("mv " + _rootPath + "/a0 " + _rootPath + "/a"); - qDebug() << "Command: " << cmd; - system(cmd.toLocal8Bit()); + mv(_rootPath + "/a0 ", _rootPath + "/a"); QVERIFY(waitForPathChanged(_rootPath + "/a/b/c/empty.txt")); } From fd9d7563c2c4242a96a1b94d494a1ae4b50934e3 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Fri, 10 May 2019 00:49:02 +0000 Subject: [PATCH 013/192] [tx-robot] updated from transifex --- translations/client_hu.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/translations/client_hu.ts b/translations/client_hu.ts index 37f28dfd2..f80dec244 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -163,7 +163,7 @@ TextLabel - TextLabel + Címke @@ -550,7 +550,7 @@ TextLabel - TextLabel + Címke @@ -1546,7 +1546,7 @@ Ahol a törlés engedélyezett, ott az elemek törölve lesznek, ha megakadályo TextLabel - TextLabel + Címke @@ -2528,7 +2528,7 @@ Használata nem ajánlott. TextLabel - TextLabel + Címke @@ -2696,7 +2696,7 @@ Használata nem ajánlott. TextLabel - TextLabel + Címke @@ -3676,7 +3676,7 @@ Használata nem ajánlott. TextLabel - TextLabel + Címke @@ -3722,7 +3722,7 @@ Használata nem ajánlott. pbSelectLocalFolder - pbSelectLocalFolder + Helyi mappa kiválasztása gomb @@ -3792,7 +3792,7 @@ Használata nem ajánlott. TextLabel - TextLabel + Címke @@ -3835,7 +3835,7 @@ Használata nem ajánlott. TextLabel - TextLabel + Címke From 188374f60cf8ccd41bd86734e25bc3bfcab0e901 Mon Sep 17 00:00:00 2001 From: shobha Date: Sat, 4 May 2019 10:31:37 +0530 Subject: [PATCH 014/192] updated default remote poll to 5 seconds #1115 Signed-off-by: shobha --- src/libsync/configfile.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libsync/configfile.cpp b/src/libsync/configfile.cpp index a2881d4a8..4a71dc9a9 100644 --- a/src/libsync/configfile.cpp +++ b/src/libsync/configfile.cpp @@ -37,7 +37,7 @@ #include #include -#define DEFAULT_REMOTE_POLL_INTERVAL 30000 // default remote poll time in milliseconds +#define DEFAULT_REMOTE_POLL_INTERVAL 5000 // default remote poll time in milliseconds #define DEFAULT_MAX_LOG_LINES 20000 namespace OCC { From ae0b1ce3d6bae9fa4a7f1e0a6b795a32a49be641 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 11 May 2019 00:48:37 +0000 Subject: [PATCH 015/192] [tx-robot] updated from transifex --- translations/client_el.ts | 48 +++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/translations/client_el.ts b/translations/client_el.ts index 9cde18f9d..c7a0b9f6a 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -9,22 +9,22 @@ Checking for changes in '%1' - + Γίνεται έλεγχος για αλλαγές στο '%1' Syncing %1 of %2 (%3 left) - + Συγχρονισμός %1 από %2 (%3 απομένουν) Syncing %1 of %2 - + Συγχρονισμός %1 από %2 Syncing %1 (%2 left) - + Συγχρονισμός %1 (%2 απομένουν) @@ -35,7 +35,7 @@ No recently changed files - + Δεν προστέθηκαν πρόσφατα αρχεία. @@ -50,32 +50,32 @@ Open website - + Άνοιγμα ιστοσελίδας Recently changed - + Τροποποιήθηκαν πρόσφατα Pause synchronization - + Παύση συγχρονισμού Help - + Βοήθεια Settings - + Ρυθμίσεις Log out - + Αποσύνδεση @@ -359,7 +359,7 @@ Server %1 is currently in maintenance mode. - + Ο διακομιστής %1 βρίσκεται τώρα σε κατάσταση συντήρησης. @@ -369,7 +369,7 @@ Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Γίνεται λήψη της εξουσιοδότησης από το πρόγραμμα περιήγησης. Κάντε κλικ <a href='%1'>εδώ</a> για να ανοίξετε πάλι το πρόγραμμα περιήγησης. @@ -489,7 +489,7 @@ Maintenance mode - + Κατάσταση συντήρησης @@ -560,12 +560,12 @@ Synced - + Συγχρονίστηκε Retry all uploads - + Επανάληψη όλων των μεταφορτώσεων @@ -621,12 +621,12 @@ There was an error while accessing the configuration file at %1. Please make sure the file can be accessed by your user. - + Υπήρξε σφάλμα κατά την πρόσβαση του αρχείου ρυθμίσεων στο %1. Παρακαλώ επαληθεύστε αν μπορείτε να προσπελάσετε το αρχείο. Quit %1 - + Κλείσιμο %1 @@ -963,7 +963,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Sync was successful, unresolved conflicts. - + Ο συγχρονισμός ήταν επιτυχής, μη διευθετημένες διενέξεις. @@ -1031,7 +1031,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Synchronized with local folder - + Συγχρονίστηκε με τοπικό φάκελο @@ -1127,7 +1127,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Checking for changes in local '%1' - + Γίνεται έλεγχος για αλλαγές στο τοπικό '%1' @@ -1332,7 +1332,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Show Server &Notifications - + Εμφάνιση των ειδοποιήσεων διακομιστή @@ -1399,7 +1399,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Server notifications that require attention. - + Ειδοποιήσεις από τον διακομιστή που απαιτούν την προσοχή σας. @@ -1779,7 +1779,7 @@ Logs will be written to %1 Error returned from the server: <em>%1</em> - + Ο διακομιστής επέστρεψε το σφάλμα: <em>%1</em> From 6c0d796b4bd69a79ad301ea349144bf6c0f80756 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20=C4=8Cuki=C4=87?= Date: Sat, 11 May 2019 19:19:17 +0200 Subject: [PATCH 016/192] E2E UI setup poligh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Text changed to "Enable..." instead of "Setup" - The close icon follows NC style - "end-to-end" instead of "end to end" Signed-off-by: Ivan Čukić --- src/3rdparty/kmessagewidget/kmessagewidget.cpp | 2 +- src/gui/accountsettings.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/3rdparty/kmessagewidget/kmessagewidget.cpp b/src/3rdparty/kmessagewidget/kmessagewidget.cpp index 9e9a7ebb0..cd3563a1d 100644 --- a/src/3rdparty/kmessagewidget/kmessagewidget.cpp +++ b/src/3rdparty/kmessagewidget/kmessagewidget.cpp @@ -94,7 +94,7 @@ void KMessageWidgetPrivate::init(KMessageWidget *q_ptr) QAction *closeAction = new QAction(q); closeAction->setText(KMessageWidget::tr("&Close")); closeAction->setToolTip(KMessageWidget::tr("Close message")); - closeAction->setIcon(q->style()->standardIcon(QStyle::SP_DialogCloseButton)); + closeAction->setIcon(QIcon(":/client/resources/close.svg")); // ivan: NC customization QObject::connect(closeAction, &QAction::triggered, q, &KMessageWidget::animatedHide); diff --git a/src/gui/accountsettings.cpp b/src/gui/accountsettings.cpp index 4a554a196..db4e21123 100644 --- a/src/gui/accountsettings.cpp +++ b/src/gui/accountsettings.cpp @@ -233,9 +233,9 @@ void AccountSettings::createAccountToolbox() void AccountSettings::slotNewMnemonicGenerated() { - ui->encryptionMessage->setText(tr("This account supports end to end encryption")); + ui->encryptionMessage->setText(tr("This account supports end-to-end encryption")); - QAction *mnemonic = new QAction(tr("Setup"), this); + QAction *mnemonic = new QAction(tr("Enable..."), this); connect(mnemonic, &QAction::triggered, this, &AccountSettings::requesetMnemonic); connect(mnemonic, &QAction::triggered, ui->encryptionMessage, &KMessageWidget::hide); From 692d885b559f6d6155e78e89eb95e11e55d8ef80 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Sun, 12 May 2019 19:11:33 +0300 Subject: [PATCH 017/192] Fixed typo Chipher -> Cipher --- src/gui/creds/shibboleth/shibbolethwebview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/creds/shibboleth/shibbolethwebview.cpp b/src/gui/creds/shibboleth/shibbolethwebview.cpp index 8f54af751..8e4465b3c 100644 --- a/src/gui/creds/shibboleth/shibbolethwebview.cpp +++ b/src/gui/creds/shibboleth/shibbolethwebview.cpp @@ -90,7 +90,7 @@ ShibbolethWebView::ShibbolethWebView(AccountPtr account, QWidget *parent) QWebView *debugView = new QWebView(this); debugView->setPage(debugPage); QMainWindow *window = new QMainWindow(this); - window->setWindowTitle(tr("SSL Chipher Debug View")); + window->setWindowTitle(tr("SSL Cipher Debug View")); window->setCentralWidget(debugView); window->show(); } From 37ee52a930b3c78a74d5acf4bcd1e1e67da3c4f8 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 13 May 2019 00:47:37 +0000 Subject: [PATCH 018/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 +- translations/client_he.ts | 324 ++++++++++---------- 2 files changed, 166 insertions(+), 166 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_he.ts b/translations/client_he.ts index 9753b6946..5412ad878 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -2310,22 +2310,22 @@ It is not advisable to use it. could not delete file %1, error: %2 - + לא ניתן למחוק את הקובץ %1, שגיאה: %2 Attention, possible case sensitivity clash with %1 - + לתשומת לבך, כנראה שיש סתירה של אותיות רישיות עם %1 could not create folder %1 - + לא ניתן ליצור את התיקייה %1 Error writing metadata to the database - + שגיאה בכתיבת נתוני העל למסד הנתונים @@ -2333,17 +2333,17 @@ It is not advisable to use it. Error removing '%1': %2; - + שגיאה בהסרת ‚%1’: %2; Could not remove folder '%1' - + לא ניתן להסיר את התיקייה ‚%1’ Could not remove %1 because of a local file name clash - + לא ניתן להסיר את %1 עקב סתירה עם שם קובץ מקומי @@ -2351,13 +2351,13 @@ It is not advisable to use it. File %1 can not be renamed to %2 because of a local file name clash - + לא ניתן לשנות את השם של %1 לשם %2 עקב סתירה עם שם קובץ מקומי Error writing metadata to the database - + שגיאה בכתיבת נתוני העל למסד הנתונים @@ -2449,12 +2449,12 @@ It is not advisable to use it. Missing File ID from server - + מזהה הקובץ חסר בשרת Missing ETag from server - + ETag חסר בשרת @@ -2462,22 +2462,22 @@ It is not advisable to use it. Poll URL missing - + חסרה כתובת הסקר The local file was removed during sync. - + הקובץ המקומי הוסר במהלך הסנכרון. Local file changed during sync. - + הקובץ המקומי השתנה במהלך הסנכרון. The server did not acknowledge the last chunk. (No e-tag was present) - + השרת לא הכיר בחלק האחרון. (לא היה e-tag) @@ -2485,27 +2485,27 @@ It is not advisable to use it. Proxy authentication required - + נדרש אימות מול המתווך Username: - + שם משתמש: Proxy: - + מתווך: The proxy server needs a username and password. - + לשרת המתווך נדרשים שם משתמש וססמה. Password: - + ססמה: @@ -2518,7 +2518,7 @@ It is not advisable to use it. Choose What to Sync - + נא לבחור מה לסנכרן @@ -2526,33 +2526,33 @@ It is not advisable to use it. Loading ... - + בטעינה… Deselect remote folders you do not wish to synchronize. - + יש לבטל את בחירת התיקיות המרוחקות אם אין ברצונך לסנכרן. Name - + שם Size - + גודל No subfolders currently on the server. - + אין כרגע תת־תיקיות בשרת. An error occurred while loading the list of sub folders. - + אירעה שגיאה בעת טעינת רשימת תת־התיקיות. @@ -2560,7 +2560,7 @@ It is not advisable to use it. Dismiss - + התעלמות @@ -2568,27 +2568,27 @@ It is not advisable to use it. Settings - + הגדרות Activity - + פעילות General - + כללי Network - + רשת Account - + חשבון @@ -2596,28 +2596,28 @@ It is not advisable to use it. %1 - + %1 Activity - + פעילות General - + כללי Network - + רשת Account - + חשבון @@ -2630,12 +2630,12 @@ It is not advisable to use it. ownCloud Path: - + נתיב ownCloud: Icon - + סמל @@ -2650,12 +2650,12 @@ It is not advisable to use it. Folder: %2 - + תיקייה: %2 The file can not be shared because it was shared without sharing permission. - + לא ניתן לשתף את הקובץ כיוון שהוא שותף ללא הרשאות שיתוף. @@ -2668,12 +2668,12 @@ It is not advisable to use it. Password: - + ססמה: Expiration date: - + מועד תפוגת תוקף: @@ -2683,52 +2683,52 @@ It is not advisable to use it. Delete - + מחיקה Allow Editing - + לאפשר עריכה Read only - + קריאה בלבד Allow Upload && Editing - + לאפשר העלאה ועריכה File Drop (Upload Only) - + גרירת קבצים (העלאה בלבד) Password Protect - + הגנה בססמה Expiration Date - + מועד תפוגת תוקף Unshare - + ביטול שיתוף Add another link - + הוספת קישור נוסף Confirm Link Share Deletion - + אישור מחיקת קישור לשיתוף @@ -2738,12 +2738,12 @@ It is not advisable to use it. Cancel - + ביטול Public link - + קישור ציבורי @@ -2751,22 +2751,22 @@ It is not advisable to use it. Share with users or groups ... - + שיתוף עם משתמשים או קבוצות… Copy link - + העתקת קישור No results for '%1' - + אין תוצאות לחיפוש אחר ‚%1’ I shared something with you - + שיתפת אתך משהו @@ -2774,32 +2774,32 @@ It is not advisable to use it. User name - + שם משתמש can edit - + הרשאה לעריכה Can reshare - + הרשאה לשיתוף מחדש Can create - + הרשאה ליצירה Can change - + הרשאה לעריכה Can delete - + הרשאה למחיקה @@ -2807,12 +2807,12 @@ It is not advisable to use it. Login Error - + שגיאת כניסה You must sign in as user %1 - + עליך להיכנס בתור המשתמש %1 @@ -2820,7 +2820,7 @@ It is not advisable to use it. %1 - Authenticate - + %1 - אימות @@ -2830,12 +2830,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. - + ההפעלה שלך פגה. עליך להיכנס מחדש כדי להמשיך להשתמש בתכנית הלקוח. @@ -2844,50 +2844,50 @@ It is not advisable to use it. Share with %1 parameter is Nextcloud - + שיתוף עם %1 Context menu share - + שיתוף מתפריט הקשר I shared something with you - + שיתפתי אתך משהו Share... - + שיתוף… Copy private link to clipboard - + העתקת שיעור פרטי ללוח הגזירים Send private link by email... - + שליחת קישור פרטי בדוא״ל… Resharing this file is not allowed - + אסור לשתף קובץ זה מחדש Copy public link to clipboard - + העתקת קישור ציבורי ללוח הגזירים Open in browser - + פתיחה בדפדפן @@ -2895,7 +2895,7 @@ It is not advisable to use it. <h3>Certificate Details</h3> - + <h3>פרטי האישור</h3> @@ -2960,12 +2960,12 @@ It is not advisable to use it. SHA-256: - + SHA-256: SHA-1: - + SHA-1: @@ -3184,17 +3184,17 @@ It is not advisable to use it. Discovery step failed. - + שלב בגילוי נכשל Permission denied. - + ההרשאה נדחתה. File or directory not found: - + קובץ או תיקייה לא נמצאו: @@ -3209,12 +3209,12 @@ It is not advisable to use it. The service is temporarily unavailable - + השירות אינו זמין באופן זמני Access is forbidden - + הגישה אסורה @@ -3254,17 +3254,17 @@ It is not advisable to use it. Filename is too long. - + שם הקובץ ארוך מדי The filename cannot be encoded on your file system. - + לא ניתן להצפין את שם הקובץ במערכת הקבצים שלך. Unresolved conflict. - + סתירה בלתי פתורה. @@ -3341,12 +3341,12 @@ It is not advisable to use it. the destination - + היעד the source - + המקור @@ -3354,7 +3354,7 @@ It is not advisable to use it. Synchronisation Log - + יומן סנכרון @@ -3401,7 +3401,7 @@ It is not advisable to use it. Please login with the user: %1 - + נא להיכנס עם המשתמש: %1 @@ -3409,87 +3409,87 @@ It is not advisable to use it. Please sign in - + נא להיכנס Folder %1: %2 - + תיקייה %1: %2 There are no sync folders configured. - + לא מוגדרות תיקיות לסנכרון Open in browser - + פתיחה בדפדפן Log in... - + כניסה… Log out - + יציאה Recent Changes - + שינויים אחרונים Managed Folders: - + תיקיות מנוהלות: Open folder '%1' - + פתיחת התיקייה ‚%1’ Open %1 in browser - + פתיחת %1 בדפדפן Unknown status - + מצב לא ידוע Settings... - + הגדרות… Details... - + פרטים… Help - + עזרה Quit %1 - + יציאה מ־%1 Disconnected from %1 - + ניתוק מ־%1 Unsupported Server Version - + גרסת השרת אינה נתמכת @@ -3514,73 +3514,73 @@ It is not advisable to use it. Account %1: %2 - + חשבון %1: %2 Signed out - + יצאת Account synchronization is disabled - + סנכרון החשבון מושבת Synchronization is paused - + הסנכרון מושהה Unresolved conflicts - + סתירות בלתי פתורות Error during synchronization - + שגיאה במהלך הסנכרון No sync folders configured - + לא הוגדרו תיקיות סנכרון Resume all folders - + להמשיך עם כל התיקיות Pause all folders - + להשהות את כל התיקיות Resume all synchronization - + להמשיך את כל הסנכרונים Resume synchronization - + להמשיך סנכרון Pause all synchronization - + להשהות את כל הסנכרונים Pause synchronization - + להשהות סנכרון New account... - + חשבון חדש… @@ -3636,7 +3636,7 @@ It is not advisable to use it. Up to date - + עדכני @@ -3661,7 +3661,7 @@ It is not advisable to use it. Server - + שרת @@ -3682,7 +3682,7 @@ It is not advisable to use it. MB Trailing part of "Ask confirmation before syncing folder larger than" - + מ״ב @@ -3697,7 +3697,7 @@ It is not advisable to use it. &Local Folder - + &תיקייה מקומית @@ -3707,17 +3707,17 @@ It is not advisable to use it. &Keep local data - + לה&שאיר את הנתונים המקומיים S&ync everything from server - + ל&סנכרן הכול מהשרת Status message - + הודעת מצב @@ -3730,12 +3730,12 @@ It is not advisable to use it. &Username - + &שם משתמש &Password - + &ססמה @@ -3748,17 +3748,17 @@ It is not advisable to use it. Please switch to your browser to proceed. - + נא להחליף לדפדפן שלך כדי להמשיך. An error occurred while connecting. Please try again. - + אירעה שגיאה בזמן החיבור. נא לנסות שוב. Re-open Browser - + נא לפתוח את הדפדפן מחדש @@ -3777,22 +3777,22 @@ It is not advisable to use it. <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> - + <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">אירוח שרת משלך</span></a> Register with a provider - + הרשמה אצל ספק Log in - + כניסה Server Address - + כתובת השרת @@ -3802,7 +3802,7 @@ It is not advisable to use it. Error Label - + תווית שגיאה @@ -3820,7 +3820,7 @@ It is not advisable to use it. Your entire account is synced to the local folder - + כל החשבון שלך מסונכרן לתיקייה הנוכחית @@ -3834,52 +3834,52 @@ It is not advisable to use it. in the future - + בעתיד %n day ago - + אתמולשלשוםלפני %n ימיםלפני %n ימים %n days ago - + אתמולשלשוםלפני %n ימיםלפני %n ימים %n hour ago - + לפני שעהלפני שעתייםלפני %n שעותלפני %n שעות %n hours ago - + לפני שעהלפני שעתייםלפני %n שעותלפני %n שעות now - + עכשיו Less than a minute ago - + לפני פחות מדקה %n minute ago - + לפני דקהלפני %n דקותלפני %n דקותלפני %n דקות %n minutes ago - + לפני דקהלפני %n דקותלפני %n דקותלפני %n דקות Some time ago - + ממש לא מזמן @@ -3893,42 +3893,42 @@ It is not advisable to use it. %L1 GB - + %L1 ג״ב %L1 MB - + %L1 מ״ב %L1 KB - + %L1 ק״ב %L1 B - + %L1 ב׳ %n year(s) - + שנהשנתיים%n שנים%n שנים %n month(s) - + חודשחודשיים%n חודשים%n חודשים %n day(s) - + יוםיומיים%n ימים%n ימים %n hour(s) - + שעהשעתיים%n שעות%n שעות From 9dc0027304f6d26cb2c7fb7d688e05a31824c121 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 13 May 2019 05:20:29 +0200 Subject: [PATCH 019/192] Fixed typo in "certificate" Signed-off-by: Christian Muehlhaeuser --- src/gui/wizard/webview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/wizard/webview.cpp b/src/gui/wizard/webview.cpp index 08045b350..00913f387 100644 --- a/src/gui/wizard/webview.cpp +++ b/src/gui/wizard/webview.cpp @@ -197,7 +197,7 @@ bool WebEnginePage::certificateError(const QWebEngineCertificateError &certifica */ QMessageBox messageBox; messageBox.setText(tr("Invalid certificate detected")); - messageBox.setInformativeText(tr("The host \"%1\" provided an invalid certitiface. Continue?").arg(certificateError.url().host())); + messageBox.setInformativeText(tr("The host \"%1\" provided an invalid certificate. Continue?").arg(certificateError.url().host())); messageBox.setIcon(QMessageBox::Warning); messageBox.setStandardButtons(QMessageBox::Yes|QMessageBox::No); messageBox.setDefaultButton(QMessageBox::No); From e0f421ac7a6e8aac4002b7f1030e6610107a041a Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 14 May 2019 02:51:16 +0000 Subject: [PATCH 020/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 +- translations/client_bg.ts | 6 +- translations/client_ca.ts | 8 +- translations/client_cs.ts | 8 +- translations/client_da.ts | 4 +- translations/client_de.ts | 8 +- translations/client_el.ts | 6 +- translations/client_en.ts | 4 +- translations/client_en_GB.ts | 6 +- translations/client_eo.ts | 8 +- translations/client_es.ts | 8 +- translations/client_es_AR.ts | 4 +- translations/client_es_CL.ts | 6 +- translations/client_es_CO.ts | 6 +- translations/client_es_CR.ts | 6 +- translations/client_es_DO.ts | 6 +- translations/client_es_EC.ts | 6 +- translations/client_es_GT.ts | 6 +- translations/client_es_HN.ts | 6 +- translations/client_es_MX.ts | 6 +- translations/client_es_SV.ts | 6 +- translations/client_et.ts | 4 +- translations/client_eu.ts | 4 +- translations/client_fa.ts | 4 +- translations/client_fi.ts | 6 +- translations/client_fr.ts | 8 +- translations/client_gl.ts | 8 +- translations/client_he.ts | 90 ++++++++++----------- translations/client_hu.ts | 8 +- translations/client_is.ts | 4 +- translations/client_it.ts | 8 +- translations/client_ja.ts | 6 +- translations/client_lt_LT.ts | 8 +- translations/client_lv.ts | 6 +- translations/client_nb_NO.ts | 6 +- translations/client_nl.ts | 8 +- translations/client_pl.ts | 8 +- translations/client_pt.ts | 6 +- translations/client_pt_BR.ts | 8 +- translations/client_ru.ts | 8 +- translations/client_sk.ts | 8 +- translations/client_sl.ts | 6 +- translations/client_sr.ts | 8 +- translations/client_sv.ts | 8 +- translations/client_th.ts | 6 +- translations/client_tr.ts | 8 +- translations/client_uk.ts | 4 +- translations/client_zh_CN.ts | 8 +- translations/client_zh_TW.ts | 4 +- 49 files changed, 200 insertions(+), 200 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_bg.ts b/translations/client_bg.ts index d23169ce2..5b933b8c3 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -2827,7 +2827,7 @@ It is not advisable to use it. - SSL Chipher Debug View + SSL Cipher Debug View @@ -3391,8 +3391,8 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? - "%1" предостави невалиден сертификат. Желаете ли да продължите? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_ca.ts b/translations/client_ca.ts index af2b0ca42..7c142ac9c 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -2845,8 +2845,8 @@ No és aconsellable fer-la servir.
- SSL Chipher Debug View - Vista de depuració de xifratge SSL + SSL Cipher Debug View + @@ -3410,8 +3410,8 @@ No és aconsellable fer-la servir. - The host "%1" provided an invalid certitiface. Continue? - El servidor "%1" ha proporcionat un certificat no vàlid. Voleu continuar? + The host "%1" provided an invalid certificate. Continue? +
diff --git a/translations/client_cs.ts b/translations/client_cs.ts index 433f9d809..dd8ef6b4e 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -2842,8 +2842,8 @@ Nedoporučuje se jí používat.
- SSL Chipher Debug View - Ladící zobrazení šifry SSL + SSL Cipher Debug View + @@ -3407,8 +3407,8 @@ Nedoporučuje se jí používat. - The host "%1" provided an invalid certitiface. Continue? - Stroj „%1“ předložil neplatný certifikát. Pokračovat i tak? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_da.ts b/translations/client_da.ts index d2baed6df..2289e993c 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -2822,7 +2822,7 @@ It is not advisable to use it.
- SSL Chipher Debug View + SSL Cipher Debug View @@ -3385,7 +3385,7 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_de.ts b/translations/client_de.ts index 40bbf6974..5936ad9fc 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -2842,8 +2842,8 @@ Es ist nicht ratsam, sie zu benutzen.
- SSL Chipher Debug View - Debug-Ansicht der SSL-Chiffren + SSL Cipher Debug View + @@ -3407,8 +3407,8 @@ Es ist nicht ratsam, sie zu benutzen. - The host "%1" provided an invalid certitiface. Continue? - Host "%1" hat ein ungültiges Zertifikat bereitgestellt. Fortfahren? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_el.ts b/translations/client_el.ts index c7a0b9f6a..a74c3a592 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -2832,8 +2832,8 @@ It is not advisable to use it.
- SSL Chipher Debug View - Προβολή SSL Chipher Debug + SSL Cipher Debug View + @@ -3397,7 +3397,7 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_en.ts b/translations/client_en.ts index 8d16ed2fd..43ef6b517 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -2848,7 +2848,7 @@ It is not advisable to use it.
- SSL Chipher Debug View + SSL Cipher Debug View @@ -3411,7 +3411,7 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_en_GB.ts b/translations/client_en_GB.ts index 111d80b3e..7b01984d5 100644 --- a/translations/client_en_GB.ts +++ b/translations/client_en_GB.ts @@ -2843,8 +2843,8 @@ It is not advisable to use it.
- SSL Chipher Debug View - SSL Cipher Debug View + SSL Cipher Debug View + @@ -3408,7 +3408,7 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_eo.ts b/translations/client_eo.ts index 6809c2fa0..61d2f7369 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -2842,8 +2842,8 @@ Uzi ĝin ne konsilindas.
- SSL Chipher Debug View - Vido pri sencimigo de SSL-ĉifrado + SSL Cipher Debug View + @@ -3406,8 +3406,8 @@ Uzi ĝin ne konsilindas. - The host "%1" provided an invalid certitiface. Continue? - La gastigo „%1“ provizis nevalidan atestilon. Ĉu daŭrigi? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_es.ts b/translations/client_es.ts index cdb44fe1c..04b4850c8 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -2842,8 +2842,8 @@ No se recomienda usarla.
- SSL Chipher Debug View - Vista depuradador Chipher SSL + SSL Cipher Debug View + @@ -3407,8 +3407,8 @@ No se recomienda usarla. - The host "%1" provided an invalid certitiface. Continue? - El host "%1" ha ofrecido un certificado no válido. ¿Continuar? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index 11a0a2b9b..fdbfade35 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -2822,7 +2822,7 @@ It is not advisable to use it. - SSL Chipher Debug View + SSL Cipher Debug View @@ -3385,7 +3385,7 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_CL.ts b/translations/client_es_CL.ts index 829f5d9c1..fa3ecc5c1 100644 --- a/translations/client_es_CL.ts +++ b/translations/client_es_CL.ts @@ -2833,8 +2833,8 @@ No es recomendable usarlo. - SSL Chipher Debug View - Vista de Depuración del Cifrado SSL + SSL Cipher Debug View + @@ -3398,7 +3398,7 @@ No es recomendable usarlo. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_CO.ts b/translations/client_es_CO.ts index b9d3a8641..6e3271408 100644 --- a/translations/client_es_CO.ts +++ b/translations/client_es_CO.ts @@ -2833,8 +2833,8 @@ No es recomendable usarlo. - SSL Chipher Debug View - Vista de Depuración del Cifrado SSL + SSL Cipher Debug View + @@ -3398,7 +3398,7 @@ No es recomendable usarlo. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_CR.ts b/translations/client_es_CR.ts index 380b9b74c..14697c6d5 100644 --- a/translations/client_es_CR.ts +++ b/translations/client_es_CR.ts @@ -2833,8 +2833,8 @@ No es recomendable usarlo. - SSL Chipher Debug View - Vista de Depuración del Cifrado SSL + SSL Cipher Debug View + @@ -3398,7 +3398,7 @@ No es recomendable usarlo. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_DO.ts b/translations/client_es_DO.ts index 00c99f185..f08228a2b 100644 --- a/translations/client_es_DO.ts +++ b/translations/client_es_DO.ts @@ -2833,8 +2833,8 @@ No es recomendable usarlo. - SSL Chipher Debug View - Vista de Depuración del Cifrado SSL + SSL Cipher Debug View + @@ -3398,7 +3398,7 @@ No es recomendable usarlo. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_EC.ts b/translations/client_es_EC.ts index d52200670..5464895bf 100644 --- a/translations/client_es_EC.ts +++ b/translations/client_es_EC.ts @@ -2833,8 +2833,8 @@ No es recomendable usarlo. - SSL Chipher Debug View - Vista de Depuración del Cifrado SSL + SSL Cipher Debug View + @@ -3398,7 +3398,7 @@ No es recomendable usarlo. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_GT.ts b/translations/client_es_GT.ts index 99776900a..12dc879dd 100644 --- a/translations/client_es_GT.ts +++ b/translations/client_es_GT.ts @@ -2833,8 +2833,8 @@ No es recomendable usarlo. - SSL Chipher Debug View - Vista de Depuración del Cifrado SSL + SSL Cipher Debug View + @@ -3398,7 +3398,7 @@ No es recomendable usarlo. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_HN.ts b/translations/client_es_HN.ts index 7b67114cb..3f37912a3 100644 --- a/translations/client_es_HN.ts +++ b/translations/client_es_HN.ts @@ -2833,8 +2833,8 @@ No es recomendable usarlo. - SSL Chipher Debug View - Vista de Depuración del Cifrado SSL + SSL Cipher Debug View + @@ -3398,7 +3398,7 @@ No es recomendable usarlo. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_MX.ts b/translations/client_es_MX.ts index 59b718740..896eb68ad 100644 --- a/translations/client_es_MX.ts +++ b/translations/client_es_MX.ts @@ -2833,8 +2833,8 @@ No es recomendable usarlo. - SSL Chipher Debug View - Vista de Depuración del Cifrado SSL + SSL Cipher Debug View + @@ -3398,7 +3398,7 @@ No es recomendable usarlo. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_SV.ts b/translations/client_es_SV.ts index 774e76705..5665d5000 100644 --- a/translations/client_es_SV.ts +++ b/translations/client_es_SV.ts @@ -2833,8 +2833,8 @@ No es recomendable usarlo. - SSL Chipher Debug View - Vista de Depuración del Cifrado SSL + SSL Cipher Debug View + @@ -3398,7 +3398,7 @@ No es recomendable usarlo. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_et.ts b/translations/client_et.ts index 8bdbda1cf..f1866a66c 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -2823,7 +2823,7 @@ Selle kasutamine pole soovitatav. - SSL Chipher Debug View + SSL Cipher Debug View @@ -3388,7 +3388,7 @@ Selle kasutamine pole soovitatav. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_eu.ts b/translations/client_eu.ts index 1506e70d1..5f1268e00 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -2827,7 +2827,7 @@ Ez da gomendagarria erabltzea. - SSL Chipher Debug View + SSL Cipher Debug View @@ -3390,7 +3390,7 @@ Ez da gomendagarria erabltzea. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_fa.ts b/translations/client_fa.ts index 33cbb516b..5f71e1b40 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -2830,7 +2830,7 @@ It is not advisable to use it. - SSL Chipher Debug View + SSL Cipher Debug View @@ -3394,7 +3394,7 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_fi.ts b/translations/client_fi.ts index 6902af011..260dee6d3 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -2827,7 +2827,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. - SSL Chipher Debug View + SSL Cipher Debug View @@ -3392,8 +3392,8 @@ Osoitteen käyttäminen ei ole suositeltavaa. - The host "%1" provided an invalid certitiface. Continue? - Isäntä "%1" lähetti virheellisen varmenteen. Jatketaanko? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_fr.ts b/translations/client_fr.ts index 96684c695..606e8b91f 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -2846,8 +2846,8 @@ Il est déconseillé de l'utiliser. - SSL Chipher Debug View - Vue de débug Chipher SSL + SSL Cipher Debug View + @@ -3411,8 +3411,8 @@ Il est déconseillé de l'utiliser. - The host "%1" provided an invalid certitiface. Continue? - L’hôte "%1" utilise un certificat invalide. Continuer ? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_gl.ts b/translations/client_gl.ts index fdfa5203d..4d85c4a96 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -2844,8 +2844,8 @@ Recomendámoslle que non o use. - SSL Chipher Debug View - Vista de depuración do cifrado SSL + SSL Cipher Debug View + @@ -3409,8 +3409,8 @@ Recomendámoslle que non o use. - The host "%1" provided an invalid certitiface. Continue? - O servidor «%1» forneceu un certificado non válido. Continuar? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_he.ts b/translations/client_he.ts index 5412ad878..8c9940fdf 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -50,37 +50,37 @@ Open website - + לפתוח את האתר Recently changed - + השתנה לאחרונה Pause synchronization - + השהיית הסנכרון Help - + עזרה Settings - + הגדרות Log out - + יציאה Quit sync client - + יצירה מלקוח הסנכרון @@ -339,17 +339,17 @@ %1 as <i>%2</i> - %1 כ <i>%2</i> + %1 בתור <i>%2</i> The server version %1 is old and unsupported! Proceed at your own risk. - גרסת השרת %1 היא ישנה ואינה נתמכת! המשך עבודה בגרסה זו תחת אחריותך. + גרסת השרת %1 ישנה ואינה נתמכת! המשך עבודה בגרסה זו תחת אחריותך. Connected to %1. - מחובר ל %1. + בוצע חיבור אל %1. @@ -364,22 +364,22 @@ Signed out from %1. - התנתקת מ %1. + יצאת מהשירות %1. Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - מבקש אימות מהדפדפן. <a href='%1'>הקלק כאן</a> לפתיחה מחדש של הדפדפן. + מתבצעת בקשת אימות מהדפדפן. נא <a href='%1'>ללחוץ כאן</a> לפתיחה מחדש של הדפדפן. Connecting to %1... - מתחבר ל %1... + בהתחברות אל %1… No connection to %1 at %2. - אין חיבור ל %1 ב %2. + אין חיבור אל %1 ב־%2. @@ -389,22 +389,22 @@ There are folders that were not synchronized because they are too big: - לא סונכרנו בשל בעיות גודל התיקיות הבאות: + ישנן תיקיות שלא סונכרנו מפאת גודלן הרב: There are folders that were not synchronized because they are external storages: - לא סונכרנו בשל היותן על אחסון חיצוני התיקיות הבאות : + ישנן תיקיות שלא סונכרנו כיוון שהן נמצאות על אמצעי אחסון חיצוניים: There are folders that were not synchronized because they are too big or external storages: - לא סונכרנו בשל היותן על אחסון חיצוני או בשל בעיות גודל התיקיות הבאות : + ישנן תיקיות שלא סונכרנו כיוון שהן גדולות מדי או באחסון חיצוני: Confirm Account Removal - אשר הסרת חשבון + אישור הסרת חשבון @@ -2824,7 +2824,7 @@ It is not advisable to use it. - SSL Chipher Debug View + SSL Cipher Debug View @@ -3387,7 +3387,7 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? @@ -3933,17 +3933,17 @@ It is not advisable to use it. %n minute(s) - + דקה%n דקות%n דקות%n דקות %n second(s) - + שנייה%n שניות%n שניות%n שניות %1 %2 - + %1 %2 @@ -3951,7 +3951,7 @@ It is not advisable to use it. The checksum header is malformed. - + כותרת הבדיקה פגומה. @@ -3977,7 +3977,7 @@ It is not advisable to use it. System Tray not available - + מגש המערכת אינו זמין @@ -3990,7 +3990,7 @@ It is not advisable to use it. <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> - + <p><small>נבנה מהמהדורה <a href="%1">%2</a> ב־Git ב־%3, %4 באמצעות Qt %5, %6</small></p> @@ -4018,7 +4018,7 @@ It is not advisable to use it. Moved to %1 - + הועבר אל %1 @@ -4028,23 +4028,23 @@ It is not advisable to use it. Filesystem access error - + שגיאת גישה למערכת הקבצים Error - + שגיאה Updated local metadata - + נתוני העל המקומיים עודכנו Unknown - + לא ידוע @@ -4075,12 +4075,12 @@ It is not advisable to use it. error - + שגיאה updating local metadata - + נתוני העל המקומיים מתעדכנים @@ -4088,42 +4088,42 @@ It is not advisable to use it. Status undefined - + המצב לא מוגדר Waiting to start sync - + בהמתנה להתחלת סנכרון Sync is running - + הסנכרון פעיל Sync Success - + הסנכרון הצליח Sync Success, some files were ignored. - + הסנכרון הצליח תוך התעלמות ממספר קבצים. Sync Error - + שגיאת סנכרון Setup Error - + שגיאת התקנה Preparing to sync - + בהכנה לסנכרון @@ -4133,7 +4133,7 @@ It is not advisable to use it. Sync is paused - + הסנכרון מושהה @@ -4141,7 +4141,7 @@ It is not advisable to use it. Could not open browser - + לא ניתן לפתוח דפדפן @@ -4151,12 +4151,12 @@ It is not advisable to use it. Could not open email client - + לא ניתן לפתוח לקוח דוא״ל There was an error when launching the email client to create a new message. Maybe no default email client is configured? - + אירעה שגיאה בעת הפעלת לקוח הדוא״ל לצורך כתיבת הודעה חדשה. אולי לא מוגדר לקוח דוא״ל כבררת מחדל? \ No newline at end of file diff --git a/translations/client_hu.ts b/translations/client_hu.ts index f80dec244..07eefb059 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -2842,8 +2842,8 @@ Használata nem ajánlott. - SSL Chipher Debug View - SSL titkosítási hibakereső nézet + SSL Cipher Debug View + @@ -3407,8 +3407,8 @@ Használata nem ajánlott. - The host "%1" provided an invalid certitiface. Continue? - A(z) „%1” kiszolgáló érvénytelen tanúsítványt adott meg. Folytatja? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_is.ts b/translations/client_is.ts index 7a6de8379..8c66ceaeb 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -2839,7 +2839,7 @@ Ekki er mælt með því að hún sé notuð. - SSL Chipher Debug View + SSL Cipher Debug View @@ -3405,7 +3405,7 @@ Ekki er mælt með því að hún sé notuð. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_it.ts b/translations/client_it.ts index e4c53c47f..dac16032f 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -2844,8 +2844,8 @@ Non è consigliabile utilizzarlo. - SSL Chipher Debug View - Vista debug cifrario SSL + SSL Cipher Debug View + @@ -3409,8 +3409,8 @@ Non è consigliabile utilizzarlo. - The host "%1" provided an invalid certitiface. Continue? - L'host "%1" ha fornito un certificato non valido. Vuoi continuare? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_ja.ts b/translations/client_ja.ts index 3de6fb1de..27787c44c 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -2828,8 +2828,8 @@ It is not advisable to use it. - SSL Chipher Debug View - SSL暗号デバッグ表示 + SSL Cipher Debug View + @@ -3393,7 +3393,7 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index 7db5b73fe..618c2dc71 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -2838,8 +2838,8 @@ Patariama jo nenaudoti. - SSL Chipher Debug View - SSL šifro derinimo rodinys + SSL Cipher Debug View + @@ -3403,8 +3403,8 @@ Patariama jo nenaudoti. - The host "%1" provided an invalid certitiface. Continue? - Serveris „%1“ naudoja netinkamą sertifikatą. Tęsti? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_lv.ts b/translations/client_lv.ts index 701f4692e..8f4b7e39d 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -2824,7 +2824,7 @@ It is not advisable to use it. - SSL Chipher Debug View + SSL Cipher Debug View @@ -3387,8 +3387,8 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? - Hosts "%1" piedāvāja nederīgu sertifikātu. Turpināt? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index 95a3cf3bb..1ddcaed44 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -2833,8 +2833,8 @@ Det er ikke tilrådelig å bruke den. - SSL Chipher Debug View - SSL Chipher Debug View + SSL Cipher Debug View + @@ -3398,7 +3398,7 @@ Det er ikke tilrådelig å bruke den. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_nl.ts b/translations/client_nl.ts index c305b75d8..dcb3e7afd 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -2847,8 +2847,8 @@ We adviseren deze site niet te gebruiken. - SSL Chipher Debug View - SSL Cipher Debug weergave + SSL Cipher Debug View + @@ -3412,8 +3412,8 @@ We adviseren deze site niet te gebruiken. - The host "%1" provided an invalid certitiface. Continue? - De host "%1" verstrekt een ongeldig certificaat. Doorgaan? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_pl.ts b/translations/client_pl.ts index 977907ff0..4d81c6068 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -2843,8 +2843,8 @@ Niezalecane jest jego użycie. - SSL Chipher Debug View - SSL Chipher widok debugowania + SSL Cipher Debug View + @@ -3408,8 +3408,8 @@ Niezalecane jest jego użycie. - The host "%1" provided an invalid certitiface. Continue? - Komputer "%1" przedstawia się nieważnym certyfikatem. Kontynuować? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_pt.ts b/translations/client_pt.ts index c7d77adc0..e042ee7e4 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -2832,8 +2832,8 @@ Não é aconselhada a sua utilização. - SSL Chipher Debug View - Vista de depuramento SSL Cipher + SSL Cipher Debug View + @@ -3397,7 +3397,7 @@ Não é aconselhada a sua utilização. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 91306deaf..8ad65dd5c 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -2843,8 +2843,8 @@ Não é aconselhável usá-la. - SSL Chipher Debug View - Ver depuração da criptografia SSL + SSL Cipher Debug View + @@ -3408,8 +3408,8 @@ Não é aconselhável usá-la. - The host "%1" provided an invalid certitiface. Continue? - O host "%1" enviou um certificado inválido. Continuar? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 37d894f14..eaaa5cc60 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -2837,8 +2837,8 @@ It is not advisable to use it. - SSL Chipher Debug View - Отладочный просмотр шифра SSL + SSL Cipher Debug View + @@ -3402,8 +3402,8 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? - Хост «%1» предоставил недействительный сертификат. Продолжить? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_sk.ts b/translations/client_sk.ts index 961b29391..7d2007400 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -2832,8 +2832,8 @@ Nie je vhodné ju používať. - SSL Chipher Debug View - Debug zobrazenie šifrovania SSL + SSL Cipher Debug View + @@ -3397,8 +3397,8 @@ Nie je vhodné ju používať. - The host "%1" provided an invalid certitiface. Continue? - Hostiteľ "%1" poskytol neplatný certifikát. Chcete pokračovať? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_sl.ts b/translations/client_sl.ts index 7ac0fcbc3..47f391e6d 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -2832,8 +2832,8 @@ Uporaba ni priporočljiva. - SSL Chipher Debug View - Pogled razhroščevalnika šifer SSL + SSL Cipher Debug View + @@ -3397,7 +3397,7 @@ Uporaba ni priporočljiva. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_sr.ts b/translations/client_sr.ts index 02e236a43..3554ffa48 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -2843,8 +2843,8 @@ It is not advisable to use it. - SSL Chipher Debug View - SSL Chipher поглед за отклањање грешака + SSL Cipher Debug View + @@ -3408,8 +3408,8 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? - Сервер „%1“ је понудио неисправан сертификат. Наставити? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 3b67c3fe5..101fab59c 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -2843,8 +2843,8 @@ Det är inte lämpligt använda den. - SSL Chipher Debug View - Debugvy SSL-kryptering + SSL Cipher Debug View + @@ -3408,8 +3408,8 @@ Det är inte lämpligt använda den. - The host "%1" provided an invalid certitiface. Continue? - Servern "%1" tillhandahöll ett ogiltigt certifikat. Fortsätt? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_th.ts b/translations/client_th.ts index 5a5a30d18..7e80ec246 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -2832,8 +2832,8 @@ It is not advisable to use it. - SSL Chipher Debug View - ดู SSL Chipher Debug + SSL Cipher Debug View + @@ -3396,7 +3396,7 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_tr.ts b/translations/client_tr.ts index 21add51ba..a8bffe43e 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -2842,8 +2842,8 @@ Kullanmanız önerilmez. - SSL Chipher Debug View - SSL Şifreleme Hata Ayıklama Görünümü + SSL Cipher Debug View + @@ -3407,8 +3407,8 @@ Kullanmanız önerilmez. - The host "%1" provided an invalid certitiface. Continue? - "%1" sunucusunun sertifikası geçersiz. Devam etmek ister misiniz? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_uk.ts b/translations/client_uk.ts index 0d73997dc..dce7101e6 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -2823,7 +2823,7 @@ It is not advisable to use it. - SSL Chipher Debug View + SSL Cipher Debug View @@ -3388,7 +3388,7 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index 0368c430a..db533d4d4 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -2841,8 +2841,8 @@ It is not advisable to use it. - SSL Chipher Debug View - 查看 SSL 加密调试信息 + SSL Cipher Debug View + @@ -3406,8 +3406,8 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? - 主机 “%1” 提供了无效证书。是否继续? + The host "%1" provided an invalid certificate. Continue? + diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index f20e27d5e..782deb056 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -2826,7 +2826,7 @@ It is not advisable to use it. - SSL Chipher Debug View + SSL Cipher Debug View @@ -3391,7 +3391,7 @@ It is not advisable to use it. - The host "%1" provided an invalid certitiface. Continue? + The host "%1" provided an invalid certificate. Continue? From a13bba7f42034f1ec96e934e91c562e9b05697ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Mesk=C3=B3?= Date: Tue, 14 May 2019 19:56:45 +0200 Subject: [PATCH 021/192] Marking unused strings as unstranslatable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Balázs Meskó --- src/gui/accountsettings.ui | 2 +- src/gui/activitywidget.ui | 4 ++-- src/gui/folderwizardsourcepage.ui | 2 +- src/gui/folderwizardtargetpage.ui | 2 +- src/gui/generalsettings.ui | 2 +- src/gui/legalnotice.ui | 4 ++-- src/gui/mnemonicdialog.ui | 2 +- src/gui/networksettings.ui | 2 +- src/gui/sslerrordialog.ui | 2 +- src/gui/wizard/owncloudadvancedsetuppage.ui | 20 ++++++++++---------- src/gui/wizard/owncloudhttpcredspage.ui | 2 +- src/gui/wizard/owncloudoauthcredspage.ui | 2 +- src/gui/wizard/owncloudsetupnocredspage.ui | 6 +++--- src/gui/wizard/owncloudwizardresultpage.ui | 8 ++++---- src/gui/wizard/webview.ui | 2 +- 15 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/gui/accountsettings.ui b/src/gui/accountsettings.ui index 705f1bdad..037534ae0 100644 --- a/src/gui/accountsettings.ui +++ b/src/gui/accountsettings.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/gui/activitywidget.ui b/src/gui/activitywidget.ui index 695e45008..7e5e9f73c 100644 --- a/src/gui/activitywidget.ui +++ b/src/gui/activitywidget.ui @@ -11,7 +11,7 @@ - Form + Form @@ -81,7 +81,7 @@ - TextLabel + TextLabel Qt::RichText diff --git a/src/gui/folderwizardsourcepage.ui b/src/gui/folderwizardsourcepage.ui index 7522792be..c338617b1 100644 --- a/src/gui/folderwizardsourcepage.ui +++ b/src/gui/folderwizardsourcepage.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/gui/folderwizardtargetpage.ui b/src/gui/folderwizardtargetpage.ui index 5dcefc73f..3a869c31f 100644 --- a/src/gui/folderwizardtargetpage.ui +++ b/src/gui/folderwizardtargetpage.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/gui/generalsettings.ui b/src/gui/generalsettings.ui index 34aa03510..fcdfc073c 100644 --- a/src/gui/generalsettings.ui +++ b/src/gui/generalsettings.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/gui/legalnotice.ui b/src/gui/legalnotice.ui index be3c67ba6..1411ad892 100644 --- a/src/gui/legalnotice.ui +++ b/src/gui/legalnotice.ui @@ -11,7 +11,7 @@ - Dialog + Dialog @@ -33,7 +33,7 @@ - TextLabel + TextLabel diff --git a/src/gui/mnemonicdialog.ui b/src/gui/mnemonicdialog.ui index e0b804f13..5f598c58b 100644 --- a/src/gui/mnemonicdialog.ui +++ b/src/gui/mnemonicdialog.ui @@ -20,7 +20,7 @@ - Dialog + Dialog false diff --git a/src/gui/networksettings.ui b/src/gui/networksettings.ui index 60c5ae9c2..a8245bdf6 100644 --- a/src/gui/networksettings.ui +++ b/src/gui/networksettings.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/gui/sslerrordialog.ui b/src/gui/sslerrordialog.ui index 900e746fc..438888a4a 100644 --- a/src/gui/sslerrordialog.ui +++ b/src/gui/sslerrordialog.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/gui/wizard/owncloudadvancedsetuppage.ui b/src/gui/wizard/owncloudadvancedsetuppage.ui index d949d50ba..7f10417c1 100644 --- a/src/gui/wizard/owncloudadvancedsetuppage.ui +++ b/src/gui/wizard/owncloudadvancedsetuppage.ui @@ -17,7 +17,7 @@ - Form + Form @@ -29,7 +29,7 @@ - TextLabel + TextLabel Qt::RichText @@ -97,7 +97,7 @@ - TextLabel + TextLabel Qt::PlainText @@ -202,7 +202,7 @@ - TextLabel + TextLabel Qt::PlainText @@ -232,7 +232,7 @@ - TextLabel + TextLabel Qt::AlignCenter @@ -282,7 +282,7 @@ - pbSelectLocalFolder + pbSelectLocalFolder @@ -291,7 +291,7 @@ - TextLabel + TextLabel Qt::AlignCenter @@ -383,7 +383,7 @@ - TextLabel + TextLabel @@ -392,7 +392,7 @@ - TextLabel + TextLabel @@ -418,7 +418,7 @@ - TextLabel + TextLabel Qt::RichText diff --git a/src/gui/wizard/owncloudhttpcredspage.ui b/src/gui/wizard/owncloudhttpcredspage.ui index 9fd445f35..36c2a30e4 100644 --- a/src/gui/wizard/owncloudhttpcredspage.ui +++ b/src/gui/wizard/owncloudhttpcredspage.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/gui/wizard/owncloudoauthcredspage.ui b/src/gui/wizard/owncloudoauthcredspage.ui index 285ef3a2b..2c3a79ed2 100644 --- a/src/gui/wizard/owncloudoauthcredspage.ui +++ b/src/gui/wizard/owncloudoauthcredspage.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/gui/wizard/owncloudsetupnocredspage.ui b/src/gui/wizard/owncloudsetupnocredspage.ui index bc0ec84b9..10a44e49b 100644 --- a/src/gui/wizard/owncloudsetupnocredspage.ui +++ b/src/gui/wizard/owncloudsetupnocredspage.ui @@ -17,7 +17,7 @@ - Form + Form false @@ -35,7 +35,7 @@ - TextLabel + TextLabel Qt::RichText @@ -94,7 +94,7 @@ - TextLabel + TextLabel Qt::RichText diff --git a/src/gui/wizard/owncloudwizardresultpage.ui b/src/gui/wizard/owncloudwizardresultpage.ui index 67eb5a617..44652f295 100644 --- a/src/gui/wizard/owncloudwizardresultpage.ui +++ b/src/gui/wizard/owncloudwizardresultpage.ui @@ -11,13 +11,13 @@ - Form + Form - TextLabel + TextLabel true @@ -95,7 +95,7 @@ - PushButton + PushButton Qt::ToolButtonTextUnderIcon @@ -117,7 +117,7 @@ - PushButton + PushButton Qt::ToolButtonTextUnderIcon diff --git a/src/gui/wizard/webview.ui b/src/gui/wizard/webview.ui index 9cb513e49..ba3588ca8 100644 --- a/src/gui/wizard/webview.ui +++ b/src/gui/wizard/webview.ui @@ -23,7 +23,7 @@ - Form + Form From 4f1736626253b8b3572fc6acf6bb1a60d2d5edf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20=C4=8Cuki=C4=87?= Date: Tue, 14 May 2019 21:54:43 +0200 Subject: [PATCH 022/192] Changed the message to 'Enable encryption...' --- src/gui/accountsettings.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/accountsettings.cpp b/src/gui/accountsettings.cpp index db4e21123..439be31f8 100644 --- a/src/gui/accountsettings.cpp +++ b/src/gui/accountsettings.cpp @@ -235,7 +235,7 @@ void AccountSettings::slotNewMnemonicGenerated() { ui->encryptionMessage->setText(tr("This account supports end-to-end encryption")); - QAction *mnemonic = new QAction(tr("Enable..."), this); + QAction *mnemonic = new QAction(tr("Enable encryption..."), this); connect(mnemonic, &QAction::triggered, this, &AccountSettings::requesetMnemonic); connect(mnemonic, &QAction::triggered, ui->encryptionMessage, &KMessageWidget::hide); From e1eeaadaff27b1e98e7f0a8e7edd461c67d1b7e8 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 16 May 2019 02:53:07 +0000 Subject: [PATCH 023/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_de.ts | 4 ++-- translations/client_eo.ts | 4 ++-- translations/client_fr.ts | 2 +- translations/client_gl.ts | 4 ++-- translations/client_it.ts | 4 ++-- translations/client_lt_LT.ts | 4 ++-- translations/client_pt_BR.ts | 4 ++-- translations/client_sv.ts | 4 ++-- translations/client_tr.ts | 4 ++-- translations/client_zh_CN.ts | 4 ++-- 11 files changed, 23 insertions(+), 23 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_de.ts b/translations/client_de.ts index 5936ad9fc..13179a28c 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -2843,7 +2843,7 @@ Es ist nicht ratsam, sie zu benutzen. SSL Cipher Debug View - + Debug-Ansicht der SSL-Chiffren @@ -3408,7 +3408,7 @@ Es ist nicht ratsam, sie zu benutzen. The host "%1" provided an invalid certificate. Continue? - + Der Server "%1" hat ein ungültiges Zertifikat. Fortsetzen? diff --git a/translations/client_eo.ts b/translations/client_eo.ts index 61d2f7369..ffdf11eae 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -2843,7 +2843,7 @@ Uzi ĝin ne konsilindas. SSL Cipher Debug View - + Vido pri sencimigo de SSL-ĉifrado @@ -3407,7 +3407,7 @@ Uzi ĝin ne konsilindas. The host "%1" provided an invalid certificate. Continue? - + La gastigo „%1“ provizis nevalidan atestilon. Ĉu daŭrigi? diff --git a/translations/client_fr.ts b/translations/client_fr.ts index 606e8b91f..49d5f08b3 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -3412,7 +3412,7 @@ Il est déconseillé de l'utiliser. The host "%1" provided an invalid certificate. Continue? - + L’hôte "%1" utilise un certificat invalide. Continuer ? diff --git a/translations/client_gl.ts b/translations/client_gl.ts index 4d85c4a96..7f2e25151 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -2845,7 +2845,7 @@ Recomendámoslle que non o use. SSL Cipher Debug View - + Vista de depuración do cifrado SSL @@ -3410,7 +3410,7 @@ Recomendámoslle que non o use. The host "%1" provided an invalid certificate. Continue? - + O servidor «%1» forneceu un certificado non válido. Continuar? diff --git a/translations/client_it.ts b/translations/client_it.ts index dac16032f..be806c26b 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -2845,7 +2845,7 @@ Non è consigliabile utilizzarlo. SSL Cipher Debug View - + Vista debug cifrario SSL @@ -3410,7 +3410,7 @@ Non è consigliabile utilizzarlo. The host "%1" provided an invalid certificate. Continue? - + L'host "%1" ha fornito un certificato non valido. Vuoi continuare? diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index 618c2dc71..0a350c71b 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -2737,7 +2737,7 @@ Patariama jo nenaudoti. Add another link - + Pridėti dar vieną nuorodą @@ -3404,7 +3404,7 @@ Patariama jo nenaudoti. The host "%1" provided an invalid certificate. Continue? - + Serveris "%1" pateikė negaliojantį liudijimą. Tęsti? diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 8ad65dd5c..922e9038b 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -2844,7 +2844,7 @@ Não é aconselhável usá-la. SSL Cipher Debug View - + Visão de Depuração de Criptografia SSL @@ -3409,7 +3409,7 @@ Não é aconselhável usá-la. The host "%1" provided an invalid certificate. Continue? - + O host "%1" forneceu um certificado inválido. Continuar? diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 101fab59c..74a72e70e 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -2844,7 +2844,7 @@ Det är inte lämpligt använda den. SSL Cipher Debug View - + SSL-kryptering Debugvy @@ -3409,7 +3409,7 @@ Det är inte lämpligt använda den. The host "%1" provided an invalid certificate. Continue? - + Servern "%1" tillhandahöll ett ogiltigt certifikat. Fortsätt? diff --git a/translations/client_tr.ts b/translations/client_tr.ts index a8bffe43e..dd2d044ea 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -2843,7 +2843,7 @@ Kullanmanız önerilmez. SSL Cipher Debug View - + SSL Şifreleme Hata Ayıklama Görünümü @@ -3408,7 +3408,7 @@ Kullanmanız önerilmez. The host "%1" provided an invalid certificate. Continue? - + "%1" sunucusunun sertifikası geçersiz. Devam etmek ister misiniz? diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index db533d4d4..7edd8cff0 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -2842,7 +2842,7 @@ It is not advisable to use it. SSL Cipher Debug View - + SSL加密调试视图 @@ -3407,7 +3407,7 @@ It is not advisable to use it. The host "%1" provided an invalid certificate. Continue? - + 主机 “%1” 提供了无效证书。是否继续? From febf2067040b3816adc542f01408078905637a6f Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Fri, 17 May 2019 02:59:46 +0000 Subject: [PATCH 024/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner From 492fc846df79f51e40761392ab082df78874d006 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 18 May 2019 02:53:47 +0000 Subject: [PATCH 025/192] [tx-robot] updated from transifex --- translations/client_es.ts | 4 ++-- translations/client_gl.ts | 4 ++-- translations/client_nl.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/translations/client_es.ts b/translations/client_es.ts index 04b4850c8..b3bdff8bf 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -2843,7 +2843,7 @@ No se recomienda usarla. SSL Cipher Debug View - + Vista Depurador Chipher SSL @@ -3408,7 +3408,7 @@ No se recomienda usarla. The host "%1" provided an invalid certificate. Continue? - + El host "%1" ha ofrecido un certificado no válido. ¿Continuar? diff --git a/translations/client_gl.ts b/translations/client_gl.ts index 7f2e25151..b69b58765 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -1465,7 +1465,7 @@ Continuando a sincronización como normal fará que todos os seus ficheiros sexa Sync hidden files - Sincronizar os ficheiros agachados + Sincronizar os ficheiros agochados @@ -3145,7 +3145,7 @@ Recomendámoslle que non o use. File/Folder is ignored because it's hidden. - O ficheiro/cartafol ignórase por estar agachado. + O ficheiro/cartafol ignórase por estar agochado. diff --git a/translations/client_nl.ts b/translations/client_nl.ts index dcb3e7afd..10d24bbd8 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -2848,7 +2848,7 @@ We adviseren deze site niet te gebruiken. SSL Cipher Debug View - + SSL Cipher Debug View @@ -3413,7 +3413,7 @@ We adviseren deze site niet te gebruiken. The host "%1" provided an invalid certificate. Continue? - + De server "%1" heeft een ongeldig certificaat . Wilt u doorgaan? From 33605d7f655dfe2f9e171a9b701592ff38c558a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20=C4=8Cuki=C4=87?= Date: Sat, 18 May 2019 22:58:41 +0200 Subject: [PATCH 026/192] Removed ellipsis from the button text --- src/gui/accountsettings.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/accountsettings.cpp b/src/gui/accountsettings.cpp index 439be31f8..5e96ac226 100644 --- a/src/gui/accountsettings.cpp +++ b/src/gui/accountsettings.cpp @@ -235,7 +235,7 @@ void AccountSettings::slotNewMnemonicGenerated() { ui->encryptionMessage->setText(tr("This account supports end-to-end encryption")); - QAction *mnemonic = new QAction(tr("Enable encryption..."), this); + QAction *mnemonic = new QAction(tr("Enable encryption"), this); connect(mnemonic, &QAction::triggered, this, &AccountSettings::requesetMnemonic); connect(mnemonic, &QAction::triggered, ui->encryptionMessage, &KMessageWidget::hide); From eb00500b0b54738d0448ae9e9d578b67710e9ac7 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 19 May 2019 02:55:18 +0000 Subject: [PATCH 027/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_bg.ts | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_bg.ts b/translations/client_bg.ts index 5b933b8c3..2f72bd431 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -65,12 +65,12 @@ Help - + Помощ Settings - + Настройки From 559187df6cfc55548f74507d062e92cabe26a5dd Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 20 May 2019 02:53:13 +0000 Subject: [PATCH 028/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- .tx/nextcloud.client-desktop/pt_BR_translation | 2 +- translations/client_pt_BR.ts | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/.tx/nextcloud.client-desktop/pt_BR_translation b/.tx/nextcloud.client-desktop/pt_BR_translation index 73979d5e2..c9b711e96 100644 --- a/.tx/nextcloud.client-desktop/pt_BR_translation +++ b/.tx/nextcloud.client-desktop/pt_BR_translation @@ -201,4 +201,4 @@ X-GNOME-Autostart-Delay=3 Icon[pt_BR]=@APPLICATION_ICON_NAME@ Name[pt_BR]=@APPLICATION_NAME@ cliente de sincronização desktop Comment[pt_BR]=@APPLICATION_NAME@ cliente de sincronização desktop -GenericName[pt_BR]=Sincronizar Pasta +GenericName[pt_BR]=Sincronizar pasta diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 922e9038b..01382b1b3 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -181,7 +181,7 @@ Server replied "%1 %2" to "%3 %4" - O servidor respondeu "%1 %2" to "%3 %4" + O servidor respondeu "%1 %2" para "%3 %4" @@ -324,7 +324,7 @@ Sync Running - Sincronização Ocorrendo + Sincronização ocorrendo @@ -2021,7 +2021,7 @@ pode solicitar por privilégios adicionais durante o processo. Secure collaboration & file exchange - Colaboração segura e troca de arquivo + Colaboração segura e troca de arquivos @@ -3798,7 +3798,7 @@ Não é aconselhável usá-la. <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Hospeda teu próprio servidor</span></a> + <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Hospede seu próprio servidor</span></a> From 0c603944b8ba5aea2fbd09ac8c94aa70c68d2639 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 22 May 2019 02:56:14 +0000 Subject: [PATCH 029/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner From a9bea53c89a8aa5215021dc7b9cac01effc9b0a3 Mon Sep 17 00:00:00 2001 From: Sebastian Grund Date: Fri, 3 May 2019 12:10:15 +0200 Subject: [PATCH 030/192] issue1216: added sync-exclude entry for emacs recovery files Signed-off-by: Sebastian Grund --- sync-exclude.lst | 2 ++ test/testexcludedfiles.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/sync-exclude.lst b/sync-exclude.lst index fe5cbee10..129c8d8af 100644 --- a/sync-exclude.lst +++ b/sync-exclude.lst @@ -40,3 +40,5 @@ System Volume Information .nfs* My Saved Places. + +\#*# diff --git a/test/testexcludedfiles.cpp b/test/testexcludedfiles.cpp index 11d0a3282..ea68440ad 100644 --- a/test/testexcludedfiles.cpp +++ b/test/testexcludedfiles.cpp @@ -39,6 +39,8 @@ private slots: QVERIFY(excluded.isExcluded("/a/foo_conflict-bar", "/a", keepHidden)); QVERIFY(excluded.isExcluded("/a/foo (conflicted copy bar)", "/a", keepHidden)); QVERIFY(excluded.isExcluded("/a/.b", "/a", excludeHidden)); + + QVERIFY(excluded.isExcluded("/a/#b#", "/a", keepHidden)); } }; From e8213242a9cde1e1668279d413db8a558ceaa927 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 23 May 2019 02:55:27 +0000 Subject: [PATCH 031/192] [tx-robot] updated from transifex --- translations/client_he.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/client_he.ts b/translations/client_he.ts index 8c9940fdf..abc7dcfeb 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -35,7 +35,7 @@ No recently changed files - + לא השתנו קבצים לאחרונה From 85d217ec9514babeb665dda0ab7b65fe2b0e9b21 Mon Sep 17 00:00:00 2001 From: Sven Strickroth Date: Thu, 23 May 2019 16:44:01 +0200 Subject: [PATCH 032/192] WebView: Properly handle usernames with spaces and plus signs in it The path returned from the server encodes a space in the username with `+` and if the username contains a `+` sign it is encoded as `%2B` (cf. https://www.php.net/manual/function.urlencode.php). Fix: Don't (double) decode the URL path and then replace `+` with space (introduced in issue #279 resp. commit 9ec61a84ce682399b4c39182887e488c99f1d87a). Instead first replace `+` with space, then decode percent encoding. Tested with a username containing a space, a username containing a `+`sign and a username containing just A-Za-z0-9- (with Nextcloud 16). (fixes issue #1266) Signed-off-by: Sven Strickroth --- src/gui/wizard/webview.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gui/wizard/webview.cpp b/src/gui/wizard/webview.cpp index 00913f387..8612e6e21 100644 --- a/src/gui/wizard/webview.cpp +++ b/src/gui/wizard/webview.cpp @@ -136,7 +136,7 @@ WebViewPageUrlSchemeHandler::WebViewPageUrlSchemeHandler(QObject *parent) void WebViewPageUrlSchemeHandler::requestStarted(QWebEngineUrlRequestJob *request) { QUrl url = request->requestUrl(); - QString path = url.path().mid(1); + QString path = url.path(0).mid(1); // get undecoded path QStringList parts = path.split("&"); QString server; @@ -153,12 +153,14 @@ void WebViewPageUrlSchemeHandler::requestStarted(QWebEngineUrlRequestJob *reques } } - user = QUrl::fromPercentEncoding(user.toUtf8()); - password = QUrl::fromPercentEncoding(password.toUtf8()); + qCDebug(lcWizardWebiew()) << "Got raw user from request path: " << user; user = user.replace(QChar('+'), QChar(' ')); password = password.replace(QChar('+'), QChar(' ')); + user = QUrl::fromPercentEncoding(user.toUtf8()); + password = QUrl::fromPercentEncoding(password.toUtf8()); + if (!server.startsWith("http://") && !server.startsWith("https://")) { server = "https://" + server; } From ad65b6fdf36ed38e9f8107fd1334ff20dfd75585 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Fri, 24 May 2019 02:56:34 +0000 Subject: [PATCH 033/192] [tx-robot] updated from transifex --- translations/client_bg.ts | 4 ++-- translations/client_ca.ts | 4 ++-- translations/client_cs.ts | 4 ++-- translations/client_da.ts | 4 ++-- translations/client_de.ts | 4 ++-- translations/client_el.ts | 4 ++-- translations/client_en.ts | 4 ++-- translations/client_en_GB.ts | 4 ++-- translations/client_eo.ts | 4 ++-- translations/client_es.ts | 4 ++-- translations/client_es_AR.ts | 4 ++-- translations/client_es_CL.ts | 4 ++-- translations/client_es_CO.ts | 4 ++-- translations/client_es_CR.ts | 4 ++-- translations/client_es_DO.ts | 4 ++-- translations/client_es_EC.ts | 4 ++-- translations/client_es_GT.ts | 4 ++-- translations/client_es_HN.ts | 4 ++-- translations/client_es_MX.ts | 4 ++-- translations/client_es_SV.ts | 4 ++-- translations/client_et.ts | 4 ++-- translations/client_eu.ts | 4 ++-- translations/client_fa.ts | 4 ++-- translations/client_fi.ts | 4 ++-- translations/client_fr.ts | 4 ++-- translations/client_gl.ts | 6 +++--- translations/client_he.ts | 4 ++-- translations/client_hu.ts | 4 ++-- translations/client_is.ts | 4 ++-- translations/client_it.ts | 4 ++-- translations/client_ja.ts | 4 ++-- translations/client_lt_LT.ts | 4 ++-- translations/client_lv.ts | 4 ++-- translations/client_nb_NO.ts | 4 ++-- translations/client_nl.ts | 4 ++-- translations/client_pl.ts | 4 ++-- translations/client_pt.ts | 4 ++-- translations/client_pt_BR.ts | 4 ++-- translations/client_ru.ts | 4 ++-- translations/client_sk.ts | 4 ++-- translations/client_sl.ts | 4 ++-- translations/client_sr.ts | 4 ++-- translations/client_sv.ts | 4 ++-- translations/client_th.ts | 4 ++-- translations/client_tr.ts | 4 ++-- translations/client_uk.ts | 4 ++-- translations/client_zh_CN.ts | 4 ++-- translations/client_zh_TW.ts | 4 ++-- 48 files changed, 97 insertions(+), 97 deletions(-) diff --git a/translations/client_bg.ts b/translations/client_bg.ts index 2f72bd431..0d56d28ff 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -3385,12 +3385,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected Открит е невалиден сертификат - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_ca.ts b/translations/client_ca.ts index 7c142ac9c..a29f92d7b 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -3404,12 +3404,12 @@ No és aconsellable fer-la servir. OCC::WebEnginePage - + Invalid certificate detected S'ha detectat un certificat no vàlid - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_cs.ts b/translations/client_cs.ts index dd8ef6b4e..b6f8badd4 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -3401,12 +3401,12 @@ Nedoporučuje se jí používat. OCC::WebEnginePage - + Invalid certificate detected Zjištěn neplatný certifikát - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_da.ts b/translations/client_da.ts index 2289e993c..b8043985f 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -3379,12 +3379,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_de.ts b/translations/client_de.ts index 13179a28c..27670adf8 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -3401,12 +3401,12 @@ Es ist nicht ratsam, sie zu benutzen. OCC::WebEnginePage - + Invalid certificate detected Ungültiges Zertifikat gefunden - + The host "%1" provided an invalid certificate. Continue? Der Server "%1" hat ein ungültiges Zertifikat. Fortsetzen? diff --git a/translations/client_el.ts b/translations/client_el.ts index a74c3a592..908092d30 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -3391,12 +3391,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_en.ts b/translations/client_en.ts index 43ef6b517..912756f88 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -3405,12 +3405,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_en_GB.ts b/translations/client_en_GB.ts index 7b01984d5..64d90c036 100644 --- a/translations/client_en_GB.ts +++ b/translations/client_en_GB.ts @@ -3402,12 +3402,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_eo.ts b/translations/client_eo.ts index ffdf11eae..c3742c464 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -3400,12 +3400,12 @@ Uzi ĝin ne konsilindas. OCC::WebEnginePage - + Invalid certificate detected Nevalida atestilo eltrovita - + The host "%1" provided an invalid certificate. Continue? La gastigo „%1“ provizis nevalidan atestilon. Ĉu daŭrigi? diff --git a/translations/client_es.ts b/translations/client_es.ts index b3bdff8bf..3bf475405 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -3401,12 +3401,12 @@ No se recomienda usarla. OCC::WebEnginePage - + Invalid certificate detected Certificado inválido detectado - + The host "%1" provided an invalid certificate. Continue? El host "%1" ha ofrecido un certificado no válido. ¿Continuar? diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index fdbfade35..ddaf9dcc0 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -3379,12 +3379,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_CL.ts b/translations/client_es_CL.ts index fa3ecc5c1..4a498990c 100644 --- a/translations/client_es_CL.ts +++ b/translations/client_es_CL.ts @@ -3392,12 +3392,12 @@ No es recomendable usarlo. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_CO.ts b/translations/client_es_CO.ts index 6e3271408..2e3495bb4 100644 --- a/translations/client_es_CO.ts +++ b/translations/client_es_CO.ts @@ -3392,12 +3392,12 @@ No es recomendable usarlo. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_CR.ts b/translations/client_es_CR.ts index 14697c6d5..db9ea1868 100644 --- a/translations/client_es_CR.ts +++ b/translations/client_es_CR.ts @@ -3392,12 +3392,12 @@ No es recomendable usarlo. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_DO.ts b/translations/client_es_DO.ts index f08228a2b..078c00612 100644 --- a/translations/client_es_DO.ts +++ b/translations/client_es_DO.ts @@ -3392,12 +3392,12 @@ No es recomendable usarlo. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_EC.ts b/translations/client_es_EC.ts index 5464895bf..6088b38bd 100644 --- a/translations/client_es_EC.ts +++ b/translations/client_es_EC.ts @@ -3392,12 +3392,12 @@ No es recomendable usarlo. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_GT.ts b/translations/client_es_GT.ts index 12dc879dd..47f4d1cc9 100644 --- a/translations/client_es_GT.ts +++ b/translations/client_es_GT.ts @@ -3392,12 +3392,12 @@ No es recomendable usarlo. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_HN.ts b/translations/client_es_HN.ts index 3f37912a3..59edbde45 100644 --- a/translations/client_es_HN.ts +++ b/translations/client_es_HN.ts @@ -3392,12 +3392,12 @@ No es recomendable usarlo. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_MX.ts b/translations/client_es_MX.ts index 896eb68ad..5eea22728 100644 --- a/translations/client_es_MX.ts +++ b/translations/client_es_MX.ts @@ -3392,12 +3392,12 @@ No es recomendable usarlo. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_es_SV.ts b/translations/client_es_SV.ts index 5665d5000..ecb978836 100644 --- a/translations/client_es_SV.ts +++ b/translations/client_es_SV.ts @@ -3392,12 +3392,12 @@ No es recomendable usarlo. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_et.ts b/translations/client_et.ts index f1866a66c..77ce1c45d 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -3382,12 +3382,12 @@ Selle kasutamine pole soovitatav. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_eu.ts b/translations/client_eu.ts index 5f1268e00..e25722175 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -3384,12 +3384,12 @@ Ez da gomendagarria erabltzea. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_fa.ts b/translations/client_fa.ts index 5f71e1b40..7c22fac44 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -3388,12 +3388,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_fi.ts b/translations/client_fi.ts index 260dee6d3..143779439 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -3386,12 +3386,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::WebEnginePage - + Invalid certificate detected Virheellinen varmenne havaittu - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_fr.ts b/translations/client_fr.ts index 49d5f08b3..ab46af040 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -3405,12 +3405,12 @@ Il est déconseillé de l'utiliser. OCC::WebEnginePage - + Invalid certificate detected Certificat invalide - + The host "%1" provided an invalid certificate. Continue? L’hôte "%1" utilise un certificat invalide. Continuer ? diff --git a/translations/client_gl.ts b/translations/client_gl.ts index b69b58765..c3671a08f 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -1688,7 +1688,7 @@ Os rexistros escribiranse en %1 Proxy Settings - Configuración do proxy + Axustes do proxy @@ -3403,12 +3403,12 @@ Recomendámoslle que non o use. OCC::WebEnginePage - + Invalid certificate detected Detectouse un certificado non válido - + The host "%1" provided an invalid certificate. Continue? O servidor «%1» forneceu un certificado non válido. Continuar? diff --git a/translations/client_he.ts b/translations/client_he.ts index abc7dcfeb..f2cce7c14 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -3381,12 +3381,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_hu.ts b/translations/client_hu.ts index 07eefb059..6a99ee922 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -3401,12 +3401,12 @@ Használata nem ajánlott. OCC::WebEnginePage - + Invalid certificate detected Érvénytelen tanúsítvány észlelve - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_is.ts b/translations/client_is.ts index 8c66ceaeb..ab5e876d0 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -3399,12 +3399,12 @@ Ekki er mælt með því að hún sé notuð. OCC::WebEnginePage - + Invalid certificate detected Fann ógilt skilríki - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_it.ts b/translations/client_it.ts index be806c26b..9c6906145 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -3403,12 +3403,12 @@ Non è consigliabile utilizzarlo. OCC::WebEnginePage - + Invalid certificate detected Rilevato certificato non valido - + The host "%1" provided an invalid certificate. Continue? L'host "%1" ha fornito un certificato non valido. Vuoi continuare? diff --git a/translations/client_ja.ts b/translations/client_ja.ts index 27787c44c..94a34a2c0 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -3387,12 +3387,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index 0a350c71b..22db80d64 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -3397,12 +3397,12 @@ Patariama jo nenaudoti. OCC::WebEnginePage - + Invalid certificate detected Aptiktas netinkamas sertifikatas - + The host "%1" provided an invalid certificate. Continue? Serveris "%1" pateikė negaliojantį liudijimą. Tęsti? diff --git a/translations/client_lv.ts b/translations/client_lv.ts index 8f4b7e39d..f708905da 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -3381,12 +3381,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected Detektēts nederīgs sertifikāts - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index 1ddcaed44..6068ff117 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -3392,12 +3392,12 @@ Det er ikke tilrådelig å bruke den. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_nl.ts b/translations/client_nl.ts index 10d24bbd8..206ad9bf4 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -3406,12 +3406,12 @@ We adviseren deze site niet te gebruiken. OCC::WebEnginePage - + Invalid certificate detected Ongeldig certificaat gedetecteerd - + The host "%1" provided an invalid certificate. Continue? De server "%1" heeft een ongeldig certificaat . Wilt u doorgaan? diff --git a/translations/client_pl.ts b/translations/client_pl.ts index 4d81c6068..c026be74f 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -3402,12 +3402,12 @@ Niezalecane jest jego użycie. OCC::WebEnginePage - + Invalid certificate detected Wykryto nieprawidłowy certyfikat - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_pt.ts b/translations/client_pt.ts index e042ee7e4..0118567d1 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -3391,12 +3391,12 @@ Não é aconselhada a sua utilização. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 01382b1b3..8f69b3dbb 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -3402,12 +3402,12 @@ Não é aconselhável usá-la. OCC::WebEnginePage - + Invalid certificate detected Certificado inválido detectado - + The host "%1" provided an invalid certificate. Continue? O host "%1" forneceu um certificado inválido. Continuar? diff --git a/translations/client_ru.ts b/translations/client_ru.ts index eaaa5cc60..3629b1cde 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -3396,12 +3396,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected Обнаружен недействительный сертификат - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_sk.ts b/translations/client_sk.ts index 7d2007400..f96ad7937 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -3391,12 +3391,12 @@ Nie je vhodné ju používať. OCC::WebEnginePage - + Invalid certificate detected Bol zistený neplatný certifikát - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_sl.ts b/translations/client_sl.ts index 47f391e6d..97474c958 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -3391,12 +3391,12 @@ Uporaba ni priporočljiva. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_sr.ts b/translations/client_sr.ts index 3554ffa48..4c0284d87 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -3402,12 +3402,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected Детектован неисправан сертификат - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 74a72e70e..1f7febadc 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -3402,12 +3402,12 @@ Det är inte lämpligt använda den. OCC::WebEnginePage - + Invalid certificate detected Ogiltigt certifikat upptäckt - + The host "%1" provided an invalid certificate. Continue? Servern "%1" tillhandahöll ett ogiltigt certifikat. Fortsätt? diff --git a/translations/client_th.ts b/translations/client_th.ts index 7e80ec246..0283268fc 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -3390,12 +3390,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_tr.ts b/translations/client_tr.ts index dd2d044ea..11953a1b9 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -3401,12 +3401,12 @@ Kullanmanız önerilmez. OCC::WebEnginePage - + Invalid certificate detected Sertifika geçersiz - + The host "%1" provided an invalid certificate. Continue? "%1" sunucusunun sertifikası geçersiz. Devam etmek ister misiniz? diff --git a/translations/client_uk.ts b/translations/client_uk.ts index dce7101e6..06757561d 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -3382,12 +3382,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index 7edd8cff0..5d457a279 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -3400,12 +3400,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected 检测到无效证书 - + The host "%1" provided an invalid certificate. Continue? 主机 “%1” 提供了无效证书。是否继续? diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index 782deb056..87349c03c 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -3385,12 +3385,12 @@ It is not advisable to use it. OCC::WebEnginePage - + Invalid certificate detected - + The host "%1" provided an invalid certificate. Continue? From d38e829330693a122440a6434bb721243aa2bd37 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 25 May 2019 02:55:41 +0000 Subject: [PATCH 034/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_fr.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_fr.ts b/translations/client_fr.ts index ab46af040..3f6fb8c2f 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -2847,7 +2847,7 @@ Il est déconseillé de l'utiliser. SSL Cipher Debug View - + Vue de débogage du chiffrement SSL From 378dd744fb958a130beb2c8d84b4b876d5ba61ed Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 27 May 2019 02:54:16 +0000 Subject: [PATCH 035/192] [tx-robot] updated from transifex --- translations/client_uk.ts | 154 +++++++++++++++++++------------------- 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/translations/client_uk.ts b/translations/client_uk.ts index 06757561d..c842ce266 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -9,78 +9,78 @@ Checking for changes in '%1' - + Перевірка на зміни у '%1' Syncing %1 of %2 (%3 left) - + Синхронізую %1 з %2 (залишилося %3) Syncing %1 of %2 - + Синхронізую %1 з %2 Syncing %1 (%2 left) - + Синхронізую %1 (залишилося %2) Syncing %1 - + Синхронізую %1 No recently changed files - + Файли не змінювалися останнім часом Sync paused - + Синхронізацію призупинено Syncing - + Синхронізація Open website - + Відкрити вебсайт Recently changed - + Останні зміни Pause synchronization - + Призупинити синхронізацію Help - + Допомога Settings - + Налаштування Log out - + Вийти Quit sync client - + Вийти з клієнта синхронізації @@ -88,12 +88,12 @@ Dialog - + Діялог Label - + Мітка @@ -101,18 +101,18 @@ Could not make directories in trash - + Неможливо створити каталог у смітнику Could not move '%1' to '%2' - + Неможливо перемістити '%1' до '%2' Moving to the trash is not implemented on this platform - + Ця платформа не дозволяє переміщення до смітника @@ -125,7 +125,7 @@ Pick a local folder on your computer to sync - Оберіть локальний каталог на Вашому ПК для синхронізації: + Оберіть локальну теку на Вашому ПК для синхронізації: @@ -176,12 +176,12 @@ Unknown error: network reply was deleted - + Незнайома помилка: відповідь мережі вилучено Server replied "%1 %2" to "%3 %4" - + Відповідь сервера: "%1 %2" до "%3 %4" @@ -279,7 +279,7 @@ Encrypt - + Шифрувати @@ -309,7 +309,7 @@ <p>Could not create local folder <i>%1</i>. - + <p>Неможливо створити локальну теку <i>%1</i>. @@ -420,7 +420,7 @@ Open folder - Відкрити каталог + Відкрити теку @@ -489,7 +489,7 @@ Maintenance mode - + Режим обслуговування @@ -522,22 +522,22 @@ More information - + Докладно Accept - + Прийняти Join - + Приєднатися Open Browser - + Відкрити бравзер @@ -555,17 +555,17 @@ Accept - + Прийняти Synced - + Синхронізовано Retry all uploads - + Повторно завантажити все @@ -870,17 +870,17 @@ If you decide to delete the files, they will be unavailable to you, unless you a Download new files? - + Звантажити нові файли? Download new files - + Звантажити нові файли Keep local files - + Зберегти локальні файли @@ -1025,7 +1025,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Synchronized with local folder - + Синхронізовано з локальною текою @@ -1038,7 +1038,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an You need to be connected to add a folder - + Ви маєте мати з'єднання з мережею, щоб додати теку @@ -1093,7 +1093,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" - + Синхронізую %1 @@ -1175,7 +1175,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Preparing to sync... - + Підготовка до синхронізації... @@ -1321,7 +1321,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an For System Tray - + Для системного трею @@ -1401,7 +1401,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Sharing error - + Помилка під час надання доступу @@ -1464,7 +1464,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Remove all - + Вилучити все @@ -1519,7 +1519,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from Dialog - + Діялог @@ -1534,7 +1534,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from Close - + Закрити @@ -1855,7 +1855,7 @@ for additional privileges during the process. Update Check - + Перевірити оновлення @@ -1878,7 +1878,7 @@ for additional privileges during the process. %1 folder '%2' is synced to local folder '%3' - %1 тека '%2' синхронізована з локальним каталогом '%3' + %1 тека '%2' синхронізована з локальною текою '%3' @@ -1893,7 +1893,7 @@ for additional privileges during the process. Free space: %1 - + Вільне місце: %1 @@ -1909,7 +1909,7 @@ for additional privileges during the process. There isn't enough free space in the local folder! - + Недостатньо вільного місця у локальній теці! @@ -2319,7 +2319,7 @@ It is not advisable to use it. could not create folder %1 - + неможливо створити теку %1 @@ -2692,7 +2692,7 @@ It is not advisable to use it. Read only - + Тільки для читання @@ -2707,22 +2707,22 @@ It is not advisable to use it. Password Protect - + Захищено паролем Expiration Date - + Дійсно до Unshare - + Скасувати загальний доступ Add another link - + Додати ще одне посилання @@ -2742,7 +2742,7 @@ It is not advisable to use it. Public link - + Публічне посилання @@ -2755,17 +2755,17 @@ It is not advisable to use it. Copy link - + Скопіювати посилання No results for '%1' - + Відсутні результати для '%1' I shared something with you - + Я поділився з вами документами @@ -2773,7 +2773,7 @@ It is not advisable to use it. User name - + Ім'я користувача @@ -2843,7 +2843,7 @@ It is not advisable to use it. Share with %1 parameter is Nextcloud - + Поділитися з %1 @@ -2859,7 +2859,7 @@ It is not advisable to use it. Share... - + Поділитися... @@ -2886,7 +2886,7 @@ It is not advisable to use it. Open in browser - + Відкрити у бравзері @@ -3205,7 +3205,7 @@ It is not advisable to use it. No space on %1 server available. - + На сервері %1 більше немає місця. @@ -3265,7 +3265,7 @@ It is not advisable to use it. Unresolved conflict. - + Конфлікт, який неможна вирішити @@ -3280,7 +3280,7 @@ It is not advisable to use it. Invalid characters, please rename "%1" - + Помилкові символи, будь ласка, перейменуйте "%1" @@ -3311,7 +3311,7 @@ It is not advisable to use it. Not allowed because you don't have permission to add subfolders to that folder - Заборонено через відсутність прав додавання підкаталогів в цю теку. + Заборонено через відсутність прав додавання вкладених тек у цій теці. @@ -3541,42 +3541,42 @@ It is not advisable to use it. Error during synchronization - + Помилка під час синхронізації No sync folders configured - + Теки для синхронізації не налаштовано Resume all folders - + Продовжити синхронізацію у всіх теках Pause all folders - + Призупинити синхронізацію всюди Resume all synchronization - + Продовжити синхронізацію всюди Resume synchronization - + Продовжити синхронізацію Pause all synchronization - + Призупинити синхронізацію всюди Pause synchronization - + Призупинити синхронізацію @@ -3592,7 +3592,7 @@ It is not advisable to use it. Apps - + Застосунки From 981a4ee2407fdb6d2cbbd8ed1f2a282f691bb7fd Mon Sep 17 00:00:00 2001 From: Camila San Date: Thu, 9 May 2019 22:11:25 +0200 Subject: [PATCH 036/192] Adds parameter to retrieve shares with its reshares. If the initiator or the recipient is not the current user, show the list of sharees without any options to edit it. Minor change: updates api to v2. Signed-off-by: Camila San --- src/gui/ocsshareejob.cpp | 2 +- src/gui/ocssharejob.cpp | 3 ++- src/gui/shareusergroupwidget.cpp | 7 +++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/gui/ocsshareejob.cpp b/src/gui/ocsshareejob.cpp index 0d1b6d44b..ced73800f 100644 --- a/src/gui/ocsshareejob.cpp +++ b/src/gui/ocsshareejob.cpp @@ -21,7 +21,7 @@ namespace OCC { OcsShareeJob::OcsShareeJob(AccountPtr account) : OcsJob(account) { - setPath("ocs/v1.php/apps/files_sharing/api/v1/sharees"); + setPath("ocs/v2.php/apps/files_sharing/api/v1/sharees"); connect(this, &OcsJob::jobFinished, this, &OcsShareeJob::jobDone); } diff --git a/src/gui/ocssharejob.cpp b/src/gui/ocssharejob.cpp index 520225461..15884e012 100644 --- a/src/gui/ocssharejob.cpp +++ b/src/gui/ocssharejob.cpp @@ -24,7 +24,7 @@ namespace OCC { OcsShareJob::OcsShareJob(AccountPtr account) : OcsJob(account) { - setPath("ocs/v1.php/apps/files_sharing/api/v1/shares"); + setPath("ocs/v2.php/apps/files_sharing/api/v1/shares"); connect(this, &OcsJob::jobFinished, this, &OcsShareJob::jobDone); } @@ -33,6 +33,7 @@ void OcsShareJob::getShares(const QString &path) setVerb("GET"); addParam(QString::fromLatin1("path"), path); + addParam(QString::fromLatin1("reshares"), QString("true")); addPassStatusCode(404); start(); diff --git a/src/gui/shareusergroupwidget.cpp b/src/gui/shareusergroupwidget.cpp index 6f85809d9..27d80ed78 100644 --- a/src/gui/shareusergroupwidget.cpp +++ b/src/gui/shareusergroupwidget.cpp @@ -420,6 +420,13 @@ ShareUserLine::ShareUserLine(QSharedPointer share, _permissionReshare->setVisible(false); } + //If the initiator is not you. And the recipient is not you. Show it without any options. + if(share->account()->id() != share->getId() && share->account()->davUser() != share->getShareWith()->shareWith()){ + _ui->permissionsEdit->hide(); + _ui->permissionToolButton->hide(); + _ui->deleteShareButton->hide(); + } + loadAvatar(); } From 4f0ff154d3e14cd967a5841fb5b108a24b5d4a95 Mon Sep 17 00:00:00 2001 From: Camila San Date: Fri, 10 May 2019 16:56:03 +0200 Subject: [PATCH 037/192] Display sharees on the first show of the share dialog. It was displaying them only when the current user would edit the share. Signed-off-by: Camila San --- src/gui/shareusergroupwidget.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/shareusergroupwidget.cpp b/src/gui/shareusergroupwidget.cpp index 27d80ed78..d576b1edb 100644 --- a/src/gui/shareusergroupwidget.cpp +++ b/src/gui/shareusergroupwidget.cpp @@ -202,6 +202,7 @@ void ShareUserGroupWidget::slotSharesFetched(const QList> connect(s, &ShareUserLine::visualDeletionDone, this, &ShareUserGroupWidget::getShares); s->setBackgroundRole(layout->count() % 2 == 0 ? QPalette::Base : QPalette::AlternateBase); layout->addWidget(s); + s->setVisible(true); x++; if (x <= 3) { From 9ff1a30dc4fc8e0155cd5bf5e69118d0fca70bfe Mon Sep 17 00:00:00 2001 From: Camila San Date: Fri, 10 May 2019 16:58:54 +0200 Subject: [PATCH 038/192] Display error when current user is not allowed to reshare file/folder. Signed-off-by: Camila San --- src/gui/sharedialog.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/sharedialog.cpp b/src/gui/sharedialog.cpp index 4a62f5885..57126988b 100644 --- a/src/gui/sharedialog.cpp +++ b/src/gui/sharedialog.cpp @@ -271,6 +271,7 @@ void ShareDialog::showSharingUi() auto label = new QLabel(this); label->setText(tr("The file can not be shared because it was shared without sharing permission.")); label->setWordWrap(true); + _ui->verticalLayout->insertWidget(1, label); return; } From bcdc88ecf001e8d56103b1d95f4164407d6d5e30 Mon Sep 17 00:00:00 2001 From: ivyclare Date: Tue, 28 May 2019 00:54:13 +0300 Subject: [PATCH 039/192] =?UTF-8?q?Change=20=C2=BBDetails=E2=80=A6=C2=AB?= =?UTF-8?q?=20to=20=20=C2=BBView=20more=20activity=E2=80=A6=C2=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ivyclare --- doc/visualtour.rst | 2 +- src/gui/owncloudgui.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/visualtour.rst b/doc/visualtour.rst index 2feb9fd6b..8fd976666 100644 --- a/doc/visualtour.rst +++ b/doc/visualtour.rst @@ -99,7 +99,7 @@ Activity .. index:: activity, recent changes, sync activity The Activity window, which can be invoked either from the main menu (``Recent -Changes -> Details…``) or the Activity tab on the left side of the settings +Changes -> View more activity…``) or the Activity tab on the left side of the settings window, provides an in-depth account of the recent sync activity. It will show files that have not been synced because they are on the ignored files list, or because they cannot be synced in a cross-platform manner due to containing diff --git a/src/gui/owncloudgui.cpp b/src/gui/owncloudgui.cpp index 4d4dda1f6..53b568413 100644 --- a/src/gui/owncloudgui.cpp +++ b/src/gui/owncloudgui.cpp @@ -779,7 +779,7 @@ void ownCloudGui::setupActions() _actionStatus->setEnabled(false); _actionSettings = new QAction(tr("Settings..."), this); _actionNewAccountWizard = new QAction(tr("New account..."), this); - _actionRecent = new QAction(tr("Details..."), this); + _actionRecent = new QAction(tr("View more activity..."), this); _actionRecent->setEnabled(true); QObject::connect(_actionRecent, &QAction::triggered, this, &ownCloudGui::slotShowSyncProtocol); From fa5c1eff253c28e8a5db657a6c1fb24442767bce Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 28 May 2019 03:00:44 +0000 Subject: [PATCH 040/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_bg.ts | 14 +++++++------- translations/client_ca.ts | 14 +++++++------- translations/client_cs.ts | 14 +++++++------- translations/client_da.ts | 14 +++++++------- translations/client_de.ts | 14 +++++++------- translations/client_el.ts | 14 +++++++------- translations/client_en.ts | 14 +++++++------- translations/client_en_GB.ts | 14 +++++++------- translations/client_eo.ts | 14 +++++++------- translations/client_es.ts | 14 +++++++------- translations/client_es_AR.ts | 14 +++++++------- translations/client_es_CL.ts | 14 +++++++------- translations/client_es_CO.ts | 14 +++++++------- translations/client_es_CR.ts | 14 +++++++------- translations/client_es_DO.ts | 14 +++++++------- translations/client_es_EC.ts | 14 +++++++------- translations/client_es_GT.ts | 14 +++++++------- translations/client_es_HN.ts | 14 +++++++------- translations/client_es_MX.ts | 14 +++++++------- translations/client_es_SV.ts | 14 +++++++------- translations/client_et.ts | 14 +++++++------- translations/client_eu.ts | 14 +++++++------- translations/client_fa.ts | 14 +++++++------- translations/client_fi.ts | 14 +++++++------- translations/client_fr.ts | 14 +++++++------- translations/client_gl.ts | 14 +++++++------- translations/client_he.ts | 14 +++++++------- translations/client_hu.ts | 14 +++++++------- translations/client_is.ts | 14 +++++++------- translations/client_it.ts | 14 +++++++------- translations/client_ja.ts | 14 +++++++------- translations/client_lt_LT.ts | 14 +++++++------- translations/client_lv.ts | 14 +++++++------- translations/client_nb_NO.ts | 14 +++++++------- translations/client_nl.ts | 14 +++++++------- translations/client_pl.ts | 14 +++++++------- translations/client_pt.ts | 14 +++++++------- translations/client_pt_BR.ts | 14 +++++++------- translations/client_ru.ts | 14 +++++++------- translations/client_sk.ts | 14 +++++++------- translations/client_sl.ts | 14 +++++++------- translations/client_sr.ts | 14 +++++++------- translations/client_sv.ts | 14 +++++++------- translations/client_th.ts | 14 +++++++------- translations/client_tr.ts | 14 +++++++------- translations/client_uk.ts | 14 +++++++------- translations/client_zh_CN.ts | 14 +++++++------- translations/client_zh_TW.ts | 14 +++++++------- 49 files changed, 340 insertions(+), 340 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_bg.ts b/translations/client_bg.ts index 0d56d28ff..0223f0021 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -2757,17 +2757,17 @@ It is not advisable to use it. - + Copy link Копирай връзката - + No results for '%1' Няма резултат за '%1' - + I shared something with you Споделих нещо с вас @@ -2785,22 +2785,22 @@ It is not advisable to use it. може да редактира - + Can reshare Може да споделя повторно - + Can create Може да създава - + Can change Може да променя - + Can delete Може да изтрива diff --git a/translations/client_ca.ts b/translations/client_ca.ts index a29f92d7b..5434f06fc 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -2775,17 +2775,17 @@ No és aconsellable fer-la servir. Comparteix amb usuaris o grups ... - + Copy link Copia l'enllaç - + No results for '%1' No hi ha resultats per '%1' - + I shared something with you He compartit una cosa amb tu @@ -2803,22 +2803,22 @@ No és aconsellable fer-la servir. pot editar - + Can reshare Pot re-compartir - + Can create Pot crear - + Can change Pot canviar - + Can delete Pot suprimir diff --git a/translations/client_cs.ts b/translations/client_cs.ts index b6f8badd4..b00a0ea11 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -2772,17 +2772,17 @@ Nedoporučuje se jí používat. Sdílet s uživateli nebo skupinami… - + Copy link Zkopírovat odkaz - + No results for '%1' Žádné výsledky pro „%1“ - + I shared something with you Něco jsem vám nasdílel @@ -2800,22 +2800,22 @@ Nedoporučuje se jí používat. lze upravovat - + Can reshare Může sdílet dál - + Can create Může vytvářet - + Can change Může měnit - + Can delete Může mazat diff --git a/translations/client_da.ts b/translations/client_da.ts index b8043985f..a5ffcda0f 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -2752,17 +2752,17 @@ It is not advisable to use it. - + Copy link - + No results for '%1' - + I shared something with you @@ -2780,22 +2780,22 @@ It is not advisable to use it. kan redigere - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_de.ts b/translations/client_de.ts index 27670adf8..53c1ee9c0 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -2772,17 +2772,17 @@ Es ist nicht ratsam, sie zu benutzen. Mit Benutzern oder Gruppen teilen … - + Copy link Link kopieren - + No results for '%1' Keine Ergebnisse für '%1' - + I shared something with you Ich habe etwas mit Ihnen geteilt @@ -2800,22 +2800,22 @@ Es ist nicht ratsam, sie zu benutzen. kann bearbeiten - + Can reshare kann weiterteilen - + Can create kann erstellen - + Can change kann ändern - + Can delete kann löschen diff --git a/translations/client_el.ts b/translations/client_el.ts index 908092d30..d9f5dec24 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -2762,17 +2762,17 @@ It is not advisable to use it. Διαμοιρασμός με χρήστες ή ομάδες ... - + Copy link Αντιγραφή συνδέσμου - + No results for '%1' Κανένα αποτέλεσμα για '%1' - + I shared something with you @@ -2790,22 +2790,22 @@ It is not advisable to use it. δυνατότητα επεξεργασίας - + Can reshare Δυνατότητα να διαμοιραστεί ξανά - + Can create Δυνατότητα δημιουργίας - + Can change - + Can delete Μπορεί να διαγράψει diff --git a/translations/client_en.ts b/translations/client_en.ts index 912756f88..7a31f095c 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -2778,17 +2778,17 @@ It is not advisable to use it. - + Copy link - + No results for '%1' - + I shared something with you @@ -2806,22 +2806,22 @@ It is not advisable to use it. - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_en_GB.ts b/translations/client_en_GB.ts index 64d90c036..666c0906a 100644 --- a/translations/client_en_GB.ts +++ b/translations/client_en_GB.ts @@ -2773,17 +2773,17 @@ It is not advisable to use it. Share with users or groups ... - + Copy link Copy link - + No results for '%1' No results for '%1' - + I shared something with you I shared something with you @@ -2801,22 +2801,22 @@ It is not advisable to use it. can edit - + Can reshare Can reshare - + Can create Can create - + Can change Can change - + Can delete Can delete diff --git a/translations/client_eo.ts b/translations/client_eo.ts index c3742c464..945909789 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -2772,17 +2772,17 @@ Uzi ĝin ne konsilindas. Kunhavigi kun uzantoj aŭ grupoj... - + Copy link Kopii ligilon - + No results for '%1' Neniu rezulto por „%1“ - + I shared something with you Mi kunhavigis ion kun vi @@ -2800,22 +2800,22 @@ Uzi ĝin ne konsilindas. povas redakti - + Can reshare Eblas rekunhavigi - + Can create Povas krei - + Can change Eblas ŝanĝi - + Can delete Povas forigi diff --git a/translations/client_es.ts b/translations/client_es.ts index 3bf475405..199d27397 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -2772,17 +2772,17 @@ No se recomienda usarla. Compartir con usuarios o grupos ... - + Copy link Copiar enlace - + No results for '%1' No hay resultados para '%1' - + I shared something with you He compartido algo contigo @@ -2800,22 +2800,22 @@ No se recomienda usarla. puede editar - + Can reshare Puede compartir - + Can create Puede crear - + Can change Puede cambiar - + Can delete Puede eliminar diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index ddaf9dcc0..9531091c1 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -2752,17 +2752,17 @@ It is not advisable to use it. Compartir con usuario o grupo ... - + Copy link - + No results for '%1' - + I shared something with you @@ -2780,22 +2780,22 @@ It is not advisable to use it. podés editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_CL.ts b/translations/client_es_CL.ts index 4a498990c..33e1736d1 100644 --- a/translations/client_es_CL.ts +++ b/translations/client_es_CL.ts @@ -2763,17 +2763,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2791,22 +2791,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_CO.ts b/translations/client_es_CO.ts index 2e3495bb4..3ee38d288 100644 --- a/translations/client_es_CO.ts +++ b/translations/client_es_CO.ts @@ -2763,17 +2763,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2791,22 +2791,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_CR.ts b/translations/client_es_CR.ts index db9ea1868..e7eee16d6 100644 --- a/translations/client_es_CR.ts +++ b/translations/client_es_CR.ts @@ -2763,17 +2763,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2791,22 +2791,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_DO.ts b/translations/client_es_DO.ts index 078c00612..b163f1d22 100644 --- a/translations/client_es_DO.ts +++ b/translations/client_es_DO.ts @@ -2763,17 +2763,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2791,22 +2791,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_EC.ts b/translations/client_es_EC.ts index 6088b38bd..5ddc70ed9 100644 --- a/translations/client_es_EC.ts +++ b/translations/client_es_EC.ts @@ -2763,17 +2763,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2791,22 +2791,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_GT.ts b/translations/client_es_GT.ts index 47f4d1cc9..b91fd55dc 100644 --- a/translations/client_es_GT.ts +++ b/translations/client_es_GT.ts @@ -2763,17 +2763,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2791,22 +2791,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_HN.ts b/translations/client_es_HN.ts index 59edbde45..e1da6621b 100644 --- a/translations/client_es_HN.ts +++ b/translations/client_es_HN.ts @@ -2763,17 +2763,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2791,22 +2791,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_MX.ts b/translations/client_es_MX.ts index 5eea22728..bbbcb4201 100644 --- a/translations/client_es_MX.ts +++ b/translations/client_es_MX.ts @@ -2763,17 +2763,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2791,22 +2791,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_SV.ts b/translations/client_es_SV.ts index ecb978836..c011ba176 100644 --- a/translations/client_es_SV.ts +++ b/translations/client_es_SV.ts @@ -2763,17 +2763,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2791,22 +2791,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_et.ts b/translations/client_et.ts index 77ce1c45d..52c5d4eea 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -2753,17 +2753,17 @@ Selle kasutamine pole soovitatav. Jaga kasutajate või gruppidega ... - + Copy link - + No results for '%1' - + I shared something with you @@ -2781,22 +2781,22 @@ Selle kasutamine pole soovitatav. saab muuta - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_eu.ts b/translations/client_eu.ts index e25722175..66a3bd511 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -2757,17 +2757,17 @@ Ez da gomendagarria erabltzea. Elkarbanatu erabiltzaile edo taldearekin... - + Copy link Esteka kopiatu - + No results for '%1' - + I shared something with you Zerbait partekatu dut zurekin @@ -2785,22 +2785,22 @@ Ez da gomendagarria erabltzea. editatu dezake - + Can reshare Birparteka daiteke - + Can create Sortu dezake - + Can change Aldatu dezake - + Can delete Ezabatu dezake diff --git a/translations/client_fa.ts b/translations/client_fa.ts index 7c22fac44..0f910bbd0 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -2760,17 +2760,17 @@ It is not advisable to use it. اشتراک گذاری با کاربران یا گروه ها ... - + Copy link کپی کردن آدرس لینک - + No results for '%1' هیچ نتیجه ای برای '1%' وجود ندارد - + I shared something with you من چیزی را با شما به اشتراک گذاشتم @@ -2788,22 +2788,22 @@ It is not advisable to use it. می توان ویرایش کرد - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_fi.ts b/translations/client_fi.ts index 143779439..c4453af1e 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -2757,17 +2757,17 @@ Osoitteen käyttäminen ei ole suositeltavaa. Jaa käyttäjien tai ryhmien kanssa… - + Copy link Kopioi linkki - + No results for '%1' Ei tuloksia haulla '%1' - + I shared something with you Jaoin jotain kanssasi @@ -2785,22 +2785,22 @@ Osoitteen käyttäminen ei ole suositeltavaa. voi muokata - + Can reshare Voi uudelleenjakaa - + Can create Voi luoda - + Can change Voi muuttaa - + Can delete Voi poistaa diff --git a/translations/client_fr.ts b/translations/client_fr.ts index 3f6fb8c2f..960f41b3c 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -2776,17 +2776,17 @@ Il est déconseillé de l'utiliser. Partager avec des utilisateurs ou groupes... - + Copy link Copier le lien - + No results for '%1' Aucun résultat pour '%1' - + I shared something with you J'ai partagé quelque chose avec vous @@ -2804,22 +2804,22 @@ Il est déconseillé de l'utiliser. peut modifier - + Can reshare Peut repartager - + Can create Peut créer - + Can change Peut modifier - + Can delete Peut supprimer diff --git a/translations/client_gl.ts b/translations/client_gl.ts index c3671a08f..4e29d99b9 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -2774,17 +2774,17 @@ Recomendámoslle que non o use. Compartir con usuarios ou grupos... - + Copy link Copiar a ligazón - + No results for '%1' Non hai resultados para «%1» - + I shared something with you Compartín algo con vostede @@ -2802,22 +2802,22 @@ Recomendámoslle que non o use. pode editar - + Can reshare Pode volver compartir - + Can create Pode crear - + Can change Pode cambiar - + Can delete Pode eliminar diff --git a/translations/client_he.ts b/translations/client_he.ts index f2cce7c14..a8524d366 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -2754,17 +2754,17 @@ It is not advisable to use it. שיתוף עם משתמשים או קבוצות… - + Copy link העתקת קישור - + No results for '%1' אין תוצאות לחיפוש אחר ‚%1’ - + I shared something with you שיתפת אתך משהו @@ -2782,22 +2782,22 @@ It is not advisable to use it. הרשאה לעריכה - + Can reshare הרשאה לשיתוף מחדש - + Can create הרשאה ליצירה - + Can change הרשאה לעריכה - + Can delete הרשאה למחיקה diff --git a/translations/client_hu.ts b/translations/client_hu.ts index 6a99ee922..4c7c18f98 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -2772,17 +2772,17 @@ Használata nem ajánlott. Megosztás felhasználókkal vagy csoportokkal … - + Copy link Hivatkozás másolása - + No results for '%1' Nincs találat erre: „%1” - + I shared something with you Megosztottam Önnel valamit @@ -2800,22 +2800,22 @@ Használata nem ajánlott. szerkesztheti - + Can reshare Újra megosztható - + Can create Létrehozható - + Can change Módosítható - + Can delete Törölhető diff --git a/translations/client_is.ts b/translations/client_is.ts index ab5e876d0..e0e304039 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -2769,17 +2769,17 @@ Ekki er mælt með því að hún sé notuð. Deila með notendum eða hópum ... - + Copy link Afrita tengil - + No results for '%1' Engar niðurstöður fyrir '%1' - + I shared something with you Ég deildi einhverju með þér @@ -2797,22 +2797,22 @@ Ekki er mælt með því að hún sé notuð. getur breytt - + Can reshare Getur endurdeilt - + Can create Getur búið til - + Can change Getur breytt - + Can delete Getur eytt diff --git a/translations/client_it.ts b/translations/client_it.ts index 9c6906145..70cd9dde9 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -2774,17 +2774,17 @@ Non è consigliabile utilizzarlo. Condividi con utenti o gruppi... - + Copy link Copia collegamento - + No results for '%1' Nessun risultato per '%1' - + I shared something with you Ho condiviso qualcosa con te @@ -2802,22 +2802,22 @@ Non è consigliabile utilizzarlo. può modificare - + Can reshare Può ri-condividere - + Can create Può creare - + Can change Può cambiare - + Can delete Può eliminare diff --git a/translations/client_ja.ts b/translations/client_ja.ts index 94a34a2c0..52c4022fe 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -2758,17 +2758,17 @@ It is not advisable to use it. ユーザーまたはグループと共有 ... - + Copy link リンクをコピー - + No results for '%1' '%1' は見つかりませんでした - + I shared something with you 私はあなたと何かを共有しました @@ -2786,22 +2786,22 @@ It is not advisable to use it. 編集を許可 - + Can reshare 再共有可能 - + Can create 作成可能 - + Can change 変更可能 - + Can delete 削除可能 diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index 22db80d64..6bf4d842d 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -2768,17 +2768,17 @@ Patariama jo nenaudoti. Dalintis su naudotojais ar grupėmis ... - + Copy link Kopijuoti nuorodą - + No results for '%1' Pagal kriterijų %1 nieko nerasta - + I shared something with you Pasidalinau kai kuo su jumis @@ -2796,22 +2796,22 @@ Patariama jo nenaudoti. gali keisti - + Can reshare Gali pakartotinai dalintis - + Can create Gali kurti - + Can change Gali keisti - + Can delete Gali trinti diff --git a/translations/client_lv.ts b/translations/client_lv.ts index f708905da..bb7642944 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -2754,17 +2754,17 @@ It is not advisable to use it. - + Copy link - + No results for '%1' - + I shared something with you @@ -2782,22 +2782,22 @@ It is not advisable to use it. - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index 6068ff117..454132204 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -2763,17 +2763,17 @@ Det er ikke tilrådelig å bruke den. Del med brukere eller grupper … - + Copy link Kopier lenke - + No results for '%1' Ingen resultater for '%1' - + I shared something with you Jeg delte noe med deg @@ -2791,22 +2791,22 @@ Det er ikke tilrådelig å bruke den. kan endre - + Can reshare - + Can create kan opprette - + Can change Kan endre - + Can delete Kan slette diff --git a/translations/client_nl.ts b/translations/client_nl.ts index 206ad9bf4..a32a80fdc 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -2777,17 +2777,17 @@ We adviseren deze site niet te gebruiken. Delen met gebruikers of groepen ... - + Copy link Kopiëren link - + No results for '%1' Geen resultaten voor '%1' - + I shared something with you Ik deelde iets met u @@ -2805,22 +2805,22 @@ We adviseren deze site niet te gebruiken. kan wijzigen - + Can reshare Kan doordelen - + Can create Kan creëren - + Can change Kan wijzigen - + Can delete Kan verwijderen diff --git a/translations/client_pl.ts b/translations/client_pl.ts index c026be74f..d317f066d 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -2773,17 +2773,17 @@ Niezalecane jest jego użycie. Współdziel z użytkownikami lub grupami - + Copy link Kopiuj link - + No results for '%1' Brak wyników dla '%1' - + I shared something with you Udostępniłem/am ci coś @@ -2801,22 +2801,22 @@ Niezalecane jest jego użycie. może edytować - + Can reshare Pozwól na udostępnianie innym - + Can create Pozwól na utworzenie - + Can change Pozwól na zmianę - + Can delete Pozwól na usunięcie diff --git a/translations/client_pt.ts b/translations/client_pt.ts index 0118567d1..b6beb897c 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -2762,17 +2762,17 @@ Não é aconselhada a sua utilização. Partilhar com utilizadores ou grupos... - + Copy link - + No results for '%1' Sem resultados para '%1' - + I shared something with you @@ -2790,22 +2790,22 @@ Não é aconselhada a sua utilização. pode editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 8f69b3dbb..4be56a0c2 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -2773,17 +2773,17 @@ Não é aconselhável usá-la. Compartilhar com usuários ou grupos... - + Copy link Copiar link - + No results for '%1' Sem resultados para '%1' - + I shared something with you Eu compartilhei algo com você @@ -2801,22 +2801,22 @@ Não é aconselhável usá-la. pode editar - + Can reshare Pode recompartilhar - + Can create Pode criar - + Can change Pode alterar - + Can delete Pode excluir diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 3629b1cde..402a9092e 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -2767,17 +2767,17 @@ It is not advisable to use it. Введите имя пользователя или группы… - + Copy link Скопировать ссылку - + No results for '%1' Нет результатов для '%1' - + I shared something with you Я поделился с тобой @@ -2795,22 +2795,22 @@ It is not advisable to use it. разрешить редактировать - + Can reshare разрешить делиться - + Can create разрешить создавать - + Can change разрешить вносить изменения - + Can delete разрешить удалять diff --git a/translations/client_sk.ts b/translations/client_sk.ts index f96ad7937..5a19390da 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -2762,17 +2762,17 @@ Nie je vhodné ju používať. Zdieľať s používateľmi alebo skupinami ... - + Copy link Kopírovať odkaz - + No results for '%1' Žiadne výsledky pre '%1' - + I shared something with you Niečo som vám sprístupnil @@ -2790,22 +2790,22 @@ Nie je vhodné ju používať. môže upraviť - + Can reshare Môže sprístupniť aj iným - + Can create Môže vytvárať - + Can change Môže meniť - + Can delete Môže odstraňovať diff --git a/translations/client_sl.ts b/translations/client_sl.ts index 97474c958..12284f9bf 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -2762,17 +2762,17 @@ Uporaba ni priporočljiva. Souporaba z uporabniki ali skupinami ... - + Copy link - + No results for '%1' Ni zadetkov za '%1' - + I shared something with you @@ -2790,22 +2790,22 @@ Uporaba ni priporočljiva. lahko ureja - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_sr.ts b/translations/client_sr.ts index 4c0284d87..49f3bb858 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -2773,17 +2773,17 @@ It is not advisable to use it. Дели са корисницима или групама... - + Copy link Копирај везу - + No results for '%1' Нема резултата за '%1' - + I shared something with you Поделио сам нешто са Вама @@ -2801,22 +2801,22 @@ It is not advisable to use it. може да мења - + Can reshare Може да дели даље - + Can create Може да креира унутар дељења - + Can change Може да мења садржај унутар дељења - + Can delete Може да брише садржај унутар дељења diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 1f7febadc..1ebe701f5 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -2773,17 +2773,17 @@ Det är inte lämpligt använda den. Dela med användare eller grupper ... - + Copy link Kopiera länk - + No results for '%1' Inga resultat för '%1' - + I shared something with you Jag delade något med dig @@ -2801,22 +2801,22 @@ Det är inte lämpligt använda den. kan redigera - + Can reshare Kan dela vidare - + Can create Kan skapa - + Can change Kan ändra - + Can delete Kan radera diff --git a/translations/client_th.ts b/translations/client_th.ts index 0283268fc..d356252d4 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -2762,17 +2762,17 @@ It is not advisable to use it. แชร์กับผู้ใช้หรือกลุ่ม ... - + Copy link - + No results for '%1' ไม่มีผลลัพธ์สำหรับ '%1' - + I shared something with you ฉันแชร์บางอย่างกับคุณ @@ -2790,22 +2790,22 @@ It is not advisable to use it. สามารถแก้ไข - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_tr.ts b/translations/client_tr.ts index 11953a1b9..0634f6586 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -2772,17 +2772,17 @@ Kullanmanız önerilmez. Kullanıcı ya da gruplarla paylaş... - + Copy link Bağlantıyı kopyala - + No results for '%1' '%1' için bir sonuç bulunamadı - + I shared something with you Sizinle bir şey paylaştım @@ -2800,22 +2800,22 @@ Kullanmanız önerilmez. düzenleyebilir - + Can reshare Yeniden paylaşabilsin - + Can create Ekleyebilsin - + Can change Değiştirebilsin - + Can delete Silebilsin diff --git a/translations/client_uk.ts b/translations/client_uk.ts index c842ce266..3d1065018 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -2753,17 +2753,17 @@ It is not advisable to use it. Поширити серед користувачів або груп ... - + Copy link Скопіювати посилання - + No results for '%1' Відсутні результати для '%1' - + I shared something with you Я поділився з вами документами @@ -2781,22 +2781,22 @@ It is not advisable to use it. може редагувати - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index 5d457a279..317062e7f 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -2771,17 +2771,17 @@ It is not advisable to use it. 共享给其他用户或组 ... - + Copy link 复制链接 - + No results for '%1' 没有 '%1' 相关结果 - + I shared something with you 我向您共享了一些东西 @@ -2799,22 +2799,22 @@ It is not advisable to use it. 可编辑 - + Can reshare 可以再分享 - + Can create 可以创建 - + Can change 可以修改 - + Can delete 可以删除 diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index 87349c03c..9b05e4b53 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -2756,17 +2756,17 @@ It is not advisable to use it. 與用戶或群組分享 ... - + Copy link - + No results for '%1' '%1' 沒有結果 - + I shared something with you @@ -2784,22 +2784,22 @@ It is not advisable to use it. 可編輯 - + Can reshare - + Can create - + Can change - + Can delete From eb28fe99902b11929057f1c9a28f46d63f455c4c Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 29 May 2019 02:56:09 +0000 Subject: [PATCH 041/192] [tx-robot] updated from transifex --- translations/client_pl.ts | 4 ++-- translations/client_pt.ts | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/translations/client_pl.ts b/translations/client_pl.ts index d317f066d..807cccf09 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -2844,7 +2844,7 @@ Niezalecane jest jego użycie. SSL Cipher Debug View - + Widok debugowania szyfrowania SSL @@ -3409,7 +3409,7 @@ Niezalecane jest jego użycie. The host "%1" provided an invalid certificate. Continue? - + Host "%1" podał nieprawidłowy certyfikat. Kontynuować? diff --git a/translations/client_pt.ts b/translations/client_pt.ts index b6beb897c..6f18fdc59 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -840,7 +840,7 @@ Please go in the settings to select it if you wish to download it. - Por favor, vá às configurações para a selecionar se a desejar transferir. + Por favor, vá às definições para a selecionar, se desejar transferi-la. @@ -872,12 +872,12 @@ If you decide to delete the files, they will be unavailable to you, unless you a Download new files? - + Transferir novos ficheiros? Download new files - + Transferir novos ficheiros @@ -1648,7 +1648,7 @@ Logs will be written to %1 <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á disponível uma nova versão do Cliente %1.</p><p><b>%2</b> está disponível para transferência. A versão instalada é a %3.</p> + <p>Está disponível uma nova versão do Cliente %1.</p><p><b>%2</b> está disponível para transferência. A versão instalada é %3.</p> @@ -4018,7 +4018,7 @@ Não é aconselhada a sua utilização. Server version downloaded, copied changed local file into conflict file - A versão do servidor transferida, o ficheiro local alterado foi copiado para o ficheiro de conflito + A versão transferida do servidor, o ficheiro local alterado foi copiado para o ficheiro de conflito @@ -4059,7 +4059,7 @@ Não é aconselhada a sua utilização. downloading - A transferir + a transferir From f4340b98cebd2b5fc58a06ec6b8666698481b4fc Mon Sep 17 00:00:00 2001 From: ivyclare Date: Wed, 29 May 2019 00:07:22 +0300 Subject: [PATCH 042/192] Unshare action transferred to 3 dot menu Signed-off-by: ivyclare --- src/gui/shareusergroupwidget.cpp | 21 +++++++++++---------- src/gui/shareusergroupwidget.h | 1 + src/gui/shareuserline.ui | 10 +--------- 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/gui/shareusergroupwidget.cpp b/src/gui/shareusergroupwidget.cpp index d576b1edb..28e180e03 100644 --- a/src/gui/shareusergroupwidget.cpp +++ b/src/gui/shareusergroupwidget.cpp @@ -202,7 +202,6 @@ void ShareUserGroupWidget::slotSharesFetched(const QList> connect(s, &ShareUserLine::visualDeletionDone, this, &ShareUserGroupWidget::getShares); s->setBackgroundRole(layout->count() % 2 == 0 ? QPalette::Base : QPalette::AlternateBase); layout->addWidget(s); - s->setVisible(true); x++; if (x <= 3) { @@ -368,6 +367,15 @@ ShareUserLine::ShareUserLine(QSharedPointer share, menu->addAction(_permissionReshare); connect(_permissionReshare, &QAction::triggered, this, &ShareUserLine::slotPermissionsChanged); + menu->addSeparator(); + + // Adds action to delete share widget + QIcon deleteicon = QIcon::fromTheme(QLatin1String("user-trash"),QIcon(QLatin1String(":/client/resources/delete.png"))); + _deleteShareButton= new QAction(deleteicon,tr("Unshare"), this); + + menu->addAction(_deleteShareButton); + connect(_deleteShareButton, &QAction::triggered, this, &ShareUserLine::on_deleteShareButton_clicked); + /* * Files can't have create or delete permissions */ @@ -414,20 +422,13 @@ ShareUserLine::ShareUserLine(QSharedPointer share, connect(share.data(), &Share::permissionsSet, this, &ShareUserLine::slotPermissionsSet); connect(share.data(), &Share::shareDeleted, this, &ShareUserLine::slotShareDeleted); - _ui->deleteShareButton->setIcon(QIcon::fromTheme(QLatin1String("user-trash"), - QIcon(QLatin1String(":/client/resources/delete.png")))); + // _ui->deleteShareButton->setIcon(QIcon::fromTheme(QLatin1String("user-trash"), + // QIcon(QLatin1String(":/client/resources/delete.png")))); if (!share->account()->capabilities().shareResharing()) { _permissionReshare->setVisible(false); } - //If the initiator is not you. And the recipient is not you. Show it without any options. - if(share->account()->id() != share->getId() && share->account()->davUser() != share->getShareWith()->shareWith()){ - _ui->permissionsEdit->hide(); - _ui->permissionToolButton->hide(); - _ui->deleteShareButton->hide(); - } - loadAvatar(); } diff --git a/src/gui/shareusergroupwidget.h b/src/gui/shareusergroupwidget.h index be1e3c111..a1f537f05 100644 --- a/src/gui/shareusergroupwidget.h +++ b/src/gui/shareusergroupwidget.h @@ -148,6 +148,7 @@ private: // _permissionEdit is a checkbox QAction *_permissionReshare; + QAction *_deleteShareButton; QAction *_permissionCreate; QAction *_permissionChange; QAction *_permissionDelete; diff --git a/src/gui/shareuserline.ui b/src/gui/shareuserline.ui index 0de300930..d586ef161 100644 --- a/src/gui/shareuserline.ui +++ b/src/gui/shareuserline.ui @@ -91,15 +91,7 @@ - - - - - .. - - - - + From 4cd7095a40697bf950e28610efa64a0159d21e44 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 30 May 2019 02:46:02 +0000 Subject: [PATCH 043/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_pt.ts | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_pt.ts b/translations/client_pt.ts index 6f18fdc59..b6c122869 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -776,7 +776,7 @@ %1 and %n other file(s) have been downloaded. - %1 e %n outro ficheiro foram transferidos.%1 e %n outros ficheiros foram transferidos. + %1 e %n outro ficheiro foi transferido.%1 e %n outros ficheiros foram transferidos. @@ -2262,7 +2262,7 @@ Não é aconselhada a sua utilização. The download would reduce free local disk space below the limit - + A transferência iria reduzir o espaço livre local acima do limite @@ -3143,7 +3143,7 @@ Não é aconselhada a sua utilização. Conflict: Server version downloaded, local copy renamed and not uploaded. - + Conflito: versão do servidor transferida, cópia local renomeada e não enviada. From 4aa2e2e8c3f4ef6d680e906d0798dd59b2e9811a Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 1 Jun 2019 02:46:48 +0000 Subject: [PATCH 044/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 +-- translations/client_sk.ts | 62 +++++++++++---------- 2 files changed, 37 insertions(+), 33 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_sk.ts b/translations/client_sk.ts index 5a19390da..bcc569ce3 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -194,7 +194,7 @@ To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). - + Aby sme chránili vašu kryptografickú identitu, zašifrujeme ju pomocou mnemotechnického pomeru 12 slov slovníka. Poznačte si ich a uschovajte ich. Budú potrebné na pridanie ďalších zariadení do vášho účtu (napríklad mobilného telefónu alebo notebooku). @@ -274,7 +274,7 @@ Show E2E mnemonic - + Zobaziť E2E mnemotechnické @@ -665,7 +665,7 @@ Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Zadajte svoju prístupovú frázu pre šifrovanie medzi koncovými bodmi: <br><br>Používateľ: %2<br>Účet: %3<br> @@ -719,7 +719,7 @@ The server file discovery reply is missing data. - + V odpovedi zo servera na objavovanie súboru chýbajú dáta. @@ -840,17 +840,17 @@ Please go in the settings to select it if you wish to download it. - + Ak si to prajete prevziať, tak prejdite do nastavení a vyberte to. The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + Priečinok %1 bol vytvorený, ale bol už skôr vylúčený zo synchronizácie. Nebude preto synchronizovaný. The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Súbor %1 bol vytvorený, ale bol už skôr vylúčený zo synchronizácie. Nebude preto synchronizovaný. @@ -859,7 +859,11 @@ This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). %1 - + Zmeny v synchronizovaných priečinkoch nebolo možné spoľahlivo sledovať. + +To znamená, že klient synchronizácie nemusí okamžite odovzdať lokálne zmeny a namiesto toho bude len vyhľadávať miestne zmeny a odovzdávať len príležitostne (štandardne každé dve hodiny) . + +% 1 @@ -1006,17 +1010,17 @@ Continuing the sync as normal will cause all your files to be overwritten by an There is already a sync from the server to this local folder. Please pick another local folder! - + Do tohto lokálneho priečinka sa už synchronizuje. Vyberte prosím iný priečinok. The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! - + Lokálny priečinok %1  už obsahuje podpriečinok použitý pre synchronizáciu. Vyberte prosím iný priečinok. The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! - + Lokálny priečinok %1 už obsahuje podpriečinok použitý pre synchronizáciu. Vyberte prosím iný priečinok. @@ -1047,7 +1051,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Click this button to add a folder to synchronize. - + Kliknutím na toto tlačidlo pridáte priečinok na synchronizáciu. @@ -1187,7 +1191,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an This problem usually happens when the inotify watches are exhausted. Check the FAQ for details. - + Obvykle k tomuto problému prichádza vtedy, keď sa prekročia kapacity sledovania zmien na súborovom systéme (inotify). Podrobnosti nájdete v často kladených otázkach FAQ. @@ -1371,7 +1375,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Show sync folders in &Explorer's Navigation Pane - + Zobraziť synchronizované priečinky v paneli navigáci&e Prieskumníka @@ -1547,12 +1551,12 @@ Položky u ktorých je povolené mazanie sa vymažú ak by bránili odstráneniu <p>Copyright 2017-2018 Nextcloud GmbH<br />Copyright 2012-2018 ownCloud GmbH</p> - + <p>Copyright 2017-2018 Nextcloud GmbH<br />Copyright 2012-2018 ownCloud GmbH</p> <p>Licensed under the GNU General Public License (GPL) Version 2.0 or any later version.</p> - + <p>Licencované pod GNU General Public LIcense (GPL) verzie 2.0 alebo akejkoľvek vyššej.</p> @@ -1575,12 +1579,12 @@ Položky u ktorých je povolené mazanie sa vymažú ak by bránili odstráneniu &Capture debug messages - + &Zachytávať ladiace správy Permanently save logs - + Ukladať záznamy udalostí trvalo @@ -1794,7 +1798,7 @@ Logs will be written to %1 The reply from the server did not contain all expected fields - + Odpoveď zo servera neobsahovala všetky očakávané polia @@ -1839,12 +1843,12 @@ môžu byť vyžadované dodatočné oprávnenia. %1 version %2 available. Restart application to start the update. - + Je dostupná %1 verzie %2. Pre spustenie aktualizácie reštartujte aplikáciu. New %1 version %2 available. Please use the system's update tool to install it. - + Je dostupná nová %1 verzia %2. Pre inštaláciu použite systémového správcu aktualizácií. @@ -1897,7 +1901,7 @@ môžu byť vyžadované dodatočné oprávnenia. <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> - + <p><small><strong>Varovanie:</strong> Lokálny priečion nie je prázdny. Vyberte ďalší postup</small></p> @@ -2252,7 +2256,7 @@ Nie je vhodné ju používať. File %1 can not be downloaded because encryption information is missing. - + Súbor %1 nie je možné prevziať, pretože chýbajú informácie o šifrovaní. @@ -2282,7 +2286,7 @@ Nie je vhodné ju používať. The downloaded file is empty despite that the server announced it should have been %1. - + Prebratý súbor je prázdny napriek tomu, že server oznámil, že mal mať %1. @@ -3259,7 +3263,7 @@ Nie je vhodné ju používať. Filename contains trailing spaces. - + Názov súboru obsahuje medzery na konci. @@ -3279,7 +3283,7 @@ Nie je vhodné ju používať. Stat failed. - + Nepodarilo sa získať informácie o súbore. @@ -3294,7 +3298,7 @@ Nie je vhodné ju používať. Unable to read the blacklist from the local database - + Nepodarilo sa načítať čiernu listinu z miestnej databázy @@ -3398,7 +3402,7 @@ Nie je vhodné ju používať. The host "%1" provided an invalid certificate. Continue? - + Hostiteľ "%1" poskytol neplatný certifikát. Chcete pokračovať? @@ -3514,7 +3518,7 @@ Nie je vhodné ju používať. Disconnected from some accounts - + Odpojené od niektorých účtov From 6a294bb4a054960ee45fe175c1810d5125550834 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 3 Jun 2019 02:46:03 +0000 Subject: [PATCH 045/192] [tx-robot] updated from transifex --- translations/client_sk.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/client_sk.ts b/translations/client_sk.ts index bcc569ce3..17c8519ba 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -2322,7 +2322,7 @@ Nie je vhodné ju používať. could not delete file %1, error: %2 - + nie je možné vymazať súbor %1, chyba: %2 From aa5b62c9310c0bcfed2c4a1d7b8983643a3d950b Mon Sep 17 00:00:00 2001 From: Camila Ayres Date: Mon, 3 Jun 2019 17:42:29 +0200 Subject: [PATCH 046/192] Add comment to Github issue_template.md. Minor change: removes some item e.g. PHP version that are not relevant to the client. --- .github/issue_template.md | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/.github/issue_template.md b/.github/issue_template.md index 6238a82ba..7bcd37e0a 100644 --- a/.github/issue_template.md +++ b/.github/issue_template.md @@ -1,9 +1,14 @@ - - + ### Expected behaviour Tell us what should happen @@ -18,6 +23,11 @@ Tell us what happens instead ### Client configuration Client version: + Operating system: @@ -34,15 +44,6 @@ Installation path of client: - -Operating system: - -Web server: - -Database: - -PHP version: - Nextcloud version: Storage backend (external storage): @@ -52,8 +53,6 @@ Storage backend (external storage): Please use Gist (https://gist.github.com/) or a similar code paster for longer logs. -```Template for output < 10 lines``` - 1. Client logfile: Output of `nextcloud --logwindow` or `nextcloud --logfile log.txt` (On Windows using `cmd.exe`, you might need to first `cd` into the Nextcloud directory) (See also https://docs.nextcloud.com/desktop/2.3/troubleshooting.html#log-files) From 57fc438b91feb4956cf0157326075fd5e61a4fd3 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 4 Jun 2019 02:47:14 +0000 Subject: [PATCH 047/192] [tx-robot] updated from transifex --- translations/client_bg.ts | 126 +++++++++++++++++++---------------- translations/client_ca.ts | 126 +++++++++++++++++++---------------- translations/client_cs.ts | 126 +++++++++++++++++++---------------- translations/client_da.ts | 126 +++++++++++++++++++---------------- translations/client_de.ts | 126 +++++++++++++++++++---------------- translations/client_el.ts | 126 +++++++++++++++++++---------------- translations/client_en.ts | 126 +++++++++++++++++++---------------- translations/client_en_GB.ts | 126 +++++++++++++++++++---------------- translations/client_eo.ts | 126 +++++++++++++++++++---------------- translations/client_es.ts | 126 +++++++++++++++++++---------------- translations/client_es_AR.ts | 126 +++++++++++++++++++---------------- translations/client_es_CL.ts | 126 +++++++++++++++++++---------------- translations/client_es_CO.ts | 126 +++++++++++++++++++---------------- translations/client_es_CR.ts | 126 +++++++++++++++++++---------------- translations/client_es_DO.ts | 126 +++++++++++++++++++---------------- translations/client_es_EC.ts | 126 +++++++++++++++++++---------------- translations/client_es_GT.ts | 126 +++++++++++++++++++---------------- translations/client_es_HN.ts | 126 +++++++++++++++++++---------------- translations/client_es_MX.ts | 126 +++++++++++++++++++---------------- translations/client_es_SV.ts | 126 +++++++++++++++++++---------------- translations/client_et.ts | 126 +++++++++++++++++++---------------- translations/client_eu.ts | 126 +++++++++++++++++++---------------- translations/client_fa.ts | 126 +++++++++++++++++++---------------- translations/client_fi.ts | 126 +++++++++++++++++++---------------- translations/client_fr.ts | 126 +++++++++++++++++++---------------- translations/client_gl.ts | 126 +++++++++++++++++++---------------- translations/client_he.ts | 126 +++++++++++++++++++---------------- translations/client_hu.ts | 126 +++++++++++++++++++---------------- translations/client_is.ts | 126 +++++++++++++++++++---------------- translations/client_it.ts | 126 +++++++++++++++++++---------------- translations/client_ja.ts | 126 +++++++++++++++++++---------------- translations/client_lt_LT.ts | 126 +++++++++++++++++++---------------- translations/client_lv.ts | 126 +++++++++++++++++++---------------- translations/client_nb_NO.ts | 126 +++++++++++++++++++---------------- translations/client_nl.ts | 126 +++++++++++++++++++---------------- translations/client_pl.ts | 126 +++++++++++++++++++---------------- translations/client_pt.ts | 126 +++++++++++++++++++---------------- translations/client_pt_BR.ts | 126 +++++++++++++++++++---------------- translations/client_ru.ts | 126 +++++++++++++++++++---------------- translations/client_sk.ts | 126 +++++++++++++++++++---------------- translations/client_sl.ts | 126 +++++++++++++++++++---------------- translations/client_sr.ts | 126 +++++++++++++++++++---------------- translations/client_sv.ts | 126 +++++++++++++++++++---------------- translations/client_th.ts | 126 +++++++++++++++++++---------------- translations/client_tr.ts | 126 +++++++++++++++++++---------------- translations/client_uk.ts | 126 +++++++++++++++++++---------------- translations/client_zh_CN.ts | 126 +++++++++++++++++++---------------- translations/client_zh_TW.ts | 126 +++++++++++++++++++---------------- 48 files changed, 3264 insertions(+), 2784 deletions(-) diff --git a/translations/client_bg.ts b/translations/client_bg.ts index 0223f0021..57d3790c0 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ - + ... ... - + Storage space: ... Дисково пространство: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Не маркирани папки ще бъдат <b>премахнати</b> от локалната файлова система и няма да бъдат синхронизирани на този компютър повече - + Synchronize all Синхронизирай всички - + Synchronize none Без синхронизиране - + Apply manual changes Потвърди ръчните промени - + Apply Приложи - - - + + + Cancel Отказ - + Connected with <server> as <user> Свързан с <server>, като <user> @@ -257,209 +257,219 @@ Няма настроен профил. - + Add new Добави нов - + Remove Премахни - + Account Профил - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync Избор на елементи за синхронизиране - + Force sync now Синхронизирай сега - + Restart sync Рестартирай синхронизирането - + Remove folder sync connection Премахни синхронизирането - + Folder creation failed Създаването на папката се провали - + <p>Could not create local folder <i>%1</i>. <p>Локалната папка <i>%1</i>не може да бъде създадена. - + Confirm Folder Sync Connection Removal Потвърждаване за премахване на синхронизация - + Remove Folder Sync Connection Премахни - + Sync Running Синхронизират се файлове - + The syncing operation is running.<br/>Do you want to terminate it? В момента се извършва синхронизиране.<br/>Да бъде ли прекратено? - + %1 in use Ползвате %1 - + %1 as <i>%2</i> %1 като <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Сървърът е версия %1 - стара и неподдържана! Можете . - + Connected to %1. Осъществена връзка с %1. - + Server %1 is temporarily unavailable. Сървърът %1 е временно недостъпен. - + Server %1 is currently in maintenance mode. Сървърът %1 е в режим на поддръжка. - + Signed out from %1. Отписан от %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Извършва се оторизация от браузъра. <a href='%1'>Кликнете тук</a> за да отворите отново браузъра. - + Connecting to %1... Свързване към %1... - + No connection to %1 at %2. Не може да се осъществи връзка като %1 с %2. - + Log in Вписване - + There are folders that were not synchronized because they are too big: Някои папки не са синхронизирани защото са твърде големи: - + There are folders that were not synchronized because they are external storages: Има папки, които не са синхронизирани защото са външни хранилища: - + There are folders that were not synchronized because they are too big or external storages: Има папки, които не са синхронизирани защото са твърде големи или са външни хранилища: - + Confirm Account Removal Потвърждение за премахване на профил - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Наистина ли желаете да премахнете връзката към профила <i>%1</i>?</p><p><b>Бележка:</b> Дейтствието <b>няма</b> да предизвика изтриване на файлове.</p> - + Remove connection Премахни връзката - - + + Open folder Отвори папката - - + + Log out Отписване - + Resume sync Продължи синхронизирането - + Pause sync Пауза - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Наистина ли желаете да премахнете синхронизирането на папката<i>%1</i>?</p><p><b>Бележка:</b> Действието <b>няма</b> да предизвика изтриване на файлове.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. Ползвате %1 (%3%) от %2. Някои папки, включително монтирани по мрежата или споделени може да имат различни лимити. - + %1 of %2 in use Ползвате %1 от %2 - + Currently there is no storage usage information available. В момента няма достъпна информация за използването на хранилището. - + No %1 connection configured. Няма %1 конфигурирана връзка. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_ca.ts b/translations/client_ca.ts index 5434f06fc..72a27050c 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic Xifratge amb mnemotècnica de punt a punt - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). Per protegir la vostra identitat Criptogràfica, ho encriptarem amb una mnemotècnica de 12 paraules de diccionari. Si us plau, anoteu-les i deseu-les a un lloc segur. Aquestes paraules us seran necessàries per afegir altres dispositius al vostre compte (com ara telèfons mòbils o portàtils). @@ -205,49 +205,49 @@ Formulari - + ... ... - + Storage space: ... Espai d'emmagatzematge: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Les carpetes desmarcades <b>se suprimirian</b> del vostre sistema de fitxers local i ja no es sincronitzaran en aquest ordinador - + Synchronize all Sincronitza-ho tot - + Synchronize none No sincronitzis res - + Apply manual changes Aplica els canvis manuals - + Apply Aplica - - - + + + Cancel Cancel·la - + Connected with <server> as <user> Connectat amb <server> com a <user> @@ -257,209 +257,219 @@ No hi ha cap compte configurat - + Add new Afegeix-ne un de nou - + Remove Suprimeix - + Account Compte - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Mostra la mnemotècnica Punt-a-Punt - + Encrypt Xifra - + Choose what to sync Trieu què voleu sincronitzar - + Force sync now Força la sincronització ara - + Restart sync Reinicia la sincronització - + Remove folder sync connection Suprimeix la connexió de la carpeta sincronitzada - + Folder creation failed Ha fallat la creació de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No s'ha pogut crear la carpeta local <i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmeu la supressió de la connexió de la carpeta sincronitzada - + Remove Folder Sync Connection Suprimeix la connexió de la carpeta sincronitzada - + Sync Running S'està sincronitzant - + The syncing operation is running.<br/>Do you want to terminate it? S'està sincronitzant.<br/>Voleu aturar-ho? - + %1 in use %1 en ús - + %1 as <i>%2</i> %1 com a <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. La versió del servidor %1 és antiga i fora de suport! Continueu sota la vostra responsabilitat. - + Connected to %1. Connectat a %1 - + Server %1 is temporarily unavailable. El servidor %1 no està temporalment disponible - + Server %1 is currently in maintenance mode. El servidor %1 es troba en mode de manteniment. - + Signed out from %1. S'ha desconnectat de %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. S'està obtenint autorització des del navegador. <a href='%1'>feu clic aquí</a> per tornar a obrir el navegador. - + Connecting to %1... S'està connectant amb %1... - + No connection to %1 at %2. No hi ha connexió amb %1 a %2. - + Log in Inici de sessió - + There are folders that were not synchronized because they are too big: Hi ha carpetes que no s'han sincronitzat perquè són massa grans: - + There are folders that were not synchronized because they are external storages: Hi ha carpetes que no s'han sincronitzat perquè són fonts d'emmagatzematge externes: - + There are folders that were not synchronized because they are too big or external storages: Hi ha carpetes que no s'han sincronitzat perquè són massa grans o són fonts d'emmagatzematge externes: - + Confirm Account Removal Confirmeu la supressió del compte - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Segur que voleu suprimir la connexió al compte <i>%1</i>?</p><p><b>Nota:</b> això <b>no</b> suprimirà cap fitxer.</p> - + Remove connection Suprimeix la connexió - - + + Open folder Obre la carpeta - - + + Log out Surt - + Resume sync Continua la sincronització - + Pause sync Pausa la sincronització - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Segur que voleu aturar la sincronització de la carpeta <i>%1</i>?</p><p><b>Nota:</b> això <b>no</b> suprimirà cap fitxer.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en ús. Algunes carpetes, incloent les carpetes muntades a través de xarxa o les compartides, poden tenir límits diferents. - + %1 of %2 in use %1 de %2 en ús - + Currently there is no storage usage information available. Actualment no hi ha informació disponible de l'ús d'emmagatzematge. - + No %1 connection configured. La connexió %1 no està configurada. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Si us plau, introduïu la contrasenya d'encriptació punt a punt: <br><br>Usuari: %2<br>Compte: %3<br> - + Enter E2E passphrase Introduïu la contrasenya Punt-a-Punt diff --git a/translations/client_cs.ts b/translations/client_cs.ts index b00a0ea11..46596d412 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic Mnemonická šifrování mezi koncovými body - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). Pro ochranu vaší kryptografické identity ji šifrujeme pomocí mnemonické 12 slovy ze slovníku. Poznamenejte si je někam bezpečně. Budou potřebné pro přidání dalších zařízení k vašemu účtu (jako je mobilní telefon či notebook). @@ -205,49 +205,49 @@ Formulář - + ... - + Storage space: ... Prostor úložiště: … - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Neoznačené složky budou <b>odstraněny</b> z místního souborového systému a nebudou už synchronizovány na tento počítač - + Synchronize all Synchronizovat vše - + Synchronize none Nic nesynchronizovat - + Apply manual changes Použít manuální úpravy - + Apply Použít - - - + + + Cancel Zrušit - + Connected with <server> as <user> Připojen k <server> jako <user> @@ -257,209 +257,219 @@ Žádný účet nenastaven. - + Add new Přidat nový - + Remove Odebrat - + Account Účet - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Zobrazit E2E mnemotechnickou - + Encrypt Šífrovat - + Choose what to sync Vybrat co sesynchronizovat - + Force sync now Vynutit synchronizaci nyní - + Restart sync Restartovat synchronizaci - + Remove folder sync connection Odstranit připojení synchronizace složky - + Folder creation failed Vytvoření složky se nezdařilo - + <p>Could not create local folder <i>%1</i>. <p>Nedaří se vytvořit místní složku <i>%1</i>. - + Confirm Folder Sync Connection Removal Potvrdit odstranění připojení synchronizace složky - + Remove Folder Sync Connection Odstranit připojení synchronizace adresáře - + Sync Running Synchronizace probíhá - + 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 in use %1 používaný - + %1 as <i>%2</i> %1 jako <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Server verze %1 je zastaralý a nepodporovaný! Pokračujte na vlastní riziko. - + Connected to %1. Připojeno k %1. - + Server %1 is temporarily unavailable. Server %1 je dočasně nedostupný. - + Server %1 is currently in maintenance mode. server %1 je v režimu údržby. - + Signed out from %1. Odhlášeno z %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Získávání autorizace z prohlížeče. <a href='%1'>Klikněte zde</a> pro opětovné otevření prohlížeče. - + Connecting to %1... Připojeno k %1… - + No connection to %1 at %2. Bez připojení k %1 na %2. - + Log in Přihlásit - + There are folders that were not synchronized because they are too big: Tyto složky nebyly synchronizovány, protože jsou příšliš velké: - + There are folders that were not synchronized because they are external storages: Tyto složky nebyly synchronizovány, protože se nachází na externím úložišti: - + There are folders that were not synchronized because they are too big or external storages: Tyto složky nebyly synchronizovány, protože jsou příliš velké, nebo se nachází na externím úložišti: - + Confirm Account Removal Potvrdit odstranění účtu - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Opravdu chcete odstranit připojení k účtu <i>%1</i>?</p><p><b>Poznámka:</b> Toto <b>neodstraní</b> žádné soubory.</p> - + Remove connection Odstranit připojení - - + + Open folder Otevřít složku - - + + Log out Odhlásit se - + Resume sync Pokračovat v synchronizaci - + Pause sync Pozastavit synchronizaci - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Opravdu chcete zastavit synchronizaci adresáře <i>%1</i>?</p><p><b>Poznámka:</b> Toto <b>neodstraní</b> žádné soubory.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. Používaných %1 (%3%) z %2. Některé adresáře včetně připojených síťových nebo sdílených adresářů mohou mít odlišné limity. - + %1 of %2 in use Používaných %1 z %2 - + Currently there is no storage usage information available. Momentálně nejsou k dispozici žádné informace o využití úložiště. - + No %1 connection configured. Nenastaveno žádné spojení s %1. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Zadejte heslovou frázi pro šifrování mezi koncovými body: <br><br>Uživatel: %2<br>Účet: %3<br> - + Enter E2E passphrase Zadejte E2E heslovou frázi diff --git a/translations/client_da.ts b/translations/client_da.ts index a5ffcda0f..d24da4b91 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ - + ... ... - + Storage space: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - + Synchronize all Synkroniser alt - + Synchronize none Synkroniser ingen - + Apply manual changes Anvend manuelle ændringer - + Apply Anvend - - - + + + Cancel Annuller - + Connected with <server> as <user> Forbundet med <server> som <user> @@ -257,209 +257,219 @@ Ingen konto konfigureret. - + Add new Tilføj ny - + Remove Fjern - + Account Konto - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic vis E2E huskeregel - + Encrypt Krypter - + Choose what to sync Vælg hvad der skal synkroniseres - + Force sync now Gennemtving synkronisering nu - + Restart sync Genstart synkronisering - + Remove folder sync connection Fjern mappesynkroniseringsforbindelse - + Folder creation failed Fejl ved oprettelse af mappe - + <p>Could not create local folder <i>%1</i>. - + Confirm Folder Sync Connection Removal - + Remove Folder Sync Connection - + Sync Running Synkronisering i gang - + The syncing operation is running.<br/>Do you want to terminate it? - + %1 in use - + %1 as <i>%2</i> %1 som <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. - + Connected to %1. Forbundet til %1. - + Server %1 is temporarily unavailable. - + Server %1 is currently in maintenance mode. - + Signed out from %1. Logget ud fra %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... Forbinder til %1… - + No connection to %1 at %2. - + Log in Log ind - + There are folders that were not synchronized because they are too big: - + There are folders that were not synchronized because they are external storages: - + There are folders that were not synchronized because they are too big or external storages: - + Confirm Account Removal - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection Fjern forbindelse - - + + Open folder Åbn mappe - - + + Log out Log ud - + Resume sync Genoptag synkronisering - + Pause sync Paus synkronisering - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. - + %1 of %2 in use %1 af %2 er i brug - + Currently there is no storage usage information available. - + No %1 connection configured. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase Indtast E2E kodeord diff --git a/translations/client_de.ts b/translations/client_de.ts index 53c1ee9c0..e2e1f5106 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic Gedächtnisstütze für Ende-zu-Ende Verschlüsselung - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). Um Ihre kryptografische Identität zu schützen, verschlüsseln wir sie mit einer Gedächtnisstütze von 12 Wörterbuchwörtern. Bitte notieren Sie sich diese und bewahren Sie sie auf. Sie werden benötigt, um Ihrem Konto weitere Geräte hinzuzufügen (z. B. Ihr Mobiltelefon oder Laptop). @@ -205,49 +205,49 @@ Formular - + ... ... - + Storage space: ... Speicherplatz: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Nicht markierte Ordner werden von Ihrem lokalen Dateisystem <b>entfernt</b> und werden auch nicht mehr auf diesem Rechner synchronisiert - + Synchronize all Alles synchronisieren - + Synchronize none Nichts synchronisieren - + Apply manual changes Manuelle Änderungen übernehmen - + Apply Anwenden - - - + + + Cancel Abbrechen - + Connected with <server> as <user> Verbunden mit <server> als <user> @@ -257,209 +257,219 @@ Kein Konto konfiguriert. - + Add new Neues Konto hinzufügen - + Remove Entfernen - + Account Benutzerkonto - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Gedächtnisstütze für E2E anzeigen - + Encrypt Verschlüsseln - + Choose what to sync Zu synchronisierende Elemente auswählen - + Force sync now Synchronisierung jetzt erzwingen - + Restart sync Synchronisierung neustarten - + Remove folder sync connection Ordner-Synchronisierung entfernen - + Folder creation failed Anlegen des Ordners fehlgeschlagen - + <p>Could not create local folder <i>%1</i>. <p>Konnte lokalen Ordner <i>%1</i> nicht anlegen. - + Confirm Folder Sync Connection Removal Bestätigen Sie die Löschung der Ordner-Synchronisierung - + Remove Folder Sync Connection Ordner-Synchronisierung entfernen - + Sync Running Synchronisierung läuft - + The syncing operation is running.<br/>Do you want to terminate it? Die Synchronisierung läuft gerade.<br/>Wollen Sie sie beenden? - + %1 in use %1 wird verwendet - + %1 as <i>%2</i> %1 als <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Die Serverversion %1 ist veraltet und wird nicht mehr unterstützt! Fortfahren auf eigenes Risiko. - + Connected to %1. Verbunden mit %1. - + Server %1 is temporarily unavailable. Server %1 ist derzeit nicht verfügbar. - + Server %1 is currently in maintenance mode. Server %1 befindet sich im Wartungsmodus. - + Signed out from %1. Abgemeldet von %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Berechtigung vom Browser einholen. <a href='%1'> KlickenSie hier </a>, um den Browser erneut zu öffnen. - + Connecting to %1... Verbinde mit %1 ... - + No connection to %1 at %2. Keine Verbindung zu %1 auf %2 - + Log in Einloggen - + There are folders that were not synchronized because they are too big: Einige Verzeichnisse konnten nicht synchronisiert werden, da sie zu groß sind: - + There are folders that were not synchronized because they are external storages: Es gibt Verzeichnisse, die nicht synchronisiert werden konnten, da sie externe Speicher sind: - + There are folders that were not synchronized because they are too big or external storages: Es gibt Verzeichnisse, die nicht synchronisiert werden konnten, da sie zu groß oder externe Speicher sind: - + Confirm Account Removal Konto wirklich entfernen? - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Wollen Sie wirklich die Verbindung zum Konto <i>%1</i> lösen?</p><p><b>Anmerkung:</b> Dieser Vorgang wird <b>keine</b> Dateien löschen.</p> - + Remove connection Verbindung entfernen - - + + Open folder Ordner öffnen - - + + Log out Abmelden - + Resume sync Synchronisierung fortsetzen - + Pause sync Synchronisierung pausieren - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Möchten Sie den Ordner <i>%1</i> wirklich nicht mehr synchronisieren?</p><p><b>Anmerkung:</b> Dies wird <b>keine</b> Dateien löschen.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) von %2 Serverkapazität verwendet. Einige Ordner, einschließlich über das Netzwerk verbundene oder geteilte Ordner, können unterschiedliche Beschränkungen aufweisen. - + %1 of %2 in use %1 von %2 Serverkapazität verwendet - + Currently there is no storage usage information available. Derzeit sind keine Speichernutzungsinformationen verfügbar. - + No %1 connection configured. Keine %1-Verbindung konfiguriert. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Geben Sie Ihre Passphrase für Ende-zu-Ende-Verschlüsselung ein:<br><br>Benutzer: %2<br>Konto: %3<br> - + Enter E2E passphrase E2E-Passphrase eingeben diff --git a/translations/client_el.ts b/translations/client_el.ts index d9f5dec24..84a6d8748 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Φόρμα - + ... ... - + Storage space: ... Χώρος αποθήκευσης: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Οι μη επιλεγμένοι φάκελοι θα <b>αφαιρεθούν</ b> από το τοπικό σύστημα αρχείων σας και δεν θα συγχρονιστούν πια με αυτόν τον υπολογιστή - + Synchronize all Συγχρονισμός όλων - + Synchronize none Κανένας συγχρονισμός - + Apply manual changes Χειροκίνητη αλλαγή εφαρμογών - + Apply Εφαρμογή - - - + + + Cancel Άκυρο - + Connected with <server> as <user> Συνδεδεμένοι με το <server> ως <user> @@ -257,209 +257,219 @@ Δεν ρυθμίστηκε λογαριασμός. - + Add new Προσθήκη νέου - + Remove Αφαίρεση - + Account Λογαριασμός - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt Κρυπτογράφηση - + Choose what to sync Επιλέξτε τι θα συγχρονιστεί - + Force sync now Εξαναγκασμός συγχρονισμού τώρα - + Restart sync Επανεκκίνηση συγχρονισμού - + Remove folder sync connection Αφαίρεση σύνδεσης συγχρονισμού φακέλου - + Folder creation failed Αποτυχία αφαίρεσης φακέλου - + <p>Could not create local folder <i>%1</i>. <p>Αδυναμία δημιουργίας τοπικού φακέλου <i>%1</i>. - + Confirm Folder Sync Connection Removal Επιβεβαίωση αφαίρεσης σύνδεσης συγχρονισμού φακέλου - + Remove Folder Sync Connection Αφαίρεση σύνδεσης συγχρονισμού φακέλου - + Sync Running Εκτελείται Συγχρονισμός - + The syncing operation is running.<br/>Do you want to terminate it? Η λειτουργία συγχρονισμού εκτελείται.<br/> Θέλετε να την τερματίσετε; - + %1 in use %1 σε χρήση - + %1 as <i>%2</i> %1 ως <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Η έκδοση του διακομιστή %1 είναι παλιά και δεν υποστηρίζεται! Προχωρείστε με δική σας ευθύνη. - + Connected to %1. Συνδεδεμένο με %1. - + Server %1 is temporarily unavailable. Ο διακομιστής %1 δεν είναι διαθέσιμος προσωρινά. - + Server %1 is currently in maintenance mode. Ο διακομιστής %1 βρίσκεται τώρα σε κατάσταση συντήρησης. - + Signed out from %1. Αποσυνδέθηκε από %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Γίνεται λήψη της εξουσιοδότησης από το πρόγραμμα περιήγησης. Κάντε κλικ <a href='%1'>εδώ</a> για να ανοίξετε πάλι το πρόγραμμα περιήγησης. - + Connecting to %1... Σύνδεση σε %1... - + No connection to %1 at %2. Δεν υπάρχει σύνδεση με το %1 στο %2. - + Log in Είσοδος - + There are folders that were not synchronized because they are too big: Υπάρχουν φάκελοι που δεν συγχρονίστηκαν επειδή είναι πολύ μεγάλοι: - + There are folders that were not synchronized because they are external storages: Υπάρχουν φάκελοι που δεν συγχρονίστηκαν επειδή είναι εξωτερικοί αποθηκευτικοί χώροι: - + There are folders that were not synchronized because they are too big or external storages: Υπάρχουν φάκελοι που δεν συγχρονίστηκαν επειδή είναι πολύ μεγάλοι ή αποθηκευτικοί χώροι: - + Confirm Account Removal Επιβεβαίωση Αφαίρεσης Λογαριασμού - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Θέλετε πραγματικά να αφαιρέσετε τη σύνδεση με το λογαριασμό <i>%1</i>;</p><p><b>Σημείωση:</b> Αυτό <b>δεν</b> θα διαγράψει κανένα αρχείο.</p> - + Remove connection Αφαίρεση σύνδεσης - - + + Open folder Άνοιγμα φακέλου - - + + Log out Αποσύνδεση - + Resume sync Συνέχιση συγχρονισμού - + Pause sync Παύση συγχρονισμού - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Θέλετε πραγματικά να σταματήσετε το συγχρονισμό του φακέλου <i>%1</i>;</p><p><b>Σημείωση:</b> Αυτό <b>δεν</b> θα διαγράψει κανένα αρχείο.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) από %2 σε χρήση. Μερικοί φάκελοι, συμπεριλαμβανομένων των δικτυακών ή των κοινόχρηστων μπορεί να έχουν διαφορετικά όρια. - + %1 of %2 in use %1 από %2 σε χρήση - + Currently there is no storage usage information available. Προς το παρόν δεν υπάρχουν πληροφορίες χρήσης χώρου αποθήκευσης διαθέσιμες. - + No %1 connection configured. Δεν έχει ρυθμιστεί σύνδεση με το %1. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase Εισάγετε κωδικό E2E diff --git a/translations/client_en.ts b/translations/client_en.ts index 7a31f095c..34a5783e7 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -189,12 +189,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -207,49 +207,49 @@ - + ... - + Storage space: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - + Synchronize all - + Synchronize none - + Apply manual changes - + Apply - - - + + + Cancel - + Connected with <server> as <user> @@ -259,209 +259,219 @@ - + Add new - + Remove - + Account - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync - + Force sync now - + Restart sync - + Remove folder sync connection - + Folder creation failed - + <p>Could not create local folder <i>%1</i>. - + Confirm Folder Sync Connection Removal - + Remove Folder Sync Connection - + Sync Running - + The syncing operation is running.<br/>Do you want to terminate it? - + %1 in use - + %1 as <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. - + Connected to %1. - + Server %1 is temporarily unavailable. - + Server %1 is currently in maintenance mode. - + Signed out from %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... - + No connection to %1 at %2. - + Log in - + There are folders that were not synchronized because they are too big: - + There are folders that were not synchronized because they are external storages: - + There are folders that were not synchronized because they are too big or external storages: - + Confirm Account Removal - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection - - + + Open folder - - + + Log out - + Resume sync - + Pause sync - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. - + %1 of %2 in use - + Currently there is no storage usage information available. - + No %1 connection configured. @@ -665,12 +675,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_en_GB.ts b/translations/client_en_GB.ts index 666c0906a..f11c43985 100644 --- a/translations/client_en_GB.ts +++ b/translations/client_en_GB.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Form - + ... ... - + Storage space: ... Storage space: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Unchecked folders will be <b>removed</b> from your local file system and will not be synchronised to this computer any more - + Synchronize all Synchronise all - + Synchronize none Synchronize none - + Apply manual changes Apply manual changes - + Apply Apply - - - + + + Cancel Cancel - + Connected with <server> as <user> Connected with <server> as <user> @@ -257,209 +257,219 @@ No account configured. - + Add new Add new - + Remove Remove - + Account Account - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Show E2E mnemonic - + Encrypt Encrypt - + Choose what to sync Choose what to sync - + Force sync now Force sync now - + Restart sync Restart sync - + Remove folder sync connection Remove folder sync connection - + Folder creation failed Folder creation failed - + <p>Could not create local folder <i>%1</i>. <p>Could not create local folder <i>%1</i>. - + Confirm Folder Sync Connection Removal Confirm Folder Sync Connection Removal - + Remove Folder Sync Connection Remove Folder Sync Connection - + Sync Running Sync Running - + The syncing operation is running.<br/>Do you want to terminate it? The syncing operation is running.<br/>Do you want to terminate it? - + %1 in use %1 in use - + %1 as <i>%2</i> %1 as <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. The server version %1 is old and unsupported! Proceed at your own risk. - + Connected to %1. Connected to %1. - + Server %1 is temporarily unavailable. Server %1 is temporarily unavailable. - + Server %1 is currently in maintenance mode. Server %1 is currently in maintenance mode. - + Signed out from %1. Signed out from %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obtaining authorisation from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... Connecting to %1... - + No connection to %1 at %2. No connection to %1 at %2. - + Log in Log in - + There are folders that were not synchronized because they are too big: There are folders that were not synchronised because they are too big: - + There are folders that were not synchronized because they are external storages: There are folders that were not synchronised because they are external storages: - + There are folders that were not synchronized because they are too big or external storages: There are folders that were not synchronised because they are too big or external storages: - + Confirm Account Removal Confirm Account Removal - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection Remove connection - - + + Open folder Open folder - - + + Log out Log out - + Resume sync Resume sync - + Pause sync Pause sync - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. - + %1 of %2 in use %1 of %2 in use - + Currently there is no storage usage information available. Currently there is no storage usage information available. - + No %1 connection configured. No %1 connection configured. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase Enter E2E passphrase diff --git a/translations/client_eo.ts b/translations/client_eo.ts index 945909789..46701e284 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic Memorigilo por tutvoja ĉifrado - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). Por protekti vian ĉifran identecon, ni ĉifras ĝin kun memorigilo de 12 vortoj el la vortaro. Bv. noti tiujn kaj gardi tion en sekura loko. Vi bezonos ilin por aldoni aliajn aparatojn al via konto (kiel via poŝtelefono aŭ via portebla komputilo). @@ -205,49 +205,49 @@ Elektilo - + ... ... - + Storage space: ... Konserveja spaco: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Malmarkitaj dosierujoj estos <b>forigitaj</b> el via loka dosiersistemo kaj ne plu estos sinkronigitaj ĉe tiu ĉi komputilo - + Synchronize all Ĉion sinkronigi - + Synchronize none Sinkronigi neniu - + Apply manual changes Validigi permanajn ŝanĝojn - + Apply Validigi - - - + + + Cancel Nuligi - + Connected with <server> as <user> Konektita kun servilo <server> kiel uzanto <user> @@ -257,209 +257,219 @@ Neniu konto agordita. - + Add new Aldoni novan - + Remove Forigi - + Account Konto - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Montri E2E memorigilon - + Encrypt Ĉifri - + Choose what to sync Elekti tion, kion sinkronigi - + Force sync now Sinkronigi nun - + Restart sync Rekomenci sinkronigon - + Remove folder sync connection Ne plu sinkronigi tiun dosierujon - + Folder creation failed Kreo de dosierujo malsukcesis - + <p>Could not create local folder <i>%1</i>. <p>Ne eblis krei lokan dosierujon <i>%1</i>. - + Confirm Folder Sync Connection Removal Konfirmu la forigadon de la sinkronigo de tiu dosierujo - + Remove Folder Sync Connection Ne plu sinkronigi tiun dosierujon - + Sync Running Sinkronigo ruliĝanta - + The syncing operation is running.<br/>Do you want to terminate it? Sinkronigo estas ruliĝanta.<br/>Ĉu vi volas fini ĝin? - + %1 in use %1 uzata(j) - + %1 as <i>%2</i> %1 per la konto <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. La servilo je versio %1 estas malnova kaj nesubtenata. Daŭrigu je via risko. - + Connected to %1. Konektita al %1. - + Server %1 is temporarily unavailable. Servilo %1 dumtempe ne disponeblas - + Server %1 is currently in maintenance mode. La servilo %1 estas en reĝimo de prizorgado - + Signed out from %1. Elsalutita de %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Atendante rajtigon el la retumilo. <a href='%1'>Alklaku ĉi tie</a> por remalfermi la retumilon. - + Connecting to %1... Konektante al %1... - + No connection to %1 at %2. Neniu konekto al servilo %1 je la adreso %2. - + Log in Ensaluti - + There are folders that were not synchronized because they are too big: Kelkaj dosierujoj ne sinkroniĝis, ĉar ili estas tro grandaj: - + There are folders that were not synchronized because they are external storages: Kelkaj dosierujoj ne sinkroniĝis, ĉar ili estas konservataj en ekstera konservejo: - + There are folders that were not synchronized because they are too big or external storages: Kelkaj dosierujoj ne sinkroniĝis, ĉar ili estas tro grandaj âù konservataj en ekstera konservejo: - + Confirm Account Removal Konfirmi forigadon de la konto - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ĉu vi vere volas forigi konekton al la konto <i>%1</i>?</p><p><b>Notu:</b> Tio <b>ne</b> forigos la dosierojn.</p> - + Remove connection Forigi konekton - - + + Open folder Malfermi dosierujon - - + + Log out Elsaluti - + Resume sync Daŭrigi sinkronigon - + Pause sync Paŭzigi sinkronigon - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ĉu vi vere volas ĉesi sinkronigi la dosierujon <i>%1</i>?</p><p><b>Notu:</b> Tio <b>ne</b> forigos la dosierojn.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) el %2 uzataj. Certaj dosierujoj, inkluzive de rete muntitaj aŭ kunhavigitaj dosierujoj, eble havas aliajn limigojn. - + %1 of %2 in use %1 el %2 uzitaj - + Currently there is no storage usage information available. Ĉi-momente estas neniu informo pri konservejospaco. - + No %1 connection configured. Neniu konekto al %1 agordita. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Bv. entajpi vian pasfrazon de tutvoja ĉifrado:<br><br>Uzanto: %2<br>Konto: %3<br> - + Enter E2E passphrase Entajpu E2E (tutvoja) pasfrazon diff --git a/translations/client_es.ts b/translations/client_es.ts index 199d27397..267ab6e7a 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic Regla mnemotécnica del cifrado de extremo a extremo - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). Para proteger tu identidad criptográfica, la ciframos con una regla nemotécnica de 12 palabras del diccionario. Por favor, anótalas y mantenlas a salvo. Estas palabras serán necesarias para añadir otros dispositivos a su cuenta (como un teléfono móvil o un portátil). @@ -205,49 +205,49 @@ Formulario - + ... ... - + Storage space: ... Espacio de almacenamiento: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Las carpetas no seleccionadas serán <b>eliminadas</b> de su carpeta local y ya no serán sincronizadas en este ordenador - + Synchronize all Sincronizar todo - + Synchronize none No sincronizar nada - + Apply manual changes Aplicar cambios manuales - + Apply Aplicar - - - + + + Cancel Cancelar - + Connected with <server> as <user> Conectado a <server> como <user> @@ -257,209 +257,219 @@ No se ha configurado ninguna cuenta. - + Add new Añadir nuevo - + Remove Eliminar - + Account Cuenta - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Mostrar mnemotécnica E2E - + Encrypt Cifrar - + Choose what to sync Elija qué sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sync - + Remove folder sync connection Eliminar la sincronización de carpetas conectadas - + Folder creation failed Ha fallado la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No se ha podido crear la carpeta local <i>%1</i>. - + Confirm Folder Sync Connection Removal Confirme la sincronización para la eliminación de la carpeta conectada - + Remove Folder Sync Connection Eliminar carpeta de sincronización conectada - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La sincronización está en curso.<br/>¿Desea interrumpirla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Si continúas, lo haces bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. Servidor %1 no está disponible temporalmente. - + Server %1 is currently in maintenance mode. El servidor %1 está actualmente en modo mantenimiento. - + Signed out from %1. Cerró sesión desde %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización desde el navegador. <a href='%1'>Haga clic aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. Sin conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no se han sincronizado porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no se han sincronizado porque están en el almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no se han sincronizado porque son demasiado grandes o están en el almacenamiento externo: - + Confirm Account Removal Confirmar eliminación de cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿De verdad quiere eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> eliminará los archivos.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Cerrar sesión - + Resume sync Continuar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿De verdad quiere dejar de sincronizar la carpeta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> elminará los archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, como carpetas de red o compartidas, podrían tener límites diferentes. - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible sobre el uso de almacenamiento. - + No %1 connection configured. No hay ninguna conexión de %1 configurada. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Por favor, introduce la frase de seguridad del cifrado extremo a extremo: <br><br>Usuario: %2<br>Cuenta: %3<br> - + Enter E2E passphrase Introduce la frase de acceso E2E diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index 9531091c1..953a2c2eb 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Formulario - + ... ... - + Storage space: ... Espacio de almacenamiento: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Deseleccionar Carpetas que serán <b>eliminadas</b> de su sistema de archivos local y no será sincronizado más en este equipo - + Synchronize all Sincronizar todos - + Synchronize none Sincronizar ninguno - + Apply manual changes Aplicar cambios manuales - + Apply Aplicar - - - + + + Cancel Cancelar - + Connected with <server> as <user> Conectado con <server> como <user> @@ -257,209 +257,219 @@ No hay cuenta configurada. - + Add new Agregar nuevo - + Remove Borrar - + Account Cuenta - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync Elegir que sincronizar - + Force sync now Forzar sincronización ahora - + Restart sync Reinicia sincronización - + Remove folder sync connection Eliminar conexión de sincronización de carpeta - + Folder creation failed Falló la creacion de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No pudó ser creada la carpeta local <i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar eliminación de conexión de sincronización de carpeta - + Remove Folder Sync Connection Eliminar Conexión de Sincronización de Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La sincronización está en curso.<br/>¿Querés interrumpirla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 de <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor% 1 es antigua y no está soportada! Proceda bajo su propio riesgo. - + Connected to %1. Conectado a %1 - + Server %1 is temporarily unavailable. El servidor %1 esta temporalmente sin conexión - + Server %1 is currently in maintenance mode. Servidor %1 actualmente en modo mantenimiento. - + Signed out from %1. Registrado desde %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Click aquí</a> para volver a abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. Sin conexión a %1 desde %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: - + There are folders that were not synchronized because they are external storages: - + There are folders that were not synchronized because they are too big or external storages: - + Confirm Account Removal Confirmar la eliminación de la cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Cerrar la sesión - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Realmente quieres detener la sincronización de la carpeta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> eliminara ningun archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible acerca del uso del almacenamiento. - + No %1 connection configured. No hay ninguna conexión de %1 configurada. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_es_CL.ts b/translations/client_es_CL.ts index 33e1736d1..a6e45ccef 100644 --- a/translations/client_es_CL.ts +++ b/translations/client_es_CL.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Forma - + ... ... - + Storage space: ... Espacio de almacenamiento: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Las carpetas no marcadas serán <b>eliminadas</b> de tu sistema de archivos local y ya no serán sincronizados a esta computadora - + Synchronize all Sincronizar todo - + Synchronize none Sincronizar nada - + Apply manual changes Aplicar cambios manuales - + Apply Aplicar - - - + + + Cancel Cancelar - + Connected with <server> as <user> Conectado con <server> como <user> @@ -257,209 +257,219 @@ No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_es_CO.ts b/translations/client_es_CO.ts index 3ee38d288..7372cb3c2 100644 --- a/translations/client_es_CO.ts +++ b/translations/client_es_CO.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Forma - + ... ... - + Storage space: ... Espacio de almacenamiento: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Las carpetas no marcadas serán <b>eliminadas</b> de tu sistema de archivos local y ya no serán sincronizados a esta computadora - + Synchronize all Sincronizar todo - + Synchronize none Sincronizar nada - + Apply manual changes Aplicar cambios manuales - + Apply Aplicar - - - + + + Cancel Cancelar - + Connected with <server> as <user> Conectado con <server> como <user> @@ -257,209 +257,219 @@ No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_es_CR.ts b/translations/client_es_CR.ts index e7eee16d6..b277212d0 100644 --- a/translations/client_es_CR.ts +++ b/translations/client_es_CR.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Forma - + ... ... - + Storage space: ... Espacio de almacenamiento: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Las carpetas no marcadas serán <b>eliminadas</b> de tu sistema de archivos local y ya no serán sincronizados a esta computadora - + Synchronize all Sincronizar todo - + Synchronize none Sincronizar nada - + Apply manual changes Aplicar cambios manuales - + Apply Aplicar - - - + + + Cancel Cancelar - + Connected with <server> as <user> Conectado con <server> como <user> @@ -257,209 +257,219 @@ No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_es_DO.ts b/translations/client_es_DO.ts index b163f1d22..d3e203907 100644 --- a/translations/client_es_DO.ts +++ b/translations/client_es_DO.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Forma - + ... ... - + Storage space: ... Espacio de almacenamiento: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Las carpetas no marcadas serán <b>eliminadas</b> de tu sistema de archivos local y ya no serán sincronizados a esta computadora - + Synchronize all Sincronizar todo - + Synchronize none Sincronizar nada - + Apply manual changes Aplicar cambios manuales - + Apply Aplicar - - - + + + Cancel Cancelar - + Connected with <server> as <user> Conectado con <server> como <user> @@ -257,209 +257,219 @@ No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_es_EC.ts b/translations/client_es_EC.ts index 5ddc70ed9..493f8fb23 100644 --- a/translations/client_es_EC.ts +++ b/translations/client_es_EC.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Forma - + ... ... - + Storage space: ... Espacio de almacenamiento: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Las carpetas no marcadas serán <b>eliminadas</b> de tu sistema de archivos local y ya no serán sincronizados a esta computadora - + Synchronize all Sincronizar todo - + Synchronize none Sincronizar nada - + Apply manual changes Aplicar cambios manuales - + Apply Aplicar - - - + + + Cancel Cancelar - + Connected with <server> as <user> Conectado con <server> como <user> @@ -257,209 +257,219 @@ No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_es_GT.ts b/translations/client_es_GT.ts index b91fd55dc..9156c44ed 100644 --- a/translations/client_es_GT.ts +++ b/translations/client_es_GT.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Forma - + ... ... - + Storage space: ... Espacio de almacenamiento: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Las carpetas no marcadas serán <b>eliminadas</b> de tu sistema de archivos local y ya no serán sincronizados a esta computadora - + Synchronize all Sincronizar todo - + Synchronize none Sincronizar nada - + Apply manual changes Aplicar cambios manuales - + Apply Aplicar - - - + + + Cancel Cancelar - + Connected with <server> as <user> Conectado con <server> como <user> @@ -257,209 +257,219 @@ No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_es_HN.ts b/translations/client_es_HN.ts index e1da6621b..b597ae541 100644 --- a/translations/client_es_HN.ts +++ b/translations/client_es_HN.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Forma - + ... ... - + Storage space: ... Espacio de almacenamiento: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Las carpetas no marcadas serán <b>eliminadas</b> de tu sistema de archivos local y ya no serán sincronizados a esta computadora - + Synchronize all Sincronizar todo - + Synchronize none Sincronizar nada - + Apply manual changes Aplicar cambios manuales - + Apply Aplicar - - - + + + Cancel Cancelar - + Connected with <server> as <user> Conectado con <server> como <user> @@ -257,209 +257,219 @@ No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_es_MX.ts b/translations/client_es_MX.ts index bbbcb4201..e095426a2 100644 --- a/translations/client_es_MX.ts +++ b/translations/client_es_MX.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Forma - + ... ... - + Storage space: ... Espacio de almacenamiento: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Las carpetas no marcadas serán <b>eliminadas</b> de tu sistema de archivos local y ya no serán sincronizados a esta computadora - + Synchronize all Sincronizar todo - + Synchronize none Sincronizar nada - + Apply manual changes Aplicar cambios manuales - + Apply Aplicar - - - + + + Cancel Cancelar - + Connected with <server> as <user> Conectado con <server> como <user> @@ -257,209 +257,219 @@ No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_es_SV.ts b/translations/client_es_SV.ts index c011ba176..e4456b5a4 100644 --- a/translations/client_es_SV.ts +++ b/translations/client_es_SV.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Forma - + ... ... - + Storage space: ... Espacio de almacenamiento: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Las carpetas no marcadas serán <b>eliminadas</b> de tu sistema de archivos local y ya no serán sincronizados a esta computadora - + Synchronize all Sincronizar todo - + Synchronize none Sincronizar nada - + Apply manual changes Aplicar cambios manuales - + Apply Aplicar - - - + + + Cancel Cancelar - + Connected with <server> as <user> Conectado con <server> como <user> @@ -257,209 +257,219 @@ No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_et.ts b/translations/client_et.ts index 52c5d4eea..e2d825cb0 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Vorm - + ... ... - + Storage space: ... Salvestusruum: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Märkimata kataloogid <b>eemaldatakse</b> kohalikust failisüsteemist ning neid ei sünkroniseerita enam sellesse arvutisse - + Synchronize all - + Synchronize none - + Apply manual changes - + Apply Rakenda - - - + + + Cancel Loobu - + Connected with <server> as <user> Ühendatud <server> kasutajana <user> @@ -257,209 +257,219 @@ Ühtegi kontot pole seadistatud - + Add new Lisa uus - + Remove Eemalda - + Account Konto - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync Vali, mida sünkroniseerida - + Force sync now - + Restart sync - + Remove folder sync connection - + Folder creation failed Kausta loomine ebaõnnestus - + <p>Could not create local folder <i>%1</i>. - + Confirm Folder Sync Connection Removal - + Remove Folder Sync Connection - + Sync Running Sünkroniseerimine on käimas - + 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 in use %1 kasutusel - + %1 as <i>%2</i> %1 as <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. - + Connected to %1. Ühendatud %1 - + Server %1 is temporarily unavailable. Server %1 pole ajutiselt saadaval. - + Server %1 is currently in maintenance mode. - + Signed out from %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... - + No connection to %1 at %2. - + Log in Logi sisse - + There are folders that were not synchronized because they are too big: - + There are folders that were not synchronized because they are external storages: - + There are folders that were not synchronized because they are too big or external storages: - + Confirm Account Removal Kinnita konto eemaldamine - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection Eemalda ühendus - - + + Open folder Ava kaust - - + + Log out Logi välja - + Resume sync Taasta sünroonimist - + Pause sync Peata sünkroonimine - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. - + %1 of %2 in use - + Currently there is no storage usage information available. Hetkel pole mahu kasutuse info saadaval. - + No %1 connection configured. Ühtegi %1 ühendust pole seadistatud. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_eu.ts b/translations/client_eu.ts index 66a3bd511..cc8b72142 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Formularioa - + ... ... - + Storage space: ... Biltegiratze ahalmena: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Desmarkatutako karpetak zure bertako fitxategi sistematik <b>ezabatuko</b> dira eta ez dira gehiago ordenagailu honekin sinkronizatuko - + Synchronize all Sinkronizatu dena - + Synchronize none Ez sinkronizatu ezer - + Apply manual changes Aplikatu eskuzko aldaketak - + Apply Aplikatu - - - + + + Cancel Ezeztatu - + Connected with <server> as <user> <user> bezala <server>-n konektatuta @@ -257,209 +257,219 @@ Ez da konturik konfiguratu. - + Add new Gehitu berria - + Remove Ezabatu - + Account Kontua - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt Zifratu - + Choose what to sync Hautatu zer sinkronizatu - + Force sync now Behartu orain sinkronizatzen - + Restart sync Berrabiarazi sinkronizazioa - + Remove folder sync connection Ezabatu karpeta honen konexioa - + Folder creation failed Karpeta sortzeak huts egin du - + <p>Could not create local folder <i>%1</i>. <p>Ezin izan da <i>%1</i> bertako karpeta sortu. - + Confirm Folder Sync Connection Removal Baieztatu Karpetaren Konexioaren Ezabatzea - + Remove Folder Sync Connection Ezabatu Karpeta Honen Konexioa - + Sync Running Sinkronizazioa martxan da - + The syncing operation is running.<br/>Do you want to terminate it? Sinkronizazio martxan da.<br/>Bukatu nahi al duzu? - + %1 in use %1 erabiltzen - + %1 as <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Zerbitzariaren bertsioa %1 zaharra eta euskarririk gabekoa da! Zure ardurapean aritu. - + Connected to %1. %1ra konektatuta. - + Server %1 is temporarily unavailable. %1 zerbitzaria ez dago orain eskuragarri - + Server %1 is currently in maintenance mode. %1 zerbitzaria une honetan mantenu lanetan dago. - + Signed out from %1. %1etik saioa itxita. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Nabigatzailearen baimena eskuratzen. Egin <a href= '%1'>klik hemen</a> nabigatzailea berrabiarazteko. - + Connecting to %1... %1(r)ekin konektatzen - + No connection to %1 at %2. Konexiorik ez %1-ekin %2-etan - + Log in Hasi saioa - + There are folders that were not synchronized because they are too big: Hainbat karpeta ez dira sinkronizatu handiegiak direlako: - + There are folders that were not synchronized because they are external storages: Hainbat karpeta ez dira sinkronizatu kanpoko biltegietan daudelako: - + There are folders that were not synchronized because they are too big or external storages: Hainbat karpeta ez dira sinkronizatu handiegiak direlako edo kanpoko biltegietan daudelako: - + Confirm Account Removal Baieztatu Kontuaren Ezabatzea - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection Ezabatu konexioa - - + + Open folder Ireki karpeta - - + + Log out Saioa bukatu - + Resume sync Berrekin sinkronizazioa - + Pause sync Gelditu sinkronizazioa - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. - + %1 of %2 in use %2tik %1 erabilita - + Currently there is no storage usage information available. Orain ez dago eskuragarri biltegiratze erabileraren informazioa. - + No %1 connection configured. Ez dago %1 konexiorik konfiguratuta. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_fa.ts b/translations/client_fa.ts index 0f910bbd0..5bc318823 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ فرم - + ... ... - + Storage space: ... حجم فضای ذخیره‌سازی: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore پوشه های بررسی نشده از سیستم فایل محلی شما <b>حذف</b> خواهد شد و دیگر در این کامپیوتر همگام سازی نخواهد شد. - + Synchronize all همگام‌سازی همه - + Synchronize none همگام سازی هیچ - + Apply manual changes تایید تغییرات دستی - + Apply اعمال - - - + + + Cancel منصرف شدن - + Connected with <server> as <user> متصل به <server> به عنوان <user> @@ -257,209 +257,219 @@ هیچ حساب‌کاربری‌ای تنظیم نشده‌ است. - + Add new اضافه کردن جدید - + Remove حذف - + Account حساب کاربری - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt رمزنگاری - + Choose what to sync انتخاب موارد همگام‌سازی - + Force sync now - + Restart sync راه اندازی مجدد همگام سازی - + Remove folder sync connection حذف اتصال همگام سازی پوشه - + Folder creation failed ساخت پوشه ناموفق - + <p>Could not create local folder <i>%1</i>. <p>ناتوانی در ساخت پوشه محلی <i>1%</i> - + Confirm Folder Sync Connection Removal تأیید حذف اتصال همگام سازی پوشه - + Remove Folder Sync Connection حذف اتصال همگام سازی پوشه - + Sync Running همگام سازی در حال اجراست - + The syncing operation is running.<br/>Do you want to terminate it? عملیات همگام سازی در حال اجراست.<br/>آیا دوست دارید آن را متوقف کنید؟ - + %1 in use 1% در استفاده - + %1 as <i>%2</i> 1% به عنوان <i>2%</i> - + The server version %1 is old and unsupported! Proceed at your own risk. نسخه سرور 1% قدیمی است و پشتیبانی نشده است! مسئولیت با خود شماست. - + Connected to %1. متصل به %1. - + Server %1 is temporarily unavailable. سرور %1 بصورت موقت خارج از دسترس است. - + Server %1 is currently in maintenance mode. سرور 1% اکنون در حالت تعمیر است. - + Signed out from %1. از 1% خارج شد. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. دریافت مجوز از مرورگر. <a href='%1'>اینجا کلیک کنید</a> تا مرورگر دوباره باز شود. - + Connecting to %1... اتصال به %1... - + No connection to %1 at %2. اتصال به 1% در 2% وجود ندارد. - + Log in ورود - + There are folders that were not synchronized because they are too big: پوشه‌هایی وجود دارند که همگام سازی نشده اند زیرا آن ها بسیار بزرگ هستند: - + There are folders that were not synchronized because they are external storages: پوشه‌هایی وجود دارند که همگام سازی نشده اند زیرا آن ها مخازن خارجی هستند: - + There are folders that were not synchronized because they are too big or external storages: پوشه‌هایی وجود دارند که همگام سازی نشده اند زیرا آن ها بسیار بزرگ یا مخازن خارجی هستند: - + Confirm Account Removal تائید حذف حساب‌کاربری - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>آیا شما واقعا می خواهید اتصال به حساب <i>1%</i>را حذف کنید؟</p> <p><b>توجه:</b> این هیچ فایلی را حذف نخواهد کرد.</p> - + Remove connection حذف ارتباط - - + + Open folder بازکردن پوشه - - + + Log out خروج - + Resume sync از سر‎گیری همگام‌سازی - + Pause sync توقف به‌هنگام‌سازی - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>آیا شما واقعا می خواهید همگام سازی پوشه <i>1%</i> را متوقف نمایید؟</p><p><b>توجه:</b>این هیچ فایلی را حذف <b>نخواهد</b> کرد. </p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. 1% (%3%) از 2% در استفاده. برخی پوشه‌ها، شامل شبکه نصب شده یا پوشه های مشترک، ممکن است محدودیت های متفاوت داشته باشند. - + %1 of %2 in use 1% از 2% در استفاده - + Currently there is no storage usage information available. در حال حاضر هیچ اطلاعات کاربرد ذخیره سازی در دسترس نیست. - + No %1 connection configured. بدون %1 اتصال پیکربندی شده. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_fi.ts b/translations/client_fi.ts index c4453af1e..6bba5c026 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Lomake - + ... ... - + Storage space: ... Tallennustila: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Ilman valintaa olevat kansiot <b>poistetaan</b> paikallisesta tiedostojärjestelmästä, eikä niitä synkronoida enää jatkossa tämän tietokoneen kanssa - + Synchronize all Synkronoi kaikki - + Synchronize none Älä synkronoi mitään - + Apply manual changes Toteuta manuaalimuutokset - + Apply Toteuta - - - + + + Cancel Peruuta - + Connected with <server> as <user> Yhdistetty palvelimeen <server> käyttäen tunnusta <user> @@ -257,209 +257,219 @@ Tiliä ei ole määritelty. - + Add new Lisää uusi - + Remove Poista - + Account Tili - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt Salaus - + Choose what to sync Valitse synkronoitavat tiedot - + Force sync now Pakota synkronointi nyt - + Restart sync Käynnistä synkronointi uudelleen - + Remove folder sync connection Poista kansion synkronointiyhteys - + Folder creation failed Kansion luominen epäonnistui - + <p>Could not create local folder <i>%1</i>. <p>Paikallisen kansion <i>%1</i> luominen epäonnistui. - + Confirm Folder Sync Connection Removal Vahvista kansion synkronointiyhteyden poisto - + Remove Folder Sync Connection Poista kansion synkronointiyhteys - + Sync Running Synkronointi meneillään - + The syncing operation is running.<br/>Do you want to terminate it? Synkronointioperaatio on meneillään.<br/>Haluatko keskeyttää sen? - + %1 in use %1 käytössä - + %1 as <i>%2</i> %1 käyttäjänä <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Palvelimen versio %1 on vanha ja sen tuki on loppunut! Jatka omalla vastuulla. - + Connected to %1. Yhteys muodostettu kohteeseen %1. - + Server %1 is temporarily unavailable. Palvelin %1 ei ole juuri nyt saatavilla. - + Server %1 is currently in maintenance mode. Palvelin %1 on parhaillaan huoltotilassa. - + Signed out from %1. Kirjauduttu ulos kohteesta %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Hankitaan valtuutus selaimelta. <a href='%1'>Napsauta tästä</a> avataksesi selaimen uudelleen. - + Connecting to %1... Yhdistetään kohteeseen %1... - + No connection to %1 at %2. Ei yhteyttä kohteeseen %1 osoitteessa %2. - + Log in Kirjaudu sisään - + There are folders that were not synchronized because they are too big: Havaittiin kansioita, joita ei synkronoitu, koska ne ovat kooltaan liian suuria: - + There are folders that were not synchronized because they are external storages: - + There are folders that were not synchronized because they are too big or external storages: - + Confirm Account Removal Vahvista tilin poistaminen - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Haluatko varmasti poistaa tilin <i>%1</i>?</p><p><b>Huomio:</b> Tämä toimenpide <b>ei</b> poista mitään tiedostoja.</p> - + Remove connection Poista yhteys - - + + Open folder Avaa kansio - - + + Log out Kirjaudu ulos - + Resume sync Palauta synkronointi - + Pause sync Keskeytä synkronointi - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Haluatko varmasti lopettaa kansion <i>%1</i> synkronoinnin?</p><p><b>Huomio:</b> Tämä toimenpide <b>ei</b> poista mitään tiedostoja.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1/%2 (%3 %) käytössä. Jotkin kansiot, mukaan lukien verkkojaot ja jaetut kansiot, voivat sisältää eri rajoitukset. - + %1 of %2 in use %1/%2 käytössä - + Currently there is no storage usage information available. Tallennustilan käyttötietoja ei ole juuri nyt saatavilla. - + No %1 connection configured. %1-yhteyttä ei ole määritelty. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_fr.ts b/translations/client_fr.ts index 960f41b3c..8fdb7d117 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic Chiffrement de bout en bout mnémotechnique - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). Pour protéger votre identité cryptographique, nous la chiffrons avec une mnémonique de 12 mots du dictionnaire. Veuillez les noter et les garder en sécurité. Ils seront nécessaires pour ajouter d’autres appareils à votre compte (comme votre téléphone portable ou votre ordinateur portable). @@ -205,49 +205,49 @@ Formulaire - + ... ... - + Storage space: ... Espace de stockage : ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Les dossiers décochés seront <b>supprimés</b> de votre disque local et ne seront plus synchronisés avec cet ordinateur. - + Synchronize all Tout synchroniser - + Synchronize none Ne rien synchroniser - + Apply manual changes Appliquer les changements manuellement - + Apply Appliquer - - - + + + Cancel Annuler - + Connected with <server> as <user> Connecté au serveur <server> avec le compte <user> @@ -257,209 +257,219 @@ Aucun compte configuré. - + Add new Ajouter un nouveau compte - + Remove Supprimer - + Account Compte - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Afficher le code mnémotechnique E2E - + Encrypt Chiffrer - + Choose what to sync Sélectionner le contenu à synchroniser - + Force sync now Forcer la synchronisation maintenant - + Restart sync Redémarrer la synchronisation - + Remove folder sync connection Supprimer la synchronisation du dossier - + Folder creation failed Échec de création du dossier - + <p>Could not create local folder <i>%1</i>. <p>Impossible de créer le dossier local <i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmer la suppression de synchronisation de dossier - + Remove Folder Sync Connection Supprimer la synchronisation de ce dossier - + Sync Running Synchronisation en cours - + The syncing operation is running.<br/>Do you want to terminate it? La synchronisation est en cours.<br/>Voulez-vous l'arrêter ? - + %1 in use %1 utilisé(s) - + %1 as <i>%2</i> %1 avec le compte <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. La version %1 du serveur est ancienne et n'est pas prise en charge. Continuez à vos risques et périls. - + Connected to %1. Connecté au serveur %1. - + Server %1 is temporarily unavailable. Le serveur %1 est temporairement indisponible. - + Server %1 is currently in maintenance mode. Le serveur %1 est en cours de maintenance. - + Signed out from %1. Session sur %1 fermée. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. En attente d'autorisation du navigateur. <a href='%1'>Cliquer ici</a> pour recharger le navigateur. - + Connecting to %1... Connexion à %1 - + No connection to %1 at %2. Aucune connexion au serveur %1 à l'adresse %2. - + Log in Se connecter - + There are folders that were not synchronized because they are too big: Certains dossiers n'ont pas été synchronisés parce qu'ils sont de taille trop importante : - + There are folders that were not synchronized because they are external storages: Certains dossiers n'ont pas été synchronisés parce qu'ils sont localisés sur un stockage externe : - + There are folders that were not synchronized because they are too big or external storages: Certains dossiers n'ont pas été synchronisés par qu'ils sont localisés sur un stockage externe ou qu'ils sont de taille trop importante : - + Confirm Account Removal Confirmation de retrait du compte - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Êtes-vous certain de vouloir retirer <i>%1</i> des comptes synchronisés avec le serveur ?</p><p><b>Remarque :</b> cela ne supprimera pas votre compte sur le serveur et aucun fichier ne sera supprimé ni localement ni en ligne.</p> - + Remove connection Retirer le compte - - + + Open folder Ouvrir le dossier local - - + + Log out Se déconnecter - + Resume sync Reprendre la synchronisation - + Pause sync Mettre en pause - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Voulez-vous vraiment arrêter de synchroniser le dossier <i>%1</i> ?</p><p><b>Note :</b> Aucun fichier ne sera supprimé.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) utilisés sur %2. Certains dossiers, montés depuis le réseau ou partagés, peuvent avoir des limites différentes. - + %1 of %2 in use %1 utilisés sur %2 - + Currently there is no storage usage information available. Actuellement aucune information d'utilisation de stockage n'est disponible. - + No %1 connection configured. Aucune connexion à %1 configurée @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Merci de saisir votre phrase secrète E2E : <br><br>Utilisateur : %2<br>Compte : %3<br> - + Enter E2E passphrase Entrez la phrase secrète E2E diff --git a/translations/client_gl.ts b/translations/client_gl.ts index 4e29d99b9..fd4075fac 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic Mnemónico do cifrado de extremo a extremo - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). Para protexer a súa identidade criptográfica, cifrámola cun mnemónico de 12 palabras do diccionario. Anóteas e manteñas en lugar seguro. Estas palabras serán necesarias para engadir outros dispositivos á súa cuenta (como un teléfono móvil ou un portátil). @@ -205,49 +205,49 @@ Formulario - + ... ... - + Storage space: ... Espazo de almacenamento: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Os cartafoles non seleccionados van seren <b>eliminados</b> do seu sistema de ficheiros local e non volverán sincronizarse con este computador - + Synchronize all Sincronizar todo - + Synchronize none Non sincronizar - + Apply manual changes Aplicar cambios manuais - + Apply Aplicar - - - + + + Cancel Cancelar - + Connected with <server> as <user> Conectado con <server> como <user> @@ -257,209 +257,219 @@ Non hai contas configuradas. - + Add new Engadir novo - + Remove Retirar - + Account Conta - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Amosar o mnemónico E2E - + Encrypt Cifrar - + Choose what to sync Escolla que sincronizar - + Force sync now Forzar a sincronización - + Restart sync Reiniciar a sincronización - + Remove folder sync connection Retirar a conexión da sincronización do cartafol - + Folder creation failed Non foi posíbel crear o cartafol - + <p>Could not create local folder <i>%1</i>. <p>Non foi posíbel crear o cartafol local <i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar a retirada da conexión da sincronización do cartafol - + Remove Folder Sync Connection Retirar a conexión da sincronización do cartafol - + Sync Running Sincronización en proceso - + The syncing operation is running.<br/>Do you want to terminate it? Estase a realizar a sincronización.<br/>Quere interrompela e rematala? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Este servidor da versión %1 é vello e non ten soporte! Vostede verá o que fai. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. O servidor %1 non está dispoñíbel temporalmente. - + Server %1 is currently in maintenance mode. O servidor %1 neste momento está en modo de mantemento. - + Signed out from %1. Desconectado de %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obtendo autorización dende o navegador. <a href='%1'>Prema aquí</a> para volver abrir o navegador. - + Connecting to %1... Conectando con %1... - + No connection to %1 at %2. Non hai conexión con %1 en %2. - + Log in Acceder - + There are folders that were not synchronized because they are too big: Hai cartafoles que non se sincronizaron por ser demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hai cartafoles que non se sincronizaron porque son almacenamentos externos: - + There are folders that were not synchronized because they are too big or external storages: Hai cartafoles que non se sincronizaron porque son demasiado grandes ou almacenamentos externos: - + Confirm Account Removal Confirme a retirada da conta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>De verdade quere retirar a conexión a conta <i>%1</i>?</p><p><b>Aviso:</b> Isto <b>non</b> eliminará ningún ficheiro.</p> - + Remove connection Retirar conexión - - + + Open folder Abrir o cartafol - - + + Log out Saír - + Resume sync Continuar coa sincronización - + Pause sync Por en pausa a sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Quere realmente deixar de sincronizar o cartafol <i>%1</i>?</p><p><b>Aviso:</b> Isto <b>non</b> eliminará ningún ficheiro.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algúns cartafoles, incluíndo os compartidos e os montados en rede, poderían ter diferentes límites. - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente non hai dispoñíbel ningunha información sobre o uso do almacenamento. - + No %1 connection configured. Non se configurou a conexión %1. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Introduza a súa frase de paso de cifrado de extremo a extremo: <br><br>Usuario: %2<br>Conta: %3<br> - + Enter E2E passphrase Introduza a frase de paso E2E diff --git a/translations/client_he.ts b/translations/client_he.ts index a8524d366..d8f64416e 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic תיבת זיכרון להצפנה מקצה לקצה. - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). להגנה על מזהה ההצפנה שלך, אנו מצפינים באמצעות תיבת זיכרון של 12 מילים. מומלץ לרשום אותן בצד ולשמור עליהן באיזור מוגן. ע"י המילים הללו נוכל להוסיף מכשירים נוספים לחשבונך (כגון טלפון חכם או מחשב נייד). @@ -205,49 +205,49 @@ טופס - + ... - + Storage space: ... מקום אחסון: … - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore תיקיות לא מסומנות <b> יוסרו </b> ממערכת הקבצים המקומית שלך ולא יסונכרנו למחשב זה יותר - + Synchronize all לסנכרן הכול - + Synchronize none לא לסנכרן כלום - + Apply manual changes להחיל שינויים ידניים - + Apply החלה - - - + + + Cancel ביטול - + Connected with <server> as <user> מחובר באמצעות <server> כ <user> @@ -257,209 +257,219 @@ לא הוגדר חשבון. - + Add new הוספת חדש - + Remove הסרה - + Account חשבון - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic הראה תיבת זיכרון ל הצפנה מקצה לקצה - + Encrypt הצפן - + Choose what to sync לבחור מה לסנכרן - + Force sync now לאלץ סנכרון כעת - + Restart sync להפעיל את הסנכרון מחדש - + Remove folder sync connection הסרת חיבור סנכרון לתיקייה - + Folder creation failed יצירת התיקייה נכשלה - + <p>Could not create local folder <i>%1</i>. <p>לא ניתן ליצור את התיקייה המקומית <i>%1</i>. - + Confirm Folder Sync Connection Removal אשר הסרת חיבור ל סנכרון תיקיות - + Remove Folder Sync Connection הסר חיבור ל סנכרון תיקיות - + Sync Running סנכרון מופעל - + The syncing operation is running.<br/>Do you want to terminate it? הסנכרון מופעל.<br/>האם להפסיק את פעולתו ? - + %1 in use %1 בשימוש - + %1 as <i>%2</i> %1 בתור <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. גרסת השרת %1 ישנה ואינה נתמכת! המשך עבודה בגרסה זו תחת אחריותך. - + Connected to %1. בוצע חיבור אל %1. - + Server %1 is temporarily unavailable. השרת %1 אינו זמין כרגע. - + Server %1 is currently in maintenance mode. השרת %1 כרגע במצב תחזוקה. - + Signed out from %1. יצאת מהשירות %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. מתבצעת בקשת אימות מהדפדפן. נא <a href='%1'>ללחוץ כאן</a> לפתיחה מחדש של הדפדפן. - + Connecting to %1... בהתחברות אל %1… - + No connection to %1 at %2. אין חיבור אל %1 ב־%2. - + Log in כניסה - + There are folders that were not synchronized because they are too big: ישנן תיקיות שלא סונכרנו מפאת גודלן הרב: - + There are folders that were not synchronized because they are external storages: ישנן תיקיות שלא סונכרנו כיוון שהן נמצאות על אמצעי אחסון חיצוניים: - + There are folders that were not synchronized because they are too big or external storages: ישנן תיקיות שלא סונכרנו כיוון שהן גדולות מדי או באחסון חיצוני: - + Confirm Account Removal אישור הסרת חשבון - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>האם ברצונך להסיר את החיבור לחשבון <i>%1</i>?</p><p><b>שים לב:</b>פעולה זו <b>לא</b> תסיר את הקבצים.</p> - + Remove connection הסרת חיבור - - + + Open folder פתיחת תיקייה - - + + Log out יציאה - + Resume sync להמשיך בסנכרון - + Pause sync השהיית סנכרון - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>האם ברצונך להפסיק את סנכרון התיקיה <i>%1</i>?</p><p><b>שים לב:</b> פעולה זו <b>לא </b> תמחק את הקבצים.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) מתוך %2 בשימוש. חלק מהתיקיות, ובכללן תיקיות רשת או משותפות, עלולות להיות בעלות מכסות שונות. - + %1 of %2 in use %1 מתוך %2 בשימוש - + Currently there is no storage usage information available. ברגע זה אין כל מידע זמין על השימוש באחסון. - + No %1 connection configured. אין הגדרה לחיבור %1 @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> נא להקליד את הססמא להצפנה מקצה לקצה:<br><br>משתמש: %2<br>חשבון: %3<br> - + Enter E2E passphrase נא להקליד ססמת הצפנה קצה לקצה diff --git a/translations/client_hu.ts b/translations/client_hu.ts index 4c7c18f98..d0e1da552 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic Végpontok közötti titkosítás mnemonikus kódja - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). A kriptográfiai személyazonossága megvédéséhez, egy 12 szótári szóból álló mnemonikus kóddal titkosítjuk. Jegyezze meg ezeket, és tartsa azokat biztonságban. Szüksége lesz rájuk, ha egy új eszközt akar hozzáadni a fiókjához (például a mobiltelefonját vagy a laptopját). @@ -205,49 +205,49 @@ Űrlap - + ... - + Storage space: ... Tárhely mérete: … - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore A ki nem választott mappák <b>törlésre kerülnek</b> a helyi fájlrendszerről, és a továbbiakban nem lesznek szinkronizálva erre a számítógépre. - + Synchronize all Minden szinkronizálása - + Synchronize none Nincs szinkronizálás - + Apply manual changes Kézi módosítások alkalmazása - + Apply Alkalmaz - - - + + + Cancel Mégse - + Connected with <server> as <user> Kapcsolódva <user> felhasználóval ehhez: <server> @@ -257,209 +257,219 @@ Nincs fiók beállítva. - + Add new Új hozzáadása - + Remove Eltávolítás - + Account Fiók - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic E2E mnemonikus kód megjelenítése - + Encrypt Titkosítás - + Choose what to sync Szinkronizálandó elemek kiválasztása - + Force sync now Szinkronizálás azonnal - + Restart sync Szinkronizálás újraindítása - + Remove folder sync connection Mappa szinkronizálási kapcsolatának eltávolítása - + Folder creation failed Mappa létrehozása sikertelen - + <p>Could not create local folder <i>%1</i>. <p>A helyi mappa nem hozható létre: <i>%1</i>. - + Confirm Folder Sync Connection Removal Mappa szinkronizációs kapcsolatának eltávolításának megerősítése - + Remove Folder Sync Connection Mappa szinkronizálási kapcsolatának eltávolítása - + Sync Running A szinkronizálás fut - + The syncing operation is running.<br/>Do you want to terminate it? A szinkronizálás folyamatban van. <br/>Megszakítja? - + %1 in use %1 használatban - + %1 as <i>%2</i> %1, mint <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. A(z) %1 kiszolgálóverzió régi és már nem támogatott! Csak saját felelősségre folytassa. - + Connected to %1. Kapcsolódva ehhez: %1. - + Server %1 is temporarily unavailable. A(z) %1 kiszolgáló jelenleg nem érhető el. - + Server %1 is currently in maintenance mode. A(z) %1 kiszolgáló jelenleg karbantartási módban van. - + Signed out from %1. Kijelentkezve innen: %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Engedély kérése a böngészőtől. <a href='%1'>Kattintson ide</a> a böngésző újranyitásához. - + Connecting to %1... Kapcsolódás ehhez: %1… - + No connection to %1 at %2. Nincs kapcsolat ehhez: %1, itt: %2. - + Log in Bejelentkezés - + There are folders that were not synchronized because they are too big: Az alábbi mappák nem lettek szinkronizálva, mert túl nagyok: - + There are folders that were not synchronized because they are external storages: Az alábbi mappák nem lettek szinkronizálva, mert külső tárolók: - + There are folders that were not synchronized because they are too big or external storages: Az alábbi mappák nem lettek szinkronizálva, mert túl nagyok, vagy külső tárolók: - + Confirm Account Removal Fiók törlésének megerősítése - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Tényleg törölni szeretné a kapcsolatot a(z) <i>%1</i> fiókkal?</p><p><b>Megjegyzés:</b> Ez <b>nem</b> töröl fájlokat.</p> - + Remove connection Kapcsolat eltávolítása - - + + Open folder Mappa megnyitása - - + + Log out Kilépés - + Resume sync Szinkronizálás folytatása - + Pause sync Szinkronizálás szüneteltetése - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Tényleg leállítja a(z) <i>%1</i> mappa szinkronizálását?</p><p><b>Megjegyzés:</b> Ez <b>nem</b> töröl fájlokat.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) / %2 használatban. Néhány mappa – beleértve a hálózati megosztásokat és a megosztott könyvtárakat – eltérő korlátozással rendelkezhet. - + %1 of %2 in use %1 / %2 használatban - + Currently there is no storage usage information available. Jelenleg nem érhetőek el a tárhelyhasználati információk. - + No %1 connection configured. Nincs %1 kapcsolat beállítva. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Adja meg a végpontok közötti titkosítási jelmondatát:<br><br>Felhasználó: %2<br>Fiók: %3<br> - + Enter E2E passphrase Adja meg az E2E jelmondatot diff --git a/translations/client_is.ts b/translations/client_is.ts index e0e304039..c9ca0ab95 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,50 +205,50 @@ Eyðublað - + ... ... - + Storage space: ... Geymslurými: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Ómerktar möppur verða <b>fjarlægðar</b> úr skráakerfi tölvunnar þinnar og því ekki samstilltar lengur við þessa tölvu - + Synchronize all Samstilla allt - + Synchronize none Samstilla ekkert - + Apply manual changes Virkja handvirkar breytingar - + Apply Virkja - - - + + + Cancel Hætta við - + Connected with <server> as <user> Tengd/ur við <server> sem <user> @@ -258,214 +258,224 @@ Enginn aðgangur stilltur. - + Add new Bæta við nýju - + Remove Fjarlægja - + Account Aðgangur - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Sýna E2E minnistækni - + Encrypt Dulrita - + Choose what to sync Veldu það sem á að samstilla - + Force sync now Þvinga samstillingu núna - + Restart sync Endurræsa samstillingu - + Remove folder sync connection Fjarlægja samstillingartengingu möppu - + Folder creation failed Gerð möppu mistókst - + <p>Could not create local folder <i>%1</i>. <p>Gat ekki búið til staðværa möppu <i>%1</i>. - + Confirm Folder Sync Connection Removal Staðfesta fjarlægingu á samstillingartengingu möppu - + Remove Folder Sync Connection Fjarlægja samstillingartengingu möppu - + Sync Running Samstilling er keyrandi - + The syncing operation is running.<br/>Do you want to terminate it? Aðgerðin sem samstillir er í gangi.<br/>Viltu stöðva hana? - + %1 in use %1 í notkun - + %1 as <i>%2</i> %1 sem <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Þjónninn er af útgáfu %1 sem er úrelt og ekki lengur studd! Ef þú heldur áfram er það á þína eigin ábyrgð. - + Connected to %1. Tengdur við %1. - + Server %1 is temporarily unavailable. Þjónninn %1 er ekki tiltækur í augnablikinu. - + Server %1 is currently in maintenance mode. Þjónninn %1 er í viðhaldsham. - + Signed out from %1. Skráður út af %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... Tengist við %1... - + No connection to %1 at %2. Engin tenging við %1 á %2. - + Log in Skrá inn - + There are folders that were not synchronized because they are too big: Það eru möppur sem ekki eru samstilltar því þær eru of stórar: - + There are folders that were not synchronized because they are external storages: Það eru möppur sem ekki eru samstilltar því þær ytri eru gagnageymslur: - + There are folders that were not synchronized because they are too big or external storages: Það eru möppur sem ekki eru samstilltar því þær eru of stórar eða eru ytri gagnageymslur: - + Confirm Account Removal Staðfesta fjarlægingu aðgangs - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Viltu í alvörunni fjarlægja tenginguna við aðganginn <i>%1</i>?</p><p><b>Athugið:</b> Þetta mun <b>ekki</b> eyða neinum skrám.</p> - + Remove connection Fjarlægja tengingu - - + + Open folder Opna möppu - - + + Log out Skrá út - + Resume sync Halda samstillingu áfram - + Pause sync Gera hlé á samstillingu - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Viltu í alvörunni hætta að samstilla möppuna <i>%1</i>?</p><p><b>Athugið:</b> Þetta mun <b>ekki</b> eyða neinum skrám.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) af %2 í notkun. Sumar möppur, þar með taldar netmöppur tengdar í skráakerfið eða sameignarmöppur, gætu verið með önnur takmörk. - + %1 of %2 in use %1 af %2 í notkun - + Currently there is no storage usage information available. Það eru engar upplýsingar um gagnamagn fáanlegar í augnablikinu. - + No %1 connection configured. Engin %1 tenging skilgreind. @@ -669,12 +679,12 @@ skráakerfið eða sameignarmöppur, gætu verið með önnur takmörk. OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Settu inn lykilorð fyrir enda-í-enda dulritun:<br><br>Notandi: %2<br>Aðgangur: %3<br> - + Enter E2E passphrase Settu inn EíE-lykilorð diff --git a/translations/client_it.ts b/translations/client_it.ts index 70cd9dde9..c61a3b48d 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic Codice mnemonico per cifratura End to End - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). Per proteggere la tua identità crittografica, la cifriamo con un codice mnemonico di 12 parole di dizionario. Annotale e tienile al sicuro. Saranno necessarie per aggiungere altri dispositivi al tuo account (come il tuo smartphone o il portatile). @@ -205,49 +205,49 @@ Modulo - + ... ... - + Storage space: ... Spazio di archiviazione: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Le cartelle non marcate saranno <b>rimosse</b> dal file system locale e non saranno sincronizzate più con questo computer - + Synchronize all Sincronizza tutto - + Synchronize none Non sincronizzare - + Apply manual changes Applica le modifiche manuali - + Apply Applica - - - + + + Cancel Annulla - + Connected with <server> as <user> Connesso a <server> come <user> @@ -257,209 +257,219 @@ Nessun account configurato. - + Add new Aggiungi nuovo - + Remove Rimuovi - + Account Account - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Mostra codice mnemonico E2E - + Encrypt Cifra - + Choose what to sync Scegli cosa sincronizzare - + Force sync now Forza ora la sincronizzazione - + Restart sync Riavvia sincronizzazione - + Remove folder sync connection Rimuovi connessione di sincronizzazione cartelle - + Folder creation failed Creazione della cartella non riuscita - + <p>Could not create local folder <i>%1</i>. <p>Impossibile creare la cartella locale <i>%1</i>. - + Confirm Folder Sync Connection Removal Conferma rimozione connessione di sincronizzazione cartelle - + Remove Folder Sync Connection Rimuovi connessione di sincronizzazione cartelle - + Sync Running La sincronizzazione è in corso - + The syncing operation is running.<br/>Do you want to terminate it? L'operazione di sincronizzazione è in corso.<br/>Vuoi terminarla? - + %1 in use %1 in uso - + %1 as <i>%2</i> %1 come <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. La versione %1 del server è datata e non supportata! Continua a tuo rischio. - + Connected to %1. Connesso a %1. - + Server %1 is temporarily unavailable. Il server %1 è temporaneamente non disponibile. - + Server %1 is currently in maintenance mode. Il Server %1 è attualmente in manutenzione - + Signed out from %1. Disconnesso da %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Ottenimento dell'autorizzazione dal browser. <a href='%1'>Fai clic qui</a> per aprire nuovamente il browser. - + Connecting to %1... Connessione a %1 in corso… - + No connection to %1 at %2. Nessuna connessione a %1 su %2. - + Log in Accedi - + There are folders that were not synchronized because they are too big: Ci sono nuove cartelle che non sono state sincronizzate poiché sono troppo grandi: - + There are folders that were not synchronized because they are external storages: Ci sono nuove cartelle che non sono state sincronizzate poiché sono archiviazioni esterne: - + There are folders that were not synchronized because they are too big or external storages: Ci sono nuove cartelle che non sono state sincronizzate poiché sono troppo grandi o archiviazioni esterne: - + Confirm Account Removal Conferma rimozione account - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vuoi davvero eliminare la connessione all'account <i>%1</i>?</p><p><b>Nota:</b> ciò <b>non</b> eliminerà alcun file.</p> - + Remove connection Rimuovi connessione - - + + Open folder Apri cartella - - + + Log out Esci - + Resume sync Riprendi la sincronizzazione - + Pause sync Sospendi la sincronizzazione - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vuoi davvero fermare la sincronizzazione della cartella <i>%1</i>?</p><p><b>Nota:</b> ciò <b>non</b> eliminerà alcun file.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) di %2 in uso. Alcune cartelle, incluse quelle montate in rete o le cartelle condivise, potrebbero avere limiti diversi. - + %1 of %2 in use %1 di %2 in uso - + Currently there is no storage usage information available. Non ci sono informazioni disponibili sull'utilizzo dello spazio di archiviazione. - + No %1 connection configured. Nessuna connessione di %1 configurata. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Digita la tua frase segreta di cifratura end-to-end: <br><br>Utente: %2<br>Account: %3<br> - + Enter E2E passphrase Digita la frase segreta E2E diff --git a/translations/client_ja.ts b/translations/client_ja.ts index 52c4022fe..25c3354d4 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic End to end暗号化ニーモニック - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ フォーム - + ... - + Storage space: ... ストレージ空き容量: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore チェックしていないフォルダーはローカルファイルシステムから <b>削除</b>され、このコンピューターと同期されなくなります。 - + Synchronize all すべてを同期 - + Synchronize none 同期なし - + Apply manual changes 手動による変更を適用 - + Apply 適用 - - - + + + Cancel キャンセル - + Connected with <server> as <user> <server> に <user> で接続中 @@ -257,209 +257,219 @@ アカウントが未設定です。 - + Add new 新規追加 - + Remove 削除 - + Account アカウント - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic E2Eニーモニックを表示 - + Encrypt 暗号化 - + Choose what to sync 同期フォルダーを選択 - + Force sync now 今すぐ強制的に同期 - + Restart sync 同期を再実行 - + Remove folder sync connection 同期フォルダー接続を削除 - + Folder creation failed フォルダーの作成に失敗しました - + <p>Could not create local folder <i>%1</i>. <p>ローカルフォルダー <i>%1</i> を作成できません。 - + Confirm Folder Sync Connection Removal 同期フォルダー接続の削除を確認 - + Remove Folder Sync Connection 同期フォルダー接続を削除 - + Sync Running 同期を実行中 - + The syncing operation is running.<br/>Do you want to terminate it? 同期作業を実行中です。<br/>終了しますか? - + %1 in use %1 を使用中 - + %1 as <i>%2</i> <i>%2</i> の %1 - + The server version %1 is old and unsupported! Proceed at your own risk. サーバーバージョン %1 は古く、サポートされていません!自己責任で進めてください。 - + Connected to %1. %1 に接続 - + Server %1 is temporarily unavailable. サーバー %1 は一時的に利用できません - + Server %1 is currently in maintenance mode. サーバー %1 は現在メンテナンスモードです。 - + Signed out from %1. %1 からサインアウトしました。 - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. ブラウザーから許可を取得。<a href='%1'>ここをクリック</a> してブラウザを再度開きます。 - + Connecting to %1... %1 に接続中... - + No connection to %1 at %2. %2 の %1 への接続がありません。 - + Log in ログイン - + There are folders that were not synchronized because they are too big: 大きすぎるため同期されなかったフォルダーがあります: - + There are folders that were not synchronized because they are external storages: 外部ストレージにあるため同期されなかったフォルダーがあります: - + There are folders that were not synchronized because they are too big or external storages: 大きすぎたか、外部ストレージにあるため同期されなかったフォルダーがあります: - + Confirm Account Removal アカウント削除確認 - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p> アカウント <i>%1</i> を本当に削除しますか?</p><p><b>注意:</b> これによりファイルが一切削除されることはありません。</p> - + Remove connection 接続削除 - - + + Open folder フォルダーを開く - - + + Log out ログアウト - + Resume sync 再開 - + Pause sync 一時停止 - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>フォルダー<i>%1</i>の同期を本当に止めますか?</p><p><b>注:</b> これによりファイルが一切削除されることはありません。</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %2 の %1(%3%) 利用中。外部ネットワークストレージや共有フォルダーを含むフォルダーがある場合は、容量の上限値が異なる可能性があります。 - + %1 of %2 in use %2 のうち %1 を使用中 - + Currently there is no storage usage information available. 現在、利用できるストレージ利用状況はありません。 - + No %1 connection configured. %1 の接続は設定されていません。 @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase E2Eパスフレーズを入力 diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index 6bf4d842d..d146be9ce 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Forma - + ... ... - + Storage space: ... Saugyklos vieta: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Nepažymėti aplankai bus <b>pašalinti </b> iš Jūsų lokalios failų sistemos ir nebebus sinchronizuojami su šiuo kompiuteriu. - + Synchronize all Sinchronizuoti viską - + Synchronize none Nieko nesinchronizuoti - + Apply manual changes Pritaikyti ranka atliktus pakeitimus - + Apply Taikyti - - - + + + Cancel Atsisakyti - + Connected with <server> as <user> Prisijungta su <server> kaip <user> @@ -257,209 +257,219 @@ Nėra sukonfiguruotų paskyrų. - + Add new Pridėti naują - + Remove Šalinti - + Account Paskyra - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt Šifruoti - + Choose what to sync Pasirinkti ką sinchronizuoti - + Force sync now Inicijuoti sinchronizavimą dabar. - + Restart sync Paleisti sinchronizavimą iš naujo - + Remove folder sync connection Pašalinti aplankų sinchronizavimo ryšį - + Folder creation failed Aplanko sukūrimas nepavyko - + <p>Could not create local folder <i>%1</i>. <p>Nepavyko sukurti vietinio aplanko <i>%1</i>. - + Confirm Folder Sync Connection Removal Patvirtinti aplankų sinchronizavimo ryšio pašalinimą - + Remove Folder Sync Connection Pašalinti aplankų sinchronizavimo ryšį - + Sync Running Vyksta sinchronizavimas - + The syncing operation is running.<br/>Do you want to terminate it? Vyksta sinchronizavimo operacija.<br/>Ar norite ją nutraukti? - + %1 in use %1 naudojama - + %1 as <i>%2</i> %1 kaip <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Serverio versija %1 yra sena ir daugiau nepalaikoma. Jos naudojimas Jūsų pačių atsakomybė. - + Connected to %1. Prisijungta prie %1. - + Server %1 is temporarily unavailable. Serveris %1 yra laikinai neprieinamas. - + Server %1 is currently in maintenance mode. Šiuo metu serveris %1 yra techninės priežiūros veiksenoje. - + Signed out from %1. Atsijungta iš %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Autorizuojama vykdoma per naršyklę.<a href='%1'>Paspauskite čia</a>, jei norite iš naujo atidaryti naršyklę. - + Connecting to %1... Jungiamasi prie %1... - + No connection to %1 at %2. %2 neturi ryšio su %1. - + Log in Prisijungti - + There are folders that were not synchronized because they are too big: Yra aplankų, kurie nebuvo sinchronizuoti dėl to, kad buvo per dideli: - + There are folders that were not synchronized because they are external storages: Aplankai, kurie nebuvo sinchronizuoti, kadangi jie yra išorinės saugyklos: - + There are folders that were not synchronized because they are too big or external storages: Yra aplankų, kurie nebuvo sinchronizuoti dėl to, kad buvo per dideli arba yra išorinės saugyklos: - + Confirm Account Removal Patvirtinti paskyros pašalinimą - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ar tikrai norite pašalinti ryšį su paskyra <i>%1</i>?</p><p><b> Pastaba:</b> Failai <b>nebus</b> ištrinti.</p> - + Remove connection Šalinti ryšį - - + + Open folder Atverti aplanką - - + + Log out Atsijungti - + Resume sync Pratęsti sinchronizavimą - + Pause sync Pristabdyti sinchronizavimą - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ar tikrai norite sustabdyti failų sinchronizavimą <i>%1</i>? </p><p><b>Pastaba:</b> Failai <b>nebus</b> ištrinti.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) iš %2 yra naudojami. Kai kuriuose aplankuose gali būti naudojami skirtingi apribojimai. - + %1 of %2 in use %1 iš %2 yra naudojami - + Currently there is no storage usage information available. Šiuo metu nėra informacijos apie saugyklos panaudojimą. - + No %1 connection configured. Nesukonfigūruota %1 sujungimų. @@ -664,12 +674,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_lv.ts b/translations/client_lv.ts index bb7642944..2f8438c93 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Forma - + ... ... - + Storage space: ... Krātuves vieta: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Neatzīmētās mapes tiks <b>noņemtas</b> no lokālās datņu sistēmas un vairs netiks sinhronizētas ar šo datoru - + Synchronize all Sinhronizēt visu - + Synchronize none Sinhronizēt neko - + Apply manual changes Pielietot manuālās izmaiņas - + Apply Pielietot - - - + + + Cancel Atcelt - + Connected with <server> as <user> Savienojies ar <server> kā <user> @@ -257,209 +257,219 @@ Nav konfigurēts konts. - + Add new Pievienot jaunu - + Remove Noņemt - + Account Konts - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt Šifrēt - + Choose what to sync Izvēlies ko sinhronizēt - + Force sync now Piespeist tūlītēju sinhronizēšanu - + Restart sync Restartēt sinronizāciju - + Remove folder sync connection Noņemt mapes sinhronizācijas savienojumu - + Folder creation failed Mapes izveide neizdevās - + <p>Could not create local folder <i>%1</i>. <p>Nevarējas izveidot lokālo mapi <i>%1</i>. - + Confirm Folder Sync Connection Removal Noņemt mapes sinhronizācijas savienojuma noņemšanai - + Remove Folder Sync Connection Noņemt mapes sinhronizācijas savienojumu - + Sync Running Notiek Sinhronizācija - + The syncing operation is running.<br/>Do you want to terminate it? Pašlaik notiek sinhronizācijas operācija.<br/>Vai to izbeigt? - + %1 in use %1 tiek lietots - + %1 as <i>%2</i> %1 kā <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Servera versija %1 ir novecojusi un netiek atbalstīta! Turpini un paša atbildību. - + Connected to %1. Savienots ar %1. - + Server %1 is temporarily unavailable. Serveris %1 ir īslaicīgi nepiejams. - + Server %1 is currently in maintenance mode. Serveris %1 pašlaik ir uzturēšanas režīmā - + Signed out from %1. Izrakstījies no %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Saņemam pilnvaru no pārlūka. <a href='%1'>Noklikšķini šeit</a>lai atkārtoti atvērtu pārlūku. - + Connecting to %1... Savienojas ar %1. - + No connection to %1 at %2. Nav savienojuma ar %1 pie %2. - + Log in Pieteikties - + There are folders that were not synchronized because they are too big: Šīs mapes netika sinhronizētas, jo tās ir pārāk lielas: - + There are folders that were not synchronized because they are external storages: Šīs mapes netika sinhronizētas, jo tās atrodas ārējās krātuvēs: - + There are folders that were not synchronized because they are too big or external storages: Šīs mapes netika sinhronizētas, jo tās ir pārāk lielas, vai atrodas ārējās krātuvēs: - + Confirm Account Removal Apstiprini Konta noņemšanai - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vai tiešām vēlaties noņemt savienojumu kontam <i>%1</i>?</p><p><b>Piezīme:</b> Tas <b>neveiks</b> nekādu datņu dzēšanu.</p> - + Remove connection Noņemt savienojumu - - + + Open folder Atvērt mapi - - + + Log out Iziet - + Resume sync Turpināt sinhronizāciju - + Pause sync Pauzēt sinhronizāciju - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vai tiešām vēlaties apturēt mapes <i>%1</i> sinhronizēšanu?</p><p><b>Piezīme:</b> Tas <b>neveiks</b> nekādu datņu dzēšanu.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) no %2 izmantots. Dažas mapes, tajā skaitā montētas no tīkla vai koplietotas, var saturēt dažādus ierobežojumus. - + %1 of %2 in use %1 no %2 izmantots - + Currently there is no storage usage information available. Pašlaik nav pieejama diska vietas informācija. - + No %1 connection configured. Nav %1 savienojums konfigurēts. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Lūdzu ievadiet jūsu end to end šifrēšanas paroli:<br><br>Lietotājs: %2<br>Konts: %3<br> - + Enter E2E passphrase Ievadiet E2E paroli diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index 454132204..a36d19df1 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Skjema - + ... - + Storage space: ... Lagringsplass: … - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Umarkerte mapper vil bli <b>fjernet</b> fra ditt lokale filsystem og vil ikke bli synkronisert med denne maskinen lenger - + Synchronize all Synkroniser alle - + Synchronize none Synkroniser ingen - + Apply manual changes Bruk manuelle endringer - + Apply Bruk - - - + + + Cancel Avbryt - + Connected with <server> as <user> Tilkoblet <server> som <user> @@ -257,209 +257,219 @@ Ingen konto konfigurert. - + Add new Legg til ny - + Remove Fjern - + Account Konto - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt Krypter - + Choose what to sync Velg hva som synkroniseres - + Force sync now Tving synkronisering nå - + Restart sync Synkroniser på ny - + Remove folder sync connection Fjern tilkobling for synkronisering av mappe - + Folder creation failed Oppretting av mappe feilet - + <p>Could not create local folder <i>%1</i>. <p>Klarte ikke å opprette lokal mappe <i>%1</i>. - + Confirm Folder Sync Connection Removal Bekreft fjerning av tilkobling for synkronisering av mappe - + Remove Folder Sync Connection Fjern tilkobling for mappe-synkronisering - + Sync Running Synkroniserer... - + The syncing operation is running.<br/>Do you want to terminate it? Synkronisering kjører.<br/>Vil du avbryte den? - + %1 in use %1 i bruk - + %1 as <i>%2</i> %1 som <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Server-versjonen %1 er gammel og støttes ikke! Fortsett på egen risiko. - + Connected to %1. Tilkoblet %1. - + Server %1 is temporarily unavailable. Server %1 er midlertidig utilgjengelig. - + Server %1 is currently in maintenance mode. Server %1 er for øyeblikket i vedlikeholdsmodus. - + Signed out from %1. Logget ut fra %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... Kobler til %1 … - + No connection to %1 at %2. Ingen tilkobling til %1 på %2. - + Log in Logg inn - + There are folders that were not synchronized because they are too big: Noen mapper ble ikke synkronisert fordi de er for store - + There are folders that were not synchronized because they are external storages: Noen mapper ble ikke synkronisert fordi de er eksterne lagringsplasser: - + There are folders that were not synchronized because they are too big or external storages: Noen mapper ble ikke synkronisert fordi de er for store eller de er eksterne lagringsplasser: - + Confirm Account Removal Bekreft fjerning av konto - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vil du virkelig fjerne tilkoblingen til kontoen <i>%1</i>?</p><p><b>Merk:</b> Dette vil <b>ikke</b> slette noen filer.</p> - + Remove connection Fjern tilkobling - - + + Open folder Åpne mappe - - + + Log out Logg ut - + Resume sync Fortsett synkronisering - + Pause sync Sett synkronisering på pause - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vil du virkelig stoppe synkronisering av mappen <i>%1</i>?</p><p><b>Merk:</b> Dette vil <b>ikke</b> slette noen filer.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) av %2 i bruk. Noen mapper, inkludert nettverkstilkoblede eller delte mapper, kan ha andre begrensninger. - + %1 of %2 in use %1 av %2 i bruk - + Currently there is no storage usage information available. Ingen informasjon om bruk av lagringsplass tilgjengelig for øyeblikket. - + No %1 connection configured. Ingen %1-forbindelse konfigurert. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_nl.ts b/translations/client_nl.ts index a32a80fdc..fc2449c75 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic Begin-tot-eind versleutelingsmnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). Om je cryptografiesche Identiteit te beschermen, versleutelen we die met een mnemonic van 12 woorden. Schrijf die op en bewaar ze op een veilige plek. Ze zijn nodig om nieuwe apparaten aan he account toe te voegen (zoals je smartphone of laptop). @@ -205,49 +205,49 @@ Formulier - + ... ... - + Storage space: ... Opslagruimte: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Niet geselecteerde mappen worden <b>verwijderd</b> van uw lokale bestandssysteem en worden niet meer gesynchroniseerd met deze computer - + Synchronize all Alles synchroniseren - + Synchronize none Niets synchroniseren - + Apply manual changes Toepassen handmatige wijzigingen - + Apply Toepassen - - - + + + Cancel Annuleren - + Connected with <server> as <user> Verbonden met <server> als <user> @@ -257,209 +257,219 @@ Geen account ingesteld. - + Add new Toevoegen nieuw - + Remove Verwijder - + Account Account - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Tonen E2E mnemonic - + Encrypt Versleutelen - + Choose what to sync Selectieve synchronisatie - + Force sync now Forceer sync nu - + Restart sync Herstarten sync - + Remove folder sync connection Verwijderen map sync verbinding - + Folder creation failed Maken map mislukt - + <p>Could not create local folder <i>%1</i>. <p>Kon lokale map <i>%1</i> niet maken. - + Confirm Folder Sync Connection Removal Bevestig verwijderen Map Sync verbinding - + Remove Folder Sync Connection Verwijderen Map Sync verbinding - + Sync Running Bezig met synchroniseren - + The syncing operation is running.<br/>Do you want to terminate it? Bezig met synchroniseren.<br/>Wilt u stoppen met synchroniseren? - + %1 in use %1 in gebruik - + %1 as <i>%2</i> %1 als <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. De serverversie %1 is oud en wordt niet meer ondersteund. Verdergaan is op eigen risico. - + Connected to %1. Verbonden met %1. - + Server %1 is temporarily unavailable. Server %1 is tijdelijk niet beschikbaar - + Server %1 is currently in maintenance mode. Server %1 momenteel in onderhoudsmodus. - + Signed out from %1. Uitgelogd van %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Authorization van de browser verkrijgen. <a href='%1'>Klik hier</a> om de browser te heropenen. - + Connecting to %1... Verbinden met %1... - + No connection to %1 at %2. Geen verbinding met %1 op %2. - + Log in Meld u aan - + There are folders that were not synchronized because they are too big: Er zijn mappen die niet gesynchroniseerd werden, omdat ze te groot zijn: - + There are folders that were not synchronized because they are external storages: Er zijn mappen die niet gesynchroniseerd werden, omdat ze op externe opslag staan: - + There are folders that were not synchronized because they are too big or external storages: Er zijn mappen die niet gesynchroniseerd werden, omdat ze te groot zijn of op externe opslag staan: - + Confirm Account Removal Bevestig verwijderen account - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Wilt u echt de verbinding met het account <i>%1</i> verbreken?</p><p><b>Let op:</b> Hierdoor verwijdert u <b>geen</b> bestanden.</p> - + Remove connection Verwijderen verbinding - - + + Open folder Openen map - - + + Log out Afmelden - + Resume sync Hervatten sync - + Pause sync Pauzeren sync - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Weet u zeker dat u de synchronisatie van map <i>%1</i> wilt stoppen?</p><p><b>Opmerking:</b> Dit zal <b>geen</b> bestanden verwijderen.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) van %2 in gebruik. Sommige mappen, inclusief netwerkmappen en gedeelde mappen, kunnen andere limieten hebben. - + %1 of %2 in use %1 van %2 in gebruik - + Currently there is no storage usage information available. Er is nu geen informatie over het gebruik van de opslagruimte beschikbaar. - + No %1 connection configured. Geen %1 connectie geconfigureerd. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Voer je begin-tot-eind crypto wachtwoordzin in: <br><br>Gebruiker: %2<br>Account: %3<br> - + Enter E2E passphrase Invoeren E2E wachtwoordzin diff --git a/translations/client_pl.ts b/translations/client_pl.ts index 807cccf09..33a7259ae 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic Klucz szyfrowania end to end - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). Aby chronić Twoją tożsamość kryptograficzną, szyfrujemy ją kluczem składającym się z 12 wyrazów. Hasło zachowaj w bezpiecznym miejscu. Będzie ono potrzebne do dodania innych urządzeń do twojego konta (takich jak twój telefon komórkowy lub laptop). @@ -205,49 +205,49 @@ Formularz - + ... - + Storage space: ... Przestrzeń: … - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Niezaznaczone katalogi zostaną <b>usunięte</b> z lokalnego systemu plików i nie będą już więcej synchronizowane na tym komputerze. - + Synchronize all Synchronizuj wszystko - + Synchronize none Nie synchronizuj niczego - + Apply manual changes Zastosuj ręczne zmiany - + Apply Zastosuj - - - + + + Cancel Anuluj - + Connected with <server> as <user> Połączony z <server> jako <user> @@ -257,209 +257,219 @@ Brak skonfigurowanych kont. - + Add new Dodaj nowe - + Remove Usuń - + Account Konto - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Pokaż klucz E2E - + Encrypt Szyfruj - + Choose what to sync Wybierz co synchronizować - + Force sync now Zsynchronizuj teraz - + Restart sync Uruchom ponownie synchronizację - + Remove folder sync connection Usuń folder połączenia synchronizacji - + Folder creation failed Nie udało się stworzyć katalogu - + <p>Could not create local folder <i>%1</i>. <p>Nie można stworzyć lokalnego katalogu <i>%1</i>. - + Confirm Folder Sync Connection Removal Usuń folder połączenia synchronizacji - + Remove Folder Sync Connection Usuń folder połączenia synchronizacji - + Sync Running Synchronizacja uruchomiona - + The syncing operation is running.<br/>Do you want to terminate it? Operacja synchronizacji jest uruchomiona.<br>Czy chcesz ją zakończyć? - + %1 in use %1 w użyciu - + %1 as <i>%2</i> %1 jako <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Wersja serwera %1 jest przestarzała i nie jest już wspierana. Kontynuujesz na własne ryzyko. - + Connected to %1. Podłączony do %1. - + Server %1 is temporarily unavailable. Serwer %1 jest tymczasowo niedostępny. - + Server %1 is currently in maintenance mode. Serwer %1 jest obecnie w trybie konserwacji. - + Signed out from %1. Wylogowano z %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Uzyskanie autoryzacji z przeglądarki. <a href='%1'>Kliknij tutaj</a>, aby ponownie otworzyć przeglądarkę. - + Connecting to %1... Łączenie do %1… - + No connection to %1 at %2. Brak połączenia do %1 z %2. - + Log in Zaloguj - + There are folders that were not synchronized because they are too big: Te foldery nie zostały zsynchronizowane ponieważ są zbyt duze: - + There are folders that were not synchronized because they are external storages: Te foldery nie zostały zsynchronizowane ponieważ znajdują się w pamięci zewnętrznej: - + There are folders that were not synchronized because they are too big or external storages: Te foldery nie zostały zsynchronizowane ponieważ są zbyt duże lub znajdują się w pamięci zewnętrznej: - + Confirm Account Removal Potwierdź usunięcie konta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Czy na pewno chcesz usunąć połączenie z kontem <i>%1</i>?</p><p><b>Uwaga:</b> ta operacja <b>nie</b> usunie plików klienta.</p> - + Remove connection Usuwanie połączenia - - + + Open folder Otwórz katalog - - + + Log out Wyloguj - + Resume sync Przywróć synchronizację - + Pause sync Zatrzymaj synchronizację - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Czy na pewno chcesz zatrzymać synchronizację folderu <i>%1</i>?</p><p><b>Uwaga:</b> ta operacja <b>nie</b> usunie plików z klienta.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) z %2 w użyciu. Niektóre foldery, w tym zamontowane lub udostępnione foldery w sieci, mogą mieć różne limity. - + %1 of %2 in use %1 z %2 w użyciu - + Currently there is no storage usage information available. Obecnie nie ma dostępnych informacji o wykorzystaniu pamięci masowej. - + No %1 connection configured. Połączenie %1 nie skonfigurowane. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Wprowadź hasło szyfrowania E2E:<br><br>Użytkownik: %2<br>Konto: %3<br> - + Enter E2E passphrase Wprowadź hasło dla E2E diff --git a/translations/client_pt.ts b/translations/client_pt.ts index b6c122869..f418d66b4 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Formulário - + ... ... - + Storage space: ... Espaço de armazenamento: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore As pastas não selecionadas serão <b>removidas</b> do seu sistema de ficheiros local e já não serão sincronizadas para este computador - + Synchronize all Sincronizar todos - + Synchronize none Sincronizar nenhum - + Apply manual changes Aplicar alterações manuais - + Apply Aplicar - - - + + + Cancel Cancelar - + Connected with <server> as <user> Ligado ao <server> como <user> @@ -257,209 +257,219 @@ Nenhuma conta configurada. - + Add new Adicionar nova - + Remove Remover - + Account Conta - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync Escolher o que sincronizar - + Force sync now Forçar a sincronização - + Restart sync Retomar sincronização - + Remove folder sync connection Remover ligação de sincronização de pasta - + Folder creation failed Não foi possível criar a pasta - + <p>Could not create local folder <i>%1</i>. <p>Não foi possível criar a pasta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar Remoção da Ligação de Sincronização de Pasta - + Remove Folder Sync Connection Remover Ligação da Sincronização de Pasta - + Sync Running Sincronização em Execução - + The syncing operation is running.<br/>Do you want to terminate it? A operação de sincronização está em execução.<br/>Deseja terminá-la? - + %1 in use %1 em utilização - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. A versão %1 do servidor é antiga e não é suportada! Prossiga por sua conta e risco. - + Connected to %1. Ligado a %1. - + Server %1 is temporarily unavailable. O servidor %1 está temporariamente indisponível. - + Server %1 is currently in maintenance mode. O Servidor %1 encontra-se em manutenção - + Signed out from %1. Terminou a sessão de %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... A Conectar a %1... - + No connection to %1 at %2. Sem ligação para %1 em %2. - + Log in Iniciar Sessão - + There are folders that were not synchronized because they are too big: Existem pastas que não foram sincronizadas por serem demasiado grandes: - + There are folders that were not synchronized because they are external storages: Existem pastas que não foram sincronizadas por serem armazenamento externo: - + There are folders that were not synchronized because they are too big or external storages: Existem pastas que não foram sincronizadas por serem demasiado grandes ou armazenamento externo: - + Confirm Account Removal Confirmar Remoção da Conta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Deseja mesmo remover a ligação da conta <i>%1</i>?</p><p><b>Nota:</b> isto <b>não</b> irá eliminar quaisquer ficheiros.</p> - + Remove connection Remover ligação - - + + Open folder Abrir pasta - - + + Log out Terminar sessão - + Resume sync Retomar sincronização - + Pause sync Pausar sincronização - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Deseja mesmo parar a sincronização da pasta <i>%1</i>?</p><p><b>Nota:</b> isto <b>não</b> irá eliminar qualquer ficheiro.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 em utilização. Algumas pastas, incluindo a rede montada ou as pastas partilhadas, podem ter limites diferentes. - + %1 of %2 in use %1 de %2 em utilização - + Currently there is no storage usage information available. Atualmente não está disponível nenhuma informação da utilização do armazenamento. - + No %1 connection configured. %1 sem ligação configurada. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 4be56a0c2..ca9ff2ae9 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic Mnemônico da criptografia de ponta-a-ponta - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). Para proteger sua Identidade Criptográfica, nós criptografamos com um mnemônico de 12 palavras de dicionário. Anote e mantenha-os em segurança. Eles serão necessários para adicionar outros dispositivos à sua conta (como seu celular ou laptop). @@ -205,49 +205,49 @@ Formulário - + ... ... - + Storage space: ... Espaço de armazenamento:... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Pastas não marcadas serão <b>removidas</b> de seu sistema de arquivos local e não serão mais sincronizadas com este computador - + Synchronize all Sincronizar tudo - + Synchronize none Não sincronizar - + Apply manual changes Aplicar alterações manuais - + Apply Aplicar - - - + + + Cancel Cancelar - + Connected with <server> as <user> Conectado com <server> como <user> @@ -257,209 +257,219 @@ Nenhuma conta configurada. - + Add new Adicionar nova - + Remove Remover - + Account Conta - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Exibir mnemônico E2E - + Encrypt Criptografar - + Choose what to sync Escolher o que sincronizar - + Force sync now Forçar sincronização agora - + Restart sync Reiniciar a sincronização - + Remove folder sync connection Remover a conexão de sincronização de pastas - + Folder creation failed Falha na criação da pasta - + <p>Could not create local folder <i>%1</i>. <p>Não foi possível criar a pasta local <i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar a Remoção da Sincronização de Pasta - + Remove Folder Sync Connection Remover a Conexão de Sincronização de pasta - + Sync Running Sincronização ocorrendo - + The syncing operation is running.<br/>Do you want to terminate it? A operação de sincronização está ocorrendo.<br/>Deseja finalizá-la? - + %1 in use %1 em uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. A versão do servidor %1 é antiga e não suportada! Prossiga por conta própria. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. O servidor %1 está temporariamente indisponível. - + Server %1 is currently in maintenance mode. O servidor %1 está em modo de manutenção. - + Signed out from %1. Desconectado de %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obtendo autorização do navegador. <a href='%1'>Clique aqui</a> para reabrir o navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. Sem conexão para %1 em %2. - + Log in Entrar - + There are folders that were not synchronized because they are too big: Existem pastas que não foram sincronizadas porque são muito grandes: - + There are folders that were not synchronized because they are external storages: Existem pastas que não foram sincronizadas porque são armazenamentos externos: - + There are folders that were not synchronized because they are too big or external storages: Existem pastas que não foram sincronizadas porque são muito grandes ou são armazenamentos externos: - + Confirm Account Removal Confirmar a Remoção da Conta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Você realmente deseja remover a conexão desta conta<i>%1</i>?</p><p><b>Nota:</b> Isto <b>não</b> irá excluir nenhum arquivo.</p> - + Remove connection Remover conexão - - + + Open folder Abrir pasta - - + + Log out Sair - + Resume sync Retomar sincronização - + Pause sync Pausar sincronização - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Você realmente deseja parar a sincronização desta pasta <i>%1</i>?</p><p><b>Nota:</b> Isto <b>não</b> vai excluir qualquer arquivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 em uso. Algumas pastas, incluindo as montadas na rede ou pastas compartilhadas, podem ter limites diferentes. - + %1 of %2 in use %1 de %2 em uso - + Currently there is no storage usage information available. Atualmente, não há informação disponível do uso de armazenamento. - + No %1 connection configured. Nenhuma conexão %1 configurada. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Insira a senha da criptografia de ponta-a-ponta:<br><br>Usuário: %2<br>Conta: %3<br> - + Enter E2E passphrase Digite a senha E2E diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 402a9092e..28b88ae8e 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic Мнемофраза сквозного шифрования - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Форма - + ... - + Storage space: ... Размер хранилища: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Неотмеченные папки будут <b>удалены</b> из локальной файловой системы и больше не будут синхронизироваться на этом компьютере - + Synchronize all Синхронизировать всё - + Synchronize none Не синхронизировать ничего - + Apply manual changes Применить ручные изменения - + Apply Применить - - - + + + Cancel Отмена - + Connected with <server> as <user> Установлено соединение с <server> с учётной записью <user> @@ -257,209 +257,219 @@ Учётная запись не настроена. - + Add new Добавить новую - + Remove Удалить - + Account Учётная запись - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Показать мнемофразу E2E - + Encrypt Зашифровать - + Choose what to sync Выбрать объекты для синхронизации - + Force sync now Принудительно запустить синхронизацию - + Restart sync Перезапустить синхронизацию - + Remove folder sync connection Отключить синхронизацию папки - + Folder creation failed Ошибка создания папки - + <p>Could not create local folder <i>%1</i>. <p>Не удалось создать локальную папку: <i>«%1»</i>. - + Confirm Folder Sync Connection Removal Подтверждение отключения синхронизации папки - + Remove Folder Sync Connection Отключить синхронизацию папки - + Sync Running Синхронизация запущена - + The syncing operation is running.<br/>Do you want to terminate it? Выполняется синхронизация.<br/>Действительно прервать операцию? - + %1 in use Используется %1 - + %1 as <i>%2</i> %1 под именем <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Сервер версии %1 устарел и не поддерживается. Продолжайте на свой страх и риск. - + Connected to %1. Соединен с %1. - + Server %1 is temporarily unavailable. Сервер %1 временно недоступен. - + Server %1 is currently in maintenance mode. Сервер %1 в настоящее время находится в режиме технического обслуживания. - + Signed out from %1. Успешно вышли из %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Получение авторизации из браузера. <a href='%1'>Нажмите здесь</a>, чтобы повторно открыть браузер. - + Connecting to %1... Соединение с %1... - + No connection to %1 at %2. Нет соединения с %1 в %2. - + Log in Войти - + There are folders that were not synchronized because they are too big: Есть папки, которые не синхронизированы, так как их размер превышает установленное ограничение: - + There are folders that were not synchronized because they are external storages: Есть папки, которые не были синхронизированы, так как они являются внешними хранилищами: - + There are folders that were not synchronized because they are too big or external storages: Есть папки, которые не были синхронизированы, так как их размер превышает установленное ограничение или они являются внешними хранилищами: - + Confirm Account Removal Подтверждение удаления учетной записи - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Действительно удалить подключение к учётной записи <i>%1</i>?</p><p><b>Примечание:</b> Это действие <b>НЕ</b> приведёт к удалению файлов.</p> - + Remove connection Удалить подключение - - + + Open folder Открыть папку - - + + Log out Выйти - + Resume sync Возобновить синхронизацию - + Pause sync Приостановить синхронизацию - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Действительно остановить синхронизацию папки <i>%1</i>?</p><p><b>Примечание:</b> Это действие <b>НЕ</b> приведёт к удалению файлов.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. Используется %1 (%3%) из %2. Некоторые папки, включая сетевые или общие, могут иметь свои собственные ограничения. - + %1 of %2 in use Используется %1 из %2 - + Currently there is no storage usage information available. В данный момент информация о заполненности хранилища недоступна. - + No %1 connection configured. Нет настроенного подключения %1. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Введите свою парольную фразу сквозного шифрования: <br><br> Пользователь: %2<br>Учётная запись: %3<br> - + Enter E2E passphrase Введите парольную фразу сквозного шифрования diff --git a/translations/client_sk.ts b/translations/client_sk.ts index 17c8519ba..d694093d8 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic End-to-end kódovanie mnemotechnické - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). Aby sme chránili vašu kryptografickú identitu, zašifrujeme ju pomocou mnemotechnického pomeru 12 slov slovníka. Poznačte si ich a uschovajte ich. Budú potrebné na pridanie ďalších zariadení do vášho účtu (napríklad mobilného telefónu alebo notebooku). @@ -205,49 +205,49 @@ Formulár - + ... ... - + Storage space: ... Úložný priestor: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Neoznačené priečinky budú <b>odstránené</b> z lokálneho systému a nebudú už synchronizované na tento počítač - + Synchronize all Synchronizovať všetky - + Synchronize none Synchronizovať žiadny - + Apply manual changes Aplikovať manuálne zmeny - + Apply Aplikovať - - - + + + Cancel Zrušiť - + Connected with <server> as <user> Spojené z <server> ako <user> @@ -257,209 +257,219 @@ Žiadny účet nie je nastavený. - + Add new Pridať nový účet - + Remove Odobrať - + Account Účet - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Zobaziť E2E mnemotechnické - + Encrypt Zašifrovať - + Choose what to sync Vybrať čo synchronizovať - + Force sync now Vynútiť synchronizáciu teraz - + Restart sync Reštartovať synchronizáciu - + Remove folder sync connection Odstrániť prepojenie priečinka - + Folder creation failed Vytvorenie priečinka zlyhalo - + <p>Could not create local folder <i>%1</i>. <p>Nemožno vytvoriť lokálny priečinok <i>%1</i>. - + Confirm Folder Sync Connection Removal Potvrdiť odstránenie prepojenia priečinka - + Remove Folder Sync Connection Odstrániť prepojenie priečinka - + Sync Running Prebiehajúca synchronizácia - + The syncing operation is running.<br/>Do you want to terminate it? Proces synchronizácie práve prebieha.<br/>Chcete ho ukončiť? - + %1 in use %1 sa používa - + %1 as <i>%2</i> %1 ako <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Verzia servera %1 je stará a nepodporovaná. Pokračujte na vlastné nebezpečenstvo. - + Connected to %1. Pripojené k %1 - + Server %1 is temporarily unavailable. Server %1 je dočasne nedostupný. - + Server %1 is currently in maintenance mode. Server %1 je momentálne v režime údržby. - + Signed out from %1. Odhlásený z %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Získavam autorizáciu z prehliadača. <a href='%1'>Kliknite sem</a> na opätovné otvorenie prehliadača. - + Connecting to %1... Pripája sa k %1… - + No connection to %1 at %2. Žiadne pripojenie k %1 na %2. - + Log in Prihlásiť sa - + There are folders that were not synchronized because they are too big: Tieto priečinky neboli synchronizované pretože sú príliš veľké: - + There are folders that were not synchronized because they are external storages: Niektoré priečinky neboli synchronizované, pretože sú na externom úložisku - + There are folders that were not synchronized because they are too big or external storages: Niektoré priečinky neboli synchronizované, pretože sú príliš veľké alebo sú na externom úložisku - + Confirm Account Removal Potvrďte ostránenie účtu - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Naozaj chcete odstrániť pripojenie k účtu <i>%1</i>?</p><p><b>Poznámka:</b> Tým sa <b>nevymažú</b> žiadne súbory.</p> - + Remove connection Vymazať pripojenie - - + + Open folder Otvoriť priečinok - - + + Log out Odhlásiť - + Resume sync Obnoviť synchronizáciu - + Pause sync Pozastaviť synchronizáciu - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Naozaj si prajete zastaviť synchronizácu priečinka <i>%1</i>?</p><p><b>Poznámka:</b> Toto <b>nevymaže</b> žiadne súbory.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) z %2 je využitých. Niektoré priečinky, vrátane sieťových a zdieľaných, môžu mať iné limity. - + %1 of %2 in use %1 z %2 je využitých - + Currently there is no storage usage information available. Teraz nie sú k dispozícii žiadne informácie o využití úložiska. - + No %1 connection configured. Žiadne nakonfigurované %1 spojenie @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Zadajte svoju prístupovú frázu pre šifrovanie medzi koncovými bodmi: <br><br>Používateľ: %2<br>Účet: %3<br> - + Enter E2E passphrase Zadajte E2E prístupovú frázu diff --git a/translations/client_sl.ts b/translations/client_sl.ts index 12284f9bf..539900265 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Obrazec - + ... ... - + Storage space: ... Prostor: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Neizbrane mape bodo <b>odstranjene</b> iz krajevnega datotečnega sistema in s tem računalnikom ne bodo več usklajevane! - + Synchronize all Uskladi vse - + Synchronize none Ne uskladi ničesar - + Apply manual changes Uveljavi ročno narejene spremembe - + Apply Uveljavi - - - + + + Cancel Prekliči - + Connected with <server> as <user> Vzpostavljena je povezava s strežnikom <server> kot <user> @@ -257,209 +257,219 @@ Ni nastavljenega računa. - + Add new Dodaj nov račun - + Remove Odstrani račun - + Account Račun - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync Izbor predmetov za usklajevanje - + Force sync now Vsili takojšnje usklajevanje - + Restart sync Ponovno zaženi usklajevanje - + Remove folder sync connection Odstrani povezavo za usklajevanje mape - + Folder creation failed Ustvarjanje mape je spodletelo - + <p>Could not create local folder <i>%1</i>. <p>Ni mogoče ustvariti krajevne mape <i>%1</i>. - + Confirm Folder Sync Connection Removal Potrdi odstranjevanje povezave usklajevanja mape - + Remove Folder Sync Connection Odstrani povezavo za usklajevanje mape - + Sync Running Usklajevanje je v teku - + The syncing operation is running.<br/>Do you want to terminate it? Izvaja se usklajevanje.<br/>Ali želite opravilo prekiniti? - + %1 in use %1 v uporabi - + %1 as <i>%2</i> %1 kot <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Različica strežnika %1 je zastarela in ni več podprta! Nadaljujete na lastno odgovornost. - + Connected to %1. Vzpostavljena je povezava z %1. - + Server %1 is temporarily unavailable. Strežnik %1 trenutno ni dosegljiv. - + Server %1 is currently in maintenance mode. Strežnik %1 je trenutno v načinu vzdrževanja. - + Signed out from %1. Uspešno odjavljeno iz %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Poteka pridobitev overitve prek brskalnika. <a href='%1'>Kliknite</a> to za ponovno odpiranje brskalnika. - + Connecting to %1... Poteka vzpostavljanje povezave s strežnikom %1 ... - + No connection to %1 at %2. S strežnikom %1 ni vzpostavljene povezave (%2). - + Log in Prijava - + There are folders that were not synchronized because they are too big: Zaznane so mape, ki zaradi omejitve velikosti niso bile usklajene: - + There are folders that were not synchronized because they are external storages: Zaznane so mape, ki zaradi pripadnosti zunanji shrambi niso bile usklajene: - + There are folders that were not synchronized because they are too big or external storages: Zaznane so mape, ki zaradi omejitve velikosti ali pripadnosti zunanji shrambi niso bile usklajene: - + Confirm Account Removal Potrdi odstranjevanje računa - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ali res želite odstraniti povezavo z računom <i>%1</i>?</p><p><b>Opomba:</b> odstranitev ovezave <b>ne izbriše</b> nobene datoteke.</p> - + Remove connection Odstrani povezavo - - + + Open folder Odpri mapo - - + + Log out Odjavi račun - + Resume sync Nadaljuj z usklajevanjem - + Pause sync Premor usklajevanja - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ali res želite zaustaviti usklajevanje mape <i>%1</i>?</p><p><b>Opomba:</b> s tem datoteke iz odjemalca <b>ne bodo</b> odstranjene.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) od %2 v uporabi. Nekatere mape, vključno s priklopljenimi mapami in mapami v souporabi, imajo morda različne omejitve. - + %1 of %2 in use %1 od %2 v uporabi - + Currently there is no storage usage information available. Trenutno ni na voljo nobenih podatkov o porabi prostora. - + No %1 connection configured. Ni nastavljene povezave %1. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_sr.ts b/translations/client_sr.ts index 49f3bb858..e0ac81ee8 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic Мнемоник шифровања са краја на крај - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). Да бисте заштитили Ваш криптографски идентитет, шифровали смо га са лако памтљивих 12 речи из речника. Запишите их и добро их чувајте. Биће Вам потребне да додате нове уређаје на Ваш налог (као нпр. мобилни или лаптоп). @@ -205,49 +205,49 @@ Образац - + ... ... - + Storage space: ... Простор у складишту: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Неозначене фасцикле биће <b>уклоњене</b> из локалног фајл-система и више се неће синхронизовати на овом рачунару - + Synchronize all Синхронизуј све - + Synchronize none Ништа не синхронизуј - + Apply manual changes Примени ручне измене - + Apply Примени - - - + + + Cancel Одустани - + Connected with <server> as <user> Повезан са <server> као <user> @@ -257,209 +257,219 @@ Није подешен налог. - + Add new Додај нови - + Remove Уклони - + Account Налог - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Прикажи E2E мнемоник - + Encrypt Шифруј - + Choose what to sync Изаберите шта синхронизовати - + Force sync now Форсирај синхронизацију сада - + Restart sync Поново покрени синхронизацију - + Remove folder sync connection Уклони везу на синхронизацију фасцикле - + Folder creation failed Прављење фасцикле није успело - + <p>Could not create local folder <i>%1</i>. <p>Не могу да направим локалну фасциклу <i>%1</i>. - + Confirm Folder Sync Connection Removal Потврдите уклањање конекције на синхронизацију фасцикле - + Remove Folder Sync Connection Уклони везу на синхронизацију фасцикле - + Sync Running Синхронизација у току - + The syncing operation is running.<br/>Do you want to terminate it? Синхронизација је у току.<br/>Желите ли да је прекинете? - + %1 in use %1 искоришћено - + %1 as <i>%2</i> %1 као <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Верзија сервера %1 је стара и није подржана! Настављате на сопствену одговорност. - + Connected to %1. Повезан са %1. - + Server %1 is temporarily unavailable. Сервер %1 је привремено недоступан. - + Server %1 is currently in maintenance mode. Сервер %1 је тренутно у режиму одржавања. - + Signed out from %1. Одјављен са %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Дохватам ауторизацију из веб читача. <a href='%1'>Кликните овде</a> да поново отворите веб читач. - + Connecting to %1... Повезујем се на %1... - + No connection to %1 at %2. Нема конекције на %1 са %2. - + Log in Пријава - + There are folders that were not synchronized because they are too big: Ово су фасцикле које нису синхронизоване јер су превелике: - + There are folders that were not synchronized because they are external storages: Ово су фасцикле које нису синхронизоване зато што су на спољним складиштима: - + There are folders that were not synchronized because they are too big or external storages: Ово су фасцикле које нису синхронизоване зато што су превелике или су на спољним складиштима: - + Confirm Account Removal Потврда уклањања налога - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Да ли стварно желите да уклоните везу ка налогу <i>%1</i>?</p><p><b>Белешка:</b> Овим <b>нећете</b>обрисати ниједан фајл.</p> - + Remove connection Уклони везу - - + + Open folder Отвори фасциклу - - + + Log out Одјава - + Resume sync Настави синхронизацију - + Pause sync Паузирај синхронизацију - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Желите ли заиста да престанете са синхронизацијом фасцикле <i>%1</i>?</p><p><b>Напомена:</b> Ово <b>неће</b> обрисати ниједан фајл.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) од %2 искоришћено. Неке фасцикле, укључујући мрежно монтиране или дељене фасцикле, могу имати друга ограничења. - + %1 of %2 in use %1% од %2 искоришћено - + Currently there is no storage usage information available. Тренутно нема доступних података о заузећу складишта. - + No %1 connection configured. Нема подешене %1 везе. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Унесите Вашу лозинку за шифровање са краја на крај:<br><br>Корисник: %2<br>Налог: %3<br> - + Enter E2E passphrase Унесите E2E лозинку diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 1ebe701f5..8e436481b 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic End to end krypteringsord - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). För att skydda din krypteringsidentitet, krypterar vi den med en mnemoteknisk av 12 ord. Notera dessa ord och håll dem säkra. De kommer behövas för att lägga till andra enheter till ditt konto (t.ex. mobiltelefon eller laptop). @@ -205,49 +205,49 @@ Form - + ... ... - + Storage space: ... Lagringsutrymme: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore De mappar som inte väljs kommer att <b>raderas</b> från det lokala filsystemet och kommer inte att synkroniseras till den här datorn längre. - + Synchronize all Synkronisera alla - + Synchronize none Synkronisera inga - + Apply manual changes Spara manuella ändringar - + Apply Tillämpa - - - + + + Cancel Avbryt - + Connected with <server> as <user> Ansluten till <server> som <user> @@ -257,209 +257,219 @@ Inget konto är konfigurerat. - + Add new Lägg till ny - + Remove Radera - + Account Konto - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Visa E2E krypteringsord - + Encrypt Kryptera - + Choose what to sync Välj vad som ska synkas - + Force sync now Tvinga synkning - + Restart sync Starta om synkning - + Remove folder sync connection Ta bort anslutning till mappsynkronisering - + Folder creation failed Kunde inte skapa mappen - + <p>Could not create local folder <i>%1</i>. <p>Kunde inte skapa lokal mapp <i>%1</i>. - + Confirm Folder Sync Connection Removal Bekräfta radering av anslutning till mappsynkronisering - + Remove Folder Sync Connection Ta bort anslutning till mappsynkronisering - + Sync Running Synkronisering pågår - + The syncing operation is running.<br/>Do you want to terminate it? En synkronisering pågår.<br/>Vill du avbryta den? - + %1 in use %1 används - + %1 as <i>%2</i> %1 som <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Serverversion %1 är gammal och stöds inte längre! Fortsätt på egen risk. - + Connected to %1. Ansluten till %1. - + Server %1 is temporarily unavailable. Servern %1 är för tillfället inte tillgänglig. - + Server %1 is currently in maintenance mode. Servern %1 är för närvarande i underhållsläge. - + Signed out from %1. Utloggad från %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Anskaffar autentisering från webbläsaren. <a href='%1'>Klicka här </a> för att öppna webbläsaren igen. - + Connecting to %1... Ansluter till %1... - + No connection to %1 at %2. Ingen anslutning till %1 vid %2. - + Log in Logga in - + There are folders that were not synchronized because they are too big: Dessa mappar har inte synkroniserats för att de är för stora: - + There are folders that were not synchronized because they are external storages: Det finns mappar som inte synkroniserats för att de är externa lagringsytor: - + There are folders that were not synchronized because they are too big or external storages: Det finns mappar som inte blivit synkroniserade på grund av att de är för stora eller är externa lagringsytor: - + Confirm Account Removal Bekräfta radering an kontot - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vill du verkligen avsluta anslutningen till kontot <i>%1</i>?</p><p><b>Observera:</b> Detta kommer <b>inte</b> radera några filer.</p> - + Remove connection Radera anslutning - - + + Open folder Öppna mapp - - + + Log out Logga ut - + Resume sync Återuppta synkronisering - + Pause sync Pausa synkronisering - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vill du verkligen avbryta synkronisering av mappen <i>%1</i>?</p><p><b>Observera:</b> Detta kommer <b>inte</b> radera några filer.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) av %2 används. Vissa mappar, inklusive nätverks- eller delade mappar, kan ha andra begränsningar. - + %1 of %2 in use %1 av %2 används - + Currently there is no storage usage information available. Just nu finns ingen utrymmes information tillgänglig - + No %1 connection configured. Ingen %1 anslutning konfigurerad. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Ange dina end to end krypteringsord:<br><br>Användare: %2<br>Konto: %3<br> - + Enter E2E passphrase Ange E2E krypteringsord diff --git a/translations/client_th.ts b/translations/client_th.ts index d356252d4..ea531f420 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ แบบฟอร์ม - + ... ... - + Storage space: ... พื้นที่จัดเก็บข้อมูล: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore โฟลเดอร์ที่ไม่ถูกตรวจสอบจะถูก <b>ลบ</b> จากระบบแฟ้มต้นทางของคุณและจะไม่ประสานข้อมูลกับคอมพิวเตอร์เครื่องนี้อีกต่อไป - + Synchronize all ประสานข้อมูลทั้งหมด - + Synchronize none ไม่ต้องประสานข้อมูล - + Apply manual changes ใช้การเปลี่ยนแปลงด้วยตนเอง - + Apply นำไปใช้ - - - + + + Cancel ยกเลิก - + Connected with <server> as <user> เชื่อมต่อกับ <server> ด้วยผู้ใช้ <user> @@ -257,209 +257,219 @@ ไม่มีการกำหนดค่าบัญชี - + Add new เพิ่มใหม่ - + Remove ลบออก - + Account บัญชี - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync เลือกข้อมูลที่ต้องการประสาน - + Force sync now บังคับประสานข้อมูลเดี๋ยวนี้ - + Restart sync ประสานข้อมูลอีกครั้ง - + Remove folder sync connection ลบโฟลเดอร์ที่ประสานข้อมูลออก - + Folder creation failed สร้างโฟลเดอร์ล้มเหลว - + <p>Could not create local folder <i>%1</i>. <p>ไม่สามารถสร้างโฟลเดอร์ต้นทาง <i>%1</i>. - + Confirm Folder Sync Connection Removal ยืนยันการลบโฟลเดอร์ที่ประสานข้อมูลออก - + Remove Folder Sync Connection ลบโฟลเดอร์ที่ประสานข้อมูล - + Sync Running กำลังประสานข้อมูล - + The syncing operation is running.<br/>Do you want to terminate it? กำลังดำเนินการประสานข้อมูลอยู่ <br/>คุณต้องการสิ้นสุดการทำงาน? - + %1 in use %1 กำลังถูกใช้งาน - + %1 as <i>%2</i> %1 เช่น <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. เซิร์ฟเวอร์เวอร์ชัน %1 เป็นรุ่นเก่าและไม่ได้รับการสนับสนุน! ดำเนินการความเสี่ยงด้วยคุณเอง - + Connected to %1. เชื่อมต่อกับ %1 - + Server %1 is temporarily unavailable. เซิร์ฟเวอร์ %1 ไม่สามารถใช้ได้ชั่วคราว - + Server %1 is currently in maintenance mode. เซิร์ฟเวอร์ %1 กำลังอยู่ในโหมดการบำรุงรักษา - + Signed out from %1. ลงชื่อออกจาก %1 - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. กำลังได้รับอนุญาตจากเบราเซอร์ <a href='%1'>คลิกที่นี่</a> เพื่อเปิดเบราเซอร์อีกครั้ง - + Connecting to %1... กำลังเชื่อมต่อไปยัง %1... - + No connection to %1 at %2. ไม่มีการเชื่อมต่อไปยัง %1 ที่ %2 - + Log in เข้าสู่ระบบ - + There are folders that were not synchronized because they are too big: บางโฟลเดอร์จะไม่ถูกประสานข้อมูลเพราะขนาดของมันใหญ่เกินไป: - + There are folders that were not synchronized because they are external storages: มีบางโฟลเดอร์จะไม่ถูกประสานข้อมูลเพราะเป็นพื้นที่จัดเก็บข้อมูลภายนอก - + There are folders that were not synchronized because they are too big or external storages: มีบางโฟลเดอร์จะไม่ถูกประสานข้อมูลเพราะเป็นพื้นที่จัดเก็บข้อมูลภายนอกหรือมีขนาดที่ใหญ่เกินไป - + Confirm Account Removal ยืนยันการลบบัญชี - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>คุณต้องการลบการเชื่อมต่อกับบัญชี<i>%1</i>?</p><p><b>หมายเหตุ:</b> นี้จะ <b>ไม่</b> ลบไฟล์ใดๆ</p> - + Remove connection ลบการเชื่อมต่อ - - + + Open folder เปิดโฟลเดอร์ - - + + Log out ออกจากระบบ - + Resume sync ประสานข้อมูลอีกครั้ง - + Pause sync หยุดประสานข้อมูลชั่วคราว - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>คุณต้องการที่จะหยุดการประสานข้อมูลโฟลเดอร์<i>%1</i>?</p><p><b>หมายเหตุ:</b> นี้จะ <b>ไม่</b> ลบไฟล์ใดๆ</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. มีการใช้งาน %1 (%3%) จาก %2 บางโฟลเดอร์รวมทั้งเครือข่ายที่ติดตั้งหรือโฟลเดอร์ที่แชร์อาจมีข้อจำกัดที่แตกต่างกัน - + %1 of %2 in use มีการใช้งาน %1 จาก %2 - + Currently there is no storage usage information available. ขณะนี้ไม่มีพื้นที่จัดเก็บข้อมูลที่ใช้งานได้ - + No %1 connection configured. ไม่มีการเชื่อมต่อ %1 ที่ถูกกำหนดค่า @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_tr.ts b/translations/client_tr.ts index 0634f6586..79c08b3b4 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic Uçtan uca şifreleme anımsatıcısı - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). Şifreli kimliğiniz korunmak için 12 sözlük sözcüğünden oluşan bir anımsatıcı ile şifrelendi. Lütfen bu sözcükleri not ederek güvenli bir yerde saklayın. Bu bilgi hesabınıza başka aygıtlar (cep telefonu ya da bilgisayar) eklemek istediğinizde gerekir. @@ -205,49 +205,49 @@ Form - + ... ... - + Storage space: ... Depolama alanı: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Seçilmemiş klasörler yerel dosya sisteminizden <b>kaldırılacak</b> ve bir daha bu bilgisayar ile eşitlenmeyecek - + Synchronize all Tümünü eşitle - + Synchronize none Hiçbirini eşitleme - + Apply manual changes El ile yapılan değişiklikleri uygula - + Apply Uygula - - - + + + Cancel İptal - + Connected with <server> as <user> <server> ile <user> olarak bağlantı kuruldu @@ -257,209 +257,219 @@ Herhangi bir hesap yapılandırılmamış. - + Add new Yeni ekle - + Remove Sil - + Account Hesap - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic Uçtan uca şifreleme anımsatıcı görüntülensin: - + Encrypt Şifrele - + Choose what to sync Eşitlenecek ögeleri seçin - + Force sync now Şimdi eşitlemeye zorla - + Restart sync Eşitlemeyi yeniden başlat - + Remove folder sync connection Klasör eşitleme bağlantısını sil - + Folder creation failed Klasör oluşturulamadı - + <p>Could not create local folder <i>%1</i>. <p><i>%1</i> yerel klasörü oluşturulamadı. - + Confirm Folder Sync Connection Removal Klasör Eşitleme Bağlantısını Silmeyi Onaylayın - + Remove Folder Sync Connection Klasör Eşitleme Bağlantısını Sil - + Sync Running Eşitleme Çalışıyor - + The syncing operation is running.<br/>Do you want to terminate it? Eşitleme işlemi sürüyor.<br/>Durdurmak istiyor musunuz? - + %1 in use %1 kullanılıyor - + %1 as <i>%2</i> %1 <i>%2</i> olarak - + The server version %1 is old and unsupported! Proceed at your own risk. %1 sunucu sürümü eski ve desteklenmiyor! Riski üstlenerek devam edebilirsiniz. - + Connected to %1. %1 ile bağlı. - + Server %1 is temporarily unavailable. %1 sunucusu geçici olarak kullanılamıyor. - + Server %1 is currently in maintenance mode. %1 sunucusu bakım kipinde. - + Signed out from %1. %1 oturumu kapatıldı. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Kimlik web tarayıcısı üzerinden doğrulanıyor. Web tarayıcıyı yeniden açmak için <a href='%1'>buraya tıklayın</a>. - + Connecting to %1... %1 bağlantısı kuruluyor... - + No connection to %1 at %2. %1 ile %2 üzerinde bağlantı yok. - + Log in Oturum Aç - + There are folders that were not synchronized because they are too big: Çok büyük oldukları için eşitlenmeyen klasörler var: - + There are folders that were not synchronized because they are external storages: Dış depolama alanlarında bulundukları için eşitlenmeyen klasörler var: - + There are folders that were not synchronized because they are too big or external storages: Çok büyük oldukları için ya da dış depolama alanında bulundukları için eşitlenmeyen klasörler var: - + Confirm Account Removal Hesap Silmeyi Onaylayın - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Gerçekten <i>%1</i> hesabının bağlantısını kaldırmayı istiyor musunuz?</p><p><b>Not:</b> Bu işlem herhangi bir dosyayı <b>silmez</b>.</p> - + Remove connection Bağlantıyı kaldır - - + + Open folder Klasörü aç - - + + Log out Oturumu Kapat - + Resume sync Eşitlemeyi sürdür - + Pause sync Eşitlemeyi duraklat - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Gerçekten <i>%1</i> klasörünün eşitlemesini durdurmayı istiyor musunuz?</p><p><b>Not:</b> Bu işlem herhangi bir dosyayı <b>silmez</b>.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) / %2 kullanımda. Ağ üzerinden bağlanmış ya da paylaşılmış klasörlerin sınırları farklı olabilir. - + %1 of %2 in use %1 / %2 kullanılıyor - + Currently there is no storage usage information available. Şu anda depolama kullanımı ile ilgili bir bilgi yok. - + No %1 connection configured. Henüz bir %1 bağlantısı yapılandırılmamış. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> Lütfen uçtan uca şifreleme parolasını yazın:<br><br>Kullanıcı:%2<br>Hesap:%3<br> - + Enter E2E passphrase Uçtan uca şifreleme parolasını yazın diff --git a/translations/client_uk.ts b/translations/client_uk.ts index 3d1065018..ae385a575 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ Форма - + ... ... - + Storage space: ... Простір сховища: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore Не позначені теки будуть <b>видалені</b> з вашої системи та більше не будуть синхронізуватися - + Synchronize all Синхронізувати все - + Synchronize none Не синхронізувати нічого - + Apply manual changes Застосувати ручні зміни - + Apply Застосувати - - - + + + Cancel Скасувати - + Connected with <server> as <user> Підключено до <server> як <user> @@ -257,209 +257,219 @@ Обліковий запис не налаштовано. - + Add new Додати - + Remove Видалити - + Account Обліковий запис - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt Шифрувати - + Choose what to sync Оберіть, що хочете синхронізувати - + Force sync now Примусово синхронізувати зараз - + Restart sync Перезапустити синхронізацію - + Remove folder sync connection - + Folder creation failed Не вдалося створити теку - + <p>Could not create local folder <i>%1</i>. <p>Неможливо створити локальну теку <i>%1</i>. - + Confirm Folder Sync Connection Removal - + Remove Folder Sync Connection - + Sync Running Виконується синхронізація - + The syncing operation is running.<br/>Do you want to terminate it? Виконується процедура синхронізації.<br/>Бажаєте зупинити? - + %1 in use %1 використовується - + %1 as <i>%2</i> %1 як <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. - + Connected to %1. Підключено до %1. - + Server %1 is temporarily unavailable. Сервер %1 тимчасово недоступний. - + Server %1 is currently in maintenance mode. - + Signed out from %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... - + No connection to %1 at %2. - + Log in Увійти - + There are folders that were not synchronized because they are too big: - + There are folders that were not synchronized because they are external storages: - + There are folders that were not synchronized because they are too big or external storages: - + Confirm Account Removal Підтвердіть видалення облікового запису - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection - - + + Open folder Відкрити теку - - + + Log out Вихід - + Resume sync Відновити синхронізацію - + Pause sync Призупинити синхронізацію - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. Використовується %1 (%3%) з %2. Деякі теки, включаючи мережеві змонтовані чи спільні, можуть мати інші обмеження. - + %1 of %2 in use Використовується %1 з %2 - + Currently there is no storage usage information available. На даний час немає відомостей про наповнення сховища. - + No %1 connection configured. Жодного %1 підключення не налаштовано. @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index 317062e7f..f37b8db52 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic 端到端加密助记词 - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). 为了保护您的加密身份,我们用 12 个助记词对其进行了加密。请将它们抄下来并妥善保管。在您向账户添加其他设备(手机或笔记本电脑)时需要用到。 @@ -205,49 +205,49 @@ 格式 - + ... ... - + Storage space: ... 存储空间:... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore 取消选中的文件夹将会从本地<b>删除</b>,并不再同步到这台电脑上。 - + Synchronize all 同步所有 - + Synchronize none 不同步 - + Apply manual changes 应用手工修改 - + Apply 应用 - - - + + + Cancel 取消 - + Connected with <server> as <user> <user> 已经连接到 <server> @@ -257,209 +257,219 @@ 没有配置的帐号。 - + Add new 添加 - + Remove 移除 - + Account 账户 - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic 显示 E2E 助记词 - + Encrypt 加密 - + Choose what to sync 选择同步内容 - + Force sync now 立即强制同步 - + Restart sync 重启同步 - + Remove folder sync connection 移除文件夹同步连接 - + Folder creation failed 文件夹创建失败 - + <p>Could not create local folder <i>%1</i>. <p>无法创建文件夹 <i>%1</i>。 - + Confirm Folder Sync Connection Removal 确定移除文件夹同步连接 - + Remove Folder Sync Connection 移除文件夹同步连接 - + Sync Running 正在同步 - + The syncing operation is running.<br/>Do you want to terminate it? 同步操作正在进行。<br />您确定要停止吗? - + %1 in use %1 已使用 - + %1 as <i>%2</i> %1, <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. 服务器版本 %1 很旧且不支持,继续操作将自行承担风险。 - + Connected to %1. 已连接到 %1。 - + Server %1 is temporarily unavailable. 服务器 %1 暂时不可用。 - + Server %1 is currently in maintenance mode. 服务器 %1 目前正在维护。 - + Signed out from %1. 从 %1 退出。 - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. 正在从浏览器获得授权。 <a href='%1'>点击此处</a> 重新打开浏览器。 - + Connecting to %1... 正在连接到 %1 - + No connection to %1 at %2. 没有到位于%2中的%1的连接 - + Log in 登录 - + There are folders that were not synchronized because they are too big: 以下目录由于太大而没有同步: - + There are folders that were not synchronized because they are external storages: 以下目录由于是外部存储而没有同步: - + There are folders that were not synchronized because they are too big or external storages: 以下目录由于太大或是外部存储而没有同步: - + Confirm Account Removal 确认删除账号 - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>您确定要删除账号<i>%1</i>的连接?</p><p><b>注意:</b> 这 <b>不会</b> 删除任何文件。</p> - + Remove connection 删除连接 - - + + Open folder 打开文件夹 - - + + Log out 注销 - + Resume sync 恢复同步 - + Pause sync 暂停同步 - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>您确定要停止文件夹<i>%1</i>同步?</p><p><b>注意:</b> 这 <b>不会</b> 删除任何文件。</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) of %2 使用中。一些文件夹,例如网络挂载的和共享的文件夹,可能有不同的限制。 - + %1 of %2 in use 使用量 %1 / %2 - + Currently there is no storage usage information available. 目前没有储存使用量信息可用。 - + No %1 connection configured. 没有 %1 连接配置。 @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> 请输入端到端加密短语:<br><br>用户名:%2<br>账号:%3<br> - + Enter E2E passphrase 输入 E2E 密语 diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index 9b05e4b53..8dd5ce71a 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -187,12 +187,12 @@ OCC::AccountManager - + End to end encryption mnemonic - + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). @@ -205,49 +205,49 @@ 表單 - + ... ... - + Storage space: ... 儲存空間容量: ... - + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore 未標示的資料夾將會從這台電腦被 <b>刪除</b> 而且不會再被同步到這台電腦 - + Synchronize all 全部同步 - + Synchronize none 全部不同步 - + Apply manual changes 套用手動改變 - + Apply 套用 - - - + + + Cancel 取消 - + Connected with <server> as <user> 以 <user> 的身分連接 <server> @@ -257,209 +257,219 @@ 沒有設置帳號。 - + Add new 新增 - + Remove 移除 - + Account 帳號 - + + This account supports end-to-end encryption + + + + + Enable encryption + + + + Show E2E mnemonic - + Encrypt - + Choose what to sync 選擇要同步的項目 - + Force sync now 強制同步 - + Restart sync 重新啟動同步 - + Remove folder sync connection 移除資料夾同步連線 - + Folder creation failed 資料夾建立失敗 - + <p>Could not create local folder <i>%1</i>. <p>無法建立本地資料夾 <i>%1</i> - + Confirm Folder Sync Connection Removal 確認移除資料夾同步連線 - + Remove Folder Sync Connection 移除資料夾同步連線 - + Sync Running 正在同步中 - + The syncing operation is running.<br/>Do you want to terminate it? 正在同步中<br/>你真的想要中斷? - + %1 in use %1 正在使用 - + %1 as <i>%2</i> %1 如 <i>%2<i> - + The server version %1 is old and unsupported! Proceed at your own risk. 伺服器版本%1過舊,已不支援。繼續的風險請自負。 - + Connected to %1. 已連線到 %1 - + Server %1 is temporarily unavailable. 伺服器 %1 暫時無法使用。 - + Server %1 is currently in maintenance mode. 伺服器 %1 現正處於維護模式 - + Signed out from %1. 從 %1 登出 - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... 正在連接到 %1 ... - + No connection to %1 at %2. 沒有從 %2 連線到 %1 - + Log in 登入 - + There are folders that were not synchronized because they are too big: 有部份的資料夾因為容量太大沒有辦法同步: - + There are folders that were not synchronized because they are external storages: 有部分資料夾因為是外部存儲沒有辦法同步: - + There are folders that were not synchronized because they are too big or external storages: 有部分資料夾因為容量太大或是外部存儲沒有辦法同步: - + Confirm Account Removal 確認移除帳號 - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>您確定要中斷此帳號 <i>%1</i> 的連線?</p><p><b>注意:</b>此操作 <b>不會</b> 刪除任何的檔案。</p> - + Remove connection 移除連線 - - + + Open folder 開啟資料夾 - - + + Log out 登出 - + Resume sync 繼續同步 - + Pause sync 暫停同步 - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>您確定要停止同步資料夾 <i>%1</i>?</p><p><b>注意:</b> 此操作 <b>不會</b> 刪除任何檔案</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) 中的 %2 正在使用, 有些資料夾,包括網路掛載或分享資料夾,可能有不同的限制。 - + %1 of %2 in use 已使用 %2 中的 %1% - + Currently there is no storage usage information available. 目前無法查詢儲存空間使用資訊。 - + No %1 connection configured. 沒有 %1 連線設置。 @@ -663,12 +673,12 @@ OCC::ClientSideEncryption - + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Enter E2E passphrase From f6dee2b10fb90839b93ef822bddc2808a984d7b9 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 5 Jun 2019 02:47:31 +0000 Subject: [PATCH 048/192] [tx-robot] updated from transifex --- translations/client_de.ts | 4 ++-- translations/client_fr.ts | 4 ++-- translations/client_gl.ts | 4 ++-- translations/client_it.ts | 4 ++-- translations/client_lt_LT.ts | 4 ++-- translations/client_pt_BR.ts | 4 ++-- translations/client_sv.ts | 4 ++-- translations/client_zh_CN.ts | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/translations/client_de.ts b/translations/client_de.ts index e2e1f5106..4f9c1931c 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + Dieses Konto unterstützt Ende-zu-Ende-Verschlüsselung Enable encryption - + Verschlüsselung aktivieren diff --git a/translations/client_fr.ts b/translations/client_fr.ts index 8fdb7d117..ccc6ee795 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + Ce compte prend en charge le chiffrement de bout en bout. Enable encryption - + Activer le chiffrement diff --git a/translations/client_gl.ts b/translations/client_gl.ts index fd4075fac..7fd9b824c 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + Esta conta admite o cifrado de extremo a extremo Enable encryption - + Activar o cifrado diff --git a/translations/client_it.ts b/translations/client_it.ts index c61a3b48d..8b7e6142e 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + Questo account supporta la cifratura End-To-End Enable encryption - + Abilita cifratura diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index d146be9ce..c30a3b672 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + Ši paskyra palaiko ištisinį šifravimą Enable encryption - + Įjungti šifravimą diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index ca9ff2ae9..fcfce6cfe 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + Esta conta suporta criptografia de ponta-a-ponta Enable encryption - + Ativar criptografia diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 8e436481b..0b5bf5b0a 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + Detta konto stödjer ändpunkt-till-ändpunkt-kryptering Enable encryption - + Aktivera kryptering diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index f37b8db52..94e04065a 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + 此账号支持端到端加密 Enable encryption - + 启用加密 From feee0bf62b92da7a3441dd97e2688e916a46d534 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 6 Jun 2019 02:47:28 +0000 Subject: [PATCH 049/192] [tx-robot] updated from transifex --- translations/client_cs.ts | 6 +++--- translations/client_es.ts | 4 ++-- translations/client_pl.ts | 4 ++-- translations/client_tr.ts | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/translations/client_cs.ts b/translations/client_cs.ts index 46596d412..da8c6ad97 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + Tento účet podporuje šifrování end-to-end Enable encryption - + Zapnout šifrování @@ -3418,7 +3418,7 @@ Nedoporučuje se jí používat. The host "%1" provided an invalid certificate. Continue? - + Stroj „%1“ předložil neplatný certifikát. Pokračovat? diff --git a/translations/client_es.ts b/translations/client_es.ts index 267ab6e7a..4dbe590d5 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + Esta cuenta soporta cifrado punto a punto Enable encryption - + Habilitar cifrado diff --git a/translations/client_pl.ts b/translations/client_pl.ts index 33a7259ae..1c90d66d6 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + To konto obsługuje szyfrowanie typu end-to-end Enable encryption - + Włącz szyfrowanie diff --git a/translations/client_tr.ts b/translations/client_tr.ts index 79c08b3b4..51a0880b7 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + Bu hesap uçtan uca şifrelemeyi destekliyor Enable encryption - + Şifreleme kullanılsın From 51e398d4f4e9a0cc1548d053c985113d9def96b5 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 8 Jun 2019 02:46:59 +0000 Subject: [PATCH 050/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner From 42b9dec1d01f8f97d633282702a90e756ab6dab1 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 9 Jun 2019 02:47:26 +0000 Subject: [PATCH 051/192] [tx-robot] updated from transifex --- translations/client_id.ts | 4190 +++++++++++++++++++++++++++++++++++++ 1 file changed, 4190 insertions(+) create mode 100644 translations/client_id.ts diff --git a/translations/client_id.ts b/translations/client_id.ts new file mode 100644 index 000000000..e51e19624 --- /dev/null +++ b/translations/client_id.ts @@ -0,0 +1,4190 @@ + + + CloudProviderWrapper + + + %1 (%2, %3) + %1 (%2, %3) + + + + Checking for changes in '%1' + Memeriksa perubahan pada '%1' + + + + Syncing %1 of %2 (%3 left) + Sinkronisasi %1 dari %2 (tersisa %3) + + + + Syncing %1 of %2 + Sinkronisasi %1 dari %2 + + + + Syncing %1 (%2 left) + %1 Sinkronisasi (tersisa %2) + + + + Syncing %1 + Sinkronisasi %1 + + + + + No recently changed files + Tidak ada perubahan berkas terbaru + + + + Sync paused + Sinkronisasi dijeda + + + + Syncing + Sinkronisasi berlangsun + + + + Open website + Buka situs web + + + + Recently changed + Perubahan terbaru + + + + Pause synchronization + Jeda sinkronisasi + + + + Help + Bantuan + + + + Settings + Pengaturan + + + + Log out + Log keluar + + + + Quit sync client + Hentikan klien sinkron + + + + Dialog + + + Dialog + Dialog + + + + Label + Label + + + + FileSystem + + + Could not make directories in trash + Tidak dapat membuat direktori pada tempat sampah + + + + + Could not move '%1' to '%2' + Tidak dapat memindahkan '%1' ke '%2' + + + + Moving to the trash is not implemented on this platform + Memindahkan tempat sampat tidak diimplementasikan pada platform ini + + + + FolderWizardSourcePage + + + Form + Form + + + + Pick a local folder on your computer to sync + Pilih direktori lokal pada komputer Anda untuk sinkronisasi + + + + &Choose... + &Pilih... + + + + FolderWizardTargetPage + + + Form + Form + + + + Select a remote destination folder + Pilih destinasi folder remote + + + + Create Folder + Buat Folder + + + + Refresh + Segarkan + + + + Folders + Folder-folder + + + + TextLabel + LabelTeks + + + + OCC::AbstractNetworkJob + + + Connection timed out + Koneksi terputus + + + + Unknown error: network reply was deleted + Galat tidak diketahui: balasan jaringan telah dihapus + + + + Server replied "%1 %2" to "%3 %4" + Server membalas "%1 %2" ke "%3 %4" + + + + OCC::AccountManager + + + End to end encryption mnemonic + Enkripsi mnemonic end to end + + + + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). + Untuk melindungi Identitas Kriptografi Anda, kami mengenkripsinya dengan sebuah mnemonic dari 12 kamus kata. Mohon untuk dicatat dan amankan. Enkripsi ini akan dibutuhkan untuk menambah perangkat lainnya ke akun Anda (seperti ponsel Anda atau laptop). + + + + OCC::AccountSettings + + + Form + Form + + + + ... + ... + + + + Storage space: ... + Ruang penyimpanan: ... + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + Folder yang tidak dicentang akan <b>dihapus</b> dari berkas lokal sistem Anda dan tidak akan disinkronisasi ke komputer ini lagi + + + + Synchronize all + Sinkronisasi semua + + + + Synchronize none + Tidak ada sinkronisasi + + + + Apply manual changes + Terapkan perubahan secara manual + + + + Apply + Terapkan + + + + + + Cancel + Batal + + + + Connected with <server> as <user> + Terhubung dengan <server> sebagai <user> + + + + No account configured. + Belum ada akun terkonfigurasi + + + + Add new + Tambahkan baru + + + + Remove + Buang + + + + Account + Akun + + + + This account supports end-to-end encryption + Akun ini mendukung enkripsi end-to-end + + + + Enable encryption + Hidupkan enkripsi + + + + Show E2E mnemonic + Tampilkan E2E mnemonic + + + + Encrypt + Enkrip + + + + Choose what to sync + Pilih apa yang akan disinkron + + + + Force sync now + Paksa sinkronisasi sekarang + + + + Restart sync + Ulang sinkronisasi + + + + Remove folder sync connection + Hapus koneksi sinkronisasi folder + + + + Folder creation failed + Pembuatan Folder gagal + + + + <p>Could not create local folder <i>%1</i>. + <p>Tidak dapat membuat folder lokal <i>%1</i> + + + + Confirm Folder Sync Connection Removal + Konfirmasi Penghapusan Koneksi Sinkronisasi Folder + + + + Remove Folder Sync Connection + Hapus Koneksi Sinkronisasi Folder + + + + Sync Running + Sinkronisasi berlangsung + + + + The syncing operation is running.<br/>Do you want to terminate it? + Operasi sinkronisasi sedang berjalan. <br/>Apakah Anda ingin membatalkannya? + + + + %1 in use + %1 digunakan + + + + %1 as <i>%2</i> + %1 sebagai <i>%2</i> + + + + The server version %1 is old and unsupported! Proceed at your own risk. + Versi server %1 sudah usang dan tidak lagi di dukung! Resiko tanggung sendiri. + + + + Connected to %1. + Tersambung ke %1. + + + + Server %1 is temporarily unavailable. + Peladen %1 sementara tidak tersedia. + + + + Server %1 is currently in maintenance mode. + Peladen %1 sementara dalam moda pemeliharaan. + + + + Signed out from %1. + Log keluar dari %1. + + + + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. + Mendapatkan autorisasi dari browser. <a href='%1'>Klik disini</a> untuk membuka ulang browser. + + + + Connecting to %1... + Menghubungi ke %1... + + + + No connection to %1 at %2. + Tidak ada koneksi ke %1 di %2. + + + + Log in + Log masuk + + + + There are folders that were not synchronized because they are too big: + Terdapat folder tidak tersinkronisasi karena terlalu besar: + + + + There are folders that were not synchronized because they are external storages: + Terdapat folder tidak tersinkronisasi karena penyimpanan eksternal: + + + + There are folders that were not synchronized because they are too big or external storages: + Terdapat folder tidak tersinkronisasi karena terlalu besar atau penyimpanan ekternal: + + + + Confirm Account Removal + Konfirmasi pemutusan akun + + + + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> + <p> Apakah Anda ingin menghapus koneksi untuk akun <i> %1</i>?</p> <p><b> Catatan: </b> Aksi ini tidak akan menghapus berkas apapun.</p> + + + + Remove connection + Hapus koneksi + + + + + Open folder + Buka folder + + + + + Log out + Log keluar + + + + Resume sync + Lanjutkan sinkron + + + + Pause sync + Jeda sinkron + + + + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> + <p> Apakah Anda ingin menghentikan sinkronisasi folder <i>%1</i>?</p><p><b> Catatan:</b> Aksi ini tidak akan menghapus berkas apapun.</p> + + + + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. + %1 (%3%) dari %2 sedang digunakan. Beberapa folder, termasuk jaringan yang terpasang atau folder yang telah dibagikan, kemungkinan mempunyai beberapa keterbatasan. + + + + %1 of %2 in use + %1 dari %2 sedang digunakan + + + + Currently there is no storage usage information available. + Saat ini tidak ada informasi penggunaan ruang yang tersedia. + + + + No %1 connection configured. + Tidak ada koneksi %1 yang dikonfigurasi. + + + + OCC::AccountState + + + Signed out + Log keluar + + + + Disconnected + Terputus + + + + Connected + Tersambung + + + + Service unavailable + Layanan tidak tersedia + + + + Maintenance mode + Mode perbaikan + + + + Network error + Kesalahan jaringan + + + + Configuration error + Kesalahan konfigurasi + + + + Asking Credentials + Menanyakan Kredensial + + + + Unknown account state + Kondisi akun tidak diketahui + + + + OCC::ActivityItemDelegate + + + %1 + %1 + + + + More information + Informasi lebih lanjut + + + + Accept + Terima + + + + Join + Gabung + + + + Open Browser + Buka Peramban + + + + OCC::ActivityWidget + + + Form + Form + + + + TextLabel + LabelTeks + + + + Accept + Terima + + + + Synced + Tersinkronisasi + + + + Retry all uploads + Mencoba semua unggahan + + + + <br/>Account %1 does not have activities enabled. + <br/>Akun %1 tidak memiliki aktivitas yang diaktifkan. + + + + OCC::AddCertificateDialog + + + SSL client certificate authentication + Sertifikat autentikasi klien SSL + + + + This server probably requires a SSL client certificate. + Server ini kemungkinan mengharuskan sebuah sertifikat klien SSL. + + + + Certificate & Key (pkcs12) : + Sertifikat & Kunci (pkcs12) : + + + + Browse... + Jelajahi... + + + + Certificate password : + Kata sandi sertifikat : + + + + Select a certificate + Pilih sertifikat + + + + Certificate files (*.p12 *.pfx) + Berkas sertifikat (*.p12 *.pfx) + + + + OCC::Application + + + Error accessing the configuration file + Galat saat mengakses berkas konfigurasi + + + + There was an error while accessing the configuration file at %1. Please make sure the file can be accessed by your user. + Terdapat kesalahan saat mengakses berkas konfigurasi pada %1. Mohon untuk memastikan berkas dapat diakses oleh pengguna Anda. + + + + Quit %1 + Keluar dari %1 + + + + OCC::AuthenticationDialog + + + Authentication Required + Autentikasi Diperlukan + + + + Enter username and password for '%1' at %2. + Masukkan nama pengguna dan kata sandi untuk '%1' di %2. + + + + &User: + &Pengguna: + + + + &Password: + &Kata sandi: + + + + OCC::CleanupPollsJob + + + Error writing metadata to the database + Kesalahan saat menulis metadata ke database + + + + OCC::ClientSideEncryption + + + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> + Mohon untuk memasukkan kata sandi (passphrase) enkripsi end to end Anda: <br><br>Pengguna: %2<br>Akun: %3<br> + + + + Enter E2E passphrase + Masukkan kata sandi (passphrase) E2E + + + + OCC::ConnectionValidator + + + No ownCloud account configured + Belum ada akun ownCloud yang dikonfigurasi + + + + The configured server for this client is too old + Server yang telah dikonfigurasi untuk klien ini sudah terlalu usang + + + + Please update to the latest server and restart the client. + Mohon untuk memperbaharui ke server yang terbaru kemudian restart klien. + + + + Authentication error: Either username or password are wrong. + Autentikasi bermasalah: Nama pengguna atau kata sandi salah. + + + + timeout + waktu habis + + + + The provided credentials are not correct + Kredensial yang telah disediakan tidak benar + + + + OCC::DiscoveryMainThread + + + Aborted by the user + Dibatalkan oleh pengguna + + + + OCC::DiscoverySingleDirectoryJob + + + The server file discovery reply is missing data. + Ada data yang hilang di berkas server deteksi balasan. + + + + OCC::Folder + + + Local folder %1 does not exist. + Tidak ditemukan folder lokal %1. + + + + %1 should be a folder but is not. + %1 seharusnya sebuah folder namun ini bukan. + + + + %1 is not readable. + %1 tidak dapat dibaca. + + + + %1 has been removed. + %1 names a file. + %1 telah dihapus. + + + + %1 has been downloaded. + %1 names a file. + %1 telah diunduh. + + + + %1 has been updated. + %1 names a file. + %1 telah diperbaharui. + + + + %1 has been renamed to %2. + %1 and %2 name files. + %1 telah diubah namanya ke %2. + + + + %1 has been moved to %2. + %1 telah dipindah ke %2. + + + + %1 and %n other file(s) have been removed. + %1 dan %n berkas lainnya telah dihapus. + + + + %1 and %n other file(s) have been downloaded. + %1 dan %n berkas lainnya telah diunduh. + + + + %1 and %n other file(s) have been updated. + %1 dan %n berkas lainnya telah diperbaharui. + + + + %1 has been renamed to %2 and %n other file(s) have been renamed. + %1 dan %n berkas lainnya telah dinamai ulang. + + + + %1 has been moved to %2 and %n other file(s) have been moved. + %1 telah dipindah ke %2 dan juga %n berkas lainnya telah dipindah. + + + + %1 has and %n other file(s) have sync conflicts. + %1 dan %n berkas lainnya mempunyai konflik sinkronisasi. + + + + %1 has a sync conflict. Please check the conflict file! + %1 memiliki konflik sinkronisasi. Mohon cek kembali berkasnya! + + + + %1 and %n other file(s) could not be synced due to errors. See the log for details. + %1 dan %n berkas lainnya tidak dapat disinkronisasi disebabkan kesalahan. Lihat catatan log untuk lebih lanjut. + + + + %1 could not be synced due to an error. See the log for details. + %1 tidak dapat disinkronisasi disebabkan kesalahan. Lihat catatan log untuk lebih lanjut. + + + + Sync Activity + Aktivitas Sinkronisasi + + + + Could not read system exclude file + Tidak dapat membaca berkas sistem yang dikecualikan + + + + A new folder larger than %1 MB has been added: %2. + + Sebuah folder baru lebih dari %1 MB telah ditambahkan: %2. + + + + + A folder from an external storage has been added. + + Sebuah folder dari luar ruang penyimpanan telah ditambahkan. + + + + + Please go in the settings to select it if you wish to download it. + Mohon untuk ke pengaturan untuk memilihnya jika Anda ingin mengunduhnya. + + + + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. + Folder %1 telah dibuat namun dikecualikan dari sinkronisasi sebelumnya. Data yang ada di dalamnya tidak akan disinkronisasi. + + + + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. + Berkas %1 telah dibuat namun dikecualikan dari sinkronisasi sebelumnya. Data yang ada di dalamnya tidak akan disinkronisasi. + + + + Changes in synchronized folders could not be tracked reliably. + +This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). + +%1 + Perubahan di folder yang tersinkronisasi tidak dapat dilacak reabilitasnya. + +Ini artinya sinkronisasi klien mungkin tidak menggunggah perubahan lokal sesegera mungkin dan justru akan memindai perubahan lokal saja dan dalam waktu senggan akan mengunggahnya (setiap dua jam dari bawaan). + +%1 + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + Semua berkas di dalam sinkronisasi folder '%1' telah dihapus dari server. +Perubahan ini akan disinkronisasi ke folder sinkronisasi lokal Anda, termasuk membuat berkas-berkas Anda tidak lagi tersedia kecuali Anda mempunyai hak untuk memulihkannya kembali. +Jika Anda memutuskan untuk berkas Anda tetap tersedia, berkas-berkas Anda akan disinkronisasi ulang dengan server jika Anda mempunyai hak akses untuk melakukannya. +Jika Anda memutuskan untuk menghapusnya, berkas-berkas Anda tidak akan lagi tersedia untuk Anda, kecuali Anda sang pemiliknya. + + + + Download new files? + Unduh berkas baru? + + + + Download new files + Unduh berkas baru + + + + Keep local files + Biarkan berkas-berkas lokal tetap ada + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + Semua berkas di dalam sinkronisasi folder '%1' telah dihapus dari server. Perubahan ini akan disinkronisasi ke folder sinkronisasi lokal Anda, termasuk membuat berkas-berkas Anda tidak lagi tersedia kecuali Anda memulihkannya kembali. +Anda yakin ingin mesinkronisasi aksi tersebut dengan server? +Jika ini adalah sebuah ketidaksengajaan dan Anda memutuskan untuk berkas Anda tetap tersedia, berkas-berkas Anda akan disinkronisasi ulang dengan server. + + + + This sync would reset the files to an earlier time in the sync folder '%1'. +This might be because a backup was restored on the server. +Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? + Sinkronisasi ini akan mereset berkas-berkas ke waktu sebelumnya di dalam folder sinkronisasi '%1'. +Ini disebabkan karena sebuah cadangan telah dipulihkan di server. +Melanjutkan sinkronisasi seperti biasanya akan menyebabkan semua berkas Anda ditimpa dengan berkas yang lama di kondisi yang lama. Apakah Anda ingin tetap membuat berkas lokal paling baru Anda sebagai berkas yang berkonflik? + + + + Backup detected + Cadangan ditemukan + + + + Normal Synchronisation + Sinkronisasi Normal + + + + Keep Local Files as Conflict + Buat Berkas Lokal sebagai Konflik + + + + OCC::FolderMan + + + Could not reset folder state + Tidak dapat mereset keadaan folder + + + + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. + Sebuah jurnal sinkronisasi lama '%1' telah ditemukan, namun tidak dapat menghapusnya. Mohon untuk memastikan bahwa tida ada aplikasi yang sedang menggunakannya. + + + + (backup) + (cadangan) + + + + (backup %1) + (cadangkan %1) + + + + Undefined State. + Kondisi Yang Tidak Ditentukan + + + + Waiting to start syncing. + Menunggu untuk memulai sinkronisasi. + + + + Preparing for sync. + Persiapan untuk sinkronisasi. + + + + Sync is running. + Sinkronisasi sedang berjalan. + + + + Sync was successful, unresolved conflicts. + Sinkronisasi berhasi, konflik belum diselesaikan. + + + + Last Sync was successful. + Sinkronisasi terakhir sukses. + + + + Setup Error. + Kesalahan Persiapan. + + + + User Abort. + Pengguna Batalkan. + + + + Sync is paused. + Sinkronisasi dijeda. + + + + %1 (Sync is paused) + %1 (Sinkronisasi dijeda) + + + + No valid folder selected! + Tidak ada folder yang valid dipilih! + + + + The selected path is not a folder! + Jalur yang dipilih bukanlah sebuah folder! + + + + You have no permission to write to the selected folder! + Anda tidak memiliki ijin untuk menulis ke folder yang dipilih! + + + + There is already a sync from the server to this local folder. Please pick another local folder! + Sudah ada sinkronisasi dari server ke folder lokal ini. Mohon pilih folder lokal lainnya! + + + + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! + Folder lokal %1 sudah terdapat sebuah folder yang digunakan di dalam sebuah koneksi sinkronisasi folder. Mohon pilih yang lainnya! + + + + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! + Folder lokal %1 sudah terdapat sebuah folder yang digunakan di dalam sebuah koneksi sinkronisasi folder. Mohon pilih yang lainnya! + + + + OCC::FolderStatusDelegate + + + Add Folder Sync Connection + Tambah Koneksi Sinkronisasi Folder + + + + Synchronized with local folder + Sinkronisasi dengan folder lokal + + + + File + Berkas + + + + OCC::FolderStatusModel + + + You need to be connected to add a folder + Anda diharuskan terhubung untuk menambahkan sebuah folder + + + + Click this button to add a folder to synchronize. + Klik tombol ini untuk menambahkan sebuah folder untuk disinkronisasi. + + + + + %1 (%2) + Example text: "File.txt (23KB)" + %1 (%2) + + + + Error while loading the list of folders from the server. + Galat saat memuat daftar folder dari server. + + + + Signed out + Telah keluar + + + + Fetching folder list from server... + Memuat daftar folder dari server.... + + + + There are unresolved conflicts. Click for details. + Terdapat konflik yang belum diselesaikan. Klik untuk detilnya. + + + + Reconciling changes + Mencocokkan perubahan + + + + , '%1' + Build a list of file names + + + + + '%1' + Argument is a file name + '%1' + + + + Syncing %1 + Example text: "Syncing 'foo.txt', 'bar.txt'" + Mensinkronisasi %1 + + + + + , + , + + + + download %1/s + Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) + unduhan %1/s + + + + upload %1/s + Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) + unggahan %1/s + + + + Checking for changes in remote '%1' + Mengecek perubahan di remote '%1' + + + + Checking for changes in local '%1' + Mengecek perubahan di '%1' lokal + + + + ↓ %1/s + ↓ %1/s + + + + ↑ %1/s + ↑ %1/s + + + + %1 %2 (%3 of %4) + Example text: "uploading foobar.png (2MB of 2MB)" + %1 %2 (%3 dari %4) + + + + %1 %2 + Example text: "uploading foobar.png" + %1 %2 + + + + %5 left, %1 of %2, file %3 of %4 + Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" + Sisa %5, %1 dari %2, berkas ke %3 dari %4 + + + + %1 of %2, file %3 of %4 + Example text: "12 MB of 345 MB, file 6 of 7" + %1 dari %2, berkas ke %3 dari %4 + + + + file %1 of %2 + Berkas %1 dari %2 + + + + Waiting... + Menunggu... + + + + Waiting for %n other folder(s)... + Menunggu untuk %n folder lainnya... + + + + Preparing to sync... + Menunggu untuk sinkronisasi... + + + + OCC::FolderWatcherPrivate + + + This problem usually happens when the inotify watches are exhausted. Check the FAQ for details. + Masalah ini sering kali terjadi ketika inotify watches kehausan. Cek halaman FAQ untuk lebih lanjut. + + + + OCC::FolderWizard + + + Add Folder Sync Connection + Tambah Koneksi Sinkronisasi Folder + + + + Add Sync Connection + Tambah Koneksi Sinkronisasi + + + + OCC::FolderWizardLocalPath + + + Click to select a local folder to sync. + Klik untuk memilih sebuah folder lokal untuk disinkronisasi. + + + + Enter the path to the local folder. + Masukkan sebuah jalur ke folder lokal. + + + + Select the source folder + Pilih sumber folder + + + + OCC::FolderWizardRemotePath + + + Create Remote Folder + Buat Folder Remote + + + + Enter the name of the new folder to be created below '%1': + Masukkan nama untuk folder baru yang akan dibuat dibawah '%1': + + + + Folder was successfully created on %1. + Folder telah sukses dibuat di %1. + + + + Authentication failed accessing %1 + Autentikasi gagal saat mengakses %1 + + + + Failed to create the folder on %1. Please check manually. + Gagal untuk membuat folder baru di %1. Mohon cek secara manual. + + + + Failed to list a folder. Error: %1 + Gagal untuk mengurutkan daftar folder. Galat: %1 + + + + Choose this to sync the entire account + Pilih ini untuk mensinkronisasi ke seluruh akun + + + + This folder is already being synced. + Folder ini telah disinkronisasi. + + + + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. + Anda sudah mensinkronisasi <i>%1</i>, yang mana termasuk dalam folder <i>%2</i>. + + + + OCC::FormatWarningsWizardPage + + + <b>Warning:</b> %1 + <b>Peringatan:</b> %1 + + + + <b>Warning:</b> + <b>Peringatan:</b> + + + + OCC::GETFileJob + + + No E-Tag received from server, check Proxy/Gateway + Tidak ada E-Tag yang diterima dari server, cek Proksi/Gerbang + + + + We received a different E-Tag for resuming. Retrying next time. + Kami menerima sebuah E-Tag yang berbeda untuk dilanjutkan. Mencoba lain waktu. + + + + Server returned wrong content-range + Server kembali dengan jarak-konten yang salah + + + + Connection Timeout + Waktu Koneksi Habis + + + + OCC::GeneralSettings + + + Form + Form + + + + Legal notice + Pemberitahuan hukum + + + + General Settings + Pengaturan Umum + + + + For System Tray + Untuk Tray Sistem + + + + Show Server &Notifications + Tampilkan Server & Notifikasi + + + + Advanced + Tingkat Lanjut + + + + Ask for confirmation before synchronizing folders larger than + Meminta untuk konfirmasi sebelum sinkronisasi folder yang melebihi dari + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing external storages + Meminta konfirmasi sebelum sinkronisasi penyimpanan eksternal + + + + &Launch on System Startup + &Luncurkan saat Sistem Dimulai + + + + Use &Monochrome Icons + Gunakan Ikon &Monokrom + + + + Edit &Ignored Files + Sunting &Abaikan Berkas + + + + Show sync folders in &Explorer's Navigation Pane + Tampilkan folder yang disinkronisasi di Panel Navigasi &Explorer + + + + S&how crash reporter + + + + + + About + Tentang + + + + Updates + Pembaruan + + + + &Restart && Update + &Hidupkan ulang && Perbarui + + + + Server notifications that require attention. + Notifikasi server yang memerlukan perhatian. + + + + OCC::GetOrCreatePublicLinkShare + + + Sharing error + Gagal berbagi + + + + Could not retrieve or create the public link share. Error: + +%1 + Tidak dapat mengambil atau membuat berbagi tautan publik. Galat: + +%1 + + + + OCC::HttpCredentialsGui + + + Please enter %1 password:<br><br>User: %2<br>Account: %3<br> + Mohon untuk memasukkan kata sandi %1:<br><br>Pengguna: %2<br>Akun: %3<br> + + + + Reading from keychain failed with error: '%1' + Membaca dari keychain gagal dengan galat: '%1' + + + + Enter Password + Masukkan Kata Sandi + + + + <a href="%1">Click here</a> to request an app password from the web interface. + <a href="%1">Klik disini</a> untuk meminta kata sandi aplikasi dari antarmuka situs. + + + + OCC::IgnoreListEditor + + + Ignored Files Editor + Abaikan Editor Berkas + + + + Global Ignore Settings + Pengaturan Pengabaian Global + + + + Sync hidden files + Sinkronisasi berkas tersembunyi + + + + Files Ignored by Patterns + Berkas Diabaikan Menurut Pola + + + + Add + Tambah + + + + Remove all + Hapus semua + + + + Pattern + Pola + + + + Allow Deletion + Bolehkan Penghapusan + + + + Remove + Hapus + + + + Files or folders matching a pattern will not be synchronized. + +Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. + Berkas atau folder yang cocok dengan pola tidak akan disinkronisasi. + +Item dimana penghapusan yang diperbolehkan akan dihapus jika item tsb mencegah sebuah direktori untuk dihapus. Ini berguna untuk data meta. + + + + Could not open file + Tidak dapat membuka berkas + + + + Cannot write changes to '%1'. + Tidak dapat menulis perubahan ke '%1'. + + + + Add Ignore Pattern + Tambah Pola Abaian + + + + Add a new ignore pattern: + Tambah baru pola abaian: + + + + This entry is provided by the system at '%1' and cannot be modified in this view. + Entri ini disediakan oleh sistem di '%1' dan tidak dapat dimodifikasi dalam tampilan ini. + + + + OCC::LegalNotice + + + Dialog + Dialog + + + + Legal notice + Pemberitahuan hukum + + + + TextLabel + LabelTeks + + + + Close + Tutup + + + + <p>Copyright 2017-2018 Nextcloud GmbH<br />Copyright 2012-2018 ownCloud GmbH</p> + <p>Hak Cipta 2017-2018 Nextcloud GmbH<br />Hak Cipta 2012-2018 ownCloud GmbH</p> + + + + <p>Licensed under the GNU General Public License (GPL) Version 2.0 or any later version.</p> + <p>Lisensi dibawah Lisensi Umum Publik GNU (GPL) Versi 2.0 atau versi termutakhir apapun.</p> + + + + OCC::LogBrowser + + + Log Output + Log Keluaran + + + + &Search: + &Cari: + + + + &Find + &Temukan + + + + &Capture debug messages + &Tangkap pesan debug + + + + Permanently save logs + Simpan log secara permanen + + + + When this option is enabled and no other logging is configured, logs will be written to a temporary folder and expire after a few hours. This setting persists across client restarts. + +Logs will be written to %1 + Ketika opsi ini dinyalakan dan tidak ada logging yang dikonfigurasikan, log akan ditulis di folder sementara dan akan kadaluarsa setelah beberapa jam. Pengaturan ini akan tetap ada untuk semua klien saat menghidupkan ulang. + + + + + Clear + Bersihkan + + + + Clear the log display. + Bersihkan tampilan log + + + + S&ave + + + + + Save the log file to a file on disk for debugging. + Simpan berkas log ke sebuah berkas di cakram untuk pendebug-an. + + + + Save log file + Simpan berkas log + + + + Error + Galat + + + + Could not write to log file %1 + Tidak dapat menulis berkas log %1 + + + + OCC::Logger + + + Error + Galat + + + + <nobr>File '%1'<br/>cannot be opened for writing.<br/><br/>The log output can <b>not</b> be saved!</nobr> + <nobr>Berkas '%1'<br/>tidak dapat dibuka untuk ditulis.<br/><br/>Keluaran log <b>tidak</b>dapat disimpan!</nobr> + + + + OCC::NSISUpdater + + + New Version Available + Versi Terbaru Tersedia + + + + <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>Versi terbaru telah tersedia untuk Klien %1.</p><p><b>%2</b>telah tersedia untuk diunduh. Versi saat ini yang telah dipasang %3.</p> + + + + Skip this version + Lewati versi ini + + + + Skip this time + Lewati saat ini + + + + Get update + Dapatkan pembaruan + + + + OCC::NetworkSettings + + + Form + Form + + + + Proxy Settings + Pengaturan Proksi + + + + No Proxy + Tidak Ada Proksi + + + + Use system proxy + Gunakan Proksi Sistem + + + + Specify proxy manually as + Tentukan proksi secara manual sebagai + + + + Host + Host + + + + : + : + + + + Proxy server requires authentication + Server proksi membutuhkan autentikasi + + + + Download Bandwidth + Bandwidth Unduhan + + + + + Limit to + Batas hingga + + + + + KBytes/s + KBytes/s + + + + + No limit + Tidak ada limit + + + + + Limit to 3/4 of estimated bandwidth + Limit hingga 3/4 dari estimasi bandwidth + + + + Upload Bandwidth + Bandwidth Unggahan + + + + + Limit automatically + Otomatikan batas + + + + Hostname of proxy server + Nama Host server proksi + + + + Username for proxy server + Nama pengguna server proksi + + + + Password for proxy server + Kata sandi server proksi + + + + HTTP(S) proxy + Proksi HTTP(S) + + + + SOCKS5 proxy + Proksi SOCKS5 + + + + OCC::OAuth + + + Error returned from the server: <em>%1</em> + Galat terjadi dari server: <em>%1</em> + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + Terdapat galat saat mengakses endpoint 'token': <br><em>%1</em> + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + Tidak dapat mengurai JSON yang didapat dari server: <br><em>%1</em> + + + + The reply from the server did not contain all expected fields + Balasan dari server tidak terdapat semua bidang yang diekspektasi + + + + <h1>Login Error</h1><p>%1</p> + <h1>Gagal Masuk</h1><p>%1</p> + + + + <h1>Wrong user</h1><p>You logged-in with user <em>%1</em>, but must login with user <em>%2</em>.<br>Please log out of %3 in another tab, then <a href='%4'>click here</a> and log in as user %2</p> + <h1>Pengguna salah</h1><p>Anda telah masuk dengan pengguna<em>%1</em>, namun harus masuk dengan pengguna <em>%2</em>. <br>Mohon untuk keluar dari %3 di tab lainnya, kemudian <a href='%4'>klik disini</a> dan masuk kembali sebagai pengguna %2</p> + + + + OCC::OCUpdater + + + New %1 Update Ready + %1 Pembaruan Baru Siap + + + + A new update for %1 is about to be installed. The updater may ask +for additional privileges during the process. + Sebuah pembaruan baru untuk %1 akan dipasang. Pemasang pembaruan mungkin akan meminta +beberapa ijin pada saat proses berjalan. + + + + Downloading version %1. Please wait... + Mengunduh versi %1. Mohon tunggu... + + + + Could not download update. Please click <a href='%1'>here</a> to download the update manually. + Tidak dapat mengunduh pembaruan. Klik <a href='%1'>disini</a> untuk mengunduh pembaruan secara manual. + + + + Could not check for new updates. + Tidak dapat mengecek pembaruan baru. + + + + %1 version %2 available. Restart application to start the update. + %1 versi %2 tersedia. Hidupkan ulang aplikasi untuk memulai pembaruan. + + + + New %1 version %2 available. Please use the system's update tool to install it. + %1 baru versi %2 tersedia. Mohon untuk gunakan alat pembaruan sistem untuk memasangnya. + + + + Checking update server... + Mengecek pembaruan server... + + + + Update status is unknown: Did not check for new updates. + Status pembaruan tidak diketahui: Tidak mengecek untuk pembaruan baru. + + + + No updates available. Your installation is at the latest version. + Tidak ada pembaruan tersedia. Instalasi Anda sudah paling mutakhir. + + + + Update Check + Pembaruan Dicek + + + + OCC::OwncloudAdvancedSetupPage + + + Connect to %1 + Hubungkan ke %1 + + + + Setup local folder options + Atur opsi folder lokal + + + + Connect... + Menghubungkan... + + + + %1 folder '%2' is synced to local folder '%3' + %1 folder '%2' disinkronisasi ke folder lokal '%3' + + + + Sync the folder '%1' + Sinkronkan folder '%1' + + + + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> + <p><small><strong>Peringatan:</strong> Lokal folder tidak kosong. Pilih sebuah resolusi!</small></p> + + + + Free space: %1 + Ruang bebas: %1 + + + + Local Sync Folder + Folder Sinkronisasi Lokal + + + + + (%1) + (%1) + + + + There isn't enough free space in the local folder! + Tidak ada ruang bebas yang cukup di folder lokal! + + + + OCC::OwncloudConnectionMethodDialog + + + Connection failed + Koneksi gagal + + + + <html><head/><body><p>Failed to connect to the secure server address specified. How do you wish to proceed?</p></body></html> + <html><head/><body><p>Gagal menghubungkan ke alamat aman server yang ditentukan. Bagaimana Anda ingin melanjutkannya?</p></body></html> + + + + Select a different URL + Pilih sebuah URL yang berbeda + + + + Retry unencrypted over HTTP (insecure) + + + + + Configure client-side TLS certificate + Atur sertifikat sisi-klien TLS + + + + <html><head/><body><p>Failed to connect to the secure server address <em>%1</em>. How do you wish to proceed?</p></body></html> + <html><head/><body><p>Gagal menghubungkan ke alamat aman server <em>%1</em>. Bagaimana Anda ingin melanjutkannya?</p></body></html> + + + + OCC::OwncloudHttpCredsPage + + + &Email + &Email + + + + Connect to %1 + Hubungkan ke %1 + + + + Enter user credentials + Masukkan kredensial pengguna + + + + OCC::OwncloudOAuthCredsPage + + + Connect to %1 + Hubungkan ke %1 + + + + Login in your browser + Masuk ke peramban Anda + + + + Copy link to clipboard + Salin tautan ke papan klip + + + + OCC::OwncloudSetupPage + + + Connect to %1 + Hubungkan ke %1 + + + + Setup %1 server + Atur server %1 + + + + Keep your data secure and under your control + Buat data Anda aman dan tetap dalam kontrol Anda + + + + Secure collaboration & file exchange + Amankan kolaborasi & pertukaran berkas + + + + Easy-to-use web mail, calendaring & contacts + Web mail, kalendar & kontak yang mudah digunakan + + + + Screensharing, online meetings & web conferences + Bagikan layar, online meetings & konferensi web + + + + This url is NOT secure as it is not encrypted. +It is not advisable to use it. + Url ini TIDAK aman karena tidak dienkripsi. +Tidak disarankan untuk digunakan. + + + + This url is secure. You can use it. + Url ini aman. Anda dapat menggunakannya. + + + + &Next > + &Lanjut> + + + + Invalid URL + URL tidak valid + + + + Could not load certificate. Maybe wrong password? + Tidak dapat memuat sertifikat. Mungkin salah kata sandi? + + + + OCC::OwncloudSetupWizard + + + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> + <font color="green">Sukses terhubung ke %1: %2 versi %3 (%4)</font><br/><br/> + + + + Failed to connect to %1 at %2:<br/>%3 + Gagal terhubung ke %1 di %2:<br/>%3 + + + + Timeout while trying to connect to %1 at %2. + Waktu habis saat mencoba untuk menghubungkan ke %1 di %2. + + + + Trying to connect to %1 at %2... + Mencoba terhubung ke %1 di %2... + + + + The authenticated request to the server was redirected to '%1'. The URL is bad, the server is misconfigured. + Permintaan autentikasi ke server telah dialihkan ke '%1'. URL sangat buruk, server salah konfigurasi. + + + + There was an invalid response to an authenticated webdav request + Terdapat respon yang tidak valid untuk permintaan autentikasi webdav + + + + Access forbidden by server. To verify that you have proper access, <a href="%1">click here</a> to access the service with your browser. + Akses ditolak dari server. Untuk memverifikasi bahwa Anda memiliki akses yang benar, <a href="%1">klik disini</a> untuk akses ke layanan dengan peramban Anda. + + + + Invalid URL + URL Tidak Valid + + + + The server reported the following error: + Server melaporkan galat sebagai berikut: + + + + Local sync folder %1 already exists, setting it up for sync.<br/><br/> + Folder sinkronisasi lokal %1 sudah ada, mengatur untuk disinkronisasi.<br/><br/> + + + + Creating local sync folder %1... + Membuat sikronisasi folder lokal %1... + + + + ok + ok + + + + failed. + gagal. + + + + Could not create local folder %1 + Tidak dapat membuat folder lokal %1 + + + + No remote folder specified! + Tidak ada folder remote yang ditentukan! + + + + Error: %1 + Galat: %1 + + + + creating folder on Nextcloud: %1 + Membuat folder di Nextcloud: %1 + + + + Remote folder %1 created successfully. + Folder remote %1 sukses dibuat. + + + + The remote folder %1 already exists. Connecting it for syncing. + Folder remote %1 sudah ada. Menghubungkan untuk sinkronisasi. + + + + + 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. + + + + + Folder rename failed + + + + + 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. + + + + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> + + + + + OCC::OwncloudWizard + + + %1 Connection Wizard + + + + + Skip folders configuration + + + + + OCC::OwncloudWizardResultPage + + + Everything set up! + + + + + Open Local Folder + + + + + Open %1 in Browser + + + + + OCC::PollJob + + + Invalid JSON reply from the poll URL + + + + + OCC::PropagateDirectory + + + Error writing metadata to the database + + + + + OCC::PropagateDownloadFile + + + File %1 can not be downloaded because encryption information is missing. + + + + + File %1 can not be downloaded because of a local file name clash! + + + + + The download would reduce free local disk space below the limit + + + + + Free space on disk is less than %1 + + + + + File was deleted from server + + + + + The file could not be downloaded completely. + + + + + The downloaded file is empty despite that the server announced it should have been %1. + + + + + File %1 cannot be saved because of a local file name clash! + + + + + File has changed since discovery + + + + + Error writing metadata to the database + + + + + OCC::PropagateItemJob + + + ; Restoration Failed: %1 + + + + + A file or folder was removed from a read only share, but restoring failed: %1 + + + + + OCC::PropagateLocalMkdir + + + could not delete file %1, error: %2 + + + + + Attention, possible case sensitivity clash with %1 + + + + + could not create folder %1 + + + + + Error writing metadata to the database + + + + + OCC::PropagateLocalRemove + + + Error removing '%1': %2; + + + + + Could not remove folder '%1' + + + + + Could not remove %1 because of a local file name clash + + + + + OCC::PropagateLocalRename + + + File %1 can not be renamed to %2 because of a local file name clash + + + + + + Error writing metadata to the database + + + + + OCC::PropagateRemoteDelete + + + Wrong HTTP code returned by server. Expected 204, but received "%1 %2". + + + + + OCC::PropagateRemoteMkdir + + + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". + + + + + Error writing metadata to the database + + + + + OCC::PropagateRemoteMove + + + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". + + + + + + Error writing metadata to the database + + + + + OCC::PropagateUploadFileCommon + + + File %1 cannot be uploaded because another file with the same name, differing only in case, exists + + + + + Local file changed during syncing. It will be resumed. + + + + + Local file changed during sync. + + + + + + Upload of %1 exceeds the quota for the folder + + + + + File Removed (start upload) %1 + + + + + Error writing metadata to the database + + + + + OCC::PropagateUploadFileNG + + + The local file was removed during sync. + + + + + Local file changed during sync. + + + + + Unexpected return code from server (%1) + + + + + Missing File ID from server + + + + + Missing ETag from server + + + + + OCC::PropagateUploadFileV1 + + + Poll URL missing + + + + + The local file was removed during sync. + + + + + Local file changed during sync. + + + + + The server did not acknowledge the last chunk. (No e-tag was present) + + + + + OCC::ProxyAuthDialog + + + Proxy authentication required + + + + + Username: + + + + + Proxy: + + + + + The proxy server needs a username and password. + + + + + Password: + + + + + TextLabel + + + + + OCC::SelectiveSyncDialog + + + Choose What to Sync + + + + + OCC::SelectiveSyncWidget + + + Loading ... + + + + + Deselect remote folders you do not wish to synchronize. + + + + + Name + + + + + Size + + + + + + No subfolders currently on the server. + + + + + An error occurred while loading the list of sub folders. + + + + + OCC::ServerNotificationHandler + + + Dismiss + + + + + OCC::SettingsDialog + + + Settings + + + + + Activity + + + + + General + + + + + Network + + + + + Account + + + + + OCC::SettingsDialogMac + + + %1 + + + + + Activity + + + + + General + + + + + Network + + + + + + Account + + + + + OCC::ShareDialog + + + share label + + + + + ownCloud Path: + + + + + Icon + + + + + %1 Sharing + + + + + %1 + + + + + Folder: %2 + + + + + The file can not be shared because it was shared without sharing permission. + + + + + OCC::ShareLinkWidget + + + &Share link + + + + + Password: + + + + + Expiration date: + + + + + TextLabel + + + + + Delete + + + + + Allow Editing + + + + + Read only + + + + + Allow Upload && Editing + + + + + File Drop (Upload Only) + + + + + Password Protect + + + + + Expiration Date + + + + + Unshare + + + + + Add another link + + + + + Confirm Link Share Deletion + + + + + <p>Do you really want to delete the public link share <i>%1</i>?</p><p>Note: This action cannot be undone.</p> + + + + + Cancel + + + + + Public link + + + + + OCC::ShareUserGroupWidget + + + Share with users or groups ... + + + + + Copy link + + + + + No results for '%1' + + + + + I shared something with you + + + + + OCC::ShareUserLine + + + User name + + + + + can edit + + + + + Can reshare + + + + + Can create + + + + + Can change + + + + + Can delete + + + + + OCC::ShibbolethCredentials + + + Login Error + + + + + You must sign in as user %1 + + + + + OCC::ShibbolethWebView + + + %1 - Authenticate + + + + + SSL Cipher Debug View + + + + + Reauthentication required + + + + + Your session has expired. You need to re-login to continue to use the client. + + + + + OCC::SocketApi + + + Share with %1 + parameter is Nextcloud + + + + + Context menu share + + + + + I shared something with you + + + + + + Share... + + + + + + Copy private link to clipboard + + + + + Send private link by email... + + + + + Resharing this file is not allowed + + + + + + Copy public link to clipboard + + + + + Open in browser + + + + + OCC::SslButton + + + <h3>Certificate Details</h3> + + + + + Common Name (CN): + + + + + Subject Alternative Names: + + + + + Organization (O): + + + + + Organizational Unit (OU): + + + + + State/Province: + + + + + Country: + + + + + Serial: + + + + + <h3>Issuer</h3> + + + + + Issuer: + + + + + Issued on: + + + + + Expires on: + + + + + <h3>Fingerprints</h3> + + + + + SHA-256: + + + + + SHA-1: + + + + + <p><b>Note:</b> This certificate was manually approved</p> + + + + + %1 (self-signed) + + + + + %1 + + + + + This connection is encrypted using %1 bit %2. + + + + + + No support for SSL session tickets/identifiers + + + + + Certificate information: + + + + + This connection is NOT secure as it is not encrypted. + + + + + + OCC::SslErrorDialog + + + Form + + + + + Trust this certificate anyway + + + + + Untrusted Certificate + + + + + Cannot connect securely to <i>%1</i>: + + + + + with Certificate %1 + + + + + + + &lt;not specified&gt; + + + + + + Organization: %1 + + + + + + Unit: %1 + + + + + + Country: %1 + + + + + Fingerprint (MD5): <tt>%1</tt> + + + + + Fingerprint (SHA1): <tt>%1</tt> + + + + + Effective Date: %1 + + + + + Expiration Date: %1 + + + + + Issuer: %1 + + + + + OCC::SyncEngine + + + Success. + + + + + A network connection timeout happened. + + + + + A HTTP transmission error happened. + + + + + The mounted folder is temporarily not available on the server + + + + + An error occurred while opening a folder + + + + + Error while reading folder. + + + + + %1 (skipped due to earlier error, trying again in %2) + + + + + File/Folder is ignored because it's hidden. + + + + + Folder hierarchy is too deep + + + + + Conflict: Server version downloaded, local copy renamed and not uploaded. + + + + + Only %1 are available, need at least %2 to start + Placeholders are postfixed with file sizes using Utility::octetsToString() + + + + + Unable to open or create the local sync database. Make sure you have write access in the sync folder. + + + + + Not allowed because you don't have permission to add parent folder + + + + + Not allowed because you don't have permission to add files in that folder + + + + + Disk space is low: Downloads that would reduce free space below %1 were skipped. + + + + + There is insufficient space available on the server for some uploads. + + + + + CSync unspecified error. + + + + + Aborted by the user + + + + + Failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. + + + + + Discovery step failed. + + + + + Permission denied. + + + + + File or directory not found: + + + + + Tried to create a folder that already exists. + + + + + No space on %1 server available. + + + + + The service is temporarily unavailable + + + + + Access is forbidden + + + + + An internal error number %1 occurred. + + + + + Symbolic links are not supported in syncing. + + + + + File is listed on the ignore list. + + + + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + + Filename contains trailing spaces. + + + + + Filename is too long. + + + + + The filename cannot be encoded on your file system. + + + + + Unresolved conflict. + + + + + Stat failed. + + + + + Filename encoding is not valid + + + + + Invalid characters, please rename "%1" + + + + + Unable to read the blacklist from the local database + + + + + Unable to read from the sync journal. + + + + + Cannot open the sync journal + + + + + File name contains at least one invalid character + + + + + + Ignored because of the "choose what to sync" blacklist + + + + + Not allowed because you don't have permission to add subfolders to that folder + + + + + Not allowed to upload this file because it is read-only on the server, restoring + + + + + + Not allowed to remove, restoring + + + + + Local files and share folder removed. + + + + + Move not allowed, item restored + + + + + Move not allowed because %1 is read-only + + + + + the destination + + + + + the source + + + + + OCC::SyncLogDialog + + + Synchronisation Log + + + + + OCC::Systray + + + %1: %2 + + + + + OCC::Theme + + + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> + + + + + <p>This release was supplied by %1</p> + + + + + OCC::WebEnginePage + + + Invalid certificate detected + + + + + The host "%1" provided an invalid certificate. Continue? + + + + + OCC::WebFlowCredentials + + + You have been logged out of %1 as user %2. Please login again + + + + + Please login with the user: %1 + + + + + OCC::ownCloudGui + + + Please sign in + + + + + Folder %1: %2 + + + + + There are no sync folders configured. + + + + + Open in browser + + + + + Log in... + + + + + Log out + + + + + Recent Changes + + + + + Managed Folders: + + + + + Open folder '%1' + + + + + Open %1 in browser + + + + + Unknown status + + + + + Settings... + + + + + Details... + + + + + Help + + + + + Quit %1 + + + + + Disconnected from %1 + + + + + Unsupported Server Version + + + + + The server on account %1 runs an old and unsupported version %2. Using this client with unsupported server versions is untested and potentially dangerous. Proceed at your own risk. + + + + + Disconnected + + + + + Disconnected from some accounts + + + + + Disconnected from accounts: + + + + + Account %1: %2 + + + + + Signed out + + + + + Account synchronization is disabled + + + + + + Synchronization is paused + + + + + Unresolved conflicts + + + + + Error during synchronization + + + + + No sync folders configured + + + + + Resume all folders + + + + + Pause all folders + + + + + Resume all synchronization + + + + + Resume synchronization + + + + + Pause all synchronization + + + + + Pause synchronization + + + + + New account... + + + + + Crash now + Only shows in debug mode to allow testing the crash handler + + + + + Apps + + + + + No items synced recently + + + + + Checking for changes in remote '%1' + + + + + Checking for changes in local '%1' + + + + + Syncing %1 of %2 (%3 left) + + + + + Syncing %1 of %2 + + + + + Syncing %1 (%2 left) + + + + + Syncing %1 + + + + + %1 (%2, %3) + + + + + Up to date + + + + + OwncloudAdvancedSetupPage + + + Form + + + + + + + + + + + + TextLabel + + + + + Server + + + + + <html><head/><body><p>If this box is checked, existing content in the local folder will be erased to start a clean sync from the server.</p><p>Do not check this if the local content should be uploaded to the servers folder.</p></body></html> + + + + + Start a &clean sync (Erases the local folder!) + + + + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + + + + + Ask for confirmation before synchronizing e&xternal storages + + + + + Choose what to sync + + + + + &Local Folder + + + + + pbSelectLocalFolder + + + + + &Keep local data + + + + + S&ync everything from server + + + + + Status message + + + + + OwncloudHttpCredsPage + + + Form + + + + + &Username + + + + + &Password + + + + + OwncloudOAuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser + + + + + OwncloudSetupPage + + + Form + + + + + + TextLabel + + + + + <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> + + + + + Register with a provider + + + + + Log in + + + + + Server Address + + + + + https://... + + + + + Error Label + + + + + OwncloudWizardResultPage + + + Form + + + + + TextLabel + + + + + Your entire account is synced to the local folder + + + + + + PushButton + + + + + QObject + + + in the future + + + + + %n day ago + + + + + %n days ago + + + + + %n hour ago + + + + + %n hours ago + + + + + now + + + + + Less than a minute ago + + + + + %n minute ago + + + + + %n minutes ago + + + + + Some time ago + + + + + %1: %2 + this displays an error string (%2) for a file %1 + + + + + Utility + + + %L1 GB + + + + + %L1 MB + + + + + %L1 KB + + + + + %L1 B + + + + + %n year(s) + + + + + %n month(s) + + + + + %n day(s) + + + + + %n hour(s) + + + + + %n minute(s) + + + + + %n second(s) + + + + + %1 %2 + + + + + ValidateChecksumHeader + + + The checksum header is malformed. + + + + + The checksum header contained an unknown checksum type '%1' + + + + + The downloaded file does not match the checksum, it will be resumed. + + + + + WebView + + + Form + + + + + main.cpp + + + System Tray not available + + + + + %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. + + + + + nextcloudTheme::about() + + + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> + + + + + progress + + + Downloaded + + + + + Uploaded + + + + + Server version downloaded, copied changed local file into conflict file + + + + + Deleted + + + + + Moved to %1 + + + + + Ignored + + + + + Filesystem access error + + + + + Error + + + + + Updated local metadata + + + + + + Unknown + + + + + downloading + + + + + uploading + + + + + deleting + + + + + moving + + + + + ignoring + + + + + + error + + + + + updating local metadata + + + + + theme + + + Status undefined + + + + + Waiting to start sync + + + + + Sync is running + + + + + Sync Success + + + + + Sync Success, some files were ignored. + + + + + Sync Error + + + + + Setup Error + + + + + Preparing to sync + + + + + Aborting... + + + + + Sync is paused + + + + + utility + + + Could not open browser + + + + + There was an error when launching the browser to go to URL %1. Maybe no default browser is configured? + + + + + Could not open email client + + + + + There was an error when launching the email client to create a new message. Maybe no default email client is configured? + + + + \ No newline at end of file From ad04116c000e423f83d0f057bbfc368401018404 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 10 Jun 2019 02:47:53 +0000 Subject: [PATCH 052/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner From 795c29d5bdb5d9435cc889354a7f0fc19d22833d Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 11 Jun 2019 02:46:16 +0000 Subject: [PATCH 053/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_ru.ts | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 28b88ae8e..5a98d6412 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -279,7 +279,7 @@ Enable encryption - + Включить шифрование @@ -1933,7 +1933,7 @@ for additional privileges during the process. There isn't enough free space in the local folder! - + Недостаточно свободного места в локальной папке. From bb7d330516e5ae743af862ea22ab01b651ef8dee Mon Sep 17 00:00:00 2001 From: Camila San Date: Mon, 3 Jun 2019 17:50:16 +0200 Subject: [PATCH 054/192] Add error category for http file lock error status 423. It filters the error out of the list of blocking errors. It now shows up in the Activities and Notificattions list as a warning. Signed-off-by: Camila San --- src/gui/activitylistmodel.cpp | 3 ++- src/gui/activitywidget.cpp | 5 +++++ src/gui/folder.cpp | 4 ++++ src/gui/folder.h | 3 ++- src/libsync/owncloudpropagator.cpp | 1 + src/libsync/owncloudpropagator_p.h | 2 +- src/libsync/progressdispatcher.cpp | 3 ++- src/libsync/propagatedownload.cpp | 6 ++++++ src/libsync/syncfileitem.h | 1 + src/libsync/syncfilestatustracker.cpp | 3 ++- src/libsync/syncresult.cpp | 8 ++++++++ src/libsync/syncresult.h | 6 ++++++ 12 files changed, 40 insertions(+), 5 deletions(-) diff --git a/src/gui/activitylistmodel.cpp b/src/gui/activitylistmodel.cpp index 5b084784b..ae3a7c6b3 100644 --- a/src/gui/activitylistmodel.cpp +++ b/src/gui/activitylistmodel.cpp @@ -105,7 +105,8 @@ QVariant ActivityListModel::data(const QModelIndex &index, int role) const } else if(a._status == SyncFileItem::SoftError || a._status == SyncFileItem::FileIgnored || a._status == SyncFileItem::Conflict - || a._status == SyncFileItem::Restoration){ + || a._status == SyncFileItem::Restoration + || a._status == SyncFileItem::FileLocked){ return QIcon(QLatin1String(":/client/resources/state-warning.svg")); } return QIcon(QLatin1String(":/client/resources/state-sync.svg")); diff --git a/src/gui/activitywidget.cpp b/src/gui/activitywidget.cpp index 71a86dd28..c293a0384 100644 --- a/src/gui/activitywidget.cpp +++ b/src/gui/activitywidget.cpp @@ -121,6 +121,11 @@ void ActivityWidget::slotProgressInfo(const QString &folder, const ProgressInfo continue; } + if(activity._status == SyncFileItem::FileLocked && !QFileInfo(f->path() + activity._file).exists()){ + _model->removeActivityFromActivityList(activity); + continue; + } + if(activity._status == SyncFileItem::FileIgnored && !QFileInfo(f->path() + activity._file).exists()){ _model->removeActivityFromActivityList(activity); diff --git a/src/gui/folder.cpp b/src/gui/folder.cpp index 97625c5c6..f5aedacf0 100644 --- a/src/gui/folder.cpp +++ b/src/gui/folder.cpp @@ -351,6 +351,10 @@ void Folder::showSyncResultPopup() createGuiLog(_syncResult.firstItemError()->_file, LogStatusError, errorCount); } + if (int lockedCount = _syncResult.numLockedItems()) { + createGuiLog(_syncResult.firstItemLocked()->_file, LogStatusFileLocked, lockedCount); + } + qCInfo(lcFolder) << "Folder sync result: " << int(_syncResult.status()); } diff --git a/src/gui/folder.h b/src/gui/folder.h index 05bd62a4e..48a2e52f7 100644 --- a/src/gui/folder.h +++ b/src/gui/folder.h @@ -344,7 +344,8 @@ private: LogStatusNew, LogStatusError, LogStatusConflict, - LogStatusUpdated + LogStatusUpdated, + LogStatusFileLocked }; void createGuiLog(const QString &filename, LogStatus status, int count, diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp index bf358153e..ac03a1b97 100644 --- a/src/libsync/owncloudpropagator.cpp +++ b/src/libsync/owncloudpropagator.cpp @@ -269,6 +269,7 @@ void PropagateItemJob::done(SyncFileItem::Status statusArg, const QString &error case SyncFileItem::FileIgnored: case SyncFileItem::NoStatus: case SyncFileItem::BlacklistedError: + case SyncFileItem::FileLocked: // nothing break; } diff --git a/src/libsync/owncloudpropagator_p.h b/src/libsync/owncloudpropagator_p.h index cb266a80d..90841e537 100644 --- a/src/libsync/owncloudpropagator_p.h +++ b/src/libsync/owncloudpropagator_p.h @@ -93,7 +93,7 @@ inline SyncFileItem::Status classifyError(QNetworkReply::NetworkError nerror, if (anotherSyncNeeded) { *anotherSyncNeeded = true; } - return SyncFileItem::SoftError; + return SyncFileItem::FileLocked; } return SyncFileItem::NormalError; diff --git a/src/libsync/progressdispatcher.cpp b/src/libsync/progressdispatcher.cpp index e17279a53..179d28319 100644 --- a/src/libsync/progressdispatcher.cpp +++ b/src/libsync/progressdispatcher.cpp @@ -91,7 +91,8 @@ bool Progress::isWarningKind(SyncFileItem::Status kind) return kind == SyncFileItem::SoftError || kind == SyncFileItem::NormalError || kind == SyncFileItem::FatalError || kind == SyncFileItem::FileIgnored || kind == SyncFileItem::Conflict || kind == SyncFileItem::Restoration - || kind == SyncFileItem::DetailError || kind == SyncFileItem::BlacklistedError; + || kind == SyncFileItem::DetailError || kind == SyncFileItem::BlacklistedError + || kind == SyncFileItem::FileLocked; } bool Progress::isIgnoredKind(SyncFileItem::Status kind) diff --git a/src/libsync/propagatedownload.cpp b/src/libsync/propagatedownload.cpp index 07c7c5f18..da2d88b82 100644 --- a/src/libsync/propagatedownload.cpp +++ b/src/libsync/propagatedownload.cpp @@ -571,6 +571,12 @@ void PropagateDownloadFile::slotGetFinished() qCWarning(lcPropagateDownload) << "server replied 404, assuming file was deleted"; } + // Getting a 423 means that the file is locked + const bool fileLocked = _item->_httpErrorCode == 423; + if (fileLocked) { + qCWarning(lcPropagateDownload) << "server replied 423, file is Locked"; + } + // Don't keep the temporary file if it is empty or we // used a bad range header or the file's not on the server anymore. if (_tmpFile.size() == 0 || badRangeHeader || fileNotFound) { diff --git a/src/libsync/syncfileitem.h b/src/libsync/syncfileitem.h index 461627ba3..e054ab83a 100644 --- a/src/libsync/syncfileitem.h +++ b/src/libsync/syncfileitem.h @@ -59,6 +59,7 @@ public: Conflict, FileIgnored, ///< The file is in the ignored list (or blacklisted with no retries left) + FileLocked, ///< The file is locked Restoration, ///< The file was restored because what should have been done was not allowed /** For errors that should only appear in the error view. diff --git a/src/libsync/syncfilestatustracker.cpp b/src/libsync/syncfilestatustracker.cpp index 6dc2514ff..c492b34d5 100644 --- a/src/libsync/syncfilestatustracker.cpp +++ b/src/libsync/syncfilestatustracker.cpp @@ -105,7 +105,8 @@ static inline bool showWarningInSocketApi(const SyncFileItem &item) return item._instruction == CSYNC_INSTRUCTION_IGNORE || status == SyncFileItem::FileIgnored || status == SyncFileItem::Conflict - || status == SyncFileItem::Restoration; + || status == SyncFileItem::Restoration + || status == SyncFileItem::FileLocked; } SyncFileStatusTracker::SyncFileStatusTracker(SyncEngine *syncEngine) diff --git a/src/libsync/syncresult.cpp b/src/libsync/syncresult.cpp index 8550b4628..a3481c74f 100644 --- a/src/libsync/syncresult.cpp +++ b/src/libsync/syncresult.cpp @@ -28,6 +28,7 @@ SyncResult::SyncResult() , _numNewConflictItems(0) , _numOldConflictItems(0) , _numErrorItems(0) + , _numLockedItems(0) { } @@ -139,6 +140,13 @@ void SyncResult::processCompletedItem(const SyncFileItemPtr &item) _folderStructureWasChanged = true; } + if(item->_status == SyncFileItem::FileLocked){ + _numLockedItems++; + if (!_firstItemLocked) { + _firstItemLocked = item; + } + } + // Process the item to the gui if (item->_status == SyncFileItem::FatalError || item->_status == SyncFileItem::NormalError) { //: this displays an error string (%2) for a file %1 diff --git a/src/libsync/syncresult.h b/src/libsync/syncresult.h index 6c484ee4d..1a0c680ca 100644 --- a/src/libsync/syncresult.h +++ b/src/libsync/syncresult.h @@ -72,12 +72,16 @@ public: int numErrorItems() const { return _numErrorItems; } bool hasUnresolvedConflicts() const { return _numNewConflictItems + _numOldConflictItems > 0; } + int numLockedItems() const { return _numLockedItems; } + bool hasLockedFiles() const { return _numLockedItems > 0; } + const SyncFileItemPtr &firstItemNew() const { return _firstItemNew; } const SyncFileItemPtr &firstItemDeleted() const { return _firstItemDeleted; } const SyncFileItemPtr &firstItemUpdated() const { return _firstItemUpdated; } const SyncFileItemPtr &firstItemRenamed() const { return _firstItemRenamed; } const SyncFileItemPtr &firstNewConflictItem() const { return _firstNewConflictItem; } const SyncFileItemPtr &firstItemError() const { return _firstItemError; } + const SyncFileItemPtr &firstItemLocked() const { return _firstItemLocked; } void processCompletedItem(const SyncFileItemPtr &item); @@ -101,6 +105,7 @@ private: int _numNewConflictItems; int _numOldConflictItems; int _numErrorItems; + int _numLockedItems; SyncFileItemPtr _firstItemNew; SyncFileItemPtr _firstItemDeleted; @@ -108,6 +113,7 @@ private: SyncFileItemPtr _firstItemRenamed; SyncFileItemPtr _firstNewConflictItem; SyncFileItemPtr _firstItemError; + SyncFileItemPtr _firstItemLocked; }; } From 3c958dea20ef8e2386b553bf85b2a6ca45356bcc Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 13 Jun 2019 02:48:18 +0000 Subject: [PATCH 055/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 +- translations/client_bg.ts | 88 +++++----- translations/client_ca.ts | 88 +++++----- translations/client_cs.ts | 88 +++++----- translations/client_da.ts | 88 +++++----- translations/client_de.ts | 88 +++++----- translations/client_el.ts | 88 +++++----- translations/client_en.ts | 88 +++++----- translations/client_en_GB.ts | 88 +++++----- translations/client_eo.ts | 88 +++++----- translations/client_es.ts | 88 +++++----- translations/client_es_AR.ts | 88 +++++----- translations/client_es_CL.ts | 88 +++++----- translations/client_es_CO.ts | 88 +++++----- translations/client_es_CR.ts | 88 +++++----- translations/client_es_DO.ts | 88 +++++----- translations/client_es_EC.ts | 88 +++++----- translations/client_es_GT.ts | 88 +++++----- translations/client_es_HN.ts | 88 +++++----- translations/client_es_MX.ts | 88 +++++----- translations/client_es_SV.ts | 88 +++++----- translations/client_et.ts | 88 +++++----- translations/client_eu.ts | 88 +++++----- translations/client_fa.ts | 172 ++++++++++---------- translations/client_fi.ts | 88 +++++----- translations/client_fr.ts | 88 +++++----- translations/client_gl.ts | 88 +++++----- translations/client_he.ts | 88 +++++----- translations/client_hu.ts | 88 +++++----- translations/client_id.ts | 88 +++++----- translations/client_is.ts | 88 +++++----- translations/client_it.ts | 88 +++++----- translations/client_ja.ts | 88 +++++----- translations/client_lt_LT.ts | 88 +++++----- translations/client_lv.ts | 88 +++++----- translations/client_nb_NO.ts | 88 +++++----- translations/client_nl.ts | 88 +++++----- translations/client_pl.ts | 88 +++++----- translations/client_pt.ts | 88 +++++----- translations/client_pt_BR.ts | 88 +++++----- translations/client_ru.ts | 88 +++++----- translations/client_sk.ts | 88 +++++----- translations/client_sl.ts | 88 +++++----- translations/client_sr.ts | 88 +++++----- translations/client_sv.ts | 88 +++++----- translations/client_th.ts | 88 +++++----- translations/client_tr.ts | 88 +++++----- translations/client_uk.ts | 88 +++++----- translations/client_zh_CN.ts | 88 +++++----- translations/client_zh_TW.ts | 88 +++++----- 50 files changed, 2202 insertions(+), 2202 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_bg.ts b/translations/client_bg.ts index 57d3790c0..1a01a3eb1 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -568,17 +568,17 @@ Приемане - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Възника грешка при запис на метаданните в базата данни @@ -750,120 +750,120 @@ %1 не може да бъде прочетен. - + %1 has been removed. %1 names a file. %1 е премахнат. - + %1 has been downloaded. %1 names a file. %1 е свален. - + %1 has been updated. %1 names a file. %1 е качен. - + %1 has been renamed to %2. %1 and %2 name files. %1 е преименуван на %2. - + %1 has been moved to %2. %1 е преместен в %2. - + %1 and %n other file(s) have been removed. %1 е премахнат.%1 и %n други файла са премахнати. - + %1 and %n other file(s) have been downloaded. %1 и %n друг файл са свалени.%1 и %n други файлове са свалени. - + %1 and %n other file(s) have been updated. %1 и %n друг файл са актуализирани.%1 и %n други файлове са актуализирани. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 е преименуван на %2.%1 е преименуван на %2 и %n други файла са преименувани. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 е преместен в %2.%1 е преместен в %2 и %n други файла са преместени. - + %1 has and %n other file(s) have sync conflicts. Възникна конфликт при синхронизирането на %1.Възникна конфликт при синхронизирането на %1 и %n други файла. - + %1 has a sync conflict. Please check the conflict file! Възникна конфликт при синхронизирането %1. Проверете файла! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 не може да бъде синхронизиран. За подробности проверете журнала.%1 и %n други файла не могат да бъдат синхронизирани. За подробности проверете журнала. - + %1 could not be synced due to an error. See the log for details. %1 не може да бъде синхронизиран поради грешка. За подробности проверете журнала. - + Sync Activity Активност от синхронизиране - + Could not read system exclude file - + A new folder larger than %1 MB has been added: %2. Добавена е нова папка по-голяма от %1 MB: %2. - + A folder from an external storage has been added. Добавена е папка от външно хранилище. - + Please go in the settings to select it if you wish to download it. Моля, отидете в настройки, ако желаете да го свалите. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,46 +880,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Засечено е резервно копие - + Normal Synchronisation Нормално синхронизиране - + Keep Local Files as Conflict @@ -2247,7 +2247,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database @@ -2275,32 +2275,32 @@ It is not advisable to use it. Свободното място на диска е по-малко от %1 - + File was deleted from server - + The file could not be downloaded completely. Целият файл не може да бъде свален. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! - + File has changed since discovery - + Error writing metadata to the database @@ -2313,7 +2313,7 @@ It is not advisable to use it. - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -3896,7 +3896,7 @@ It is not advisable to use it. Преди известно време - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_ca.ts b/translations/client_ca.ts index 72a27050c..22ce70ee8 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -568,17 +568,17 @@ Accepta - + Synced Sincronitzat - + Retry all uploads Torna a provar totes les pujades - + <br/>Account %1 does not have activities enabled. <br/>El compte %1 no té les activitats habilitades. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database S'ha produït un error a l'escriure les metadades a la base de dades @@ -750,122 +750,122 @@ No es pot llegir %1. - + %1 has been removed. %1 names a file. S'ha suprimit '%1' - + %1 has been downloaded. %1 names a file. S'ha descarregat %1 - + %1 has been updated. %1 names a file. S'ha actualitzat %1 - + %1 has been renamed to %2. %1 and %2 name files. %1 s'ha renomenat a %2. - + %1 has been moved to %2. %1 s'ha mogut a %2. - + %1 and %n other file(s) have been removed. %1 i %n altre fitxer s'ha esborrat.%1 i %n altres fitxers s'han suprimit. - + %1 and %n other file(s) have been downloaded. %1 i %n altre fitxer s'han descarregat.%1 i %n altres fitxers s'han descarregat. - + %1 and %n other file(s) have been updated. %1 i %n altre fitxer s'han actualitzat.%1 i %n altres fitxers s'han actualitzat. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 s'ha reanomenat a %2 i %n altre fitxer s'ha reanomenat.%1 s'ha renomenat a %2 i %n altres fitxers s'han reanomenat. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 s'ha mogut a %2 i %n altre fitxer s'ha mogut.%1 s'ha mogut a %2 i %n altres fitxers s'han mogut. - + %1 has and %n other file(s) have sync conflicts. %1 i %n altre fitxer tenen conflictes de sincronització%1 i %n altres fitxers tenen conflictes de sincronització - + %1 has a sync conflict. Please check the conflict file! %1 té conflictes de sincronització. Comproveu el fitxer conflictiu! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 i %n altre fitxer no s'han sincronitzat per errors. Consulteu el registre per obtenir més informació.%1 i %n altres fitxers no s'han sincronitzat per errors. Consulteu el registre per obtenir més informació. - + %1 could not be synced due to an error. See the log for details. %1 no s'ha pogut sincronitzar degut a un error. Mireu el registre per més detalls. - + Sync Activity Activitat de sincronització - + Could not read system exclude file No s'ha pogut llegir el fitxer d'exclusió del sistema - + A new folder larger than %1 MB has been added: %2. S'ha afegit una carpeta de més de %1 MB: %2. - + A folder from an external storage has been added. S'ha afegit una carpeta d'una font d'emmagatzematge extern. - + Please go in the settings to select it if you wish to download it. Si us plau aneu al paràmetres per seleccionar si voleu descarregar-ho - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. La carpeta %1 es va crear, però es va excloure de la sincronització anteriorment. Les dades que hi ha dins no es sincronitzaran. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. El fitxer %1 es va crear, però es va excloure de la sincronització anteriorment. No es sincronitzarà. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -878,7 +878,7 @@ Això significa que és possible que el client de sincronització no pugui carre %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -889,22 +889,22 @@ Si decidiu conservar els fitxers, es tornarà a sincronitzar amb el servidor si Si decidiu suprimir els fitxers, no estaran disponibles per a vosaltres, tret que en sigueu el propietari. - + Download new files? Descarregar nous fitxers? - + Download new files Descarrega nous fitxers - + Keep local files Manté els fitxers locals - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -913,7 +913,7 @@ Esteu segurs que voleu sincronitzar aquestes accions amb el servidor? Si s’ha produït un accident i decidiu conservar els vostres fitxers, es tornaran a sincronitzar des del servidor. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -922,17 +922,17 @@ Això pot ser per què es va restablir una còpia de seguretat al servidor. Continuar la sincronització com a normal farà que tots els vostres fitxers siguin sobreescrits per un fitxer anterior en un estat anterior. Voleu mantenir els fitxers locals més recents com a fitxers de conflicte? - + Backup detected Còpia de seguretat detectada - + Normal Synchronisation Sincronització normal - + Keep Local Files as Conflict Manté els fitxers locals com a conflicte @@ -2265,7 +2265,7 @@ No és aconsellable fer-la servir. OCC::PropagateDirectory - + Error writing metadata to the database S'ha produït un error en escriure metadades a la base de dades @@ -2293,32 +2293,32 @@ No és aconsellable fer-la servir. L'espai lliure del disc dur és inferior a %1 - + File was deleted from server El fitxer s'ha suprimit del servidor - + The file could not be downloaded completely. No s'ha pogut descarregar el fitxer completament. - + The downloaded file is empty despite that the server announced it should have been %1. El fitxer descarregat és buit malgrat que el servidor ha dit que hauria d'haver estat %1. - + File %1 cannot be saved because of a local file name clash! El fitxer %1 no es pot desar a causa d’un conflicte de nom amb un fitxer local. - + File has changed since discovery El fitxer ha canviat des que es va descobrir - + Error writing metadata to the database S'ha produït un error en escriure metadades a la base de dades @@ -2331,7 +2331,7 @@ No és aconsellable fer-la servir. ; Ha fallat la restauració: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 S'ha suprimit un fitxer o carpeta d’una compartició de només lectura, però la restauració ha fallat: %1 @@ -3915,7 +3915,7 @@ No és aconsellable fer-la servir. Fa una estona - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_cs.ts b/translations/client_cs.ts index da8c6ad97..b5a2cf98c 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -568,17 +568,17 @@ Přijmout - + Synced Synchronizováno - + Retry all uploads Zkusit znovu všechna nahrání - + <br/>Account %1 does not have activities enabled. <br/>Účet %1 nemá zapnuté aktivity. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Chyba zápisu metadat do databáze @@ -750,119 +750,119 @@ %1 není čitelný. - + %1 has been removed. %1 names a file. %1 byl odebrán. - + %1 has been downloaded. %1 names a file. %1 byl stažen. - + %1 has been updated. %1 names a file. %1 byl aktualizován. - + %1 has been renamed to %2. %1 and %2 name files. %1 byl přejmenován na %2. - + %1 has been moved to %2. %1 byl přemístěn do %2. - + %1 and %n other file(s) have been removed. %1 soubor bude smazán.%1 a %n další soubory budou smazány.%1 a %n další soubory budou smazány.%1 a %n další soubory budou smazány. - + %1 and %n other file(s) have been downloaded. %1 soubor byl stažen.%1 a %n další soubory byly staženy.%1 a %n další soubory byly staženy.%1 a %n další soubory byly staženy. - + %1 and %n other file(s) have been updated. %1 soubor byl aktualizován.%1 a %n další soubory byly aktualizovány.%1 a %n další soubory byly aktualizovány.%1 a %n další soubory byly aktualizovány. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 byl přejmenován na %2.%1 byl přejmenován na %2 a %n další soubory byly přejmenovány.%1 byl přejmenován na %2 a %n další soubory byly přejmenovány.%1 byl přejmenován na %2 a %n další soubory byly přejmenovány. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 byl přesunut do %2.%1 byl přesunut do %2 a %n dalších souborů bylo přesunuto.%1 byl přesunut do %2 a %n dalších souborů bylo přesunuto.%1 byl přesunut do %2 a %n dalších souborů bylo přesunuto. - + %1 has and %n other file(s) have sync conflicts. %1 má problém se synchronizací.%1 a %n dalších souborů má problém se synchronizací.%1 a %n dalších souborů má problém se synchronizací.%1 a %n dalších souborů má problém se synchronizací. - + %1 has a sync conflict. Please check the conflict file! %1 má problém se synchronizací. Zkontrolujte soubor s konflikty. - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 soubor nemůže být synchronizován kvůli chybám. Shlédněte log pro detaily.%1 a %n dalších souborů nemohou být synchronizovány kvůli chybám. Shlédněte log pro detaily.%1 a %n dalších souborů nemohou být synchronizovány kvůli chybám. Shlédněte log pro detaily.%1 a %n dalších souborů nemohou být synchronizovány kvůli chybám. Shlédněte log pro detaily. - + %1 could not be synced due to an error. See the log for details. %1 nebyl kvůli chybě synchronizován. Podrobnosti jsou k nalezení v záznamu událostí. - + Sync Activity Průběh synchronizace - + Could not read system exclude file Nezdařilo se přečtení systémového exclude souboru - + A new folder larger than %1 MB has been added: %2. Nová složka větší než %1 MB byla přidána: %2. - + A folder from an external storage has been added. Byla přidána složka z externího úložiště. - + Please go in the settings to select it if you wish to download it. Pokud to chcete stáhnout, jděte do nastavení a vyberte to. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. Složka %1 byla vytvořena ale byla dříve vynechána ze synchronizace. Nebude synchronizována. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. Soubor %1 byl vytvořen ale byl dříve byl vynechán ze synchronizace. Nebude synchronizován. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -875,7 +875,7 @@ To znamená, že synchronizační klient nemusí místní změny okamžitě nahr %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -886,22 +886,22 @@ Pokud se rozhodnete soubory ponechat, budou znovu synchronizovány se serverem p Pokud se soubory rozhodnete smazat, nebudou vám dostupné, pokud nejste vlastník. - + Download new files? Stáhnout nové soubory? - + Download new files Stáhnout nové soubory - + Keep local files Ponechat místní soubory - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -910,7 +910,7 @@ Jste si jisti, že chcete tyto akce synchronizovat se serverem? Pokud to byl omyl a chcete si soubory ponechat, budou opět synchronizovány ze serveru. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -919,17 +919,17 @@ Toto může být způsobeno obnovením zálohy na straně serveru. Pokračováním v synchronizaci způsobí přepsání všech vašich souborů staršími soubory z dřívějšího stavu. Přejete si ponechat své místní nejaktuálnější soubory jako konfliktní soubory? - + Backup detected Záloha nalezena - + Normal Synchronisation Normální synchronizace - + Keep Local Files as Conflict Ponechat místní soubory jako konflikt @@ -2262,7 +2262,7 @@ Nedoporučuje se jí používat. OCC::PropagateDirectory - + Error writing metadata to the database Chyba zápisu metadat do databáze @@ -2290,32 +2290,32 @@ Nedoporučuje se jí používat. Volné místo na disku je méně než %1 - + File was deleted from server Soubor byl smazán ze serveru - + The file could not be downloaded completely. Soubor nemohl být kompletně stažen. - + The downloaded file is empty despite that the server announced it should have been %1. Stažený soubor je prázdný, přestože soubor oznámil, že měl mít %1. - + File %1 cannot be saved because of a local file name clash! Soubor %1 nemohl být uložen z důvodu kolize názvu se souborem v místním systému! - + File has changed since discovery Soubor se mezitím změnil - + Error writing metadata to the database Chyba zápisu metadat do databáze @@ -2328,7 +2328,7 @@ Nedoporučuje se jí používat. ; Obnovení selhalo: %1 - + A file or folder 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 @@ -3912,7 +3912,7 @@ Nedoporučuje se jí používat. Před nějakým časem - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_da.ts b/translations/client_da.ts index d24da4b91..c32cca76a 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -568,17 +568,17 @@ Accepter - + Synced S - + Retry all uploads - + <br/>Account %1 does not have activities enabled. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Fejl ved skrivning af metadata til databasen @@ -750,118 +750,118 @@ %1 kan ikke læses. - + %1 has been removed. %1 names a file. %1 er fjernet. - + %1 has been downloaded. %1 names a file. %1 er hentet. - + %1 has been updated. %1 names a file. %1 er blevet opdateret. - + %1 has been renamed to %2. %1 and %2 name files. %1 er blevet omdøbt til %2. - + %1 has been moved to %2. %1 er blevet flyttet til %2. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity Synkroniseringsaktivitet - + Could not read system exclude file - + A new folder larger than %1 MB has been added: %2. - + A folder from an external storage has been added. - + Please go in the settings to select it if you wish to download it. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -870,7 +870,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -878,46 +878,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? Hent nye filer? - + Download new files Hent nye filer - + Keep local files Behold lokale filer - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected - + Normal Synchronisation Normal synkronisering - + Keep Local Files as Conflict @@ -2242,7 +2242,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database @@ -2270,32 +2270,32 @@ It is not advisable to use it. - + File was deleted from server - + The file could not be downloaded completely. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! - + File has changed since discovery - + Error writing metadata to the database @@ -2308,7 +2308,7 @@ It is not advisable to use it. - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -3890,7 +3890,7 @@ It is not advisable to use it. - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_de.ts b/translations/client_de.ts index 4f9c1931c..e51c748b0 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -568,17 +568,17 @@ Akzeptieren - + Synced Synchronisiert - + Retry all uploads Alle Uploads neu starten - + <br/>Account %1 does not have activities enabled. <br/>Für Konto %1 sind serverseitig keine Aktivitäten aktiviert. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Fehler beim Schreiben der Metadaten in die Datenbank @@ -750,120 +750,120 @@ %1 ist nicht lesbar. - + %1 has been removed. %1 names a file. %1 wurde gelöscht. - + %1 has been downloaded. %1 names a file. %1 wurde heruntergeladen. - + %1 has been updated. %1 names a file. %1 wurde aktualisiert. - + %1 has been renamed to %2. %1 and %2 name files. %1 wurde in %2 umbenannt. - + %1 has been moved to %2. %1 wurde in %2 verschoben. - + %1 and %n other file(s) have been removed. %1 und %n andere Datei wurde gelöscht.%1 und %n andere Dateien wurden gelöscht. - + %1 and %n other file(s) have been downloaded. %1 und %n andere Datei wurde heruntergeladen.%1 und %n andere Dateien wurden heruntergeladen. - + %1 and %n other file(s) have been updated. %1 und %n andere Datei wurde aktualisiert.%1 und %n andere Dateien wurden aktualisiert. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 wurde in %2 umbenannt und %n andere Datei wurde umbenannt.%1 wurde in %2 umbenannt und %n andere Dateien wurden umbenannt. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 wurde in %2 verschoben und %n andere Datei wurde verschoben.%1 wurde in %2 verschoben und %n andere Dateien wurden verschoben. - + %1 has and %n other file(s) have sync conflicts. %1 und %n andere Datei haben Konflikte beim Abgleichen.%1 und %n andere Dateien haben Konflikte beim Abgleichen. - + %1 has a sync conflict. Please check the conflict file! Es gab einen Konflikt bei der Synchronisierung von %1. Bitte prüfen Sie die Konfliktdatei! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 und %n weitere Datei konnten aufgrund von Fehlern nicht synchronisiert werden. Schauen Sie in das Protokoll für Details.%1 und %n weitere Dateien konnten aufgrund von Fehlern nicht synchronisiert werden. Details finden Sie im Protokoll. - + %1 could not be synced due to an error. See the log for details. %1 konnte aufgrund eines Fehlers nicht synchronisiert werden. Details finden Sie im Protokoll. - + Sync Activity Synchronisierungsaktivität - + Could not read system exclude file Systemeigene Ausschlussdatei kann nicht gelesen werden - + A new folder larger than %1 MB has been added: %2. Ein neues Verzeichnis größer als %1 MB wurde hinzugefügt: %2. - + A folder from an external storage has been added. Ein Verzeichnis von einem externen Speicher wurde hinzugefügt. - + Please go in the settings to select it if you wish to download it. Bitte wechseln Sie zu den Einstellungen, falls Sie das Verzeichnis herunterladen möchten. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. Der Ordner %1 wurde erstellt, wurde jedoch zuvor von der Synchronisierung ausgeschlossen. Die darin enthaltenen Daten werden nicht synchronisiert. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. Die Datei % 1 wurde erstellt, jedoch bereits zuvor von der Synchronisierung ausgeschlossen. Sie wird nicht synchronisiert werden. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -876,7 +876,7 @@ Dies bedeutet, dass der Synchronisierungs-Client lokale Änderungen möglicherwe %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -887,22 +887,22 @@ Wenn Sie sich dazu entscheiden, diese Dateien zu behalten, werden diese wieder z Wenn Sie sich zum Löschen der Dateien entscheiden, sind diese nicht mehr verfügbar, außer Sie sind der Eigentümer. - + Download new files? Neue Dateien herunterladen? - + Download new files Neue Dateien herunterladen - + Keep local files Lokale Dateien behalten - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -911,7 +911,7 @@ Sind Sie sich sicher, dass Sie diese Aktion mit Ihrem Server synchronisieren mö Falls dies ein Missgeschick war und Sie sich zum Behalten der Dateien entscheiden, werden diese wieder vom Server synchronisiert. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -920,17 +920,17 @@ Der Grund dafür ist möglicherweise, dass auf dem Server ein Backup eingespielt Wenn diese Synchronisierung fortgesetzt wird, werden Dateien eventuell von älteren Versionen überschrieben. Möchten Sie die neueren lokalen Dateien als Konflikt-Dateien behalten? - + Backup detected Backup erkannt - + Normal Synchronisation Normale Synchronisierung - + Keep Local Files as Conflict Lokale Konfliktdateien behalten @@ -2262,7 +2262,7 @@ Es ist nicht ratsam, sie zu benutzen. OCC::PropagateDirectory - + Error writing metadata to the database Fehler beim Schreiben der Metadaten in die Datenbank @@ -2290,32 +2290,32 @@ Es ist nicht ratsam, sie zu benutzen. Der freie Speicher auf der Festplatte ist weniger als %1 - + File was deleted from server Die Datei wurde vom Server gelöscht - + The file could not be downloaded completely. Die Datei konnte nicht vollständig herunter geladen werden. - + The downloaded file is empty despite that the server announced it should have been %1. Die heruntergeladene Datei ist leer, obwohl der Server %1 als Größe übermittelt hat. - + File %1 cannot be saved because of a local file name clash! Die Datei %1 kann aufgrund eines Konflikts mit dem lokalen Dateinamen nicht gespeichert geladen werden! - + File has changed since discovery Datei ist seit der Entdeckung geändert worden - + Error writing metadata to the database Fehler beim Schreiben der Metadaten in die Datenbank @@ -2328,7 +2328,7 @@ Es ist nicht ratsam, sie zu benutzen. ; Wiederherstellung fehlgeschlagen: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Eine Datei oder ein Ordner wurde von einer Nur-Lese-Freigabe wiederhergestellt, aber die Wiederherstellung ist mit folgendem Fehler fehlgeschlagen: %1 @@ -3912,7 +3912,7 @@ Es ist nicht ratsam, sie zu benutzen. vor einiger Zeit - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_el.ts b/translations/client_el.ts index 84a6d8748..6add6c6b1 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -568,17 +568,17 @@ Αποδοχή - + Synced Συγχρονίστηκε - + Retry all uploads Επανάληψη όλων των μεταφορτώσεων - + <br/>Account %1 does not have activities enabled. <br/>Ο λογαριασμός %1 δεν έχει ενεργοποιήσει τις δραστηριότητες. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Σφάλμα εγγραφής μεταδεδομένων στην βάση δεδομένων @@ -750,120 +750,120 @@ Το %1 δεν είναι αναγνώσιμο. - + %1 has been removed. %1 names a file. Το %1 αφαιρέθηκε. - + %1 has been downloaded. %1 names a file. Το %1 έχει ληφθεί. - + %1 has been updated. %1 names a file. Το %1 έχει ενημερωθεί. - + %1 has been renamed to %2. %1 and %2 name files. Το %1 έχει μετονομαστεί σε %2. - + %1 has been moved to %2. Το %1 έχει μετακινηθεί στο %2. - + %1 and %n other file(s) have been removed. %1 και%n άλλo αρχείo(α) έχουν καταργηθεί.%1 και%n άλλo αρχείo(α) έχουν καταργηθεί. - + %1 and %n other file(s) have been downloaded. %1 και%n άλλο αρχείο(ο) έχουν ληφθεί.%1 και%n άλλο αρχείο(ο) έχουν ληφθεί. - + %1 and %n other file(s) have been updated. %1 και%n άλλο αρχείο(α) έχουν ενημερωθεί.%1 και%n άλλο αρχείο(α) έχουν ενημερωθεί. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 μετονομάστηκε σε %2 και %n άλλο αρχείο(α) έχουν μετονομαστεί.%1 μετονομάστηκε σε %2 και %n άλλο αρχείο(α) έχουν μετονομαστεί. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 έχει μετακινηθεί σε %2 και %n άλλo αρχείο(α) έχουν μετακινηθεί.%1 έχει μετακινηθεί σε %2 και %n άλλo αρχείο(α) έχουν μετακινηθεί. - + %1 has and %n other file(s) have sync conflicts. %1 έχει και %n άλλο αρχείο(α) έχουν διένεξη συγχρονισμού.%1 έχει και %n άλλο αρχείο(α) έχουν διένεξη συγχρονισμού. - + %1 has a sync conflict. Please check the conflict file! %1 έχει μια διένεξη συγχρονισμού. Παρακαλώ ελέγξτε τη διένεξη του αρχείου! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 και %n άλλο(α) αρχείο(α) δεν μπορούν να συγχρονιστούν λόγω σφαλμάτων. Δείτε το ιστορικό για λεπτομέρειες%1 και %n άλλο αρχείο(α) δεν μπορούν να συγχρονιστούν λόγω σφαλμάτων. Δείτε το ημερολόγιο για λεπτομέρειες. - + %1 could not be synced due to an error. See the log for details. %1 δεν ήταν δυνατό να συγχρονιστεί εξαιτίας ενός σφάλματος. Δείτε το αρχείο καταγραφής για λεπτομέρειες. - + Sync Activity Δραστηριότητα Συγχρονισμού - + Could not read system exclude file Αδυναμία ανάγνωσης αρχείου αποκλεισμού συστήματος - + A new folder larger than %1 MB has been added: %2. Προστέθηκε ένας νέος φάκελος μεγαλύτερος από %1 MB: %2 - + A folder from an external storage has been added. Προστέθηκε ένας φάκελος από εξωτερικό αποθηκευτικό χώρο. - + Please go in the settings to select it if you wish to download it. Μεταβείτε στις ρυθμίσεις για να το επιλέξετε εάν επιθυμείτε να το κατεβάσετε. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? Λήψη νέων αρχείων; - + Download new files Λήψη νέων αρχείων - + Keep local files Διατήρηση τοπικών αρχείων - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -904,7 +904,7 @@ If this was an accident and you decide to keep your files, they will be re-synce Αν αυτό ήταν ένα ατύχημα και αποφασίσατε να διατηρήσετε τα αρχεία σας, θα συγχρονιστούν εκ νέου από το διακομιστή. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -913,17 +913,17 @@ Continuing the sync as normal will cause all your files to be overwritten by an Η συνέχιση του συγχρονισμού κανονικά θα προκαλέσει την αντικατάσταση όλων των αρχείων σας από παλιότερο αρχείο σε προηγούμενη κατάσταση. Θέλετε να διατηρήσετε τα τοπικά σας πιο πρόσφατα αρχεία ως αρχεία σύγκρουσης; - + Backup detected Ανιχνεύθηκε αντίγραφο ασφαλείας - + Normal Synchronisation Κανονικός συγχρονισμός - + Keep Local Files as Conflict Διατήρηση τοπικών αρχείων ως Διένεξη @@ -2252,7 +2252,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database Σφάλμα εγγραφής μεταδεδομένων στην βάση δεδομένων @@ -2280,32 +2280,32 @@ It is not advisable to use it. Ο διαθέσιμος χώρος στο δίσκο είναι λιγότερος από %1 - + File was deleted from server Το αρχείο διαγράφηκε από τον διακομιστή - + The file could not be downloaded completely. Η λήψη του αρχείου δεν ολοκληρώθηκε. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! Το αρχείο %1 δεν είναι δυνατό να αποθηκευτεί λόγω διένεξης με το όνομα ενός τοπικού ονόματος αρχείου! - + File has changed since discovery Το αρχείο έχει αλλάξει από όταν ανακαλύφθηκε - + Error writing metadata to the database Σφάλμα εγγραφής μεταδεδομένων στην βάση δεδομένων @@ -2318,7 +2318,7 @@ It is not advisable to use it. ; Η Αποκατάσταση Απέτυχε: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Ένα αρχείο ή ένας κατάλογος αφαιρέθηκε από ένα διαμοιρασμένο κατάλογο μόνο για ανάγνωση, αλλά η επαναφορά απέτυχε: %1 @@ -3902,7 +3902,7 @@ It is not advisable to use it. Λίγη ώρα πριν - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_en.ts b/translations/client_en.ts index 34a5783e7..6abe4091d 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -570,17 +570,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. @@ -667,7 +667,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database @@ -752,36 +752,36 @@ - + %1 has been removed. %1 names a file. - + %1 has been downloaded. %1 names a file. - + %1 has been updated. %1 names a file. - + %1 has been renamed to %2. %1 and %2 name files. - + %1 has been moved to %2. - + %1 and %n other file(s) have been removed. @@ -789,7 +789,7 @@ - + %1 and %n other file(s) have been downloaded. @@ -797,7 +797,7 @@ - + %1 and %n other file(s) have been updated. @@ -805,7 +805,7 @@ - + %1 has been renamed to %2 and %n other file(s) have been renamed. @@ -813,7 +813,7 @@ - + %1 has been moved to %2 and %n other file(s) have been moved. @@ -821,7 +821,7 @@ - + %1 has and %n other file(s) have sync conflicts. @@ -829,12 +829,12 @@ - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. @@ -842,49 +842,49 @@ - + %1 could not be synced due to an error. See the log for details. - + Sync Activity - + Could not read system exclude file - + A new folder larger than %1 MB has been added: %2. - + A folder from an external storage has been added. - + Please go in the settings to select it if you wish to download it. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -893,7 +893,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -901,46 +901,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected - + Normal Synchronisation - + Keep Local Files as Conflict @@ -2268,7 +2268,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database @@ -2296,32 +2296,32 @@ It is not advisable to use it. - + File was deleted from server - + The file could not be downloaded completely. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! - + File has changed since discovery - + Error writing metadata to the database @@ -2334,7 +2334,7 @@ It is not advisable to use it. - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -3934,7 +3934,7 @@ It is not advisable to use it. - + %1: %2 this displays an error string (%2) for a file %1 diff --git a/translations/client_en_GB.ts b/translations/client_en_GB.ts index f11c43985..4acba0660 100644 --- a/translations/client_en_GB.ts +++ b/translations/client_en_GB.ts @@ -568,17 +568,17 @@ Accept - + Synced - + Retry all uploads Retry all uploads - + <br/>Account %1 does not have activities enabled. <br/>Account %1 does not have activities enabled. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Error writing metadata to the database @@ -750,120 +750,120 @@ %1 is not readable. - + %1 has been removed. %1 names a file. %1 has been removed. - + %1 has been downloaded. %1 names a file. %1 has been downloaded. - + %1 has been updated. %1 names a file. %1 has been updated. - + %1 has been renamed to %2. %1 and %2 name files. %1 has been renamed to %2. - + %1 has been moved to %2. %1 has been moved to %2. - + %1 and %n other file(s) have been removed. %1 and %n other file have been removed.%1 and %n other files have been removed. - + %1 and %n other file(s) have been downloaded. %1 and %n other file have been downloaded.%1 and %n other files have been downloaded. - + %1 and %n other file(s) have been updated. %1 and %n other file have been updated.%1 and %n other files have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 has been renamed to %2 and %n other file have been renamed.%1 has been renamed to %2 and %n other files have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 has been moved to %2 and %n other file have been moved.%1 has been moved to %2 and %n other files have been moved. - + %1 has and %n other file(s) have sync conflicts. %1 has and %n other file have sync conflicts.%1 has and %n other files have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 and %n other file could not be synced due to errors. See the log for details.%1 and %n other files could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. %1 could not be synced due to an error. See the log for details. - + Sync Activity Sync Activity - + Could not read system exclude file Could not read system exclude file - + A new folder larger than %1 MB has been added: %2. A new folder larger than %1 MB has been added: %2. - + A folder from an external storage has been added. A folder from an external storage has been added. - + Please go in the settings to select it if you wish to download it. Please go in the settings to select it if you wish to download it. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -876,7 +876,7 @@ This means that the synchronization client might not upload local changes immedi %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -887,22 +887,22 @@ If you decide to keep the files, they will be re-synced with the server if you h If you decide to delete the files, they will be unavailable to you, unless you are the owner. - + Download new files? Download new files? - + Download new files Download new files - + Keep local files Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -911,7 +911,7 @@ Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -920,17 +920,17 @@ This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Backup detected - + Normal Synchronisation Normal Synchronisation - + Keep Local Files as Conflict Keep Local Files as Conflict @@ -2263,7 +2263,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database Error writing metadata to the database @@ -2291,32 +2291,32 @@ It is not advisable to use it. Free space on disk is less than %1 - + File was deleted from server File was deleted from server - + The file could not be downloaded completely. The file could not be downloaded completely. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! File %1 cannot be saved because of a local file name clash! - + File has changed since discovery File has changed since discovery - + Error writing metadata to the database Error writing metadata to the database @@ -2329,7 +2329,7 @@ It is not advisable to use it. ; Restoration Failed: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 A file or folder was removed from a read only share, but restoring failed: %1 @@ -3913,7 +3913,7 @@ It is not advisable to use it. Some time ago - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_eo.ts b/translations/client_eo.ts index 46701e284..ab7d58355 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -568,17 +568,17 @@ Akcepti - + Synced Sinkronigita - + Retry all uploads Reprovi ĉiujn alŝutoj - + <br/>Account %1 does not have activities enabled. <br/>Konto %1 ne havas ebligitajn aktivaĵojn. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Eraro dum konservado de pridatumoj en la datumbazo @@ -750,120 +750,120 @@ %1 ne estas legebla. - + %1 has been removed. %1 names a file. %1 estis forigita. - + %1 has been downloaded. %1 names a file. %1 estis elŝutita. - + %1 has been updated. %1 names a file. %1 estis ĝisdatigita. - + %1 has been renamed to %2. %1 and %2 name files. %1 estis alinomita al %2. - + %1 has been moved to %2. %1 estis movita al %2. - + %1 and %n other file(s) have been removed. %1 estis forigita.%1 kaj %n plia(j) dosiero(j) estis forigitaj. - + %1 and %n other file(s) have been downloaded. %1 estis elŝutita.%1 kaj %n plia(j) dosiero(j) estis elŝutitaj. - + %1 and %n other file(s) have been updated. %1 ĝisdatiĝis.%1 kaj %n plia(j) dosiero(j) ĝisdatiĝis. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 estis alinomita al %2.%1 estis alinomita al %2, kaj %n plia(j) dosiero(j) estis alinomitaj. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 estis movita al %2.%1 estis movita al %2, kaj %n plia(j) dosiero(j) estis movitaj. - + %1 has and %n other file(s) have sync conflicts. %1 havas sinkronigajn konfliktojn.%1 kaj %n plia(j) dosiero(j) havas sinkronigajn konfliktojn. - + %1 has a sync conflict. Please check the conflict file! %1 havas sinkronigan konflikton. Bv. kontroli la dosieron pri konfliktoj! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 ne estis sinkronigita pro eraroj. Vidu la protokolon por detaloj.%1 kaj %n plia(j) dosiero(j) ne estis sinkronigitaj pro eraroj. Vidu la protokolon por detaloj. - + %1 could not be synced due to an error. See the log for details. %1 ne estis sinkronigita pro eraro. Vidu la protokolon por detaloj. - + Sync Activity Sinkronigaj aktivaĵoj - + Could not read system exclude file Ne eblis legi la sisteman dosieron pri esceptoj - + A new folder larger than %1 MB has been added: %2. Nova dosierujo pli granda ol %1 MB estis aldonita: %2. - + A folder from an external storage has been added. Dosierujo el ekstera konservejo estis aldonita. - + Please go in the settings to select it if you wish to download it. Bv. iri al la agordoj por elekti, ĉu vi volas elŝuti ĝin. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. La dosierujo %1 estis kreita sed estis eksigita el sinkronigo antaŭe. Datumoj ene de ĝi ne estos sinkronigitaj. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. La dosiero %1 estis kreita sed estis eksigita el sinkronigo antaŭe. Ĝi ne estos sinkronigita. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -876,7 +876,7 @@ Tio signifas, ke la sinkroniga kliento eble ne alŝutas tuj lokajn ŝanĝojn kaj %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -887,22 +887,22 @@ Se vi decidas gardi la dosierojn, ili estos resinkronigitaj al la servilo, se vi Se vi decidas forigi la dosierojn, ili ne plus estos haveblaj al vi, krom se vi estas la posedanto. - + Download new files? Ĉu elŝuti la novajn dosierojn? - + Download new files Elŝuti la novajn dosierojn - + Keep local files Gardi la lokajn dosierojn - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -911,7 +911,7 @@ If this was an accident and you decide to keep your files, they will be re-synce Se tio estis neintenca kaj se vi decidas gardi viajn dosierojn, ili estos resinkronigitaj el la servilo. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -920,17 +920,17 @@ Tio estas eble kaŭzita de restaŭro de savkopio ĉe la servilo. Se vi plu sinkronigas, la sinkronigo anstataŭigos ĉiujn viajn dosierojn per antaŭaj versioj el viaj dosieroj. Ĉu vi volas gardi la plej freŝajn dosierojn kiel konfliktajn dosierojn? - + Backup detected Savkopio eltrovita - + Normal Synchronisation Kutima sinkronigo - + Keep Local Files as Conflict Konservi la lokajn dosierojn kiel konfliktojn @@ -2262,7 +2262,7 @@ Uzi ĝin ne konsilindas. OCC::PropagateDirectory - + Error writing metadata to the database Eraro dum skribo de pridatumoj en la datumbazo @@ -2290,32 +2290,32 @@ Uzi ĝin ne konsilindas. Libera diskospaco estas malpli ol %1 - + File was deleted from server Dosiero estis forigita el la servilo - + The file could not be downloaded completely. La dosiero ne estis elŝutita plene. - + The downloaded file is empty despite that the server announced it should have been %1. La elŝutita dosiero malplenas, kvankam la servilo anoncis, ke ĝi estos %1. - + File %1 cannot be saved because of a local file name clash! Dosiero %1 ne eblis esti konservita pro konflikto kun loka dosiernomo! - + File has changed since discovery Dosiero ŝanĝiĝis ekde sia malkovro - + Error writing metadata to the database Eraro dum konservado de pridatumoj en la datumbazo @@ -2328,7 +2328,7 @@ Uzi ĝin ne konsilindas. ; malsukcesis la restaŭro: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Dosiero aŭ dosierujo estis forigita el nurlega kunhavo, sed restaŭrado malsukcesis: %1 @@ -3911,7 +3911,7 @@ Uzi ĝin ne konsilindas. Antaŭ nelonge - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_es.ts b/translations/client_es.ts index 4dbe590d5..1a1188e0b 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -568,17 +568,17 @@ Aceptar - + Synced Sincronizado - + Retry all uploads Reintentar todas las subidas - + <br/>Account %1 does not have activities enabled. <br/>La cuenta %1 no tiene actividades habilitadas. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Error al escribir los metadatos en la base de datos @@ -750,120 +750,120 @@ %1 es ilegible. - + %1 has been removed. %1 names a file. %1 ha sido eliminado. - + %1 has been downloaded. %1 names a file. %1 ha sido descargado. - + %1 has been updated. %1 names a file. %1 ha sido actualizado. - + %1 has been renamed to %2. %1 and %2 name files. %1 ha sido renombrado a %2. - + %1 has been moved to %2. %1 ha sido movido a %2. - + %1 and %n other file(s) have been removed. %1 y otro archivo han sido borrados.%1 y otros %n archivos han sido borrados. - + %1 and %n other file(s) have been downloaded. %1 y otro archivo han sido descargados.%1 y otros %n archivos han sido descargados. - + %1 and %n other file(s) have been updated. %1 y otro archivo han sido actualizados.%1 y otros %n archivos han sido actualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 ha sido renombrado a %2 y otro archivo ha sido renombrado.%1 ha sido renombrado a %2 y otros %n archivos han sido renombrado. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 ha sido movido a %2 y otro archivo ha sido movido.%1 ha sido movido a %2 y otros %n archivos han sido movidos. - + %1 has and %n other file(s) have sync conflicts. %1 y otro archivo han tenido conflictos al sincronizar.%1 y otros %n archivos han tenido conflictos al sincronizar. - + %1 has a sync conflict. Please check the conflict file! Conflicto al sincronizar %1. ¡Por favor compruebe el archivo! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 y otro archivo no pudieron ser sincronizados debido a errores. Para más detalles vea el registro.%1 y otros %n archivos no se han podido sincronizar debido a errores. Para más detalles vea el registro. - + %1 could not be synced due to an error. See the log for details. %1 no se ha podido sincronizar debido a un error. Para más detalles, vea el registro. - + Sync Activity Actividad de la sincronización - + Could not read system exclude file No se ha podido leer el archivo de exclusión del sistema - + A new folder larger than %1 MB has been added: %2. Una carpeta mayor de %1 MB ha sido añadida: %2. - + A folder from an external storage has been added. Una carpeta de almacenamiento externo ha sido añadida. - + Please go in the settings to select it if you wish to download it. Por favor vaya a opciones a seleccionarlo si desea descargar esto. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. Se ha creado la carpeta %1 pero se excluyó de la sincronización con anterioridad. Los datos en su interior no se sincronizarán. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. Se ha creado el archivo %1 pero se excluyó de la sincronización con anterioridad. No se sincronizará. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -876,7 +876,7 @@ Esto significa que el cliente de sincronización podría no subir inmediatamente %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -887,22 +887,22 @@ Si decides mantener los archivos, se resubirán al servidor si tienes permisos p Si decides eliminar los archivos, no podrás disponer de ellos a no ser que seas el propietario. - + Download new files? ¿Descargar los archivos nuevos? - + Download new files Descargar archivos nuevos - + Keep local files Mantener los archivos locales - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -911,7 +911,7 @@ If this was an accident and you decide to keep your files, they will be re-synce Si ha sido un accidente, y decide mantener los archivos, serán re-sincronizados con el servidor. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -920,17 +920,17 @@ Esto puede deberse a que una copia de seguridad fue restaurada en el servidor. Si continua con la sincronización todos los archivos serán remplazados por su versión previa. ¿Desea mantener los archivos locales en su versión actual como archivos en conflicto? - + Backup detected Backup detectado - + Normal Synchronisation Sincronización normal - + Keep Local Files as Conflict Mantener los archivos locales en caso de conflicto @@ -2262,7 +2262,7 @@ No se recomienda usarla. OCC::PropagateDirectory - + Error writing metadata to the database Error al escribir los metadatos en la base de datos @@ -2290,32 +2290,32 @@ No se recomienda usarla. El espacio libre en el disco es inferior a %1 - + File was deleted from server Se ha eliminado el archivo del servidor - + The file could not be downloaded completely. No se ha podido descargar el archivo completamente. - + The downloaded file is empty despite that the server announced it should have been %1. El archivo descargado está vacío a pesar de que el servidor comunicó que debería haber sido %1. - + File %1 cannot be saved because of a local file name clash! ¡El archivo %1 no puede guardarse debido a un conflicto con el nombre de otro archivo local! - + File has changed since discovery El archivo ha cambiado desde que fue descubierto - + Error writing metadata to the database Error al escribir los metadatos en la base de datos @@ -2328,7 +2328,7 @@ No se recomienda usarla. ; Fallo al restaurar: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Un archivo o directorio ha sido eliminado de una carpeta compartida de solo lectura pero la recuperación ha fallado: %1 @@ -3912,7 +3912,7 @@ No se recomienda usarla. Hace tiempo - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index 953a2c2eb..b5e254c23 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -568,17 +568,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Error escribiendo metadatos a la base de datos @@ -750,118 +750,118 @@ No se puede leer %1. - + %1 has been removed. %1 names a file. %1 ha sido eliminado. - + %1 has been downloaded. %1 names a file. %1 ha sido descargado. - + %1 has been updated. %1 names a file. %1 ha sido actualizado - + %1 has been renamed to %2. %1 and %2 name files. - + %1 has been moved to %2. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity Actividad de Sync - + Could not read system exclude file - + A new folder larger than %1 MB has been added: %2. - + A folder from an external storage has been added. - + Please go in the settings to select it if you wish to download it. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -870,7 +870,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -878,46 +878,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected - + Normal Synchronisation Sincronizacón Normal. - + Keep Local Files as Conflict Mantener Archivos Locales como Conflicto @@ -2242,7 +2242,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database Error escribiendo metadatos a la base de datos @@ -2270,32 +2270,32 @@ It is not advisable to use it. - + File was deleted from server - + The file could not be downloaded completely. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! - + File has changed since discovery - + Error writing metadata to the database Error escribiendo metadatos a la base de datos @@ -2308,7 +2308,7 @@ It is not advisable to use it. - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -3891,7 +3891,7 @@ It is not advisable to use it. - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_es_CL.ts b/translations/client_es_CL.ts index a6e45ccef..dd1aa408a 100644 --- a/translations/client_es_CL.ts +++ b/translations/client_es_CL.ts @@ -568,17 +568,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. <br/>La cuenta %1 no tiene las actividades habilitadas. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Error al escribir metadatos a la base de datos @@ -750,120 +750,120 @@ No se puede leer %1. - + %1 has been removed. %1 names a file. %1 ha sido eliminado. - + %1 has been downloaded. %1 names a file. %1 ha sido descargado. - + %1 has been updated. %1 names a file. %1 ha sido actualizado. - + %1 has been renamed to %2. %1 and %2 name files. %1 ha sido renombrado a %2. - + %1 has been moved to %2. %1 se ha movido a %2. - + %1 and %n other file(s) have been removed. %1 y %n otro(s) archivo(s) han sido eliminados. %1 y %n otro(s) archivo(s) han sido eliminados. - + %1 and %n other file(s) have been downloaded. %1 y %n otro(s) archivo(s) han sido descargados. %1 y %n otro(s) archivo(s) han sido descargados. - + %1 and %n other file(s) have been updated. %1 y %n otro(s) archivo(s) han sido actualizados.%1 y %n otro(s) archivo(s) han sido actualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos.%1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos. - + %1 has and %n other file(s) have sync conflicts. %1 y %n otro(s) archivo(s) tienen confictos de sincronización.%1 y %n otro(s) archivo(s) tienen confictos de sincronización. - + %1 has a sync conflict. Please check the conflict file! %1 tiene un conflicto de sincronización. ¡Por favor verifica el archivo con conflicto! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. - + %1 could not be synced due to an error. See the log for details. %1 no pudo ser sincronizado por un error. Consulta la bitácora para más detalles. - + Sync Activity Sincronizar Actividad - + Could not read system exclude file No fue posible leer el archivo de exclusión del sistema - + A new folder larger than %1 MB has been added: %2. Una nueva carpeta de más de %1 MB ha sido agregada: %2 - + A folder from an external storage has been added. Una carpeta de un almacenamiento externo ha sido agregada. - + Please go in the settings to select it if you wish to download it. Por favor ve a las configuraciones para seleccionarlo si deseas descargarlo. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -904,7 +904,7 @@ If this was an accident and you decide to keep your files, they will be re-synce Si esto fue un accidente y decides mantener tus archivos, estos se re-sincronizaran desde el servidor. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -914,17 +914,17 @@ Continuar con la sincronización como normal causará que todos tus archivos sea ¿Quieres mantener tu copia local más reciente como archivos en conflicto? - + Backup detected Respaldo detectado - + Normal Synchronisation Sincronización Normal - + Keep Local Files as Conflict Mantener los Archivos Locales como Conflictos @@ -2253,7 +2253,7 @@ No es recomendable usarlo. OCC::PropagateDirectory - + Error writing metadata to the database Se presentó un error al escribir los metadatos a la base de datos @@ -2281,32 +2281,32 @@ No es recomendable usarlo. El espacio disponible en disco es menos del 1% - + File was deleted from server El archivo fue borrado del servidor - + The file could not be downloaded completely. El archivo no pudo ser descargado por completo. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! ¡El archivo %1 no puede ser guardado debido a un conflicto en su nombre con un archivo local! - + File has changed since discovery El archivo ha cambiado desde que fue descubierto - + Error writing metadata to the database Error al escribir los metadatos a la base de datos @@ -2319,7 +2319,7 @@ No es recomendable usarlo. ; La Restauración Falló: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Un archivo o carpeta fue eliminado de un elemento compartido de solo lectura, pero la restauracion falló: %1 @@ -3903,7 +3903,7 @@ No es recomendable usarlo. Hace algún tiempo - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_es_CO.ts b/translations/client_es_CO.ts index 7372cb3c2..713cdffe5 100644 --- a/translations/client_es_CO.ts +++ b/translations/client_es_CO.ts @@ -568,17 +568,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. <br/>La cuenta %1 no tiene las actividades habilitadas. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Error al escribir metadatos a la base de datos @@ -750,120 +750,120 @@ No se puede leer %1. - + %1 has been removed. %1 names a file. %1 ha sido eliminado. - + %1 has been downloaded. %1 names a file. %1 ha sido descargado. - + %1 has been updated. %1 names a file. %1 ha sido actualizado. - + %1 has been renamed to %2. %1 and %2 name files. %1 ha sido renombrado a %2. - + %1 has been moved to %2. %1 se ha movido a %2. - + %1 and %n other file(s) have been removed. %1 y %n otro(s) archivo(s) han sido eliminados. %1 y %n otro(s) archivo(s) han sido eliminados. - + %1 and %n other file(s) have been downloaded. %1 y %n otro(s) archivo(s) han sido descargados. %1 y %n otro(s) archivo(s) han sido descargados. - + %1 and %n other file(s) have been updated. %1 y %n otro(s) archivo(s) han sido actualizados.%1 y %n otro(s) archivo(s) han sido actualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos.%1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos. - + %1 has and %n other file(s) have sync conflicts. %1 y %n otro(s) archivo(s) tienen confictos de sincronización.%1 y %n otro(s) archivo(s) tienen confictos de sincronización. - + %1 has a sync conflict. Please check the conflict file! %1 tiene un conflicto de sincronización. ¡Por favor verifica el archivo con conflicto! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. - + %1 could not be synced due to an error. See the log for details. %1 no pudo ser sincronizado por un error. Consulta la bitácora para más detalles. - + Sync Activity Sincronizar Actividad - + Could not read system exclude file No fue posible leer el archivo de exclusión del sistema - + A new folder larger than %1 MB has been added: %2. Una nueva carpeta de más de %1 MB ha sido agregada: %2 - + A folder from an external storage has been added. Una carpeta de un almacenamiento externo ha sido agregada. - + Please go in the settings to select it if you wish to download it. Por favor ve a las configuraciones para seleccionarlo si deseas descargarlo. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -904,7 +904,7 @@ If this was an accident and you decide to keep your files, they will be re-synce Si esto fue un accidente y decides mantener tus archivos, estos se re-sincronizaran desde el servidor. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -914,17 +914,17 @@ Continuar con la sincronización como normal causará que todos tus archivos sea ¿Quieres mantener tu copia local más reciente como archivos en conflicto? - + Backup detected Respaldo detectado - + Normal Synchronisation Sincronización Normal - + Keep Local Files as Conflict Mantener los Archivos Locales como Conflictos @@ -2253,7 +2253,7 @@ No es recomendable usarlo. OCC::PropagateDirectory - + Error writing metadata to the database Se presentó un error al escribir los metadatos a la base de datos @@ -2281,32 +2281,32 @@ No es recomendable usarlo. El espacio disponible en disco es menos del 1% - + File was deleted from server El archivo fue borrado del servidor - + The file could not be downloaded completely. El archivo no pudo ser descargado por completo. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! ¡El archivo %1 no puede ser guardado debido a un conflicto en su nombre con un archivo local! - + File has changed since discovery El archivo ha cambiado desde que fue descubierto - + Error writing metadata to the database Error al escribir los metadatos a la base de datos @@ -2319,7 +2319,7 @@ No es recomendable usarlo. ; La Restauración Falló: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Un archivo o carpeta fue eliminado de un elemento compartido de solo lectura, pero la restauracion falló: %1 @@ -3903,7 +3903,7 @@ No es recomendable usarlo. Hace algún tiempo - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_es_CR.ts b/translations/client_es_CR.ts index b277212d0..18b7e06e8 100644 --- a/translations/client_es_CR.ts +++ b/translations/client_es_CR.ts @@ -568,17 +568,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. <br/>La cuenta %1 no tiene las actividades habilitadas. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Error al escribir metadatos a la base de datos @@ -750,120 +750,120 @@ No se puede leer %1. - + %1 has been removed. %1 names a file. %1 ha sido eliminado. - + %1 has been downloaded. %1 names a file. %1 ha sido descargado. - + %1 has been updated. %1 names a file. %1 ha sido actualizado. - + %1 has been renamed to %2. %1 and %2 name files. %1 ha sido renombrado a %2. - + %1 has been moved to %2. %1 se ha movido a %2. - + %1 and %n other file(s) have been removed. %1 y %n otro(s) archivo(s) han sido eliminados. %1 y %n otro(s) archivo(s) han sido eliminados. - + %1 and %n other file(s) have been downloaded. %1 y %n otro(s) archivo(s) han sido descargados. %1 y %n otro(s) archivo(s) han sido descargados. - + %1 and %n other file(s) have been updated. %1 y %n otro(s) archivo(s) han sido actualizados.%1 y %n otro(s) archivo(s) han sido actualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos.%1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos. - + %1 has and %n other file(s) have sync conflicts. %1 y %n otro(s) archivo(s) tienen confictos de sincronización.%1 y %n otro(s) archivo(s) tienen confictos de sincronización. - + %1 has a sync conflict. Please check the conflict file! %1 tiene un conflicto de sincronización. ¡Por favor verifica el archivo con conflicto! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. - + %1 could not be synced due to an error. See the log for details. %1 no pudo ser sincronizado por un error. Consulta la bitácora para más detalles. - + Sync Activity Sincronizar Actividad - + Could not read system exclude file No fue posible leer el archivo de exclusión del sistema - + A new folder larger than %1 MB has been added: %2. Una nueva carpeta de más de %1 MB ha sido agregada: %2 - + A folder from an external storage has been added. Una carpeta de un almacenamiento externo ha sido agregada. - + Please go in the settings to select it if you wish to download it. Por favor ve a las configuraciones para seleccionarlo si deseas descargarlo. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -904,7 +904,7 @@ If this was an accident and you decide to keep your files, they will be re-synce Si esto fue un accidente y decides mantener tus archivos, estos se re-sincronizaran desde el servidor. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -914,17 +914,17 @@ Continuar con la sincronización como normal causará que todos tus archivos sea ¿Quieres mantener tu copia local más reciente como archivos en conflicto? - + Backup detected Respaldo detectado - + Normal Synchronisation Sincronización Normal - + Keep Local Files as Conflict Mantener los Archivos Locales como Conflictos @@ -2253,7 +2253,7 @@ No es recomendable usarlo. OCC::PropagateDirectory - + Error writing metadata to the database Se presentó un error al escribir los metadatos a la base de datos @@ -2281,32 +2281,32 @@ No es recomendable usarlo. El espacio disponible en disco es menos del 1% - + File was deleted from server El archivo fue borrado del servidor - + The file could not be downloaded completely. El archivo no pudo ser descargado por completo. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! ¡El archivo %1 no puede ser guardado debido a un conflicto en su nombre con un archivo local! - + File has changed since discovery El archivo ha cambiado desde que fue descubierto - + Error writing metadata to the database Error al escribir los metadatos a la base de datos @@ -2319,7 +2319,7 @@ No es recomendable usarlo. ; La Restauración Falló: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Un archivo o carpeta fue eliminado de un elemento compartido de solo lectura, pero la restauracion falló: %1 @@ -3903,7 +3903,7 @@ No es recomendable usarlo. Hace algún tiempo - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_es_DO.ts b/translations/client_es_DO.ts index d3e203907..78366ddbf 100644 --- a/translations/client_es_DO.ts +++ b/translations/client_es_DO.ts @@ -568,17 +568,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. <br/>La cuenta %1 no tiene las actividades habilitadas. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Error al escribir metadatos a la base de datos @@ -750,120 +750,120 @@ No se puede leer %1. - + %1 has been removed. %1 names a file. %1 ha sido eliminado. - + %1 has been downloaded. %1 names a file. %1 ha sido descargado. - + %1 has been updated. %1 names a file. %1 ha sido actualizado. - + %1 has been renamed to %2. %1 and %2 name files. %1 ha sido renombrado a %2. - + %1 has been moved to %2. %1 se ha movido a %2. - + %1 and %n other file(s) have been removed. %1 y %n otro(s) archivo(s) han sido eliminados. %1 y %n otro(s) archivo(s) han sido eliminados. - + %1 and %n other file(s) have been downloaded. %1 y %n otro(s) archivo(s) han sido descargados. %1 y %n otro(s) archivo(s) han sido descargados. - + %1 and %n other file(s) have been updated. %1 y %n otro(s) archivo(s) han sido actualizados.%1 y %n otro(s) archivo(s) han sido actualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos.%1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos. - + %1 has and %n other file(s) have sync conflicts. %1 y %n otro(s) archivo(s) tienen confictos de sincronización.%1 y %n otro(s) archivo(s) tienen confictos de sincronización. - + %1 has a sync conflict. Please check the conflict file! %1 tiene un conflicto de sincronización. ¡Por favor verifica el archivo con conflicto! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. - + %1 could not be synced due to an error. See the log for details. %1 no pudo ser sincronizado por un error. Consulta la bitácora para más detalles. - + Sync Activity Sincronizar Actividad - + Could not read system exclude file No fue posible leer el archivo de exclusión del sistema - + A new folder larger than %1 MB has been added: %2. Una nueva carpeta de más de %1 MB ha sido agregada: %2 - + A folder from an external storage has been added. Una carpeta de un almacenamiento externo ha sido agregada. - + Please go in the settings to select it if you wish to download it. Por favor ve a las configuraciones para seleccionarlo si deseas descargarlo. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -904,7 +904,7 @@ If this was an accident and you decide to keep your files, they will be re-synce Si esto fue un accidente y decides mantener tus archivos, estos se re-sincronizaran desde el servidor. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -914,17 +914,17 @@ Continuar con la sincronización como normal causará que todos tus archivos sea ¿Quieres mantener tu copia local más reciente como archivos en conflicto? - + Backup detected Respaldo detectado - + Normal Synchronisation Sincronización Normal - + Keep Local Files as Conflict Mantener los Archivos Locales como Conflictos @@ -2253,7 +2253,7 @@ No es recomendable usarlo. OCC::PropagateDirectory - + Error writing metadata to the database Se presentó un error al escribir los metadatos a la base de datos @@ -2281,32 +2281,32 @@ No es recomendable usarlo. El espacio disponible en disco es menos del 1% - + File was deleted from server El archivo fue borrado del servidor - + The file could not be downloaded completely. El archivo no pudo ser descargado por completo. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! ¡El archivo %1 no puede ser guardado debido a un conflicto en su nombre con un archivo local! - + File has changed since discovery El archivo ha cambiado desde que fue descubierto - + Error writing metadata to the database Error al escribir los metadatos a la base de datos @@ -2319,7 +2319,7 @@ No es recomendable usarlo. ; La Restauración Falló: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Un archivo o carpeta fue eliminado de un elemento compartido de solo lectura, pero la restauracion falló: %1 @@ -3903,7 +3903,7 @@ No es recomendable usarlo. Hace algún tiempo - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_es_EC.ts b/translations/client_es_EC.ts index 493f8fb23..73ef2c153 100644 --- a/translations/client_es_EC.ts +++ b/translations/client_es_EC.ts @@ -568,17 +568,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. <br/>La cuenta %1 no tiene las actividades habilitadas. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Error al escribir metadatos a la base de datos @@ -750,120 +750,120 @@ No se puede leer %1. - + %1 has been removed. %1 names a file. %1 ha sido eliminado. - + %1 has been downloaded. %1 names a file. %1 ha sido descargado. - + %1 has been updated. %1 names a file. %1 ha sido actualizado. - + %1 has been renamed to %2. %1 and %2 name files. %1 ha sido renombrado a %2. - + %1 has been moved to %2. %1 se ha movido a %2. - + %1 and %n other file(s) have been removed. %1 y %n otro(s) archivo(s) han sido eliminados. %1 y %n otro(s) archivo(s) han sido eliminados. - + %1 and %n other file(s) have been downloaded. %1 y %n otro(s) archivo(s) han sido descargados. %1 y %n otro(s) archivo(s) han sido descargados. - + %1 and %n other file(s) have been updated. %1 y %n otro(s) archivo(s) han sido actualizados.%1 y %n otro(s) archivo(s) han sido actualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos.%1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos. - + %1 has and %n other file(s) have sync conflicts. %1 y %n otro(s) archivo(s) tienen confictos de sincronización.%1 y %n otro(s) archivo(s) tienen confictos de sincronización. - + %1 has a sync conflict. Please check the conflict file! %1 tiene un conflicto de sincronización. ¡Por favor verifica el archivo con conflicto! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. - + %1 could not be synced due to an error. See the log for details. %1 no pudo ser sincronizado por un error. Consulta la bitácora para más detalles. - + Sync Activity Sincronizar Actividad - + Could not read system exclude file No fue posible leer el archivo de exclusión del sistema - + A new folder larger than %1 MB has been added: %2. Una nueva carpeta de más de %1 MB ha sido agregada: %2 - + A folder from an external storage has been added. Una carpeta de un almacenamiento externo ha sido agregada. - + Please go in the settings to select it if you wish to download it. Por favor ve a las configuraciones para seleccionarlo si deseas descargarlo. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -904,7 +904,7 @@ If this was an accident and you decide to keep your files, they will be re-synce Si esto fue un accidente y decides mantener tus archivos, estos se re-sincronizaran desde el servidor. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -914,17 +914,17 @@ Continuar con la sincronización como normal causará que todos tus archivos sea ¿Quieres mantener tu copia local más reciente como archivos en conflicto? - + Backup detected Respaldo detectado - + Normal Synchronisation Sincronización Normal - + Keep Local Files as Conflict Mantener los Archivos Locales como Conflictos @@ -2253,7 +2253,7 @@ No es recomendable usarlo. OCC::PropagateDirectory - + Error writing metadata to the database Se presentó un error al escribir los metadatos a la base de datos @@ -2281,32 +2281,32 @@ No es recomendable usarlo. El espacio disponible en disco es menos del 1% - + File was deleted from server El archivo fue borrado del servidor - + The file could not be downloaded completely. El archivo no pudo ser descargado por completo. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! ¡El archivo %1 no puede ser guardado debido a un conflicto en su nombre con un archivo local! - + File has changed since discovery El archivo ha cambiado desde que fue descubierto - + Error writing metadata to the database Error al escribir los metadatos a la base de datos @@ -2319,7 +2319,7 @@ No es recomendable usarlo. ; La Restauración Falló: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Un archivo o carpeta fue eliminado de un elemento compartido de solo lectura, pero la restauracion falló: %1 @@ -3903,7 +3903,7 @@ No es recomendable usarlo. Hace algún tiempo - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_es_GT.ts b/translations/client_es_GT.ts index 9156c44ed..80c3ba06a 100644 --- a/translations/client_es_GT.ts +++ b/translations/client_es_GT.ts @@ -568,17 +568,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. <br/>La cuenta %1 no tiene las actividades habilitadas. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Error al escribir metadatos a la base de datos @@ -750,120 +750,120 @@ No se puede leer %1. - + %1 has been removed. %1 names a file. %1 ha sido eliminado. - + %1 has been downloaded. %1 names a file. %1 ha sido descargado. - + %1 has been updated. %1 names a file. %1 ha sido actualizado. - + %1 has been renamed to %2. %1 and %2 name files. %1 ha sido renombrado a %2. - + %1 has been moved to %2. %1 se ha movido a %2. - + %1 and %n other file(s) have been removed. %1 y %n otro(s) archivo(s) han sido eliminados. %1 y %n otro(s) archivo(s) han sido eliminados. - + %1 and %n other file(s) have been downloaded. %1 y %n otro(s) archivo(s) han sido descargados. %1 y %n otro(s) archivo(s) han sido descargados. - + %1 and %n other file(s) have been updated. %1 y %n otro(s) archivo(s) han sido actualizados.%1 y %n otro(s) archivo(s) han sido actualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos.%1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos. - + %1 has and %n other file(s) have sync conflicts. %1 y %n otro(s) archivo(s) tienen confictos de sincronización.%1 y %n otro(s) archivo(s) tienen confictos de sincronización. - + %1 has a sync conflict. Please check the conflict file! %1 tiene un conflicto de sincronización. ¡Por favor verifica el archivo con conflicto! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. - + %1 could not be synced due to an error. See the log for details. %1 no pudo ser sincronizado por un error. Consulta la bitácora para más detalles. - + Sync Activity Sincronizar Actividad - + Could not read system exclude file No fue posible leer el archivo de exclusión del sistema - + A new folder larger than %1 MB has been added: %2. Una nueva carpeta de más de %1 MB ha sido agregada: %2 - + A folder from an external storage has been added. Una carpeta de un almacenamiento externo ha sido agregada. - + Please go in the settings to select it if you wish to download it. Por favor ve a las configuraciones para seleccionarlo si deseas descargarlo. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -904,7 +904,7 @@ If this was an accident and you decide to keep your files, they will be re-synce Si esto fue un accidente y decides mantener tus archivos, estos se re-sincronizaran desde el servidor. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -914,17 +914,17 @@ Continuar con la sincronización como normal causará que todos tus archivos sea ¿Quieres mantener tu copia local más reciente como archivos en conflicto? - + Backup detected Respaldo detectado - + Normal Synchronisation Sincronización Normal - + Keep Local Files as Conflict Mantener los Archivos Locales como Conflictos @@ -2253,7 +2253,7 @@ No es recomendable usarlo. OCC::PropagateDirectory - + Error writing metadata to the database Se presentó un error al escribir los metadatos a la base de datos @@ -2281,32 +2281,32 @@ No es recomendable usarlo. El espacio disponible en disco es menos del 1% - + File was deleted from server El archivo fue borrado del servidor - + The file could not be downloaded completely. El archivo no pudo ser descargado por completo. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! ¡El archivo %1 no puede ser guardado debido a un conflicto en su nombre con un archivo local! - + File has changed since discovery El archivo ha cambiado desde que fue descubierto - + Error writing metadata to the database Error al escribir los metadatos a la base de datos @@ -2319,7 +2319,7 @@ No es recomendable usarlo. ; La Restauración Falló: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Un archivo o carpeta fue eliminado de un elemento compartido de solo lectura, pero la restauracion falló: %1 @@ -3903,7 +3903,7 @@ No es recomendable usarlo. Hace algún tiempo - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_es_HN.ts b/translations/client_es_HN.ts index b597ae541..211a92293 100644 --- a/translations/client_es_HN.ts +++ b/translations/client_es_HN.ts @@ -568,17 +568,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. <br/>La cuenta %1 no tiene las actividades habilitadas. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Error al escribir metadatos a la base de datos @@ -750,120 +750,120 @@ No se puede leer %1. - + %1 has been removed. %1 names a file. %1 ha sido eliminado. - + %1 has been downloaded. %1 names a file. %1 ha sido descargado. - + %1 has been updated. %1 names a file. %1 ha sido actualizado. - + %1 has been renamed to %2. %1 and %2 name files. %1 ha sido renombrado a %2. - + %1 has been moved to %2. %1 se ha movido a %2. - + %1 and %n other file(s) have been removed. %1 y %n otro(s) archivo(s) han sido eliminados. %1 y %n otro(s) archivo(s) han sido eliminados. - + %1 and %n other file(s) have been downloaded. %1 y %n otro(s) archivo(s) han sido descargados. %1 y %n otro(s) archivo(s) han sido descargados. - + %1 and %n other file(s) have been updated. %1 y %n otro(s) archivo(s) han sido actualizados.%1 y %n otro(s) archivo(s) han sido actualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos.%1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos. - + %1 has and %n other file(s) have sync conflicts. %1 y %n otro(s) archivo(s) tienen confictos de sincronización.%1 y %n otro(s) archivo(s) tienen confictos de sincronización. - + %1 has a sync conflict. Please check the conflict file! %1 tiene un conflicto de sincronización. ¡Por favor verifica el archivo con conflicto! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. - + %1 could not be synced due to an error. See the log for details. %1 no pudo ser sincronizado por un error. Consulta la bitácora para más detalles. - + Sync Activity Sincronizar Actividad - + Could not read system exclude file No fue posible leer el archivo de exclusión del sistema - + A new folder larger than %1 MB has been added: %2. Una nueva carpeta de más de %1 MB ha sido agregada: %2 - + A folder from an external storage has been added. Una carpeta de un almacenamiento externo ha sido agregada. - + Please go in the settings to select it if you wish to download it. Por favor ve a las configuraciones para seleccionarlo si deseas descargarlo. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -904,7 +904,7 @@ If this was an accident and you decide to keep your files, they will be re-synce Si esto fue un accidente y decides mantener tus archivos, estos se re-sincronizaran desde el servidor. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -914,17 +914,17 @@ Continuar con la sincronización como normal causará que todos tus archivos sea ¿Quieres mantener tu copia local más reciente como archivos en conflicto? - + Backup detected Respaldo detectado - + Normal Synchronisation Sincronización Normal - + Keep Local Files as Conflict Mantener los Archivos Locales como Conflictos @@ -2253,7 +2253,7 @@ No es recomendable usarlo. OCC::PropagateDirectory - + Error writing metadata to the database Se presentó un error al escribir los metadatos a la base de datos @@ -2281,32 +2281,32 @@ No es recomendable usarlo. El espacio disponible en disco es menos del 1% - + File was deleted from server El archivo fue borrado del servidor - + The file could not be downloaded completely. El archivo no pudo ser descargado por completo. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! ¡El archivo %1 no puede ser guardado debido a un conflicto en su nombre con un archivo local! - + File has changed since discovery El archivo ha cambiado desde que fue descubierto - + Error writing metadata to the database Error al escribir los metadatos a la base de datos @@ -2319,7 +2319,7 @@ No es recomendable usarlo. ; La Restauración Falló: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Un archivo o carpeta fue eliminado de un elemento compartido de solo lectura, pero la restauracion falló: %1 @@ -3903,7 +3903,7 @@ No es recomendable usarlo. Hace algún tiempo - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_es_MX.ts b/translations/client_es_MX.ts index e095426a2..99356ba67 100644 --- a/translations/client_es_MX.ts +++ b/translations/client_es_MX.ts @@ -568,17 +568,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. <br/>La cuenta %1 no tiene las actividades habilitadas. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Error al escribir metadatos a la base de datos @@ -750,120 +750,120 @@ No se puede leer %1. - + %1 has been removed. %1 names a file. %1 ha sido eliminado. - + %1 has been downloaded. %1 names a file. %1 ha sido descargado. - + %1 has been updated. %1 names a file. %1 ha sido actualizado. - + %1 has been renamed to %2. %1 and %2 name files. %1 ha sido renombrado a %2. - + %1 has been moved to %2. %1 se ha movido a %2. - + %1 and %n other file(s) have been removed. %1 y %n otro(s) archivo(s) han sido eliminados. %1 y %n otro(s) archivo(s) han sido eliminados. - + %1 and %n other file(s) have been downloaded. %1 y %n otro(s) archivo(s) han sido descargados. %1 y %n otro(s) archivo(s) han sido descargados. - + %1 and %n other file(s) have been updated. %1 y %n otro(s) archivo(s) han sido actualizados.%1 y %n otro(s) archivo(s) han sido actualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos.%1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos. - + %1 has and %n other file(s) have sync conflicts. %1 y %n otro(s) archivo(s) tienen confictos de sincronización.%1 y %n otro(s) archivo(s) tienen confictos de sincronización. - + %1 has a sync conflict. Please check the conflict file! %1 tiene un conflicto de sincronización. ¡Por favor verifica el archivo con conflicto! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. - + %1 could not be synced due to an error. See the log for details. %1 no pudo ser sincronizado por un error. Consulta la bitácora para más detalles. - + Sync Activity Sincronizar Actividad - + Could not read system exclude file No fue posible leer el archivo de exclusión del sistema - + A new folder larger than %1 MB has been added: %2. Una nueva carpeta de más de %1 MB ha sido agregada: %2 - + A folder from an external storage has been added. Una carpeta de un almacenamiento externo ha sido agregada. - + Please go in the settings to select it if you wish to download it. Por favor ve a las configuraciones para seleccionarlo si deseas descargarlo. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -904,7 +904,7 @@ If this was an accident and you decide to keep your files, they will be re-synce Si esto fue un accidente y decides mantener tus archivos, estos se re-sincronizaran desde el servidor. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -914,17 +914,17 @@ Continuar con la sincronización como normal causará que todos tus archivos sea ¿Quieres mantener tu copia local más reciente como archivos en conflicto? - + Backup detected Respaldo detectado - + Normal Synchronisation Sincronización Normal - + Keep Local Files as Conflict Mantener los Archivos Locales como Conflictos @@ -2253,7 +2253,7 @@ No es recomendable usarlo. OCC::PropagateDirectory - + Error writing metadata to the database Se presentó un error al escribir los metadatos a la base de datos @@ -2281,32 +2281,32 @@ No es recomendable usarlo. El espacio disponible en disco es menos del 1% - + File was deleted from server El archivo fue borrado del servidor - + The file could not be downloaded completely. El archivo no pudo ser descargado por completo. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! ¡El archivo %1 no puede ser guardado debido a un conflicto en su nombre con un archivo local! - + File has changed since discovery El archivo ha cambiado desde que fue descubierto - + Error writing metadata to the database Error al escribir los metadatos a la base de datos @@ -2319,7 +2319,7 @@ No es recomendable usarlo. ; La Restauración Falló: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Un archivo o carpeta fue eliminado de un elemento compartido de solo lectura, pero la restauracion falló: %1 @@ -3903,7 +3903,7 @@ No es recomendable usarlo. Hace algún tiempo - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_es_SV.ts b/translations/client_es_SV.ts index e4456b5a4..266aecfce 100644 --- a/translations/client_es_SV.ts +++ b/translations/client_es_SV.ts @@ -568,17 +568,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. <br/>La cuenta %1 no tiene las actividades habilitadas. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Error al escribir metadatos a la base de datos @@ -750,120 +750,120 @@ No se puede leer %1. - + %1 has been removed. %1 names a file. %1 ha sido eliminado. - + %1 has been downloaded. %1 names a file. %1 ha sido descargado. - + %1 has been updated. %1 names a file. %1 ha sido actualizado. - + %1 has been renamed to %2. %1 and %2 name files. %1 ha sido renombrado a %2. - + %1 has been moved to %2. %1 se ha movido a %2. - + %1 and %n other file(s) have been removed. %1 y %n otro(s) archivo(s) han sido eliminados. %1 y %n otro(s) archivo(s) han sido eliminados. - + %1 and %n other file(s) have been downloaded. %1 y %n otro(s) archivo(s) han sido descargados. %1 y %n otro(s) archivo(s) han sido descargados. - + %1 and %n other file(s) have been updated. %1 y %n otro(s) archivo(s) han sido actualizados.%1 y %n otro(s) archivo(s) han sido actualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. %1 ha sido renombrado como %2 y %n otro(s) archivo(s) han sido renombrados. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos.%1 se ha movido a %2 y %n otro(s) archivo(s) han sido movidos. - + %1 has and %n other file(s) have sync conflicts. %1 y %n otro(s) archivo(s) tienen confictos de sincronización.%1 y %n otro(s) archivo(s) tienen confictos de sincronización. - + %1 has a sync conflict. Please check the conflict file! %1 tiene un conflicto de sincronización. ¡Por favor verifica el archivo con conflicto! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. %1 y %n otro(s) archivo(s) no puideron ser sincronizado por errores. Consulta la bitácora para más detalles. - + %1 could not be synced due to an error. See the log for details. %1 no pudo ser sincronizado por un error. Consulta la bitácora para más detalles. - + Sync Activity Sincronizar Actividad - + Could not read system exclude file No fue posible leer el archivo de exclusión del sistema - + A new folder larger than %1 MB has been added: %2. Una nueva carpeta de más de %1 MB ha sido agregada: %2 - + A folder from an external storage has been added. Una carpeta de un almacenamiento externo ha sido agregada. - + Please go in the settings to select it if you wish to download it. Por favor ve a las configuraciones para seleccionarlo si deseas descargarlo. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -904,7 +904,7 @@ If this was an accident and you decide to keep your files, they will be re-synce Si esto fue un accidente y decides mantener tus archivos, estos se re-sincronizaran desde el servidor. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -914,17 +914,17 @@ Continuar con la sincronización como normal causará que todos tus archivos sea ¿Quieres mantener tu copia local más reciente como archivos en conflicto? - + Backup detected Respaldo detectado - + Normal Synchronisation Sincronización Normal - + Keep Local Files as Conflict Mantener los Archivos Locales como Conflictos @@ -2253,7 +2253,7 @@ No es recomendable usarlo. OCC::PropagateDirectory - + Error writing metadata to the database Se presentó un error al escribir los metadatos a la base de datos @@ -2281,32 +2281,32 @@ No es recomendable usarlo. El espacio disponible en disco es menos del 1% - + File was deleted from server El archivo fue borrado del servidor - + The file could not be downloaded completely. El archivo no pudo ser descargado por completo. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! ¡El archivo %1 no puede ser guardado debido a un conflicto en su nombre con un archivo local! - + File has changed since discovery El archivo ha cambiado desde que fue descubierto - + Error writing metadata to the database Error al escribir los metadatos a la base de datos @@ -2319,7 +2319,7 @@ No es recomendable usarlo. ; La Restauración Falló: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Un archivo o carpeta fue eliminado de un elemento compartido de solo lectura, pero la restauracion falló: %1 @@ -3903,7 +3903,7 @@ No es recomendable usarlo. Hace algún tiempo - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_et.ts b/translations/client_et.ts index e2d825cb0..5cd2e3647 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -568,17 +568,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database @@ -750,118 +750,118 @@ %1 pole loetav. - + %1 has been removed. %1 names a file. %1 on eemaldatud. - + %1 has been downloaded. %1 names a file. %1 on alla laaditud. - + %1 has been updated. %1 names a file. %1 on uuendatud. - + %1 has been renamed to %2. %1 and %2 name files. %1 on ümber nimetatud %2. - + %1 has been moved to %2. %1 on tõstetud %2. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. %1 sünkroniseerimine ebaõnnestus tõrke tõttu. Lisainfot vaata logist. - + Sync Activity Sünkroniseerimise tegevus - + Could not read system exclude file Süsteemi väljajätmiste faili lugemine ebaõnnestus - + A new folder larger than %1 MB has been added: %2. - + A folder from an external storage has been added. - + Please go in the settings to select it if you wish to download it. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -870,7 +870,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -878,46 +878,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Leiti varukoopia - + Normal Synchronisation Tavaline sünkroonimine - + Keep Local Files as Conflict @@ -2243,7 +2243,7 @@ Selle kasutamine pole soovitatav. OCC::PropagateDirectory - + Error writing metadata to the database @@ -2271,32 +2271,32 @@ Selle kasutamine pole soovitatav. - + File was deleted from server Fail on serverist kustutatud - + The file could not be downloaded completely. Faili täielik allalaadimine ebaõnnestus. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! Faili %1 ei saa salvestada kuna on nime konflikt kohaliku failiga! - + File has changed since discovery Faili on pärast avastamist muudetud - + Error writing metadata to the database @@ -2309,7 +2309,7 @@ Selle kasutamine pole soovitatav. ; Taastamine ebaõnnestus: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -3893,7 +3893,7 @@ Selle kasutamine pole soovitatav. Mõni aeg tagasi - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_eu.ts b/translations/client_eu.ts index cc8b72142..7c9790b21 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -568,17 +568,17 @@ Onartu - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. <br/>%1 kontuak ez ditu jarduerak gaituta. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Errorea metadatuak datu-basean idaztean @@ -750,120 +750,120 @@ %1 ezin da irakurri. - + %1 has been removed. %1 names a file. %1 ezabatua izan da. - + %1 has been downloaded. %1 names a file. %1 deskargatu da. - + %1 has been updated. %1 names a file. %1 kargatu da. - + %1 has been renamed to %2. %1 and %2 name files. %1 %2-(e)ra berrizendatu da. - + %1 has been moved to %2. %1 %2-(e)ra mugitu da. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. %1 ezin izan da sinkronizatu akats bat dela eta. Ikusi egunerkoa zehaztapen gehiago izateko. - + Sync Activity Sinkronizazio Jarduerak - + Could not read system exclude file Ezin izan da sistemako baztertutakoen fitxategia irakurri - + A new folder larger than %1 MB has been added: %2. %1 MB baino handiagoa den karpeta berri bat gehitu da: %2. - + A folder from an external storage has been added. Kanpoko biltegi bateko karpeta gehitu da. - + Please go in the settings to select it if you wish to download it. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,46 +880,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? Fitxategi berriak deskargatu? - + Download new files Fitxategi berriak deskargatu - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected - + Normal Synchronisation - + Keep Local Files as Conflict @@ -2247,7 +2247,7 @@ Ez da gomendagarria erabltzea. OCC::PropagateDirectory - + Error writing metadata to the database Errorea metadatuak datu-basean idaztean @@ -2275,32 +2275,32 @@ Ez da gomendagarria erabltzea. - + File was deleted from server Fitxategia zerbitzaritik ezabatua izan da - + The file could not be downloaded completely. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! - + File has changed since discovery - + Error writing metadata to the database Errorea metadatuak datu-basean idaztean @@ -2313,7 +2313,7 @@ Ez da gomendagarria erabltzea. - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -3895,7 +3895,7 @@ Ez da gomendagarria erabltzea. - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_fa.ts b/translations/client_fa.ts index 5bc318823..64a50c702 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -4,7 +4,7 @@ %1 (%2, %3) - + %1 (%2, %3) @@ -29,58 +29,58 @@ Syncing %1 - + در حال همگام سازی %1 No recently changed files - + هیچ فایل اخیرا تغییر نکرده است Sync paused - + همگام سازی موقتا متوقف شد Syncing - + در حال همگام سازی Open website - + باز کردن وب سایت Recently changed - + اخیرا تغییر یافته Pause synchronization - + متوقف سازی موقت همگام سازی Help - + راهنما Settings - + تنظیمات Log out - + خروج Quit sync client - + خروج از همگام سازی مشتری @@ -101,18 +101,18 @@ Could not make directories in trash - + امکان ایجاد پوشه در سطل آشغال وجود ندارد Could not move '%1' to '%2' - + امکان انتقال '%1' به '%2' وجود ندارد Moving to the trash is not implemented on this platform - + انتقال فایل به سطل آشغال در این فلتفرم پیاده سازی نشده است @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + این حساب کاربری امکان رمزنگاری انتها-به-انتها را دارد Enable encryption - + فعال سازی رمزنگاری @@ -527,7 +527,7 @@ %1 - + %1 @@ -565,20 +565,20 @@ Accept - + تایید - + Synced - + همگام سازی شد - + Retry all uploads تلاش مجدد برای بارگذاری همه - + <br/>Account %1 does not have activities enabled. <br/>فعالیت های حساب 1% فعال نیست. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database خطا در نوشتن متادیتا در پایگاه داده @@ -750,120 +750,120 @@ %1 قابل خواندن نیست. - + %1 has been removed. %1 names a file. %1 حذف شده است. - + %1 has been downloaded. %1 names a file. %1 بارگزاری شد. - + %1 has been updated. %1 names a file. %1 بروز رسانی شده است. - + %1 has been renamed to %2. %1 and %2 name files. %1 به %2 تغییر نام داده شده است. - + %1 has been moved to %2. %1 به %2 انتقال داده شده است. - + %1 and %n other file(s) have been removed. 1% و n% پرونده های دیگر حذف شده اند.1% و n% پرونده های دیگر حذف شده اند. - + %1 and %n other file(s) have been downloaded. 1% و n% پرونده های دیگر دانلود شده اند.1% و n% پرونده های دیگر دانلود شده اند. - + %1 and %n other file(s) have been updated. 1% و n% پرونده های دیگر به روز رسانی شده اند. 1% و n% پرونده های دیگر به روز رسانی شده اند. - + %1 has been renamed to %2 and %n other file(s) have been renamed. 1% به 2% تغییر نام داده شده و n% پرونده های دیگر تغییر نام داده شده اند.1% به 2% تغییر نام داده شده و n% پرونده های دیگر تغییر نام داده شده اند. - + %1 has been moved to %2 and %n other file(s) have been moved. 1% به 2% منتقل شده و n% پرونده های دیگر منتقل شده اند.1% به 2% منتقل شده و n% پرونده های دیگر منتقل شده اند. - + %1 has and %n other file(s) have sync conflicts. 1% و n% سایر پرونده ها ناسازگاری همگام سازی دارند.1% و n% سایر پرونده ها ناسازگاری همگام سازی دارند. - + %1 has a sync conflict. Please check the conflict file! 1% داراری ناسازگاری همگام سازی است. لطفا پرونده ناسازگار را بررسی نمایید. - + %1 and %n other file(s) could not be synced due to errors. See the log for details. 1% و n% سایر پرونده ها به دلیل خطاها نمی توانند همگام سازی شوند. برای جزییات log را مشاهده کنید.1% و n% سایر پرونده ها به دلیل خطاها نمی توانند همگام سازی شوند. برای جزییات log را مشاهده کنید. - + %1 could not be synced due to an error. See the log for details. 1% به دلیل خطاها نمی تواند همگام سازی شود. برای جزییات log را مشاهده کنید. - + Sync Activity فعالیت همگام سازی - + Could not read system exclude file نمی توان پرونده خارجی سیستم را خواند. - + A new folder larger than %1 MB has been added: %2. یک پوشه جدید بزرگتر از 1% MB اضافه شده است: 2%. - + A folder from an external storage has been added. یک پوشه از یک مخزن خارجی اضافه شده است. - + Please go in the settings to select it if you wish to download it. اگر می خواهید این را دانلود کنید لطفا به تنظیمات بروید تا آن را انتخاب کنید. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + آیا فایل های جدید بارگزاری شود؟ - + Download new files دانلود همه فایلهای جدید - + Keep local files نگهداری فایل های محلی - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -904,7 +904,7 @@ If this was an accident and you decide to keep your files, they will be re-synce اگر این یک اتفاق بوده و شما تصمیم دارید پرونده هایتان را نگه دارید، آن ها از سرور مجددا همگام سازی خواهند شد. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -913,17 +913,17 @@ Continuing the sync as normal will cause all your files to be overwritten by an ادامه همگام سازی به طور معمول سبب خواهد شد که تمام پرونده های شما توسط یک فایل قدیمی تر در یک وضعیت جدیدتر بازنویسی شوند. آیا شما می خواهید پرونده های اخیر محلیتان را به عنوان پرونده های ناسازگار نگهداری کنید؟ - + Backup detected پشتیبان شناسایی شد - + Normal Synchronisation همگام سازی معمول - + Keep Local Files as Conflict پرونده های محلی را به عنوان ناسازگار نگه دارید @@ -1910,7 +1910,7 @@ for additional privileges during the process. Free space: %1 - + فضای خالی: %1 @@ -1926,7 +1926,7 @@ for additional privileges during the process. There isn't enough free space in the local folder! - + فضای خالی کافی در پوشه محلی وجود ندارد! @@ -2013,7 +2013,7 @@ for additional privileges during the process. Keep your data secure and under your control - + داده های خود را امن و تحت کنترل خود نگه دارید @@ -2055,7 +2055,7 @@ It is not advisable to use it. Could not load certificate. Maybe wrong password? - + امکان بارگزاری گواهی وجود ندارد، ممکن است رمز عبور اشتباه باشد؟ @@ -2143,7 +2143,7 @@ It is not advisable to use it. creating folder on Nextcloud: %1 - + ایجاد پوشه در نکس کلود: %1 @@ -2250,7 +2250,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database خطا در نوشتن متادیتا در پایگاه داده @@ -2278,32 +2278,32 @@ It is not advisable to use it. فضای خالی دیسک کمتر از %1 است - + File was deleted from server فایل از روی سرور حذف شد - + The file could not be downloaded completely. فایل به طور کامل قابل دانلود نیست. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! پرونده 1% بخاطر یک پرونده محلی به نام برخورد ذخیره نمی شود! - + File has changed since discovery پرونده از زمان کشف تغییر کرده است. - + Error writing metadata to the database خطا در نوشتن متادیتا در پایگاه داده @@ -2316,7 +2316,7 @@ It is not advisable to use it. ؛ بازگردانی شکست خورد: 1% - + A file or folder was removed from a read only share, but restoring failed: %1 یک پرونده یا پوشه از یک اشتراک فقط خواندنی حذف شد، اما بازگردانی شکست خورد: 1% @@ -2651,7 +2651,7 @@ It is not advisable to use it. Icon - + آیکون @@ -2679,7 +2679,7 @@ It is not advisable to use it. &Share link - + &لینک اشتراک @@ -2734,12 +2734,12 @@ It is not advisable to use it. Unshare - + لغو اشتراک Add another link - + افزودن آدرس دیگر @@ -2800,22 +2800,22 @@ It is not advisable to use it. Can reshare - + امکان اشتراک گذاری وجود دارد Can create - + امکان ایجاد وجود دارد Can change - + امکان تغییر وجود دارد Can delete - + امکان حذف وجود دار @@ -3206,7 +3206,7 @@ It is not advisable to use it. Permission denied. - + عدم وجود دسترسی @@ -3221,7 +3221,7 @@ It is not advisable to use it. No space on %1 server available. - + فضایی در سرور %1 موجود نیست @@ -3400,7 +3400,7 @@ It is not advisable to use it. Invalid certificate detected - + گواهی نامعتبر شناسایی شد @@ -3567,7 +3567,7 @@ It is not advisable to use it. Resume all folders - + از سرگیری همه پوشه ها @@ -3608,7 +3608,7 @@ It is not advisable to use it. Apps - + برنامه ها @@ -3809,7 +3809,7 @@ It is not advisable to use it. Server Address - + آدرس سرور @@ -3856,12 +3856,12 @@ It is not advisable to use it. %n day ago - + %n روز گذشته%n روز گذشته %n days ago - + %n ساعت پیش%n روز پیش @@ -3899,7 +3899,7 @@ It is not advisable to use it. چند وقت پیش - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_fi.ts b/translations/client_fi.ts index 6bba5c026..d65e8b13a 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -568,17 +568,17 @@ Hyväksy - + Synced Synkronoitu - + Retry all uploads - + <br/>Account %1 does not have activities enabled. <br/>Tilillä %1 ei ole toimia käytössä. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Virhe kirjoittaessa metadataa tietokantaan @@ -750,120 +750,120 @@ %1 ei ole luettavissa. - + %1 has been removed. %1 names a file. %1 on poistettu. - + %1 has been downloaded. %1 names a file. %1 on ladattu. - + %1 has been updated. %1 names a file. %1 on päivitetty. - + %1 has been renamed to %2. %1 and %2 name files. %1 on nimetty uudeelleen muotoon %2. - + %1 has been moved to %2. %1 on siirretty kohteeseen %2. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. Kohdetta %1 ei voi synkronoida virheen vuoksi. Katso tarkemmat tiedot lokista. - + Sync Activity Synkronointiaktiviteetti - + Could not read system exclude file - + A new folder larger than %1 MB has been added: %2. Uusi kansio kooltaan yli %1 Mt on lisätty: %2. - + A folder from an external storage has been added. Kansio erillisestä tallennustilasta on lisätty. - + Please go in the settings to select it if you wish to download it. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,46 +880,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? Ladataanko uudet tiedostot? - + Download new files Lataa uudet tiedostot - + Keep local files Säilytä paikalliset tiedostot - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Varmuuskopio poistettu - + Normal Synchronisation Normaali synkronointi - + Keep Local Files as Conflict @@ -2247,7 +2247,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::PropagateDirectory - + Error writing metadata to the database Virhe kirjoittaessa metadataa tietokantaan @@ -2275,32 +2275,32 @@ Osoitteen käyttäminen ei ole suositeltavaa. Levyllä on vapaata tilaa vähemmän kuin %1 - + File was deleted from server Tiedosto poistettiin palvelimelta - + The file could not be downloaded completely. Tiedostoa ei voitu ladata täysin. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! - + File has changed since discovery Tiedosto on muuttunut löytymisen jälkeen - + Error writing metadata to the database Virhe kirjoittaessa metadataa tietokantaan @@ -2313,7 +2313,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -3897,7 +3897,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Jokin aika sitten - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_fr.ts b/translations/client_fr.ts index ccc6ee795..b0d894d82 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -568,17 +568,17 @@ Accepter - + Synced Synchronisé - + Retry all uploads Relancer tous les envois - + <br/>Account %1 does not have activities enabled. <br/>Le compte %1 n'a aucune activité activée. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Erreur à l'écriture des métadonnées dans la base de données @@ -750,98 +750,98 @@ %1 ne peut pas être lu. - + %1 has been removed. %1 names a file. %1 a été supprimé. - + %1 has been downloaded. %1 names a file. %1 a été téléchargé. - + %1 has been updated. %1 names a file. %1 a été mis à jour. - + %1 has been renamed to %2. %1 and %2 name files. %1 a été renommé en %2. - + %1 has been moved to %2. %1 a été déplacé vers %2. - + %1 and %n other file(s) have been removed. %1 a été supprimé.%1 et %n autres fichiers ont été supprimés. - + %1 and %n other file(s) have been downloaded. %1 a été téléchargé.%1 et %n autres fichiers ont été téléchargés. - + %1 and %n other file(s) have been updated. %1 a été mis à jour.%1 et %n autres fichiers ont été mis à jour. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 a été renommé en %2.%1 a été renommé en %2 et %n autres fichiers ont été renommés. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 a été déplacé vers %2.%1 a été déplacé vers %2 et %n autres fichiers ont été déplacés. - + %1 has and %n other file(s) have sync conflicts. %1 a un conflit de synchronisation.%1 et %n autres fichiers ont des problèmes de synchronisation. - + %1 has a sync conflict. Please check the conflict file! %1 a un problème de synchronisation. Merci de vérifier le fichier conflit ! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 ne peut pas être synchronisé en raison d'erreurs. Consultez les logs pour les détails.%1 et %n autres fichiers n'ont pas pu être synchronisés en raison d'erreurs. Consultez les logs pour les détails. - + %1 could not be synced due to an error. See the log for details. %1 n'a pu être synchronisé pour cause d'erreur. Consultez les logs pour les détails. - + Sync Activity Activité de synchronisation - + Could not read system exclude file Impossible de lire le fichier d'exclusion du système - + A new folder larger than %1 MB has been added: %2. Un nouveau dossier de taille supérieure à %1 Mo a été ajouté : %2. - + A folder from an external storage has been added. Un nouveau dossier localisé sur un stockage externe a été ajouté. @@ -849,22 +849,22 @@ - + Please go in the settings to select it if you wish to download it. Merci d'aller dans les Paramètres pour indiquer si vous souhaitez le télécharger. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. Le dossier %1 a été créé mais il était exclu de la synchronisation auparavant. Les données qu'il contient ne seront pas synchronisées. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. Le fichier %1 a été créé mais il était exclu de la synchronisation auparavant. Il ne sera pas synchronisé. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -878,7 +878,7 @@ Cela signifie que le client de synchronisation peut ne pas télécharger immédi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -889,22 +889,22 @@ Si vous décidez de garder ces fichiers, ils seront resynchronisés avec le serv Si vous décidez de supprimer ces fichiers, ils ne vous seront plus accessibles à moins que vous n'en soyez le propriétaire. - + Download new files? Recevoir les nouveaux fichiers ? - + Download new files Recevoir les nouveaux fichiers - + Keep local files Conserver les fichiers locaux - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -913,7 +913,7 @@ If this was an accident and you decide to keep your files, they will be re-synce S'il s'agissait d'un accident et que vous choisissiez de conserver vos fichiers, ils seront synchronisés à nouveau depuis le serveur. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -922,17 +922,17 @@ Cela peut être dû à une copie de sauvegarde restaurée sur le serveur. Continuer la synchronisation comme d'habitude fera en sorte que tous les fichiers soient remplacés par des fichiers plus vieux d'un état précédent. Voulez-vous conserver les versions les plus récentes de vos fichiers en tant que fichiers conflictuels ? - + Backup detected Sauvegarde détectée - + Normal Synchronisation Synchronisation normale - + Keep Local Files as Conflict Conserver les fichiers locaux comme Conflits @@ -2265,7 +2265,7 @@ Il est déconseillé de l'utiliser. OCC::PropagateDirectory - + Error writing metadata to the database Erreur à l'écriture des métadonnées dans la base de données @@ -2293,32 +2293,32 @@ Il est déconseillé de l'utiliser. Il y a moins de %1 d'espace libre sur le disque - + File was deleted from server Le fichier a été supprimé du serveur - + The file could not be downloaded completely. Le fichier n'a pas pu être téléchargé intégralement. - + The downloaded file is empty despite that the server announced it should have been %1. Le fichier reçu est vide bien que le serveur indique que sa taille devrait être de %1. - + File %1 cannot be saved because of a local file name clash! Le fichier %1 n'a pas pu être sauvegardé en raison d'un conflit sur le nom du fichier local ! - + File has changed since discovery Le fichier a changé depuis sa découverte - + Error writing metadata to the database Erreur à l'écriture des métadonnées dans la base de données @@ -2331,7 +2331,7 @@ Il est déconseillé de l'utiliser. ; Échec de la restauration : %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Un fichier ou un dossier a été supprimé d'un partage en lecture seule, mais la restauration a échoué : %1 @@ -3916,7 +3916,7 @@ Il est déconseillé de l'utiliser. Il y a quelque temps - + %1: %2 this displays an error string (%2) for a file %1 %1 : %2 diff --git a/translations/client_gl.ts b/translations/client_gl.ts index 7fd9b824c..b0aee8e1a 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -568,17 +568,17 @@ Aceptar - + Synced Sincronizado - + Retry all uploads Tentar de novo todos os envíos - + <br/>Account %1 does not have activities enabled. <br/>A conta %1 non ten activadas as actividades. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Produciuse un erro ao escribir os metadatos na base de datos @@ -750,120 +750,120 @@ %1 non é lexíbel. - + %1 has been removed. %1 names a file. %1 foi retirado. - + %1 has been downloaded. %1 names a file. %1 foi descargado. - + %1 has been updated. %1 names a file. %1 foi enviado. - + %1 has been renamed to %2. %1 and %2 name files. %1 foi renomeado a %2. - + %1 has been moved to %2. %1 foi movido a %2. - + %1 and %n other file(s) have been removed. %1 e outro ficheiro foi retirado.%1 e outros %n ficheiros foron retirados. - + %1 and %n other file(s) have been downloaded. %1 e outro ficheiro foi descargado.%1 e outros %n ficheiros foron descargados. - + %1 and %n other file(s) have been updated. %1 e outro ficheiro foi actualizado.%1 e outros %n ficheiros foron actualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 foi renomeado a %2 e outro ficheiro tamén foi renomeado.%1 foi renomeado a %2 e outros %n ficheiros tamén foron renomeados. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 foi movido a %2 e outro ficheiro tamén foi movido.%1 foi movido a %2 e outros %n ficheiros tamén foron movidos. - + %1 has and %n other file(s) have sync conflicts. %1 e outro ficheiro tiveron conflitos ao sincronizar.%1 e outros %n ficheiros tiveron conflitos ao sincronizar. - + %1 has a sync conflict. Please check the conflict file! Produciuse un conflito ao sincronizar %1. Comprobe o ficheiro! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. Non foi posíbel sincronizar %1 e outro ficheiro por mor de erros. Vexa os detalles no rexistro.Non foi posíbel sincronizar %1 e outros %n ficheiros por mor de erros. Vexa os detalles no rexistro. - + %1 could not be synced due to an error. See the log for details. Non foi posíbel sincronizar %1 por mor dun erro. Vexa os detalles no rexistro. - + Sync Activity Actividade de sincronización - + Could not read system exclude file Non foi posíbel ler o ficheiro de exclusión do sistema - + A new folder larger than %1 MB has been added: %2. Foi engadido un cartafol maior de %1 MB: %2. - + A folder from an external storage has been added. Foi engadido un cartafol de almacenamento externo. - + Please go in the settings to select it if you wish to download it. Vaia a axustes a seleccionalo se quere descargar isto. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. Creouse o cartafol %1 mais foi excluído da sincronización con anterioridade. Os datos no seu interior non se sincronizarán. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. Creouse o ficheiro %1 mais foi excluído da sincronización con anterioridade. Non se sincronizará. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -876,7 +876,7 @@ Isto significa que o cliente de sincronización podería non enviar os cambios i %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -887,22 +887,22 @@ Se decide manter os ficheiros, resincronizaranse co servidor se ten dereitos par Se decide eliminar os ficheiros, non poderá dispor deles a non ser que sexa o propietario. - + Download new files? Descargar os ficheiros novos? - + Download new files Descargar os ficheiros novos - + Keep local files Manter os ficheiros locais - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -912,7 +912,7 @@ Confirma que quere sincronizar estas accións co servidor? Se fose un accidente e decide manter os seus ficheiros, volverán ser sincronizados dende o servidor. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -921,17 +921,17 @@ Isto podería ser porque se restaurou unha copia de seguranza no servidor. Continuando a sincronización como normal fará que todos os seus ficheiros sexan substituídos por unha versión anterior. Quere manter os seus ficheiros máis recentes locais como ficheiros en conflito? - + Backup detected Detectouse unha copia de seguranza - + Normal Synchronisation Sincronización normal - + Keep Local Files as Conflict Mantener os ficheiros locais en caso de conflito @@ -2264,7 +2264,7 @@ Recomendámoslle que non o use. OCC::PropagateDirectory - + Error writing metadata to the database Produciuse un erro ao escribir os metadatos na base de datos @@ -2292,32 +2292,32 @@ Recomendámoslle que non o use. O espazo libre no disco é inferior a %1 - + File was deleted from server O ficheiro vai ser eliminado do servidor - + The file could not be downloaded completely. Non foi posíbel descargar completamente o ficheiro. - + The downloaded file is empty despite that the server announced it should have been %1. O ficheiro descargado está baleiro, aínda que o servidor dí que o seu tamaño debe ser de %1. - + File %1 cannot be saved because of a local file name clash! Non foi posíbel gardar o ficheiro %1 por mor dunha colisión co nome dun ficheiro local! - + File has changed since discovery O ficheiro cambiou após ser atopado - + Error writing metadata to the database Produciuse un erro ao escribir os metadatos na base de datos @@ -2330,7 +2330,7 @@ Recomendámoslle que non o use. ; Produciuse un fallo na restauración: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Un ficheiro ou cartafol foi eliminado dun recurso compartido só de lectura, pero fallou a restauración: %1 @@ -3914,7 +3914,7 @@ Recomendámoslle que non o use. Hai algún tempo - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_he.ts b/translations/client_he.ts index d8f64416e..f90fb6569 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -568,17 +568,17 @@ אשר - + Synced סונכרן - + Retry all uploads נסה מחדש את כל ההעלאות - + <br/>Account %1 does not have activities enabled. חשבון %1 לא איפשר את מצב הפעילויות. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database איראה שגיאה בעת כתיבת metadata ל מסד הנתונים @@ -750,120 +750,120 @@ %1 אינה ניתנת לקריאה. - + %1 has been removed. %1 names a file. %1 הוסרה. - + %1 has been downloaded. %1 names a file. %1 התקבלה. - + %1 has been updated. %1 names a file. %1 עודכנה. - + %1 has been renamed to %2. %1 and %2 name files. השם של %1 הוחלף בשם %2. - + %1 has been moved to %2. %1 הועברה אל %2. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity פעילות סנכרון - + Could not read system exclude file לא ניתן לקרוא את קובץ ההחרגה של המערכת. - + A new folder larger than %1 MB has been added: %2. נוספה תיקייה שגודלה הוא מעבר ל־%1 מ״ב: %2. - + A folder from an external storage has been added. נוספה תיקייה ממקור חיצוני. - + Please go in the settings to select it if you wish to download it. נא לגשת להגדרות כדי לבחור אם ברצונך להוריד אותה. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. התיקייה %1 נוצרה אך הוחרגה מהסנכרון בעבר. הנתונים שבתוכה לא יסונכרנו. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,46 +880,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? להוריד קבצים חדשים? - + Download new files להוריד קבצים חדשים - + Keep local files להשאיר את הקבצים המקומיים - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected התגלה גיבוי - + Normal Synchronisation סנכרון רגיל - + Keep Local Files as Conflict להשאיר את הקבצים המקומיים כסותרים @@ -2244,7 +2244,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database שגיאה בכתיבת נתוני העל למסד הנתונים @@ -2272,32 +2272,32 @@ It is not advisable to use it. - + File was deleted from server הקובץ נמחק מהשרת - + The file could not be downloaded completely. לא ניתן להוריד את הקובץ במלואו. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! - + File has changed since discovery - + Error writing metadata to the database @@ -2310,7 +2310,7 @@ It is not advisable to use it. - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -3892,7 +3892,7 @@ It is not advisable to use it. ממש לא מזמן - + %1: %2 this displays an error string (%2) for a file %1 diff --git a/translations/client_hu.ts b/translations/client_hu.ts index d0e1da552..7e43c3432 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -568,17 +568,17 @@ Elfogadás - + Synced Szinkronizálva - + Retry all uploads Összes feltöltés újrapróbálása - + <br/>Account %1 does not have activities enabled. <br/>A(z) %1 fióknál nincsenek tevékenységek engedélyezve. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Hiba a metaadatok adatbázisba írásakor @@ -750,120 +750,120 @@ A(z) %1 nem olvasható. - + %1 has been removed. %1 names a file. A(z) %1 sikeresen eltávolítva. - + %1 has been downloaded. %1 names a file. A(z) %1 sikeresen letöltve. - + %1 has been updated. %1 names a file. A(z) %1 sikeresen feltöltve. - + %1 has been renamed to %2. %1 and %2 name files. A(z) %1 átnevezve erre: %2. - + %1 has been moved to %2. A(z) %1 áthelyezve ide: %2. - + %1 and %n other file(s) have been removed. A(z) %1 és %d további fájl törölve.A(z) %1 és %d további fájl törölve. - + %1 and %n other file(s) have been downloaded. A(z) %1 és %n további fájl letöltve.A(z) %1 és %n további fájl letöltve. - + %1 and %n other file(s) have been updated. A(z) %1 és %n további fájl feltöltve.A(z) %1 és %n további fájl feltöltve. - + %1 has been renamed to %2 and %n other file(s) have been renamed. A(z) %1 átnevezve erre: %2, és még %n további fájl lett átnevezve.A(z) %1 átnevezve erre: %2, és még %n további fájl lett átnevezve. - + %1 has been moved to %2 and %n other file(s) have been moved. A(z) %1 áthelyezve ide: %2, és még %n további fájl áthelyezve.A(z) %1 áthelyezve ide: %2, és még %n további fájl áthelyezve. - + %1 has and %n other file(s) have sync conflicts. A(z) %1 és %n további fájl szinkronizálási ütközéssel rendelkezik.A(z) %1 és %n további fájl szinkronizálási ütközéssel rendelkezik. - + %1 has a sync conflict. Please check the conflict file! A(z) %1 fájl szinkronizálási ütközéssel rendelkezik. Ellenőrizze az ütközési fájlt! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. A(z) %1 és %n további fájl hibák miatt nem szinkronizálható. Bővebb információk a naplófájlban.A(z) %1 és %n további fájl hibák miatt nem szinkronizálható. Bővebb információk a naplófájlban. - + %1 could not be synced due to an error. See the log for details. A(z) %1 hiba miatt nem szinkronizálható. Bővebb információk a naplófájlban. - + Sync Activity Szinkronizálási tevékenység - + Could not read system exclude file Nem lehetett beolvasni a rendszer kizárási fájlját - + A new folder larger than %1 MB has been added: %2. Egy %1 MB méretet meghaladó mappa lett hozzáadva: %2. - + A folder from an external storage has been added. Egy külső tárolóból származó mappa lett hozzáadva. - + Please go in the settings to select it if you wish to download it. A beállításoknál válassza ki, ha le szeretné tölteni. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. A(z) %1 mappa létre lett hozva, de előzőleg ki lett hagyva a szinkronizálásból. A benne lévő adatok nem lesznek szinkronizálva. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. A(z) %1 fájl létre lett hozva, de előzőleg ki lett hagyva a szinkronizálásból. Nem lesz szinkronizálva. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -876,7 +876,7 @@ Ez azt jelenti, hogy a szinkronizációs kliens lehet, hogy nem fogja azonnal fe %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -887,22 +887,22 @@ Ha úgy dönt, hogy megtartja a fájlokat, akkor újra fel lesznek töltve a kis Ha úgy dönt, hogy törli ezeket a fájlokat, akkor többé nem fogja azokat elérni, hacsak nem Ön a tulajdonos. - + Download new files? Letölti az új fájlokat? - + Download new files Új fájlok letöltése - + Keep local files Helyi fájlok megtartása - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -911,7 +911,7 @@ Biztos, hogy szinkronizálni akarja ezeket a változásokat a kiszolgálóval? Ha ez véletlen volt, és úgy dönt, hogy megtartja ezeket a fájlokat, akkor újra letöltésre kerülnek a kiszolgálóról. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -920,17 +920,17 @@ Ez lehet, hogy azért van, mert egy biztonsági mentést állíthattak vissza a A szinkronizálás folytatásával az összes fájlja felül lesz írva egy régebbi állapottal. Megtartja ütközési fájlként a legfrissebb helyi fájlokat? - + Backup detected Biztonsági mentés észlelve - + Normal Synchronisation Normál szinkronizálás - + Keep Local Files as Conflict Helyi fájlok megtartása ütközésként @@ -2262,7 +2262,7 @@ Használata nem ajánlott. OCC::PropagateDirectory - + Error writing metadata to the database Hiba a metaadatok adatbázisba írásakor @@ -2290,32 +2290,32 @@ Használata nem ajánlott. A lemezen lévő szabad hely kevesebb mint %1 - + File was deleted from server A fájl törlésre került a kiszolgálóról - + The file could not be downloaded completely. A fájl nem tölthető le teljesen. - + The downloaded file is empty despite that the server announced it should have been %1. A letöltött fájl üres, annak ellenére, hogy a kiszolgáló szerint %1 méretű kellene legyen. - + File %1 cannot be saved because of a local file name clash! A(z) %1 fájl nem menthető, mert ütközik egy helyi fájl nevével. - + File has changed since discovery A fájl változott a felfedezése óta - + Error writing metadata to the database Hiba a metaadatok adatbázisba írásakor @@ -2328,7 +2328,7 @@ Használata nem ajánlott. ; Sikertelen helyreállítás: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 A fájl vagy mappa egy csak olvasható megosztásról lett törölve, de a helyreállítás meghiúsult: %1 @@ -3912,7 +3912,7 @@ Használata nem ajánlott. Néhány perccel ezelőtt - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_id.ts b/translations/client_id.ts index e51e19624..6c0188348 100644 --- a/translations/client_id.ts +++ b/translations/client_id.ts @@ -568,17 +568,17 @@ Terima - + Synced Tersinkronisasi - + Retry all uploads Mencoba semua unggahan - + <br/>Account %1 does not have activities enabled. <br/>Akun %1 tidak memiliki aktivitas yang diaktifkan. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Kesalahan saat menulis metadata ke database @@ -750,120 +750,120 @@ %1 tidak dapat dibaca. - + %1 has been removed. %1 names a file. %1 telah dihapus. - + %1 has been downloaded. %1 names a file. %1 telah diunduh. - + %1 has been updated. %1 names a file. %1 telah diperbaharui. - + %1 has been renamed to %2. %1 and %2 name files. %1 telah diubah namanya ke %2. - + %1 has been moved to %2. %1 telah dipindah ke %2. - + %1 and %n other file(s) have been removed. %1 dan %n berkas lainnya telah dihapus. - + %1 and %n other file(s) have been downloaded. %1 dan %n berkas lainnya telah diunduh. - + %1 and %n other file(s) have been updated. %1 dan %n berkas lainnya telah diperbaharui. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 dan %n berkas lainnya telah dinamai ulang. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 telah dipindah ke %2 dan juga %n berkas lainnya telah dipindah. - + %1 has and %n other file(s) have sync conflicts. %1 dan %n berkas lainnya mempunyai konflik sinkronisasi. - + %1 has a sync conflict. Please check the conflict file! %1 memiliki konflik sinkronisasi. Mohon cek kembali berkasnya! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 dan %n berkas lainnya tidak dapat disinkronisasi disebabkan kesalahan. Lihat catatan log untuk lebih lanjut. - + %1 could not be synced due to an error. See the log for details. %1 tidak dapat disinkronisasi disebabkan kesalahan. Lihat catatan log untuk lebih lanjut. - + Sync Activity Aktivitas Sinkronisasi - + Could not read system exclude file Tidak dapat membaca berkas sistem yang dikecualikan - + A new folder larger than %1 MB has been added: %2. Sebuah folder baru lebih dari %1 MB telah ditambahkan: %2. - + A folder from an external storage has been added. Sebuah folder dari luar ruang penyimpanan telah ditambahkan. - + Please go in the settings to select it if you wish to download it. Mohon untuk ke pengaturan untuk memilihnya jika Anda ingin mengunduhnya. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. Folder %1 telah dibuat namun dikecualikan dari sinkronisasi sebelumnya. Data yang ada di dalamnya tidak akan disinkronisasi. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. Berkas %1 telah dibuat namun dikecualikan dari sinkronisasi sebelumnya. Data yang ada di dalamnya tidak akan disinkronisasi. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -876,7 +876,7 @@ Ini artinya sinkronisasi klien mungkin tidak menggunggah perubahan lokal seseger %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -887,22 +887,22 @@ Jika Anda memutuskan untuk berkas Anda tetap tersedia, berkas-berkas Anda akan d Jika Anda memutuskan untuk menghapusnya, berkas-berkas Anda tidak akan lagi tersedia untuk Anda, kecuali Anda sang pemiliknya. - + Download new files? Unduh berkas baru? - + Download new files Unduh berkas baru - + Keep local files Biarkan berkas-berkas lokal tetap ada - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -911,7 +911,7 @@ Anda yakin ingin mesinkronisasi aksi tersebut dengan server? Jika ini adalah sebuah ketidaksengajaan dan Anda memutuskan untuk berkas Anda tetap tersedia, berkas-berkas Anda akan disinkronisasi ulang dengan server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -920,17 +920,17 @@ Ini disebabkan karena sebuah cadangan telah dipulihkan di server. Melanjutkan sinkronisasi seperti biasanya akan menyebabkan semua berkas Anda ditimpa dengan berkas yang lama di kondisi yang lama. Apakah Anda ingin tetap membuat berkas lokal paling baru Anda sebagai berkas yang berkonflik? - + Backup detected Cadangan ditemukan - + Normal Synchronisation Sinkronisasi Normal - + Keep Local Files as Conflict Buat Berkas Lokal sebagai Konflik @@ -2262,7 +2262,7 @@ Tidak disarankan untuk digunakan. OCC::PropagateDirectory - + Error writing metadata to the database @@ -2290,32 +2290,32 @@ Tidak disarankan untuk digunakan. - + File was deleted from server - + The file could not be downloaded completely. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! - + File has changed since discovery - + Error writing metadata to the database @@ -2328,7 +2328,7 @@ Tidak disarankan untuk digunakan. - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -3910,7 +3910,7 @@ Tidak disarankan untuk digunakan. - + %1: %2 this displays an error string (%2) for a file %1 diff --git a/translations/client_is.ts b/translations/client_is.ts index c9ca0ab95..0c43d5c9b 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -574,17 +574,17 @@ skráakerfið eða sameignarmöppur, gætu verið með önnur takmörk.Samþykkja - + Synced Samstillt - + Retry all uploads Prófa aftur allar innsendingar - + <br/>Account %1 does not have activities enabled. <br/>%1 aðgangurinn er ekki með virkniskráningu. @@ -671,7 +671,7 @@ skráakerfið eða sameignarmöppur, gætu verið með önnur takmörk. OCC::CleanupPollsJob - + Error writing metadata to the database Villa við ritun lýsigagna í gagnagrunninn @@ -756,122 +756,122 @@ skráakerfið eða sameignarmöppur, gætu verið með önnur takmörk.%1 er ekki lesanleg. - + %1 has been removed. %1 names a file. %1 hefur verið fjarlægð. - + %1 has been downloaded. %1 names a file. %1 hefur verið sótt. - + %1 has been updated. %1 names a file. %1 var uppfærð. - + %1 has been renamed to %2. %1 and %2 name files. %1 hefur verið endurnefnd sem %2. - + %1 has been moved to %2. %1 hefur verið færð í %2. - + %1 and %n other file(s) have been removed. %1 og %n skrá til viðbótar hafa verið fjarlægðar.%1 og %n skrár til viðbótar hafa verið fjarlægðar. - + %1 and %n other file(s) have been downloaded. %1 og %n skrá til viðbótar hafa verið sóttar.%1 og %n skrár til viðbótar hafa verið sóttar. - + %1 and %n other file(s) have been updated. %1 og %n skrár til viðbótar hafa verið uppfærðar.%1 og %n skrár til viðbótar hafa verið uppfærðar. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 var endurnefnd sem %2 og %n skrá til viðbótar var líka endurnefnd.%1 var endurnefnd sem %2 og %n skrár til viðbótar voru líka endurnefndar. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 var færð í %2 og %n skrár til viðbótar voru líka færðar.%1 var færð í %2 og %n skrár til viðbótar voru líka færðar. - + %1 has and %n other file(s) have sync conflicts. %1 og %n skrá til viðbótar eru með árekstra við samstillingu.%1 og %n skrár til viðbótar eru með árekstra við samstillingu. - + %1 has a sync conflict. Please check the conflict file! %1 er með árekstra við samstillingu. Skoðaðu yfirlitsskrána fyrir árekstra! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 og %n skrá til viðbótar var ekki hægt að samstilla vegna villu sem kom upp. Skoðaðu annálinn fyrir nánari upplýsingar.%1 og %n skrár til viðbótar var ekki hægt að samstilla vegna villu sem kom upp. Skoðaðu annálinn fyrir nánari upplýsingar. - + %1 could not be synced due to an error. See the log for details. %1 var ekki hægt að samstilla vegna villu sem kom upp Skoðaðu annálinn fyrir nánari upplýsingar. - + Sync Activity Virkni samstillingar - + Could not read system exclude file Gat ekki lesið kerfisútilokunarskrána - + A new folder larger than %1 MB has been added: %2. Nýrri möppu stærri en %1 MB var bætt við: %2. - + A folder from an external storage has been added. Möppu úr ytri gagnageymslu var bætt við. - + Please go in the settings to select it if you wish to download it. Farðu í stillingarnar til að velja hana ef þú vilt sækja hana. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -880,7 +880,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -888,46 +888,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? Sækja nýjar skrár? - + Download new files Sækja nýjar skrár - + Keep local files Halda skrám á tölvu - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Öryggisafrit fannst - + Normal Synchronisation Venjuleg samstilling - + Keep Local Files as Conflict Halda skrám á tölvunni við árekstra @@ -2258,7 +2258,7 @@ Ekki er mælt með því að hún sé notuð. OCC::PropagateDirectory - + Error writing metadata to the database Villa við ritun lýsigagna í gagnagrunninn @@ -2286,32 +2286,32 @@ Ekki er mælt með því að hún sé notuð. Laust pláss á diski er minna en %1 - + File was deleted from server Skrá var eytt af þjóninum - + The file could not be downloaded completely. Ekki var hægt að sækja skrána að fullu. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! - + File has changed since discovery Skráin hefur breyst síðan hún fannst - + Error writing metadata to the database Villa við ritun lýsigagna í gagnagrunninn @@ -2324,7 +2324,7 @@ Ekki er mælt með því að hún sé notuð. ; Endurheimt mistókst: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -3910,7 +3910,7 @@ Ekki er mælt með því að hún sé notuð. Fyrir nokkru síðan - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_it.ts b/translations/client_it.ts index 8b7e6142e..06c295266 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -568,17 +568,17 @@ Accetta - + Synced Sincronizzato - + Retry all uploads Riprova tutti icaricamenti - + <br/>Account %1 does not have activities enabled. <br/>L'account %1 non ha attività abilitate. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Errore durante la scrittura dei metadati nel database @@ -750,98 +750,98 @@ %1 non è leggibile. - + %1 has been removed. %1 names a file. %1 è stato rimosso. - + %1 has been downloaded. %1 names a file. %1 è stato scaricato. - + %1 has been updated. %1 names a file. %1 è stato aggiornato. - + %1 has been renamed to %2. %1 and %2 name files. %1 è stato rinominato in %2. - + %1 has been moved to %2. %1 è stato spostato in %2. - + %1 and %n other file(s) have been removed. %1 e %n altro file sono stati rimossi.%1 e %n altri file sono stati rimossi. - + %1 and %n other file(s) have been downloaded. %1 e %n altro file sono stati scaricati.%1 e %n altri file sono stati scaricati. - + %1 and %n other file(s) have been updated. %1 e %n altro file sono stati aggiornati.%1 e %n altri file sono stati aggiornati. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 è stato rinominato in %2 e %n altro file sono stati rinominati.%1 è stato rinominato in %2 e %n altri file sono stati rinominati. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 è stato spostato in %2 e %n altro file sono stati spostati.%1 è stato spostato in %2 e %n altri file sono stati spostati. - + %1 has and %n other file(s) have sync conflicts. %1 e %n altro file hanno conflitti di sincronizzazione.%1 e %n altri file hanno conflitti di sincronizzazione. - + %1 has a sync conflict. Please check the conflict file! %1 ha un conflitto di sincronizzazione. Controlla il file in conflitto! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. 1% e %n altro file non sono stati sincronizzati a causa di errori. Controlla il log per i dettagli.1% e %n altri file non sono stati sincronizzati a causa di errori. Controlla il log per i dettagli. - + %1 could not be synced due to an error. See the log for details. %1 non può essere sincronizzato a causa di un errore. Controlla il log per i dettagli. - + Sync Activity Sincronizza attività - + Could not read system exclude file Impossibile leggere il file di esclusione di sistema - + A new folder larger than %1 MB has been added: %2. Una nuova cartella più grande di %1 MB è stata aggiunta: %2. - + A folder from an external storage has been added. Una nuova cartella da un'archiviazione esterna è stata aggiunta. @@ -849,22 +849,22 @@ - + Please go in the settings to select it if you wish to download it. Vai nelle impostazioni e selezionala se vuoi scaricarla. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. La cartella %1 è stata creata, ma è stata esclusa dalla sincronizzazione in precedenza. I dati al suo interno non saranno sincronizzati. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. Il file %1 è stato creato, ma è stato escluso dalla sincronizzazione in precedenza. Non sarà sincronizzato. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -877,7 +877,7 @@ Questo significa che il client di sincronizzazione potrebbe non caricare le modi %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -888,22 +888,22 @@ Se decidi di tenere i file, saranno sincronizzati nuovamente con il server, se h Se decidi di eliminare i file, non saranno più disponibili, a meno che tu sia il proprietario. - + Download new files? Vuoi scaricare i nuovi file? - + Download new files Scarica i nuovi file - + Keep local files Mantieni i file locali - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -913,7 +913,7 @@ Sei sicuro di voler sincronizzare queste azioni con il server? Se è stato un errore e decidi di tenere i file, saranno sincronizzati nuovamente con il server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -922,17 +922,17 @@ Ciò potrebbe verificarsi in seguito al ripristino di un backup sul server. Se continui normalmente la sincronizzazione provocherai la sovrascrittura di tutti i tuoi file con file più datati in uno stato precedente. Vuoi mantenere i tuoi file locali più recenti come file di conflitto? - + Backup detected Backup rilevato - + Normal Synchronisation Sincronizzazione normale - + Keep Local Files as Conflict Mantieni i file locali come conflitto @@ -2264,7 +2264,7 @@ Non è consigliabile utilizzarlo. OCC::PropagateDirectory - + Error writing metadata to the database Errore durante la scrittura dei metadati nel database @@ -2292,32 +2292,32 @@ Non è consigliabile utilizzarlo. Lo spazio libero su disco è inferiore a %1 - + File was deleted from server Il file è stato eliminato dal server - + The file could not be downloaded completely. Il file non può essere scaricato completamente. - + The downloaded file is empty despite that the server announced it should have been %1. Il file scaricato è vuoto nonostante il server indicasse una dimensione di %1. - + File %1 cannot be saved because of a local file name clash! Il file %1 non può essere salvato a causa di un conflitto con un file locale. - + File has changed since discovery Il file è stato modificato dal suo rilevamento - + Error writing metadata to the database Errore durante la scrittura dei metadati nel database @@ -2330,7 +2330,7 @@ Non è consigliabile utilizzarlo. ; Ripristino non riuscito: %1 - + A file or folder 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 @@ -3914,7 +3914,7 @@ Non è consigliabile utilizzarlo. Tempo fa - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_ja.ts b/translations/client_ja.ts index 25c3354d4..5523aaa5e 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -568,17 +568,17 @@ 承諾 - + Synced 同期した - + Retry all uploads すべてのアップロードを再試行 - + <br/>Account %1 does not have activities enabled. <br/>%1 アカウントは、 アクティビティを有効にしていません。 @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database メタデータのデータベースへの書き込みに失敗 @@ -750,120 +750,120 @@ %1 は読み込み可能ではありません。 - + %1 has been removed. %1 names a file. %1 は削除されました。 - + %1 has been downloaded. %1 names a file. %1 はダウンロードされました。 - + %1 has been updated. %1 names a file. %1 が更新されました。 - + %1 has been renamed to %2. %1 and %2 name files. %1 の名前が %2 に変更されました。 - + %1 has been moved to %2. %1 は %2 に移動しました。 - + %1 and %n other file(s) have been removed. %1 とその他 %n 個のファイルが削除されました。 - + %1 and %n other file(s) have been downloaded. %1 とその他 %n 個のファイルがダウンロードされました。 - + %1 and %n other file(s) have been updated. %1 とその他 %n 個のファイルが更新されました。 - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 を %2 にファイル名を変更し、その他 %n 個のファイル名を変更しました。 - + %1 has been moved to %2 and %n other file(s) have been moved. %1 を %2 に移動し、その他 %n 個のファイルを移動しました。 - + %1 has and %n other file(s) have sync conflicts. %1 と その他 %n 個のファイルが同期で衝突しました。 - + %1 has a sync conflict. Please check the conflict file! %1 が同期で衝突しています。コンフリクトファイルを確認してください。 - + %1 and %n other file(s) could not be synced due to errors. See the log for details. エラーにより、%1 と その他 %n 個のファイルが同期できませんでした。ログで詳細を確認してください。 - + %1 could not be synced due to an error. See the log for details. エラーにより %1 が未同期です。ログで詳細を確認してください。 - + Sync Activity 同期アクティビティ - + Could not read system exclude file システム上の除外ファイルを読み込めません - + A new folder larger than %1 MB has been added: %2. %1 MB より大きな新しいフォルダーが追加されました: %2 - + A folder from an external storage has been added. 外部ストレージからフォルダーが追加されました。 - + Please go in the settings to select it if you wish to download it. このフォルダーをダウンロードするには設定画面で選択してください。 - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? 新しいファイルをダウンロードしますか? - + Download new files 新しいファイルをダウンロードする - + Keep local files ローカルファイルを保持 - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -904,24 +904,24 @@ If this was an accident and you decide to keep your files, they will be re-synce 「ファイルを残す」を選択した場合、ファイルはサーバーから再同期されます。 - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? この同期により同期フォルダー '%1' のファイルが以前のものに戻されます。 これは、バックアップがサーバー上に復元されたためです。 通常と同じように同期を続けると、すべてのファイルが以前の状態の古いファイルによって上書きされます。最新のローカルファイルを競合ファイルとして保存しますか? - + Backup detected バックアップが検出されました - + Normal Synchronisation 正常同期 - + Keep Local Files as Conflict コンフリクト時にローカルファイルを保持 @@ -2248,7 +2248,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database メタデータのデータベースへの書き込みに失敗 @@ -2276,32 +2276,32 @@ It is not advisable to use it. ディスク空き容量が %1 よりも少なくなっています - + File was deleted from server ファイルはサーバーから削除されました - + The file could not be downloaded completely. このファイルのダウンロードは完了しませんでした - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! %1 はローカルファイル名が衝突しているため保存できません! - + File has changed since discovery ファイルは発見以降に変更されました - + Error writing metadata to the database メタデータのデータベースへの書き込みに失敗 @@ -2314,7 +2314,7 @@ It is not advisable to use it. ; 復元に失敗: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 ファイルまたはフォルダーが読み込み専用の共有から削除されましたが、復元に失敗しました: %1 @@ -3898,7 +3898,7 @@ It is not advisable to use it. 数分前 - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index c30a3b672..9a856c033 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -569,17 +569,17 @@ Priimti - + Synced Sinchronizuota - + Retry all uploads Bandyti viską įkelti iš naujo - + <br/>Account %1 does not have activities enabled. <br/>Paskyra %1 neturi įjungtų veiklų. @@ -666,7 +666,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Klaida rašant metaduomenis į duomenų bazę @@ -751,119 +751,119 @@ %1 nenuskaitoma - + %1 has been removed. %1 names a file. %1 pašalintas. - + %1 has been downloaded. %1 names a file. %1 atsisiųstas. - + %1 has been updated. %1 names a file. %1 atnaujintas. - + %1 has been renamed to %2. %1 and %2 name files. %1 pevadintas į %2. - + %1 has been moved to %2. %1 perkeltas į %2. - + %1 and %n other file(s) have been removed. %1 ir dar %n failas buvo pašalintas.%1 ir dar %n failai buvo pašalinti.%1 ir dar %n failų buvo pašalinta.%1 ir dar %n failų buvo pašalinta. - + %1 and %n other file(s) have been downloaded. %1 ir dar %n failas buvo atsisiųstas.%1 ir dar %n failai buvo atsisiųsti.%1 ir dar %n failų buvo atsisiųsta.%1 ir dar %n failų buvo atsisiųsta. - + %1 and %n other file(s) have been updated. %1 ir dar %n failas buvo pakeistas.%1 ir dar %n failai buvo pakeisti.%1 ir dar %n failų buvo pakeista.%1 ir dar %n failų buvo pakeista. - + %1 has been renamed to %2 and %n other file(s) have been renamed. Failo %1 pavadinimas pakeistas į %2 ir dar %n failo pavadinimas buvo pakeistas.Failo %1 pavadinimas pakeistas į %2 ir dar %n failų pavadinimai buvo pakeisti.Failo %1 pavadinimas pakeistas į %2 ir dar %n failų pavadinimai buvo pakeisti.Failo %1 pavadinimas pakeistas į %2 ir dar %n failų pavadinimai buvo pakeisti. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 buvo perkeltas į %2 ir dar %n failas buvo perkeltas.%1 buvo perkeltas į %2 ir dar %n failai buvo perkelti.%1 buvo perkeltas į %2 ir dar %n failų buvo perkelta.%1 buvo perkeltas į %2 ir dar %n failų buvo perkelta. - + %1 has and %n other file(s) have sync conflicts. %1 ir dar %n failas turi sinchronizavimo konfliktų.%1 ir dar %n failai turi sinchronizavimo konfliktų.%1 ir dar %n failų turi sinchronizavimo konfliktų.%1 ir dar %n failų turi sinchronizavimo konfliktų. - + %1 has a sync conflict. Please check the conflict file! %1 turi sinchronizavimo konfliktą. Patikrinkite "konfliktų" failą! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 ir dar %2 failas negalėjo būti sinchronizuoti dėl klaidos. Žurnale rasite daugiau duomenų.%1 ir dar %2 failai negalėjo būti sinchronizuoti dėl klaidos. Žurnale rasite daugiau duomenų.%1 ir dar %2 failų negalėjo būti sinchronizuoti dėl klaidos. Žurnale rasite daugiau duomenų.%1 ir dar %2 failų negalėjo būti sinchronizuoti dėl klaidos. Žurnale rasite daugiau duomenų. - + %1 could not be synced due to an error. See the log for details. Dėl klaidos nepavyko sinchronizuotu %1. Daugiau informacijos rasite įvykių registravimo žurnale. - + Sync Activity Sinchronizavimo veikla - + Could not read system exclude file Nepavyko perskaityti sistemos išskyrimo failo - + A new folder larger than %1 MB has been added: %2. Buvo pridėtas naujas, didesnis nei %1 MB, aplankas: %2. - + A folder from an external storage has been added. Buvo pridėtas aplankas iš išorinė saugyklos. - + Please go in the settings to select it if you wish to download it. Jei norite parsisiųsti, eikite į nustatymus. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. Aplankas %1 buvo sukurtas, bet anksčiau buvo įtrauktas į praleidžiamų sąrašą. Ten esantys duomenys nebus sinchronizuoti. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. Failas %1 buvo sukurtas, bet anksčiau buvo įtrauktas į praleidžiamų sąrašą. Failas nebus sinchronizuotas. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? Atsisiųsti naujus failus? - + Download new files Atsisiųsti naujus failus - + Keep local files Palikti failus kompiuteryje - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -906,7 +906,7 @@ Jei tai buvo netyčinis veiksmas ir jūs nusprendėte išsaugoti savo failus, ji Open in Google Translate - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -915,17 +915,17 @@ Taip gali nutikti, jei serveryje buvo atkurta atsarginė kopija. Jei tęsite sinchronizavimą, Jūsų ankstesni failai bus perrašyti senesniais. Ar norite išsaugoti savo lokalius naujausius failus kaip konfliktinius failus? - + Backup detected Aptikta atsarginė kopija - + Normal Synchronisation Įprasta sinchronizacija - + Keep Local Files as Conflict Laikyti vietinius failus kaip konfliktinius @@ -2258,7 +2258,7 @@ Patariama jo nenaudoti. OCC::PropagateDirectory - + Error writing metadata to the database Klaida rašant metaduomenis į duomenų bazę @@ -2286,32 +2286,32 @@ Patariama jo nenaudoti. Laisvos vietos diske yra mažiau nei %1 - + File was deleted from server Failas buvo ištrintas iš serverio - + The file could not be downloaded completely. Nepavyko pilnai atsisiųsti failo. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! Failo %1 nepavyko išsaugoti dėl kompiuterio failo nesuderinamumo! - + File has changed since discovery Aptikus failą, jis buvo pakeistas - + Error writing metadata to the database Klaida rašant metaduomenis į duomenų bazę @@ -2324,7 +2324,7 @@ Patariama jo nenaudoti. ; Atkūrimas nepavyko: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Failas ar aplankas buvo pašalintas iš tik skaitymui skirtos bendros vietos, atstatymas nepavyko: %1 @@ -3908,7 +3908,7 @@ Patariama jo nenaudoti. Kažkada anksčiau - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_lv.ts b/translations/client_lv.ts index 2f8438c93..cee142fa9 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -568,17 +568,17 @@ Akceptēt - + Synced Sinhronizēts - + Retry all uploads Atkārtot visas augšupielādes - + <br/>Account %1 does not have activities enabled. <br/>Kontam %1 darbības nav iespējots. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Kļūda rakstot metadatus datubāzē @@ -750,120 +750,120 @@ %1 nav lasāma. - + %1 has been removed. %1 names a file. %1 tika noņemta. - + %1 has been downloaded. %1 names a file. %1 ir ticis lejupielādēts. - + %1 has been updated. %1 names a file. %1 ir atjaunināts. - + %1 has been renamed to %2. %1 and %2 name files. %1 ir pārsaukts par %2. - + %1 has been moved to %2. %1 ir pārvietots uz %2. - + %1 and %n other file(s) have been removed. %1 un %n citas datne(s) tika noņemtas.%1 un %n citas datne(s) tika noņemtas.%1 un %n citas datne(s) tika noņemtas. - + %1 and %n other file(s) have been downloaded. %1 un %n citas datne(s) tika lejupielādētās.%1 un %n citas datne(s) tika lejupielādētās.%1 un %n citas datne(s) tika lejupielādētās. - + %1 and %n other file(s) have been updated. %1 un %n citas datne(s) tika atjaunotas.%1 un %n citas datne(s) tika atjaunotas.%1 un %n citas datne(s) tika atjaunotas. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 tika pārsaukta uz %2 un %n citas datne(s) tika pārsauktas.%1 tika pārsaukta uz %2 un %n citas datne(s) tika pārsauktas.%1 tika pārsaukta uz %2 un %n citas datne(s) tika pārsauktas. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 tika pārvietota uz %2 un %n citas datne(s) tika pārvietotas.%1 tika pārvietota uz %2 un %n citas datne(s) tika pārvietotas.%1 tika pārvietota uz %2 un %n citas datne(s) tika pārvietotas. - + %1 has and %n other file(s) have sync conflicts. %1 un %n citām datnēm ir sinhronizācijas konflikts.%1 un %n citām datnēm ir sinhronizācijas konflikts.%1 un %n citām datnēm ir sinhronizācijas konflikts. - + %1 has a sync conflict. Please check the conflict file! %1 ir sinhronizācijas konflikts. Lūdzu pārbaudiet konfliktējošo datni! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity Sinhronizācijas darbība - + Could not read system exclude file Nevarēja nolasīt sistēmas izņēmumu datni. - + A new folder larger than %1 MB has been added: %2. Jauna mape lielāka par %1 MB ir tikusi pievienota: %2. - + A folder from an external storage has been added. Mape no ārējās krātuves ir tikusi pievienota. - + Please go in the settings to select it if you wish to download it. Lūdzu ieej iestatījumos un izvēlies to, ja tu to gribi lejupielādēt. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,46 +880,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Dublējums atrasts - + Normal Synchronisation - + Keep Local Files as Conflict Saglabāt lokālās datnes kā konfliktu @@ -2244,7 +2244,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database @@ -2272,32 +2272,32 @@ It is not advisable to use it. - + File was deleted from server - + The file could not be downloaded completely. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! - + File has changed since discovery - + Error writing metadata to the database @@ -2310,7 +2310,7 @@ It is not advisable to use it. - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -3892,7 +3892,7 @@ It is not advisable to use it. Kādu laiku atpakaļ - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index a36d19df1..41041477b 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -568,17 +568,17 @@ Aksepter - + Synced Synkronisert - + Retry all uploads Prøv alle opplastinger igjen - + <br/>Account %1 does not have activities enabled. <br/>Konto %1 har ikke aktiviteter aktivert. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Feil ved skriving av metadata til databasen @@ -750,119 +750,119 @@ %1 kan ikke leses. - + %1 has been removed. %1 names a file. %1 har blitt fjernet. - + %1 has been downloaded. %1 names a file. %1 har blitt lastet ned. - + %1 has been updated. %1 names a file. %1 har blitt oppdatert. - + %1 has been renamed to %2. %1 and %2 name files. %1 har blitt omdøpt til %2. - + %1 has been moved to %2. %1 har blitt flyttet til %2. - + %1 and %n other file(s) have been removed. %1 og %n annen fil har blitt fjernet.%1 og %n andre filer har blitt fjernet. - + %1 and %n other file(s) have been downloaded. %1 og %n annen fil har blitt lastet ned.%1 og %n andre filer har blitt lastet ned. - + %1 and %n other file(s) have been updated. %1 og %n annen fil har blitt oppdatert.%1 og %n andre filer har blitt oppdatert. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 er blitt omdøpt til %2 og %n annen fil har blitt omdøpt.%1 er blitt omdøpt til %2 og %n andre filer har blitt omdøpt. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 er blitt flyttet til %2 og %n annen fil har blitt flyttet.%1 er blitt flyttet til %2 og %n andre filer har blitt flyttet. - + %1 has and %n other file(s) have sync conflicts. %1 og %n andre filer har synkroniseringskonflikter.%1 og %n andre filer har synkroniseringskonflikter. - + %1 has a sync conflict. Please check the conflict file! %1 har en synkroniseringskonflikt. Sjekk konflikt-filen. - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 og %n andre filer kunne ikke synkroniseres pga. feil. Se loggen for detaljer.%1 og %n andre filer kunne ikke synkroniseres på grunn av feil. Se logg for detaljer. - + %1 could not be synced due to an error. See the log for details. %1 kunne ikke synkroniseres på grunn av en feil. Se logg for detaljer. - + Sync Activity Synkroniseringsaktivitet - + Could not read system exclude file Klarte ikke å lese systemets ekskluderingsfil - + A new folder larger than %1 MB has been added: %2. En ny mappe større enn %1 MB er blitt lagt til: %2. - + A folder from an external storage has been added. En mappe fra et eksternt lager er blitt lagt til. - + Please go in the settings to select it if you wish to download it. Gå til Innstillinger og velg den hvis du ønsker å laste den ned. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -871,7 +871,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -879,22 +879,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? Hent nye filer? - + Download new files Hent nye filer - + Keep local files Behold lokale filer - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -903,7 +903,7 @@ Er du sikker på at du ønsker å synkronisere denne handlingen med serveren? Hvis det var et uhell og du velger å beholde filene, vil de bli synkronisert tilbake fra serveren. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -912,17 +912,17 @@ Dette kan være fordi en backup ble gjenopprettet på serveren. Hvis synkroniseringen fortsetter som normalt, vil alle filene dine bli overskrevet av en eldre fil i en tidligere tilstand. Ønsker du å beholde dine ferskeste lokale filer som konflikt-filer? - + Backup detected Backup oppdaget - + Normal Synchronisation Normal synkronisering - + Keep Local Files as Conflict Behold lokale filer som konflikt @@ -2253,7 +2253,7 @@ Det er ikke tilrådelig å bruke den. OCC::PropagateDirectory - + Error writing metadata to the database Feil ved skriving av metadata til databasen @@ -2281,32 +2281,32 @@ Det er ikke tilrådelig å bruke den. Ledig plass på disk er mindre enn %1 - + File was deleted from server Filen ble slettet fra serveren - + The file could not be downloaded completely. Hele filen kunne ikke lastes ned. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! Fil %1 kan ikke lagres på grunn av lokal konflikt med filnavn. - + File has changed since discovery Filen er endret siden den ble oppdaget - + Error writing metadata to the database Feil ved skriving av metadata til databasen @@ -2319,7 +2319,7 @@ Det er ikke tilrådelig å bruke den. ; Gjenoppretting feilet: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 En fil eller mappe ble fjernet fra en deling med lesetilgang, men gjenoppretting feilet: %1 @@ -3903,7 +3903,7 @@ Det er ikke tilrådelig å bruke den. For en stund siden - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_nl.ts b/translations/client_nl.ts index fc2449c75..90a7a901b 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -568,17 +568,17 @@ Accepteren - + Synced Gesynchroniseerd - + Retry all uploads Probeer alle uploads opnieuw - + <br/>Account %1 does not have activities enabled. <br/>Account %1 heeft geen activiteiten ingeschakeld. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Fout bij schrijven van Metadata naar de database @@ -750,120 +750,120 @@ %1 is niet leesbaar. - + %1 has been removed. %1 names a file. %1 is verwijderd. - + %1 has been downloaded. %1 names a file. %1 is gedownload. - + %1 has been updated. %1 names a file. %1 is bijgewerkt. - + %1 has been renamed to %2. %1 and %2 name files. %1 is hernoemd naar %2. - + %1 has been moved to %2. %1 is verplaatst naar %2. - + %1 and %n other file(s) have been removed. %1 en %n ander bestand(en) zijn verwijderd.%1 en %n andere bestand(en) zijn verwijderd. - + %1 and %n other file(s) have been downloaded. %1 en %n ander bestand(en) zijn gedownload.%1 en %n andere bestand(en) zijn gedownload. - + %1 and %n other file(s) have been updated. %1 en %n ander bestand(en) zijn bijgewerkt.%1 en %n andere bestand(en) zijn bijgewerkt. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 is hernoemd naar %2 en %n ander bestand(en) is hernoemd.%1 is hernoemd naar %2 en %n andere bestand(en) zijn hernoemd. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 is verplaatst naar %2 en %n ander bestand(en) is verplaatst.%1 is verplaatst naar %2 en %n andere bestand(en) zijn verplaatst. - + %1 has and %n other file(s) have sync conflicts. %1 en %n ander bestand(en) hebben een sync conflict.%1 en %n andere bestand(en) hebben sync conflicten. - + %1 has a sync conflict. Please check the conflict file! %1 heeft een sync conflict. Controleer het conflict bestand! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 en %n ander bestand(en) konden niet worden gesynchroniseerd wegens fouten. Bekijk het log voor details.%1 en %n andere bestand(en) konden niet worden gesynchroniseerd wegens fouten. Bekijk het log voor details. - + %1 could not be synced due to an error. See the log for details. %1 kon niet worden gesynchroniseerd door een fout. Bekijk het log voor details. - + Sync Activity Synchronisatie-activiteit - + Could not read system exclude file Kon het systeem-uitsluitingsbestand niet lezen - + A new folder larger than %1 MB has been added: %2. Er is een nieuwe map groter dan %1 MB toegevoegd: %2. - + A folder from an external storage has been added. Er is een map op externe opslag toegevoegd. - + Please go in the settings to select it if you wish to download it. Ga naar de instellingen om het te selecteren als u deze wilt downloaden. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. Map %1 is gecreëerd, maar eerder uitgesloten van synchronisatie. Bestanden erin worden niet gesynchroniseerd. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. Bestand %1 is gecreëerd, maar eerder uitgesloten van synchronisatie. Het wordt niet gesynchroniseerd. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -876,7 +876,7 @@ Dit betekent dat de synchronisatieclient misschien niet meteen lokale wijziginge %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -887,22 +887,22 @@ Als u de bestanden wilt behouden, worden ze opnieuw gesynchroniseerd met de serv Als u de bestanden wilt verwijderen, worden ze niet beschikbaar, tenzij u de eigenaar bent. - + Download new files? Downloaden nieuwe bestanden? - + Download new files Downloaden nieuwe bestanden - + Keep local files Bewaar lokale bestanden - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -910,7 +910,7 @@ If this was an accident and you decide to keep your files, they will be re-synce Als dit een ongelukje was en u de bestanden wilt behouden, worden ze opnieuw gesynchroniseerd met de server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -919,17 +919,17 @@ Dit kan komen doordat een backup is hersteld op de server. Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere versie. Wilt u uw lokale meer recente bestanden behouden als conflict bestanden? - + Backup detected Backup gedetecteerd - + Normal Synchronisation Normale synchronisatie - + Keep Local Files as Conflict Behoud lokale bestanden als conflict @@ -2267,7 +2267,7 @@ We adviseren deze site niet te gebruiken. OCC::PropagateDirectory - + Error writing metadata to the database Fout bij schrijven van Metadata naar de database @@ -2295,32 +2295,32 @@ We adviseren deze site niet te gebruiken. Vrije schijfruimte is minder dan %1 - + File was deleted from server Bestand was verwijderd van de server - + The file could not be downloaded completely. Het bestand kon niet volledig worden gedownload. - + The downloaded file is empty despite that the server announced it should have been %1. Het gedownloade bestand is leeg, hoewel de server meldde dat het %1 zou moeten zijn. - + File %1 cannot be saved because of a local file name clash! Bestand %1 kan niet worden opgeslagen wegens een lokaal bestandsnaam conflict! - + File has changed since discovery Het bestand is gewijzigd sinds het is gevonden - + Error writing metadata to the database Fout bij schrijven van Metadata naar de database @@ -2333,7 +2333,7 @@ We adviseren deze site niet te gebruiken. ; Herstel mislukte: %1 - + A file or folder 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 @@ -3917,7 +3917,7 @@ We adviseren deze site niet te gebruiken. Even geleden - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_pl.ts b/translations/client_pl.ts index 1c90d66d6..bcd7680bd 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -568,17 +568,17 @@ Akceptuj - + Synced Zsynchronizowany - + Retry all uploads Ponów wysyłanie - + <br/>Account %1 does not have activities enabled. <br/>Użytkownik %1 nie ma włączonej historii aktywności. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Błąd podczas zapisu metadanych do bazy @@ -750,120 +750,120 @@ %1 jest nie do odczytu. - + %1 has been removed. %1 names a file. %1 został usunięty. - + %1 has been downloaded. %1 names a file. %1 został ściągnięty. - + %1 has been updated. %1 names a file. %1 został uaktualniony. - + %1 has been renamed to %2. %1 and %2 name files. %1 zmienił nazwę na %2. - + %1 has been moved to %2. %1 został przeniesiony do %2. - + %1 and %n other file(s) have been removed. %1 i %n inny plik został usunięty.%1 i %n inne pliki zostały usunięte.%1 i %n innych plików zostało usuniętych.%1 i %n innych plików zostało usuniętych. - + %1 and %n other file(s) have been downloaded. %1 i %n inny plik został pobrany.%1 i %n inne pliki zostały pobrane.%1 i %n innych plików zostało pobranych.%1 i %n innych plików zostało pobranych. - + %1 and %n other file(s) have been updated. %1 i %n inny plik został zaktualizowany.%1 i %n inne pliki zostały zaktualizowane.%1 i %n innych plików zostało zaktualizowanych.%1 i %n innych plików zostało zaktualizowanych. - + %1 has been renamed to %2 and %n other file(s) have been renamed. Zmieniono nazwę %1 na %2 oraz %n innemu plikowi została zmieniona nazwa.Zmieniono nazwę %1 na %2 oraz %n innym plikom została zmieniona nazwa.%1 has been renamed to %2 and %n other file(s) have been renamed.%1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. Przeniesiono %1 do %2 oraz przeniesiono %n inny plik.Przeniesiono %1 do %2 oraz przeniesiono %n inne pliki.Przeniesiono %1 do %2 oraz przeniesiono %n innych plików.Przeniesiono %1 do %2 oraz przeniesiono %n innych plików. - + %1 has and %n other file(s) have sync conflicts. %1 plik ma błąd synchronizacji%1 i %n innych plików mają konflikt synchronizacji.%1 i %n innych plików mają konflikt synchronizacji.%1 i %n innych plików mają konflikt synchronizacji. - + %1 has a sync conflict. Please check the conflict file! %1 ma konflikt synchronizacji. Sprawdź konfliktujący plik! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. Plik %1 nie może zostać zsynchronizowany z powodu błędów. Sprawdź szczegóły w logu..%1 i %n innych plików nie mogą zostać zsynchronizowane z powodu błędów. Sprawdź szczegóły w logu..%1 i %n innych plików nie mogą zostać zsynchronizowane z powodu błędów. Sprawdź szczegóły w logu..%1 i %n innych plików nie mogą zostać zsynchronizowane z powodu błędów. Sprawdź szczegóły w logu.. - + %1 could not be synced due to an error. See the log for details. %1 nie może zostać zsynchronizowany z powodu błędu. Zobacz szczegóły w logu. - + Sync Activity Aktywności synchronizacji - + Could not read system exclude file Nie można przeczytać pliku wyłączeń - + A new folder larger than %1 MB has been added: %2. Nowy folder większy niż %1MB został dodany: %2 - + A folder from an external storage has been added. Folder z pamięci zewnętrznej został dodany . - + Please go in the settings to select it if you wish to download it. Przejdź do ustawień żeby go zaznaczyć i pobrać. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. Folder %1 został utworzony, ale wcześniej został wykluczony z synchronizacji. Dane w nim zawarte nie zostaną zsynchronizowane. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. Plik %1 został utworzony, ale wcześniej został wykluczony z synchronizacji. Dane w nim zawarte nie zostaną zsynchronizowane. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -876,7 +876,7 @@ Oznacza to, że klient synchronizacji może nie przesłać lokalnych zmian natyc %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -887,22 +887,22 @@ Jeśli zdecydujesz się zachować te pliki, zostaną one zsynchronizowane z serw Jeśli zdecydujesz je usunąć, nie będą więcej dostępne, chyba że jesteś ich właścicielem. - + Download new files? Pobrać nowe pliki? - + Download new files Pobierz nowe pliki - + Keep local files Zachowaj pliki lokalne - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -911,7 +911,7 @@ Czy na pewno chcesz zsynchronizować te działania z serwerem? Jeśli to był wypadek i zdecydujesz się zachować swoje pliki, zostaną one przywrócone z serwera. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -920,17 +920,17 @@ Przyczyną może być przywrócenie plików z kopii zapasowej na serwerze. Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie twoje pliki zostaną zastąpione starszym plikiem we wcześniejszym stanie. Czy chcesz zachować najnowsze pliki lokalne? - + Backup detected Wykryto kopię zapasową. - + Normal Synchronisation Normalna synchronizacja. - + Keep Local Files as Conflict Zatrzymaj pliki lokalne i ustaw status konfliktu. @@ -2263,7 +2263,7 @@ Niezalecane jest jego użycie. OCC::PropagateDirectory - + Error writing metadata to the database Błąd podczas zapisu metadanych do bazy @@ -2291,32 +2291,32 @@ Niezalecane jest jego użycie. Wolne miejsce na dysku jest mniejsze niż %1 - + File was deleted from server Plik został usunięty z serwera - + The file could not be downloaded completely. Ten plik nie mógł być całkowicie pobrany. - + The downloaded file is empty despite that the server announced it should have been %1. Ściągnięty plik jest pusty mimo, że serwer twierdził, że powinien być %1. - + File %1 cannot be saved because of a local file name clash! Pliku %1 nie można zapisać z powodu lokalnego konfliktu nazw plików! - + File has changed since discovery W trakcie wyszukiwania plik uległ zmianie - + Error writing metadata to the database Błąd podczas zapisu metadanych do bazy @@ -2329,7 +2329,7 @@ Niezalecane jest jego użycie. ; Przywracanie nie powiodło się: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Plik lub folder został usunięty z udziału "tylko do odczytu". Odtwarzanie nie powiodło się: %1 @@ -3914,7 +3914,7 @@ Kliknij Jakiś czas temu - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_pt.ts b/translations/client_pt.ts index f418d66b4..8f906827b 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -568,17 +568,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. <br/>A conta %1 não tem atividades ativadas. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Erro ao gravar os metadados para a base de dados @@ -750,120 +750,120 @@ %1 não é legível. - + %1 has been removed. %1 names a file. %1 foi removido. - + %1 has been downloaded. %1 names a file. %1 foi transferido. - + %1 has been updated. %1 names a file. %1 foi atualizado. - + %1 has been renamed to %2. %1 and %2 name files. %1 foi renomeado para %2 - + %1 has been moved to %2. %1 foi movido para %2 - + %1 and %n other file(s) have been removed. '%1' e %n outro(s) ficheiro(s) foram removidos'%1' e %n outros ficheiros foram removidos. - + %1 and %n other file(s) have been downloaded. %1 e %n outro ficheiro foi transferido.%1 e %n outros ficheiros foram transferidos. - + %1 and %n other file(s) have been updated. %1 e %n outro ficheiro foram actualizados.%1 e %n outros ficheiros foram actualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 foi renomeado para %2 e %n outro ficheiro foi renomeado.%1 foi renomeado para %2 e %n outros ficheiros foram renomeados. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 foi movido para %2 e %n outro ficheiro foi movido.%1 foi movido para %2 e %n outros ficheiros foram movidos. - + %1 has and %n other file(s) have sync conflicts. %1 tem e %n outro ficheiro têm problemas de sincronização.%1 tem e %n outros ficheiros têm problemas de sincronização. - + %1 has a sync conflict. Please check the conflict file! %1 tem um problema de sincronização. Por favor, verifique o ficheiro com conflito! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 e %n outro ficheiro não podem ser sincronizados devido a erros. Consulte o registo de eventos para mais detalhes.%1 e %n outros ficheiros não podem ser sincronizados devido a erros. Consulte o registo de eventos para mais detalhes. - + %1 could not be synced due to an error. See the log for details. Não foi possível sincronizar %1 devido a um erro. Consulte o registo para detalhes. - + Sync Activity Atividade de Sincronização - + Could not read system exclude file Não foi possível ler o ficheiro excluir do sistema - + A new folder larger than %1 MB has been added: %2. Foi adicionada uma nova pasta maior que %1 MB: %2. - + A folder from an external storage has been added. Foi adicionada uma pasta vinda de armazenamento externo. - + Please go in the settings to select it if you wish to download it. Por favor, vá às definições para a selecionar, se desejar transferi-la. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? Transferir novos ficheiros? - + Download new files Transferir novos ficheiros - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -904,7 +904,7 @@ Tem a certeza que deseja sincronizar essas ações com o servidor? Se foi acidental e decidir manter os seus ficheiros, eles serão sincronizados novamente apartir do servidor. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -913,17 +913,17 @@ Isto pode ser porque um backup foi restaurado no servidor. Continuando a sincronização fará com que todos os seus ficheiros sejam substituídos por um ficheiro mais velho num estado anterior. Deseja manter os seus ficheiros locais mais recentes como ficheiros de conflito? - + Backup detected Detetada cópia de segurança - + Normal Synchronisation Sincronização Normal - + Keep Local Files as Conflict Manter Ficheiros Locais como Conflito @@ -2252,7 +2252,7 @@ Não é aconselhada a sua utilização. OCC::PropagateDirectory - + Error writing metadata to the database Erro ao escrever a meta-informação par a base de dados @@ -2280,32 +2280,32 @@ Não é aconselhada a sua utilização. O Espaço livre no disco é inferior a %1 - + File was deleted from server O ficheiro foi eliminado do servidor - + The file could not be downloaded completely. Não foi possível transferir o ficheiro na totalidade. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! Ficheiro %1 não pode ser guardado devido à existência de um ficheiro local com o mesmo nome. - + File has changed since discovery O ficheiro alterou-se desde a sua descoberta - + Error writing metadata to the database Erro ao gravar os metadados para a base de dados @@ -2318,7 +2318,7 @@ Não é aconselhada a sua utilização. ; Restauro Falhou: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Um ficheiro ou pasta foi removido de uma partilha só de leitura, mas o restauro falhou: %1 @@ -3902,7 +3902,7 @@ Não é aconselhada a sua utilização. Algum tempo atrás - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index fcfce6cfe..4a8a2c8c5 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -568,17 +568,17 @@ Aceitar - + Synced sincronizado - + Retry all uploads Retentar todos os envios - + <br/>Account %1 does not have activities enabled. <br/>A conta %1 não tem atividades ativadas. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Ocorreu um erro ao escrever metadados no banco de dados @@ -750,120 +750,120 @@ %1 não pode ser lido. - + %1 has been removed. %1 names a file. %1 foi removido. - + %1 has been downloaded. %1 names a file. %1 foi baixado. - + %1 has been updated. %1 names a file. %1 foi atualizado. - + %1 has been renamed to %2. %1 and %2 name files. %1 foi renomeado para %2. - + %1 has been moved to %2. %1 foi movido para %2. - + %1 and %n other file(s) have been removed. %1 e %n outro arquivo foram removidos.%1 e %n outros arquivos foram removidos. - + %1 and %n other file(s) have been downloaded. %1 e %n outro arquivo foram baixados.%1 e %n outros arquivos foram baixados. - + %1 and %n other file(s) have been updated. %1 e %n outro arquivo foram atualizados.%1 e %n outros arquivos foram atualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 foi renomeado para %2 e %n outro arquivo foi renomeado.%1 foi renomeado para %2 e %n outros arquivos foram renomeados. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 foi movido para %2 e %n outro arquivo foi movido.%1 foi movido para %2 e %n outros arquivos foram movidos. - + %1 has and %n other file(s) have sync conflicts. %1 tem e %n outro arquivo têm conflitos na sincronização.%1 tem e %n outros arquivos têm conflitos na sincronização. - + %1 has a sync conflict. Please check the conflict file! %1 tem um conflito na sincronização. Verifique o arquivo conflitante! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 e %n outro arquivo não puderam ser sincronizados devido a erros. Veja o log para detalhes.%1 e %n outros arquivos não puderam ser sincronizados devido a erros. Veja o log para detalhes. - + %1 could not be synced due to an error. See the log for details. %1 não pôde ser sincronizado devido a um erro. Veja o log para obter detalhes. - + Sync Activity Atividade de Sincronização - + Could not read system exclude file Não foi possível ler o sistema de arquivo de exclusão - + A new folder larger than %1 MB has been added: %2. Uma nova pasta maior que %1 MB foi adicionada: %2 - + A folder from an external storage has been added. Uma pasta de um armazenamento externo foi adicionada. - + Please go in the settings to select it if you wish to download it. Por favor, vá nas configurações para selecioná-lo se desejar baixá-lo. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. A pasta %1 foi criada, mas foi excluída da sincronização anteriormente. Dados dentro dela não serão sincronizados. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. O arquivo %1 foi criado, mas foi excluído da sincronização anteriormente. Não será sincronizado. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -876,7 +876,7 @@ Isso significa que o cliente de sincronização pode não fazer upload de altera %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -887,22 +887,22 @@ Se decidir manter os arquivos, eles serão re-sincronizados com o servidor se vo Se decidir excluir os arquivos eles ficarão indisponíveis, a menos que você seja o proprietário. - + Download new files? Baixar novos arquivos? - + Download new files Baixar novos arquivos - + Keep local files Manter arquivos locais - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -911,7 +911,7 @@ Tem certeza de que deseja sincronizar essas ações com o servidor? Se isso foi um acidente e você decidir manter seus arquivos, eles serão ressincronizados a partir do servidor. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -920,17 +920,17 @@ Isso pode ser porque um backup foi restaurado no servidor. Continuar a sincronização como normal fará com que todos os seus arquivos sejam substituídos por um arquivo antigo em um estado anterior. Deseja manter seus arquivos mais recentes locais como arquivos conflitantes? - + Backup detected Backup detectado - + Normal Synchronisation Sincronização Normal - + Keep Local Files as Conflict Manter Arquivos Locais como Conflito @@ -2263,7 +2263,7 @@ Não é aconselhável usá-la. OCC::PropagateDirectory - + Error writing metadata to the database Ocorreu um erro ao escrever metadados no banco de dados @@ -2291,32 +2291,32 @@ Não é aconselhável usá-la. O espaço livre no disco é inferior a %1 - + File was deleted from server O arquivo foi excluído do servidor - + The file could not be downloaded completely. O arquivo não pôde ser baixado completamente. - + The downloaded file is empty despite that the server announced it should have been %1. O arquivo baixado está vazio apesar do servidor ter anunciado que ele deveria ter %1. - + File %1 cannot be saved because of a local file name clash! O arquivo %1 não pôde ser salvo devido a um conflito com um nome de arquivo local! - + File has changed since discovery O arquivo foi alterado desde a descoberta - + Error writing metadata to the database Ocorreu um erro ao escrever metadados no banco de dados @@ -2329,7 +2329,7 @@ Não é aconselhável usá-la. ; Falha na Restauração: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Um arquivo ou pasta foi removido de um compartilhamento de somente leitura, mas a restauração falhou: %1 @@ -3913,7 +3913,7 @@ Não é aconselhável usá-la. Algum tempo atrás - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 5a98d6412..233a3bd1a 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -568,17 +568,17 @@ Принять - + Synced Синхронизировано - + Retry all uploads Повторить передачу файлов на сервер - + <br/>Account %1 does not have activities enabled. <br/>У учетной записи %1 не включены события. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Ошибка записи метаданных в базу данных @@ -750,120 +750,120 @@ «%1» не может быть прочитан. - + %1 has been removed. %1 names a file. «%1» удалён. - + %1 has been downloaded. %1 names a file. «%1» загружен с сервера. - + %1 has been updated. %1 names a file. «%1» обновлён. - + %1 has been renamed to %2. %1 and %2 name files. «%1» переименован в «%2». - + %1 has been moved to %2. «%1» перемещён в «%2». - + %1 and %n other file(s) have been removed. Удалены «%1» и ещё %n файл.Удалены «%1» и ещё %n файла.Удалены «%1» и ещё %n файлов.Удалены «%1» и ещё %n файлов. - + %1 and %n other file(s) have been downloaded. Скачаны «%1» и ещё один файл.Скачаны «%1» и ещё %n файла.Скачаны «%1» и ещё %n файлов.Скачаны «%1» и ещё %n файлов. - + %1 and %n other file(s) have been updated. Обновлёны «%1» и ещё один файл.Обновлёны «%1» и ещё %n файла.Обновлёны «%1» и ещё %n файлов.Обновлёны «%1» и ещё %n файлов. - + %1 has been renamed to %2 and %n other file(s) have been renamed. «%1» переименован в «%2», ещё переименован один файл.«%1» переименован в «%2», ещё переименованы %n файла.«%1» переименован в «%2», ещё переименованы %n файлов.«%1» переименован в «%2», ещё переименованы %n файлов. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 был перемещён в %2, и ещё %n другой файл был перемещён.%1 был перемещён в %2, и ещё %n других файла были перемещены.%1 был перемещён в %2, и ещё %n других файла были перемещены.%1 был перемещён в %2, и ещё %n других файла были перемещены. - + %1 has and %n other file(s) have sync conflicts. У %1 и ещё у %n другого файла есть конфликты синхронизации.У %1 и ещё у %n других файлов есть конфликты синхронизации.У %1 и ещё у %n других файлов есть конфликты синхронизации.У %1 и ещё у %n других файлов есть конфликты синхронизации. - + %1 has a sync conflict. Please check the conflict file! У %1 есть конфликт синхронизации. Пожалуйста, проверьте конфликтный файл! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 и ещё %n другой файл не удалось синхронизировать из-за ошибок. Подробности смотрите в журнале.%1 и ещё %n других файла не удалось синхронизировать из-за ошибок. Подробности смотрите в журнале.%1 и ещё %n других файлов не удалось синхронизировать из-за ошибок. Подробности смотрите в журнале.%1 и ещё %n других файлов не удалось синхронизировать из-за ошибок. Подробности смотрите в журнале. - + %1 could not be synced due to an error. See the log for details. %1 не может быть синхронизирован из-за ошибки. Подробности смотрите в журнале. - + Sync Activity Журнал синхронизации - + Could not read system exclude file Невозможно прочесть системный файл исключений - + A new folder larger than %1 MB has been added: %2. Добавлена новая папка «%2», размер которой превышает %1 МБ. - + A folder from an external storage has been added. Добавлена папка внешнего хранилища. - + Please go in the settings to select it if you wish to download it. Чтобы скачать его, перейдите в параметры приложения и отметьте его для синхронизации. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. Создана папка «%1» создана, но ранее она была исключена из синхронизации. Данные внутри этой папки не будут синхронизированы. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. Создан файл «%1», но ранее он был исключён из синхронизации. Этот файл не будет синхронизирован. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -875,7 +875,7 @@ This means that the synchronization client might not upload local changes immedi %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -886,22 +886,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a При выборе «Удалить файлы», файлы станут недоступны, кроме случая, когда вы являетесь их владельцем. - + Download new files? Скачать новые файлы? - + Download new files Загрузка новых файлов - + Keep local files Сохранить локальные файлы - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -910,24 +910,24 @@ If this was an accident and you decide to keep your files, they will be re-synce Если это произошло случайно, и вы решите сохранить файлы, они будут повторно скачаны с сервера. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? Эта синхронизация собирается сбросить файлы в катлоге '%1' в более ранее состояние. Такое может случиться, если на сервере восстановлена резервная копия. Если продолжать синхронизацию как обычно, то ваши файлы будут перетёрты более старыми версиями. Хотите сохранить ваши локальные свежие файлы в качестве конфликтных? - + Backup detected Обнаружена резервная копия - + Normal Synchronisation Обычная синхронизация - + Keep Local Files as Conflict Сохранить локальные файлы как конфликтующие @@ -2257,7 +2257,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database Ошибка записи метаданных в базу данных @@ -2285,32 +2285,32 @@ It is not advisable to use it. Свободного места на диске меньше чем %1 - + File was deleted from server Файл удалён с сервера - + The file could not be downloaded completely. Невозможно полностью загрузить файл. - + The downloaded file is empty despite that the server announced it should have been %1. Скачанный файл пуст, хотя сервер сообщил, что его размер должен составлять %1. - + File %1 cannot be saved because of a local file name clash! Файл «%1» не может быть сохранён по причине локального конфликта имён. - + File has changed since discovery После обнаружения файл был изменен - + Error writing metadata to the database Ошибка записи метаданных в базу данных @@ -2323,7 +2323,7 @@ It is not advisable to use it. ; Восстановление не удалось: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Файл или папка была удалена из доступа только для чтения, восстановление завершилось с ошибкой: %1 @@ -3907,7 +3907,7 @@ It is not advisable to use it. Некоторое время назад - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_sk.ts b/translations/client_sk.ts index d694093d8..0fcbdeb50 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -568,17 +568,17 @@ Prijať - + Synced Zosynchronizované - + Retry all uploads Zopakovať všetky nahrávania - + <br/>Account %1 does not have activities enabled. <br/>Účet %1 nemá zapnuté aktivity. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Chyba pri zápise metadát do databázy @@ -750,120 +750,120 @@ %1 nie je čitateľný. - + %1 has been removed. %1 names a file. %1 bol zmazaný. - + %1 has been downloaded. %1 names a file. %1 bol stiahnutý. - + %1 has been updated. %1 names a file. %1 bol aktualizovaný. - + %1 has been renamed to %2. %1 and %2 name files. %1 bol premenovaný na %2. - + %1 has been moved to %2. %1 bol presunutý do %2. - + %1 and %n other file(s) have been removed. %1 a %n iný súbor bol odstránený.%1 a %n iné súbory boli odstránené.%1 a %n iných súborov bolo odstránených.%1 a %n iných súborov bolo odstránených. - + %1 and %n other file(s) have been downloaded. %1 a %n iný súbor bol stiahnutý.%1 a %n iné súbory boli stiahnuté.%1 a %n iných súborov bolo stiahnutých.%1 a %n iných súborov bolo stiahnutých. - + %1 and %n other file(s) have been updated. %1 a %n iný súbor bol nahratý.%1 a %n iné súbory boli nahraté.%1 a %n iných súborov bolo nahratých.%1 a %n iných súborov bolo nahratých. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 bol premenovaný na %2 a %n iný súbor bol premenovaný.%1 bol premenovaný na %2 a %n iné súbory boli premenované.%1 bol premenovaný na %2 a %n iných súborov bolo premenovaných.%1 bol premenovaný na %2 a %n iných súborov bolo premenovaných. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 bol presunuý do %2 a %n iných súbor bol presunutý.%1 bol presunuý do %2 a %n iné súbory boli presunuté.%1 bol presunuý do %2 a %n iných súborov bolo presunutých.%1 bol presunuý do %2 a %n iných súborov bolo presunutých. - + %1 has and %n other file(s) have sync conflicts. %1 má a %n iný súbor má synchronizačný konflikt.%1 má a %n iné súbory majú synchronizačný konflikt.%1 má a %n iných súborov má synchronizačný konflikt.%1 má a %n iných súborov má synchronizačný konflikt. - + %1 has a sync conflict. Please check the conflict file! %1 má synchronizačný konflikt. Prosím skontrolujte konfliktný súbor! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 a %n iný súbor nie je možné synchronizovať kvôli chybe. Skontrolujte log pre podrobnosti.%1 a %n iné súbory nie je možné synchronizovať kvôli chybe. Skontrolujte log pre podrobnosti.%1 a %n iných súborov nie je možné synchronizovať kvôli chybe. Skontrolujte log pre podrobnosti.%1 a %n iných súborov nie je možné synchronizovať kvôli chybe. Skontrolujte log pre podrobnosti. - + %1 could not be synced due to an error. See the log for details. %1 nemôže byť synchronizovaný kvôli chybe. Pozrite sa do logu pre podrobnosti. - + Sync Activity Aktivita synchronizácie - + Could not read system exclude file Nemožno čítať systémový exclude file - + A new folder larger than %1 MB has been added: %2. Bol pridaný nový priečinok väčší ako %1 MB: %2. - + A folder from an external storage has been added. Bol pridaný priečinok z externého úložiska. - + Please go in the settings to select it if you wish to download it. Ak si to prajete prevziať, tak prejdite do nastavení a vyberte to. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. Priečinok %1 bol vytvorený, ale bol už skôr vylúčený zo synchronizácie. Nebude preto synchronizovaný. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. Súbor %1 bol vytvorený, ale bol už skôr vylúčený zo synchronizácie. Nebude preto synchronizovaný. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -876,7 +876,7 @@ To znamená, že klient synchronizácie nemusí okamžite odovzdať lokálne zme % 1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -884,22 +884,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? Stiahnuť nové súbory? - + Download new files Stiahnuť nové súbory - + Keep local files Ponechať lokálne súbory - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -908,24 +908,24 @@ Ste si istí, že chcete tieto akcie synchronizovať so serverom? Ak to bol omyl a chcete si tieto súbory ponechať, budú opäť synchronizované zo servera. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Záloha je dostupná - + Normal Synchronisation Bežná synchronizácia - + Keep Local Files as Conflict Ponechať lokálne súbory ako konfliktné @@ -2256,7 +2256,7 @@ Nie je vhodné ju používať. OCC::PropagateDirectory - + Error writing metadata to the database Chyba pri zápise metadát do databázy @@ -2284,32 +2284,32 @@ Nie je vhodné ju používať. Voľné miesto na disku je menej ako %1 - + File was deleted from server Súbor bol vymazaný zo servera - + The file could not be downloaded completely. Súbor sa nedá stiahnuť úplne. - + The downloaded file is empty despite that the server announced it should have been %1. Prebratý súbor je prázdny napriek tomu, že server oznámil, že mal mať %1. - + File %1 cannot be saved because of a local file name clash! Súbor %1 nie je možné uložiť, pretože jeho názov koliduje s názvom lokálneho súboru! - + File has changed since discovery Súbor sa medzitým zmenil - + Error writing metadata to the database Chyba pri zápise metadát do databázy @@ -2322,7 +2322,7 @@ Nie je vhodné ju používať. ; Obnovenie zlyhalo: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -3906,7 +3906,7 @@ Nie je vhodné ju používať. Pred istým časom - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_sl.ts b/translations/client_sl.ts index 539900265..799238630 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -568,17 +568,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. <br/>Za račun %1 možnosti opravil niso omogočene. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Napaka zapisovanja metapodatkov v podatkovno zbirko @@ -750,120 +750,120 @@ %1 ni mogoče brati. - + %1 has been removed. %1 names a file. Datoteka %1 je odstranjena. - + %1 has been downloaded. %1 names a file. Datoteka %1 je prejeta. - + %1 has been updated. %1 names a file. Datoteka %1 je posodobljena. - + %1 has been renamed to %2. %1 and %2 name files. Datoteka %1 je preimenovana v %2. - + %1 has been moved to %2. Datoteka %1 je premaknjena v %2. - + %1 and %n other file(s) have been removed. Datoteka %1 in še %n druga datoteka je bila izbrisana.Datoteka %1 in še %n drugi datoteki sta bili izbrisani.Datoteka %1 in še %n druge datoteke so bile izbrisane.Datoteka %1 in še %n drugih datotek je bilo izbrisanih. - + %1 and %n other file(s) have been downloaded. Datoteka %1 in še %n druga datoteka je bila shranjena na disk.Datoteka %1 in še %n drugi datoteki sta bili shranjeni na disk.Datoteka %1 in še %n druge datoteke so bile shranjene na disk.Datoteka %1 in še %n drugih datotek je bilo shranjenih na disk. - + %1 and %n other file(s) have been updated. Datoteka %1 in še %n druga datoteka je bila posodobljena.Datoteka %1 in še %n drugi datoteki sta bili posodobljeni.Datoteka %1 in še %n druge datoteke so bile posodobljene.Datoteka %1 in še %n drugih datotek je bilo posodobljenih. - + %1 has been renamed to %2 and %n other file(s) have been renamed. Datoteka %1 je bila preimenovana v %2 in še %n druga datoteka je bila preimenovana.Datoteka %1 je bila preimenovana v %2 in še %n drugi datoteki sta bili preimenovani.Datoteka %1 je bila preimenovana v %2 in še %n druge datoteke so bile preimenovane.Datoteka %1 je bila preimenovana v %2 in še %n drugih datotek je bilo preimenovanih. - + %1 has been moved to %2 and %n other file(s) have been moved. Datoteka %1 je bila premaknjena v %2 in še %n druga datoteka je bila premaknjena.Datoteka %1 je bila premaknjena v %2 in še %n drugi datoteki sta bili premaknjeni.Datoteka %1 je bila premaknjena v %2 in še %n druge datoteke so bile premaknjene.Datoteka %1 je bila premaknjena v %2 in še %n drugih datotek je bilo premaknjenih. - + %1 has and %n other file(s) have sync conflicts. Pri datoteki %1 in še %n drugi datoteki je zaznan spor usklajevanja.Pri datoteki %1 in še %n drugih datotekah je zaznan spor usklajevanja.Pri datoteki %1 in še %n drugih datotekah je zaznan spor usklajevanja.Pri datoteki %1 in še %n drugih datotekah je zaznan spor usklajevanja. - + %1 has a sync conflict. Please check the conflict file! Pri datoteki %1 je zaznan spor usklajevanja. Preverite datoteko! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. Datoteke %1 in še %n druge datoteke ni mogoče uskladiti zaradi napak. Podrobnosti so zapisane v dnevniški datoteki.Datoteke %1 in še %n drugih datotek ni mogoče uskladiti zaradi napak. Podrobnosti so zapisane v dnevniški datoteki.Datoteke %1 in še %n drugih datotek ni mogoče uskladiti zaradi napak. Podrobnosti so zapisane v dnevniški datoteki.Datoteke %1 in še %n drugih datotek ni mogoče uskladiti zaradi napak. Podrobnosti so zapisane v dnevniški datoteki. - + %1 could not be synced due to an error. See the log for details. Datoteke %1 zaradi napake ni mogoče uskladiti. Več podrobnosti je zabeleženih v dnevniški datoteki. - + Sync Activity Dejavnost usklajevanja - + Could not read system exclude file Ni mogoče prebrati sistemske izločitvene datoteke - + A new folder larger than %1 MB has been added: %2. Dodana je nova mapa, ki presega %1 MB: %2. - + A folder from an external storage has been added. Dodana je mapa iz zunanje shrambe. - + Please go in the settings to select it if you wish to download it. Med nastavitvami jo lahko izberete in označite za prejem. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -904,7 +904,7 @@ Ali ste prepričani, da želite posodobiti spremembe s strežnikom? Če je prišlo do napake in se odločite datoteke ohraniti, bodo te ponovno usklajene s strežnika. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -913,17 +913,17 @@ To se lahko zgodi, če je na strežniku na primer obnovljena varnostna kopija. Z nadaljevanjem usklajevanja bodo vse trenutne datoteke prepisane s starejšimi različicami. Ali želite ohraniti trenutne krajevne datoteke kot preimenovane datoteke v usklajevalnem sporu? - + Backup detected Varnostna kopija je zaznana - + Normal Synchronisation Običajno usklajevanje - + Keep Local Files as Conflict Ohrani krajevne datoteke kot datoteke v sporu @@ -2252,7 +2252,7 @@ Uporaba ni priporočljiva. OCC::PropagateDirectory - + Error writing metadata to the database Napaka zapisovanja metapodatkov v podatkovno zbirko @@ -2280,32 +2280,32 @@ Uporaba ni priporočljiva. Na disku je prostora manj kot %1 - + File was deleted from server Datoteka je izbrisana s strežnika - + The file could not be downloaded completely. Datoteke ni mogoče prejeti v celoti. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! Datoteke %1 ni mogoče shraniti zaradi neskladja z imenom obstoječe datoteke! - + File has changed since discovery Datoteka je bila spremenjena po usklajevanju seznama datotek - + Error writing metadata to the database Napaka zapisovanja metapodatkov v podatkovno zbirko @@ -2318,7 +2318,7 @@ Uporaba ni priporočljiva. ; obnovitev je spodletela: %1 - + A file or folder 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 @@ -3902,7 +3902,7 @@ Uporaba ni priporočljiva. Pred nekaj časa - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_sr.ts b/translations/client_sr.ts index e0ac81ee8..7110883fb 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -568,17 +568,17 @@ Прихвати - + Synced Синхронизовано - + Retry all uploads Понови сва отпремања - + <br/>Account %1 does not have activities enabled. <br/>Налог %1 нема укључене активности. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Грешка приликом уписивања метаподатака у базу @@ -750,120 +750,120 @@ %1 није читљив. - + %1 has been removed. %1 names a file. %1 је уклоњен. - + %1 has been downloaded. %1 names a file. %1 је преузет. - + %1 has been updated. %1 names a file. %1 је ажуриран. - + %1 has been renamed to %2. %1 and %2 name files. %1 је преименован у %2. - + %1 has been moved to %2. %1 је премештен у %2. - + %1 and %n other file(s) have been removed. %1 и још %n други фајл је уклоњен.%1 и још %n друга фајла су уклоњени.%1 и још %n других фајлова су уклоњени. - + %1 and %n other file(s) have been downloaded. %1 и још %n други фајл је преузет.%1 и још %n друга фајла су преузети.%1 и још %n других фајлова су преузети. - + %1 and %n other file(s) have been updated. %1 и још %n други фајл је ажуриран.%1 и још %n друга фајла су ажурирани.%1 и још %n других фајлова су ажурирани. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 је преименован у %2, а још %n фајл је такође преименован.%1 је преименован у %2, а још %n фајла су такође преименована.%1 је преименован у %2, а још %n фајлова је такође преименовано. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 је померен у %2, а још %n фајл је такође померен.%1 је померен у %2, а још %n фајла су такође померена.%1 је померен у %2, а још %n фајлова је такође померено. - + %1 has and %n other file(s) have sync conflicts. %1 и још %n фајл имају конфликте.%1 и још %n друга фајла имају конфликте.%1 и још %n других фајлова имају конфликте. - + %1 has a sync conflict. Please check the conflict file! %1 има конфликт приликом синхронизације. Проверите конфликтни фајл! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 и још %n фајл није синхронизован због грешке. Погледајте записник за детаље.%1 и још %n фајла нису синхронизовани због грешке. Погледајте записник за детаље.%1 и још %n фајлова нису синхронизовани због грешке. Погледајте записник за детаље. - + %1 could not be synced due to an error. See the log for details. %1 није синхронизован због грешке. Погледајте записник за детаље. - + Sync Activity Активност синхронизације - + Could not read system exclude file Не могу да прочитам системски списак за игнорисање - + A new folder larger than %1 MB has been added: %2. Додата је нова фасцикла већа од %1 MB: %2. - + A folder from an external storage has been added. Додата је фасцикла са спољног складишта. - + Please go in the settings to select it if you wish to download it. Идите у поставке и означите ако желите да ја преузмете. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. Фасцикла %1 је креирана, али је још раније искључена из синхронизације. Подаци унутар ње неће бити синхронизовани. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. Фајл %1 је креиран, али је још раније искључен из синхронизације. Неће бити синхронизован. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -876,7 +876,7 @@ This means that the synchronization client might not upload local changes immedi %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -887,22 +887,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a Ако одлучите да обришете фајлове, они ће Вам постати недоступни, осим ако нисте власник. - + Download new files? Преузети нове фајлове? - + Download new files Преузми нове фајлове - + Keep local files Задржи локалне фајлове - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -911,7 +911,7 @@ If this was an accident and you decide to keep your files, they will be re-synce Ако је ово била грешка и желите да задржите фајлове, они ће се поновно синхронизовати са сервера. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -920,17 +920,17 @@ Continuing the sync as normal will cause all your files to be overwritten by an Ако наставите синхронизацију, сви Ваши фајлови ће бити преписани са старијим фајловима из старијег стања. Да ли желите да задржите Ваше најскорије локалне фајлове као конфликтне фајлове? - + Backup detected Детектован бекап - + Normal Synchronisation Нормална синхронизација - + Keep Local Files as Conflict Чувај локалне фајлове као конфликтне @@ -2263,7 +2263,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database Грешка приликом упису мета података у базу података @@ -2291,32 +2291,32 @@ It is not advisable to use it. Слободан простор на диску је мањи од %1 - + File was deleted from server Фајл је обрисан са сервера - + The file could not be downloaded completely. Фајл није могао бити преузет у потпуности. - + The downloaded file is empty despite that the server announced it should have been %1. Преузети фајл је празан иако је сервер рекао да треба да је %1. - + File %1 cannot be saved because of a local file name clash! Фајл %1 се не може сачувати јер се судара са називом локалног фајла! - + File has changed since discovery Фајл је измењен у међувремену - + Error writing metadata to the database Грешка приликом упису мета података у базу података @@ -2329,7 +2329,7 @@ It is not advisable to use it. ; Враћање није успело: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Фајл или фасцикла је уклоњена из дељења које је само за читање, али повраћај није успео: %1 @@ -3913,7 +3913,7 @@ It is not advisable to use it. пре неког времена - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 0b5bf5b0a..1db4c707f 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -568,17 +568,17 @@ Acceptera - + Synced Synkroniserad - + Retry all uploads Försök ladda upp igen - + <br/>Account %1 does not have activities enabled. <br/>Kontot %1 har inte aktiviteter aktiverade @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Fel vid skrivning av metadata till databasen @@ -750,120 +750,120 @@ %1 är inte läsbar. - + %1 has been removed. %1 names a file. %1 har tagits bort. - + %1 has been downloaded. %1 names a file. %1 har laddats ned. - + %1 has been updated. %1 names a file. %1 har uppdaterats. - + %1 has been renamed to %2. %1 and %2 name files. %1 har döpts om till %2. - + %1 has been moved to %2. %1 har flyttats till %2. - + %1 and %n other file(s) have been removed. %1 och %n andra filer har tagits bort.%1 och %n andra filer har tagits bort. - + %1 and %n other file(s) have been downloaded. %1 och %n andra filer har laddats ner.%1 och %n andra filer har laddats ned. - + %1 and %n other file(s) have been updated. %1 och %n andra filer har uppdaterats.%1 och %n andra filer har uppdaterats. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 har döpts om till %2 och %n andra filer har döpts om.%1 har döpts om till %2 och %n andra filer har döpts om. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 har flyttats till %2 och %n andra filer har flyttats.%1 har flyttats till %2 och %n andra filer har flyttats. - + %1 has and %n other file(s) have sync conflicts. %1 och %n andra filer har synk-konflikter.%1 och %n andra filer har synk-konflikter. - + %1 has a sync conflict. Please check the conflict file! %1 har en synk-konflikt. Vänligen kontrollera konfliktfilen! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 och %n andra filer kunde inte synkas på grund av fel. Se loggen för detaljer.%1 och %n andra filer kunde inte synkas på grund av fel. Se loggen för detaljer. - + %1 could not be synced due to an error. See the log for details. %1 kunde inte synkroniseras på grund av ett fel. Kolla loggen för ytterligare detaljer. - + Sync Activity Synk aktivitet - + Could not read system exclude file Kunde inte läsa systemets exkluderings-fil - + A new folder larger than %1 MB has been added: %2. En ny mapp större än %1 MB har lagts till: %2. - + A folder from an external storage has been added. En mapp från en extern lagringsyta har lagts till. - + Please go in the settings to select it if you wish to download it. Vänligen gå till inställningar och välj den om du önskar att ladda ned den. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. Mappen %1 skapades men var tidigare exkluderad från synkronisering. Data i denna mapp kommer inte att synkroniseras. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. Filen %1 skapades men var tidigare exkluderad från synkronisering. Den kommer inte att synkroniseras. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -876,7 +876,7 @@ Det betyder att synkroniseringsklienten inte kan ladda upp lokala ändringar ome %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -887,22 +887,22 @@ Om du vill behålla dessa filer kommer de att synkroniseras till servern på nyt Om du raderar filerna kommer de att vara otillgängliga för dig, om du inte är ägaren. - + Download new files? Ladda ned nya filer? - + Download new files Ladda ned nya filer - + Keep local files Behåll lokala filer - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -911,7 +911,7 @@ If this was an accident and you decide to keep your files, they will be re-synce Om detta var ett misstag och du vill behålla dina filer, kommer de att synkroniseras på nytt från servern. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -920,17 +920,17 @@ Detta kan vara för att en säkerhetskopia har återställts på servern. Om du fortsätter synkningen kommer alla dina filer återställas med en äldre version av filen. Vill du behålla dina nyare lokala filer som konfliktfiler? - + Backup detected Backup upptäckt - + Normal Synchronisation Normal synkronisation - + Keep Local Files as Conflict Behåll lokala filer som konflikt @@ -2263,7 +2263,7 @@ Det är inte lämpligt använda den. OCC::PropagateDirectory - + Error writing metadata to the database Fel vid skrivning av metadata till databasen @@ -2291,32 +2291,32 @@ Det är inte lämpligt använda den. Ledigt utrymme är under %1 - + File was deleted from server Filen har tagits bort från servern - + The file could not be downloaded completely. Filen kunde inte laddas ned fullständigt. - + The downloaded file is empty despite that the server announced it should have been %1. Den nedladdade filen är tom men servern sa att den skulle vara %1. - + File %1 cannot be saved because of a local file name clash! Fil %1 kan inte sparas eftersom namnet krockar med en lokal fil! - + File has changed since discovery Filen har ändrats sedan upptäckten - + Error writing metadata to the database Fel vid skrivning av metadata till databasen @@ -2329,7 +2329,7 @@ Det är inte lämpligt använda den. ; Återställning misslyckades: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 En fil eller mapp togs bort från en skrivskyddad delning, men återställning misslyckades: %1 @@ -3913,7 +3913,7 @@ Det är inte lämpligt använda den. En stund sedan - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_th.ts b/translations/client_th.ts index ea531f420..92647ec73 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -568,17 +568,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. <br />บัญชี %1 ไม่มีกิจกรรมที่เปิดใช้งาน @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database ข้อผิดพลาดในการเขียนข้อมูลเมตาไปยังฐานข้อมูล @@ -750,120 +750,120 @@ ไม่สามารถอ่านข้อมูล %1 ได้ - + %1 has been removed. %1 names a file. %1 ได้ถูกลบออก - + %1 has been downloaded. %1 names a file. %1 ได้ถูกดาวน์โหลด - + %1 has been updated. %1 names a file. %1 ได้ถูกอัพเดทเรียบร้อยแล้ว - + %1 has been renamed to %2. %1 and %2 name files. %1 ได้ถูกเปลี่ยนชื่อเป็น %2 - + %1 has been moved to %2. %1 ได้ถูกย้ายไปยัง %2 - + %1 and %n other file(s) have been removed. %1 และ %n ไฟล์อื่นๆได้ถูกลบออก - + %1 and %n other file(s) have been downloaded. %1 และ %n ไฟล์อื่นๆ ได้ถูกดาวน์โหลดเรียบร้อยแล้ว - + %1 and %n other file(s) have been updated. %1 และ %n ไฟล์อื่นๆ ได้รับการอัพเดท - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 และไฟล์อื่นๆอีก %n ไฟล์ได้ถูกเปลี่ยนชื่อเป็น %2 - + %1 has been moved to %2 and %n other file(s) have been moved. %1 และไฟล์อื่นๆอีก %n ไฟล์ได้ถูกย้ายไปยัง %2 - + %1 has and %n other file(s) have sync conflicts. %1 และ %n ไฟล์อื่นๆ เกิดปัญหาขณะประสานข้อมูล - + %1 has a sync conflict. Please check the conflict file! %1 มีปัญหาขณะประสานข้อมูล กรุณาตรวจสอบไฟล์ที่มีปัญหานั้น - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 และไฟล์อื่นๆอีก %n ไฟล์ไม่สามารถประสานข้อมูลเนื่องจากเกิดข้อผิดพลาด กรุณาดูไฟล์ log สำหรับรายละเอียดเพิ่มเติม - + %1 could not be synced due to an error. See the log for details. %1 ไม่สามารถประสานข้อมูลเนื่องจากมีข้อผิดพลาด สามารถดูไฟล์ log สำหรับรายละเอียดเพิ่มเติม - + Sync Activity ความเคลื่อนไหวของการประสานข้อมูล - + Could not read system exclude file ไม่สามารถอ่าน ยกเว้นไฟล์ระบบ - + A new folder larger than %1 MB has been added: %2. โฟลเดอร์ใหม่มีขนาดใหญ่กว่า %1 เมกะไบต์ ได้ถูกเพิ่ม: %2 - + A folder from an external storage has been added. โฟลเดอร์ที่มีพื้นที่จัดเก็บข้อมูลภายนอกได้ถูกเพิ่ม - + Please go in the settings to select it if you wish to download it. กรุณาไปในส่วนของการตั้งค่าเพื่อเลือก ถ้าคุณต้องการจะดาวน์โหลด - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -872,7 +872,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -880,22 +880,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -905,7 +905,7 @@ If this was an accident and you decide to keep your files, they will be re-synce ถ้าเรื่องนี้เป็นอุบัติเหตุและคุณตัดสินใจที่จะเก็บไฟล์ของคุณ ไฟล์ของคุณก็จะถูกประสานข้อมูลใหม่อีกครั้ง - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -914,17 +914,17 @@ Continuing the sync as normal will cause all your files to be overwritten by an ไฟล์ปัจจุบันของคุณทั้งหมดจะถูกเขียนทับด้วยไฟล์เก่า คุณต้องการเก็บไฟล์ไว้? - + Backup detected ตรวจพบการสำรองข้อมูล - + Normal Synchronisation ประสานข้อมูลปกติ - + Keep Local Files as Conflict เก็บไฟล์ต้นทางเป็นไฟล์ที่มีปัญหา @@ -2252,7 +2252,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database ข้อผิดพลาดในการเขียนข้อมูลเมตาไปยังฐานข้อมูล @@ -2280,32 +2280,32 @@ It is not advisable to use it. พื้นที่ว่างในดิสก์น้อยกว่า %1 - + File was deleted from server ไฟล์ถูกลบออกจากเซิร์ฟเวอร์ - + The file could not be downloaded completely. ดาวน์โหลดไฟล์ไม่สำเร็จ - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! ไฟล์ %1 ไม่สามารถบันทึกได้เพราะชื่อไฟล์ต้นทางเหมือนกัน! - + File has changed since discovery ไฟล์มีการเปลี่ยนแปลงตั้งแต่ถูกพบ - + Error writing metadata to the database ข้อผิดพลาดในการเขียนข้อมูลเมตาไปยังฐานข้อมูล @@ -2318,7 +2318,7 @@ It is not advisable to use it. ; ฟื้นฟูล้มเหลว: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 ไฟล์หรือโฟลเดอร์ที่ถูกลบออกจากส่วนการอ่านเพียงอย่างเดียว แต่ล้มเหลวในการฟื้นฟู: %1 @@ -3901,7 +3901,7 @@ It is not advisable to use it. บางเวลาที่ผ่านมา - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_tr.ts b/translations/client_tr.ts index 51a0880b7..c23c54eb1 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -568,17 +568,17 @@ Onayla - + Synced Eşitlenmiş - + Retry all uploads Tüm yüklemeleri yinele - + <br/>Account %1 does not have activities enabled. <br/>%1 hesabının etkinleştirilmiş bir işlemi yok. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Üst veri veritabanına yazılırken sorun çıktı @@ -750,120 +750,120 @@ %1 okunabilir değil. - + %1 has been removed. %1 names a file. %1 kaldırıldı. - + %1 has been downloaded. %1 names a file. %1 indirildi. - + %1 has been updated. %1 names a file. %1 güncellendi. - + %1 has been renamed to %2. %1 and %2 name files. %1, %2 olarak adlandırıldı. - + %1 has been moved to %2. %1, %2 konumuna taşındı. - + %1 and %n other file(s) have been removed. %1 ve diğer %n dosya kaldırıldı.%1 ve diğer %n dosya kaldırıldı. - + %1 and %n other file(s) have been downloaded. %1 ve diğer %n dosya indirildi.%1 ve diğer %n dosya indirildi. - + %1 and %n other file(s) have been updated. %1 ve diğer %n dosya güncellendi.%1 ve diğer %n dosya güncellendi. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1, %2 olarak yeniden adlandırıldı ve diğer %n dosyanın adı değiştirildi.%1, %2 olarak yeniden adlandırıldı ve diğer %n dosyanın adı değiştirildi. - + %1 has been moved to %2 and %n other file(s) have been moved. %1, %2 konumuna taşındı ve diğer %n dosya taşındı.%1, %2 konumuna taşındı ve diğer %n dosya taşındı. - + %1 has and %n other file(s) have sync conflicts. %1 ve diğer %n dosya için eşitleme çakışması var.%1 ve diğer %n dosya için eşitleme çakışması var. - + %1 has a sync conflict. Please check the conflict file! %1 için eşitleme çakışması var. Lütfen çakışan dosyayı denetleyin! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 ve diğer %n dosya sorunlar nedeniyle eşitlenemedi. Ayrıntılı bilgi almak için günlük dosyasına bakın.%1 ve diğer %n dosya sorunlar nedeniyle eşitlenemedi. Ayrıntılı bilgi almak için günlük dosyasına bakabilirsiniz. - + %1 could not be synced due to an error. See the log for details. %1 bir sorun nedeniyle eşitlenemedi. Ayrıntılı bilgi almak için günlük dosyasına bakabilirsiniz. - + Sync Activity Eşitleme İşlemi - + Could not read system exclude file Sistem katılmayacaklar dosyası okunamadı - + A new folder larger than %1 MB has been added: %2. %1 MB boyutundan büyük yeni bir klasör eklendi: %2. - + A folder from an external storage has been added. Dış depolama alanından bir klasör eklendi. - + Please go in the settings to select it if you wish to download it. İndirmek istiyorsanız seçmek için lütfen ayarlar bölümüne gidin. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. %1 klasörü oluşturulmuş ancak daha önce eşitleme dışı bırakılmış. Bu klasördeki veriler eşitlenmeyecek. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. %1 dosyası oluşturulmuş ancak daha önce eşitleme dışı bırakılmış. Bu dosyadaki veriler eşitlenmeyecek. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -874,7 +874,7 @@ This means that the synchronization client might not upload local changes immedi Bunun sonucunda eşitleme istemcisi yerel değişiklikleri anında yükleyemez. Onun yerine yalnız yerel değişiklikleri tarar ve aralıklarla yükler (varsayılan olarak iki saatte bir). - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -885,22 +885,22 @@ Bu dosyaları tutmak isterseniz ve yeterli izinleriniz varsa sunucu ile yeniden Bu dosyaları silmek isterseniz ve sahibi değilseniz artık erişemeyeceksiniz. - + Download new files? Yeni dosyalar indirilsin mi? - + Download new files Yeni dosyaları indir - + Keep local files Yerel dosyalar korunsun - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -910,7 +910,7 @@ Sunucuda bu eşitleme işlemlerinin yapılmasını istediğinizden emin misiniz? Bu işlemi yanlışlıkla yaptıysanız ve dosyalarınızı korumak istiyorsanız dosyalar sunucudan yeniden eşitlenecek. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -919,17 +919,17 @@ Bunun nedeni sunucuya bir yedeğin geri yüklenmiş olması olabilir. Eşitlemeye normal şekilde devam edilirse tüm dosyalar daha eski bir dosya ile değiştirilebilir. Çakışma için daha yeni yerel dosyaları korumak ister misiniz? - + Backup detected Yedek bulundu - + Normal Synchronisation Normal Eşitleme - + Keep Local Files as Conflict Çakıştığında Yerel Dosyalar Korunsun @@ -2262,7 +2262,7 @@ Kullanmanız önerilmez. OCC::PropagateDirectory - + Error writing metadata to the database Üst veri veritabanına yazılırken sorun çıktı @@ -2290,32 +2290,32 @@ Kullanmanız önerilmez. Boş disk alanı %1 değerinin altında - + File was deleted from server Dosya sunucudan silindi - + The file could not be downloaded completely. Dosya tam olarak indirilemedi. - + The downloaded file is empty despite that the server announced it should have been %1. Sunucu tarafından boyutu %1 olarak bildirilmesine rağmen indirilen dosya boş. - + File %1 cannot be saved because of a local file name clash! %1 dosyası, adının yerel bir dosya ile çakışması nedeniyle kaydedilemedi! - + File has changed since discovery Dosya taramadan sonra değiştirilmiş - + Error writing metadata to the database Üst veri veritabanına yazılırken sorun çıktı @@ -2328,7 +2328,7 @@ Kullanmanız önerilmez. ; Geri Yüklenemedi: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 Bir dosya ya da klasör salt okunur bir paylaşımdan kaldırılmış ancak geri yüklenemedi: %1 @@ -3912,7 +3912,7 @@ Kullanmanız önerilmez. Bir süre önce - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_uk.ts b/translations/client_uk.ts index ae385a575..02ae00360 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -568,17 +568,17 @@ Прийняти - + Synced Синхронізовано - + Retry all uploads Повторно завантажити все - + <br/>Account %1 does not have activities enabled. @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database @@ -750,118 +750,118 @@ %1 не читається. - + %1 has been removed. %1 names a file. %1 видалено. - + %1 has been downloaded. %1 names a file. %1 завантажено. - + %1 has been updated. %1 names a file. %1 оновлено. - + %1 has been renamed to %2. %1 and %2 name files. %1 перейменовано на %2 - + %1 has been moved to %2. %1 переміщено в %2. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. %1 не може синхронізуватися через помилки. Дивіться деталі в журналі. - + Sync Activity Журнал синхронізації - + Could not read system exclude file Неможливо прочитати виключений системний файл - + A new folder larger than %1 MB has been added: %2. - + A folder from an external storage has been added. - + Please go in the settings to select it if you wish to download it. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -870,7 +870,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -878,46 +878,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? Звантажити нові файли? - + Download new files Звантажити нові файли - + Keep local files Зберегти локальні файли - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Резервну копію знайдено - + Normal Synchronisation - + Keep Local Files as Conflict @@ -2243,7 +2243,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database @@ -2271,32 +2271,32 @@ It is not advisable to use it. - + File was deleted from server Файл видалено з сервера - + The file could not be downloaded completely. Файл не може бути завантажений повністю. - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! Файл %1 не збережено через локальний конфлікт назви файлу! - + File has changed since discovery Файл змінився з моменту знаходження - + Error writing metadata to the database @@ -2309,7 +2309,7 @@ It is not advisable to use it. ; Відновлення не вдалося: %1 - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -3893,7 +3893,7 @@ It is not advisable to use it. Деякий час тому - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index 94e04065a..1420c9cd7 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -568,17 +568,17 @@ 接受 - + Synced 已同步 - + Retry all uploads 重试所有上传 - + <br/>Account %1 does not have activities enabled. <br/>帐户%1没有同步活动。 @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database 向数据库写入元数据错误 @@ -750,120 +750,120 @@ %1 不可读。 - + %1 has been removed. %1 names a file. %1 已移除。 - + %1 has been downloaded. %1 names a file. %1 已下载。 - + %1 has been updated. %1 names a file. %1 已更新。 - + %1 has been renamed to %2. %1 and %2 name files. %1 已更名为 %2。 - + %1 has been moved to %2. %1 已移动至 %2。 - + %1 and %n other file(s) have been removed. %1 和 %n 其它文件已被移除。 - + %1 and %n other file(s) have been downloaded. %1 和 %n 其它文件已下载。 - + %1 and %n other file(s) have been updated. %1 和 %n 其它文件已更新。 - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 已经更名为 %2,其它 %3 文件也已更名。 - + %1 has been moved to %2 and %n other file(s) have been moved. %1 已移动到 %2,其它 %3 文件也已移动。 - + %1 has and %n other file(s) have sync conflicts. %1 和 %n 其他文件有同步冲突。 - + %1 has a sync conflict. Please check the conflict file! %1 有同步冲突。请检查冲突文件! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 和 %n 其他文件由于错误不能同步。详细信息请查看日志。 - + %1 could not be synced due to an error. See the log for details. %1 同步出错。详情请查看日志。 - + Sync Activity 同步活动 - + Could not read system exclude file 无法读取系统排除的文件 - + A new folder larger than %1 MB has been added: %2. 一个大于 %1 MB 的新文件夹 %2 已被添加。 - + A folder from an external storage has been added. 一个来自外部存储的文件夹已被添加。 - + Please go in the settings to select it if you wish to download it. 如果您想下载,请到设置页面选择它。 - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. 文件夹 %1 已创建但之前被排除出同步过程。文件夹中的数据将不会被同步。 - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. 文件 %1 已创建但之前被排除出同步过程。这个文件将不会被同步。 - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -876,7 +876,7 @@ This means that the synchronization client might not upload local changes immedi %1 - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -887,22 +887,22 @@ If you decide to delete the files, they will be unavailable to you, unless you a 如果您决定删除这些文件,它们将被清空,除非您是文件拥有者。 - + Download new files? 下载新文件? - + Download new files 下载新文件? - + Keep local files 保持本地文件 - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. @@ -911,7 +911,7 @@ If this was an accident and you decide to keep your files, they will be re-synce 如果这是一个意外而您想要保留这些文件,他们会被重新从服务器同步过来。 - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -920,17 +920,17 @@ Continuing the sync as normal will cause all your files to be overwritten by an 继续正常同步将导致您全部文件被更早状态的旧文件覆盖。您想要保留冲突文件的本地最新版本吗? - + Backup detected 备份已删除 - + Normal Synchronisation 正常同步 - + Keep Local Files as Conflict 保留本地文件为冲突文件 @@ -2261,7 +2261,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database 向数据库写入元数据错误 @@ -2289,32 +2289,32 @@ It is not advisable to use it. 空闲磁盘空间少于 %1 - + File was deleted from server 已从服务器删除文件 - + The file could not be downloaded completely. 文件无法完整下载。 - + The downloaded file is empty despite that the server announced it should have been %1. 虽然服务器宣称已完成 %1,但实际下载文件为空。 - + File %1 cannot be saved because of a local file name clash! 由于本地文件名冲突,文件 %1 无法保存。 - + File has changed since discovery 自从发现文件以来,它已经被改变了 - + Error writing metadata to the database 向数据库写入元数据错误 @@ -2327,7 +2327,7 @@ It is not advisable to use it. ;恢复失败:%1 - + A file or folder was removed from a read only share, but restoring failed: %1 文件(夹)移除了只读共享,但恢复失败:%1 @@ -3911,7 +3911,7 @@ It is not advisable to use it. 之前 - + %1: %2 this displays an error string (%2) for a file %1 %1:%2 diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index 8dd5ce71a..20c68d636 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -568,17 +568,17 @@ - + Synced - + Retry all uploads - + <br/>Account %1 does not have activities enabled. <br/> 帳號 %1 尚未啟用紀錄行為功能 @@ -665,7 +665,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database 寫入後設資料(metadata) 時發生錯誤 @@ -750,118 +750,118 @@ %1 是不可讀的 - + %1 has been removed. %1 names a file. %1 已被移除。 - + %1 has been downloaded. %1 names a file. %1 已被下載。 - + %1 has been updated. %1 names a file. %1 已被更新。 - + %1 has been renamed to %2. %1 and %2 name files. %1 已被重新命名為 %2。 - + %1 has been moved to %2. %1 已被搬移至 %2。 - + %1 and %n other file(s) have been removed. %1 跟 %n 其他檔案已經被刪除 - + %1 and %n other file(s) have been downloaded. %1 跟 %n 其他檔案已經被下載 - + %1 and %n other file(s) have been updated. %1 跟 %n 其他檔案已經被修改 - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. %1 因為錯誤無法被同步。請從紀錄檔觀看細節。 - + Sync Activity 同步活動 - + Could not read system exclude file 無法讀取系統的排除檔案 - + A new folder larger than %1 MB has been added: %2. - + A folder from an external storage has been added. - + Please go in the settings to select it if you wish to download it. - + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + Changes in synchronized folders could not be tracked reliably. This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). @@ -870,7 +870,7 @@ This means that the synchronization client might not upload local changes immedi - + All files in the sync folder '%1' folder were deleted on the server. These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. @@ -878,46 +878,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a - + Download new files? - + Download new files - + Keep local files 保留本地檔案 - + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected - + Normal Synchronisation - + Keep Local Files as Conflict @@ -2246,7 +2246,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database 寫入後設資料(metadata) 時發生錯誤 @@ -2274,32 +2274,32 @@ It is not advisable to use it. 可用的硬碟空間已經少於 %1 - + File was deleted from server 檔案已從伺服器被刪除 - + The file could not be downloaded completely. 檔案下載無法完成。 - + The downloaded file is empty despite that the server announced it should have been %1. - + File %1 cannot be saved because of a local file name clash! 檔案 %1 無法存檔,因為本地端的檔案名稱已毀損! - + File has changed since discovery 尋找的過程中檔案已經被更改 - + Error writing metadata to the database 寫入後設資料(metadata) 時發生錯誤 @@ -2312,7 +2312,7 @@ It is not advisable to use it. ; 重新儲存失敗 %1 - + A file or folder was removed from a read only share, but restoring failed: %1 檔案或目錄已經從只供讀取的分享中被移除,但是復原失敗: %1 @@ -3896,7 +3896,7 @@ It is not advisable to use it. 前一段時間 - + %1: %2 this displays an error string (%2) for a file %1 %1: %2 From 048cf3b23e32f485cddd30ab50674d89f5507598 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 16 Jun 2019 02:56:30 +0000 Subject: [PATCH 056/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner From 6ddfc806728ebbddd2cf74b39ce6d43231daa14f Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 17 Jun 2019 02:54:41 +0000 Subject: [PATCH 057/192] [tx-robot] updated from transifex --- translations/client_pt_BR.ts | 2 +- translations/client_sr.ts | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 4a8a2c8c5..8abdf36fa 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -2895,7 +2895,7 @@ Não é aconselhável usá-la. Copy private link to clipboard - Copiar o link privado para a área de transferência + Copiar link privado para a área de transferência diff --git a/translations/client_sr.ts b/translations/client_sr.ts index 7110883fb..443d1fc95 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + Овај налог подржава шифровање са краја на крај Enable encryption - + Укључи шифровање @@ -2854,7 +2854,7 @@ It is not advisable to use it. SSL Cipher Debug View - + SSL Chipher поглед за отклањање грешака @@ -3419,7 +3419,7 @@ It is not advisable to use it. The host "%1" provided an invalid certificate. Continue? - + Сервер „%1“ је понудио неисправан сертификат. Наставити? From de65b6fb7e1a898f5f41768b987521c76bb42cf1 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 18 Jun 2019 02:55:35 +0000 Subject: [PATCH 058/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner From 459a17bd7ebf480df8b811a4761b7fa0e47e187f Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 20 Jun 2019 02:55:55 +0000 Subject: [PATCH 059/192] [tx-robot] updated from transifex --- translations/client_ru.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 233a3bd1a..83cfab4a1 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -2701,7 +2701,7 @@ It is not advisable to use it. TextLabel - TextLabel + Название @@ -3681,7 +3681,7 @@ It is not advisable to use it. TextLabel - TextLabel + Название @@ -3727,7 +3727,7 @@ It is not advisable to use it. pbSelectLocalFolder - pbSelectLocalFolder + pbВыбрать локальную папку @@ -3797,7 +3797,7 @@ It is not advisable to use it. TextLabel - TextLabel + Обозначение @@ -3840,7 +3840,7 @@ It is not advisable to use it. TextLabel - TextLabel + Обозначение @@ -3851,7 +3851,7 @@ It is not advisable to use it. PushButton - PushButton + Клавиша включения From 47ac10fb8ee892e9f5ed8b8325c94de782a19f68 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Fri, 21 Jun 2019 02:54:12 +0000 Subject: [PATCH 060/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_hu.ts | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_hu.ts b/translations/client_hu.ts index 7e43c3432..1763d862a 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + Ez a fiók támogatja a végpontok közötti titkosítást Enable encryption - + Titkosítás engedélyezése @@ -2853,7 +2853,7 @@ Használata nem ajánlott. SSL Cipher Debug View - + SSL titkosítási hibakereső nézet @@ -3418,7 +3418,7 @@ Használata nem ajánlott. The host "%1" provided an invalid certificate. Continue? - + A(z) „%1” kiszolgáló érvénytelen tanúsítványt adott meg. Folytatja? From d6a0a5272a281050d2d0a7caa0f1621e83f705f6 Mon Sep 17 00:00:00 2001 From: Camila San Date: Fri, 21 Jun 2019 18:36:45 +0200 Subject: [PATCH 061/192] Displays the uid_owner of a shared file. Also displays the sharees that reshared it via share link. Signed-off-by: Camila San --- src/gui/sharedialog.cpp | 2 +- src/gui/sharelinkwidget.ui | 252 +++++++++++++++---------------- src/gui/sharemanager.cpp | 22 ++- src/gui/sharemanager.h | 16 ++ src/gui/shareusergroupwidget.cpp | 23 ++- src/gui/shareusergroupwidget.ui | 7 + 6 files changed, 193 insertions(+), 129 deletions(-) diff --git a/src/gui/sharedialog.cpp b/src/gui/sharedialog.cpp index 57126988b..bc45eed20 100644 --- a/src/gui/sharedialog.cpp +++ b/src/gui/sharedialog.cpp @@ -194,7 +194,7 @@ void ShareDialog::slotSharesFetched(const QList> &shares) const QString versionString = _accountState->account()->serverVersion(); qCInfo(lcSharing) << versionString << "Fetched" << shares.count() << "shares"; foreach (auto share, shares) { - if (share->getShareType() != Share::TypeLink) { + if (share->getShareType() != Share::TypeLink || share->getUidOwner() != share->account()->davUser()) { continue; } diff --git a/src/gui/sharelinkwidget.ui b/src/gui/sharelinkwidget.ui index c0b85261f..c2fe47103 100644 --- a/src/gui/sharelinkwidget.ui +++ b/src/gui/sharelinkwidget.ui @@ -7,7 +7,7 @@ 0 0 350 - 136 + 160 @@ -29,6 +29,131 @@ 0 + + + + + 1 + 0 + + + + + + + + + 1 + 0 + + + + Password: + + + 20 + + + + + + + false + + + + :/client/resources/more.svg:/client/resources/more.svg + + + QToolButton::InstantPopup + + + + + + + + + + + + 255 + 0 + 0 + + + + + + + + + 255 + 0 + 0 + + + + + + + + + 123 + 121 + 134 + + + + + + + + TextLabel + + + Qt::PlainText + + + true + + + + + + + + 1 + 0 + + + + QLineEdit::Password + + + + + + + + :/client/resources/confirm.svg:/client/resources/confirm.svg + + + true + + + + + + + + :/client/resources/confirm.svg:/client/resources/confirm.svg + + + true + + + @@ -102,60 +227,6 @@ - - - - false - - - - :/client/resources/more.svg:/client/resources/more.svg - - - QToolButton::InstantPopup - - - - - - - - 1 - 0 - - - - Password: - - - 20 - - - - - - - - 1 - 0 - - - - QLineEdit::Password - - - - - - - - :/client/resources/confirm.svg:/client/resources/confirm.svg - - - true - - - @@ -172,77 +243,6 @@ - - - - - 1 - 0 - - - - - - - - - :/client/resources/confirm.svg:/client/resources/confirm.svg - - - true - - - - - - - - - - - - 255 - 0 - 0 - - - - - - - - - 255 - 0 - 0 - - - - - - - - - 123 - 121 - 134 - - - - - - - - TextLabel - - - Qt::PlainText - - - true - - - diff --git a/src/gui/sharemanager.cpp b/src/gui/sharemanager.cpp index 4bc32182a..1f96f2c6f 100644 --- a/src/gui/sharemanager.cpp +++ b/src/gui/sharemanager.cpp @@ -52,12 +52,16 @@ static void updateFolder(const AccountPtr &account, const QString &path) Share::Share(AccountPtr account, const QString &id, + const QString &uidowner, + const QString &ownerDisplayName, const QString &path, const ShareType shareType, const Permissions permissions, const QSharedPointer shareWith) : _account(account) , _id(id) + , _uidowner(uidowner) + , _ownerDisplayName(ownerDisplayName) , _path(path) , _shareType(shareType) , _permissions(permissions) @@ -80,6 +84,16 @@ QString Share::getId() const return _id; } +QString Share::getUidOwner() const +{ + return _uidowner; +} + +QString Share::getOwnerDisplayName() const +{ + return _ownerDisplayName; +} + Share::ShareType Share::getShareType() const { return _shareType; @@ -153,6 +167,8 @@ bool LinkShare::isPasswordSet() const LinkShare::LinkShare(AccountPtr account, const QString &id, + const QString &uidowner, + const QString &ownerDisplayName, const QString &path, const QString &name, const QString &token, @@ -160,7 +176,7 @@ LinkShare::LinkShare(AccountPtr account, bool passwordSet, const QUrl &url, const QDate &expireDate) - : Share(account, id, path, Share::TypeLink, permissions) + : Share(account, id, uidowner, ownerDisplayName, path, Share::TypeLink, permissions) , _name(name) , _token(token) , _passwordSet(passwordSet) @@ -393,6 +409,8 @@ QSharedPointer ShareManager::parseLinkShare(const QJsonObject &data) return QSharedPointer(new LinkShare(_account, data.value("id").toVariant().toString(), // "id" used to be an integer, support both + data.value("uid_owner").toString(), + data.value("displayname_owner").toString(), data.value("path").toString(), data.value("name").toString(), data.value("token").toString(), @@ -410,6 +428,8 @@ QSharedPointer ShareManager::parseShare(const QJsonObject &data) return QSharedPointer(new Share(_account, data.value("id").toVariant().toString(), // "id" used to be an integer, support both + data.value("uid_owner").toVariant().toString(), + data.value("displayname_owner").toVariant().toString(), data.value("path").toString(), (Share::ShareType)data.value("share_type").toInt(), (Share::Permissions)data.value("permissions").toInt(), diff --git a/src/gui/sharemanager.h b/src/gui/sharemanager.h index 18d060bae..db48771b1 100644 --- a/src/gui/sharemanager.h +++ b/src/gui/sharemanager.h @@ -54,6 +54,8 @@ public: */ explicit Share(AccountPtr account, const QString &id, + const QString &owner, + const QString &ownerDisplayName, const QString &path, const ShareType shareType, const Permissions permissions = SharePermissionDefault, @@ -71,6 +73,16 @@ public: */ QString getId() const; + /* + * Get the uid_owner + */ + QString getUidOwner() const; + + /* + * Get the owner display name + */ + QString getOwnerDisplayName() const; + /* * Get the shareType */ @@ -110,6 +122,8 @@ signals: protected: AccountPtr _account; QString _id; + QString _uidowner; + QString _ownerDisplayName; QString _path; ShareType _shareType; Permissions _permissions; @@ -134,6 +148,8 @@ class LinkShare : public Share public: explicit LinkShare(AccountPtr account, const QString &id, + const QString &uidowner, + const QString &ownerDisplayName, const QString &path, const QString &name, const QString &token, diff --git a/src/gui/shareusergroupwidget.cpp b/src/gui/shareusergroupwidget.cpp index d576b1edb..bb0ebad65 100644 --- a/src/gui/shareusergroupwidget.cpp +++ b/src/gui/shareusergroupwidget.cpp @@ -190,13 +190,23 @@ void ShareUserGroupWidget::slotSharesFetched(const QList> layout->setContentsMargins(0, 0, 0, 0); int x = 0; int height = 0; + QList linkOwners({}); foreach (const auto &share, shares) { // We don't handle link shares, only TypeUser or TypeGroup if (share->getShareType() == Share::TypeLink) { + if(!share->getUidOwner().isEmpty() && + share->getUidOwner() != share->account()->davUser()){ + linkOwners.append(share->getOwnerDisplayName()); + } continue; } + // the owner of the file that shared it first + if(x == 0 && !share->getUidOwner().isEmpty()){ + _ui->mainOwnerLabel->setText(QString("Shared with you by ").append(share->getOwnerDisplayName())); + } + ShareUserLine *s = new ShareUserLine(share, _maxSharingPermissions, _isFile, _parentScrollArea); connect(s, &ShareUserLine::resizeRequested, this, &ShareUserGroupWidget::slotAdjustScrollWidgetSize); connect(s, &ShareUserLine::visualDeletionDone, this, &ShareUserGroupWidget::getShares); @@ -210,7 +220,18 @@ void ShareUserGroupWidget::slotSharesFetched(const QList> } } - scrollArea->setFrameShape(x > 3 ? QFrame::StyledPanel : QFrame::NoFrame); + foreach (const QString &owner, linkOwners) { + auto ownerLabel = new QLabel(QString(owner + " shared via link")); + layout->addWidget(ownerLabel); + ownerLabel->setVisible(true); + + x++; + if (x <= 6) { + height = newViewPort->sizeHint().height(); + } + } + + scrollArea->setFrameShape(x > 6 ? QFrame::StyledPanel : QFrame::NoFrame); scrollArea->setVisible(!shares.isEmpty()); scrollArea->setFixedHeight(height); scrollArea->setWidget(newViewPort); diff --git a/src/gui/shareusergroupwidget.ui b/src/gui/shareusergroupwidget.ui index 51682bb05..ed1e43e7f 100644 --- a/src/gui/shareusergroupwidget.ui +++ b/src/gui/shareusergroupwidget.ui @@ -32,6 +32,13 @@ 0 + + + + + + + From 57ec1cdda4a4523fb9ecb35c915a9c9c881103ed Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 22 Jun 2019 02:55:39 +0000 Subject: [PATCH 062/192] [tx-robot] updated from transifex --- translations/client_bg.ts | 24 ++++++++++++------------ translations/client_ca.ts | 24 ++++++++++++------------ translations/client_cs.ts | 24 ++++++++++++------------ translations/client_da.ts | 24 ++++++++++++------------ translations/client_de.ts | 24 ++++++++++++------------ translations/client_el.ts | 24 ++++++++++++------------ translations/client_en.ts | 24 ++++++++++++------------ translations/client_en_GB.ts | 24 ++++++++++++------------ translations/client_eo.ts | 24 ++++++++++++------------ translations/client_es.ts | 24 ++++++++++++------------ translations/client_es_AR.ts | 24 ++++++++++++------------ translations/client_es_CL.ts | 24 ++++++++++++------------ translations/client_es_CO.ts | 24 ++++++++++++------------ translations/client_es_CR.ts | 24 ++++++++++++------------ translations/client_es_DO.ts | 24 ++++++++++++------------ translations/client_es_EC.ts | 24 ++++++++++++------------ translations/client_es_GT.ts | 24 ++++++++++++------------ translations/client_es_HN.ts | 24 ++++++++++++------------ translations/client_es_MX.ts | 24 ++++++++++++------------ translations/client_es_SV.ts | 24 ++++++++++++------------ translations/client_et.ts | 24 ++++++++++++------------ translations/client_eu.ts | 24 ++++++++++++------------ translations/client_fa.ts | 24 ++++++++++++------------ translations/client_fi.ts | 24 ++++++++++++------------ translations/client_fr.ts | 24 ++++++++++++------------ translations/client_gl.ts | 24 ++++++++++++------------ translations/client_he.ts | 24 ++++++++++++------------ translations/client_hu.ts | 24 ++++++++++++------------ translations/client_id.ts | 24 ++++++++++++------------ translations/client_is.ts | 24 ++++++++++++------------ translations/client_it.ts | 24 ++++++++++++------------ translations/client_ja.ts | 24 ++++++++++++------------ translations/client_lt_LT.ts | 24 ++++++++++++------------ translations/client_lv.ts | 24 ++++++++++++------------ translations/client_nb_NO.ts | 24 ++++++++++++------------ translations/client_nl.ts | 24 ++++++++++++------------ translations/client_pl.ts | 24 ++++++++++++------------ translations/client_pt.ts | 24 ++++++++++++------------ translations/client_pt_BR.ts | 24 ++++++++++++------------ translations/client_ru.ts | 24 ++++++++++++------------ translations/client_sk.ts | 24 ++++++++++++------------ translations/client_sl.ts | 24 ++++++++++++------------ translations/client_sr.ts | 24 ++++++++++++------------ translations/client_sv.ts | 24 ++++++++++++------------ translations/client_th.ts | 24 ++++++++++++------------ translations/client_tr.ts | 24 ++++++++++++------------ translations/client_uk.ts | 24 ++++++++++++------------ translations/client_zh_CN.ts | 24 ++++++++++++------------ translations/client_zh_TW.ts | 24 ++++++++++++------------ 49 files changed, 588 insertions(+), 588 deletions(-) diff --git a/translations/client_bg.ts b/translations/client_bg.ts index 1a01a3eb1..48f606ef7 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -2674,22 +2674,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link - + Password: Парола: - + Expiration date: - + TextLabel @@ -2762,22 +2762,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... - + Copy link Копирай връзката - + No results for '%1' Няма резултат за '%1' - + I shared something with you Споделих нещо с вас @@ -2795,22 +2795,22 @@ It is not advisable to use it. може да редактира - + Can reshare Може да споделя повторно - + Can create Може да създава - + Can change Може да променя - + Can delete Може да изтрива diff --git a/translations/client_ca.ts b/translations/client_ca.ts index 22ce70ee8..0dceb5901 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -2692,22 +2692,22 @@ No és aconsellable fer-la servir. OCC::ShareLinkWidget - + &Share link &Comparteix l'enllaç - + Password: Contrasenya: - + Expiration date: Data de caducitat: - + TextLabel TextLabel @@ -2780,22 +2780,22 @@ No és aconsellable fer-la servir. OCC::ShareUserGroupWidget - + Share with users or groups ... Comparteix amb usuaris o grups ... - + Copy link Copia l'enllaç - + No results for '%1' No hi ha resultats per '%1' - + I shared something with you He compartit una cosa amb tu @@ -2813,22 +2813,22 @@ No és aconsellable fer-la servir. pot editar - + Can reshare Pot re-compartir - + Can create Pot crear - + Can change Pot canviar - + Can delete Pot suprimir diff --git a/translations/client_cs.ts b/translations/client_cs.ts index b5a2cf98c..8989c8abe 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -2689,22 +2689,22 @@ Nedoporučuje se jí používat. OCC::ShareLinkWidget - + &Share link Odkaz pro &sdílení - + Password: Heslo: - + Expiration date: Datum skončení platnosti: - + TextLabel Textový popisek @@ -2777,22 +2777,22 @@ Nedoporučuje se jí používat. OCC::ShareUserGroupWidget - + Share with users or groups ... Sdílet s uživateli nebo skupinami… - + Copy link Zkopírovat odkaz - + No results for '%1' Žádné výsledky pro „%1“ - + I shared something with you Něco jsem vám nasdílel @@ -2810,22 +2810,22 @@ Nedoporučuje se jí používat. lze upravovat - + Can reshare Může sdílet dál - + Can create Může vytvářet - + Can change Může měnit - + Can delete Může mazat diff --git a/translations/client_da.ts b/translations/client_da.ts index c32cca76a..b11aa7d6f 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -2669,22 +2669,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel @@ -2757,22 +2757,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... - + Copy link - + No results for '%1' - + I shared something with you @@ -2790,22 +2790,22 @@ It is not advisable to use it. kan redigere - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_de.ts b/translations/client_de.ts index e51c748b0..71014c5f5 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -2689,22 +2689,22 @@ Es ist nicht ratsam, sie zu benutzen. OCC::ShareLinkWidget - + &Share link &Link teilen - + Password: Passwort: - + Expiration date: Ablaufdatum: - + TextLabel TextLabel @@ -2777,22 +2777,22 @@ Es ist nicht ratsam, sie zu benutzen. OCC::ShareUserGroupWidget - + Share with users or groups ... Mit Benutzern oder Gruppen teilen … - + Copy link Link kopieren - + No results for '%1' Keine Ergebnisse für '%1' - + I shared something with you Ich habe etwas mit Ihnen geteilt @@ -2810,22 +2810,22 @@ Es ist nicht ratsam, sie zu benutzen. kann bearbeiten - + Can reshare kann weiterteilen - + Can create kann erstellen - + Can change kann ändern - + Can delete kann löschen diff --git a/translations/client_el.ts b/translations/client_el.ts index 6add6c6b1..cc921929b 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -2679,22 +2679,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link - + Password: Συνθηματικό : - + Expiration date: Ημερομηνία λήξης: - + TextLabel TextLabel @@ -2767,22 +2767,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... Διαμοιρασμός με χρήστες ή ομάδες ... - + Copy link Αντιγραφή συνδέσμου - + No results for '%1' Κανένα αποτέλεσμα για '%1' - + I shared something with you @@ -2800,22 +2800,22 @@ It is not advisable to use it. δυνατότητα επεξεργασίας - + Can reshare Δυνατότητα να διαμοιραστεί ξανά - + Can create Δυνατότητα δημιουργίας - + Can change - + Can delete Μπορεί να διαγράψει diff --git a/translations/client_en.ts b/translations/client_en.ts index 6abe4091d..1e26e8296 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -2695,22 +2695,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel @@ -2783,22 +2783,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... - + Copy link - + No results for '%1' - + I shared something with you @@ -2816,22 +2816,22 @@ It is not advisable to use it. - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_en_GB.ts b/translations/client_en_GB.ts index 4acba0660..46f5791da 100644 --- a/translations/client_en_GB.ts +++ b/translations/client_en_GB.ts @@ -2690,22 +2690,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link &Share link - + Password: Password: - + Expiration date: Expiration date: - + TextLabel TextLabel @@ -2778,22 +2778,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... Share with users or groups ... - + Copy link Copy link - + No results for '%1' No results for '%1' - + I shared something with you I shared something with you @@ -2811,22 +2811,22 @@ It is not advisable to use it. can edit - + Can reshare Can reshare - + Can create Can create - + Can change Can change - + Can delete Can delete diff --git a/translations/client_eo.ts b/translations/client_eo.ts index ab7d58355..a70759117 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -2689,22 +2689,22 @@ Uzi ĝin ne konsilindas. OCC::ShareLinkWidget - + &Share link &Kunhava ligilo - + Password: Pasvorto: - + Expiration date: Limdato: - + TextLabel TextLabel @@ -2777,22 +2777,22 @@ Uzi ĝin ne konsilindas. OCC::ShareUserGroupWidget - + Share with users or groups ... Kunhavigi kun uzantoj aŭ grupoj... - + Copy link Kopii ligilon - + No results for '%1' Neniu rezulto por „%1“ - + I shared something with you Mi kunhavigis ion kun vi @@ -2810,22 +2810,22 @@ Uzi ĝin ne konsilindas. povas redakti - + Can reshare Eblas rekunhavigi - + Can create Povas krei - + Can change Eblas ŝanĝi - + Can delete Povas forigi diff --git a/translations/client_es.ts b/translations/client_es.ts index 1a1188e0b..68d04594d 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -2689,22 +2689,22 @@ No se recomienda usarla. OCC::ShareLinkWidget - + &Share link Compartir enlace - + Password: Contraseña: - + Expiration date: Fecha de caducidad - + TextLabel EtiquetaDeTexto @@ -2777,22 +2777,22 @@ No se recomienda usarla. OCC::ShareUserGroupWidget - + Share with users or groups ... Compartir con usuarios o grupos ... - + Copy link Copiar enlace - + No results for '%1' No hay resultados para '%1' - + I shared something with you He compartido algo contigo @@ -2810,22 +2810,22 @@ No se recomienda usarla. puede editar - + Can reshare Puede compartir - + Can create Puede crear - + Can change Puede cambiar - + Can delete Puede eliminar diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index b5e254c23..3a8333118 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -2669,22 +2669,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel EtiquetaDeTexto @@ -2757,22 +2757,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... Compartir con usuario o grupo ... - + Copy link - + No results for '%1' - + I shared something with you @@ -2790,22 +2790,22 @@ It is not advisable to use it. podés editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_CL.ts b/translations/client_es_CL.ts index dd1aa408a..3bab0d1e3 100644 --- a/translations/client_es_CL.ts +++ b/translations/client_es_CL.ts @@ -2680,22 +2680,22 @@ No es recomendable usarlo. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel EtiquetaDeTexto @@ -2768,22 +2768,22 @@ No es recomendable usarlo. OCC::ShareUserGroupWidget - + Share with users or groups ... Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_CO.ts b/translations/client_es_CO.ts index 713cdffe5..18675de34 100644 --- a/translations/client_es_CO.ts +++ b/translations/client_es_CO.ts @@ -2680,22 +2680,22 @@ No es recomendable usarlo. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel EtiquetaDeTexto @@ -2768,22 +2768,22 @@ No es recomendable usarlo. OCC::ShareUserGroupWidget - + Share with users or groups ... Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_CR.ts b/translations/client_es_CR.ts index 18b7e06e8..8381bb83f 100644 --- a/translations/client_es_CR.ts +++ b/translations/client_es_CR.ts @@ -2680,22 +2680,22 @@ No es recomendable usarlo. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel EtiquetaDeTexto @@ -2768,22 +2768,22 @@ No es recomendable usarlo. OCC::ShareUserGroupWidget - + Share with users or groups ... Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_DO.ts b/translations/client_es_DO.ts index 78366ddbf..61ec8395e 100644 --- a/translations/client_es_DO.ts +++ b/translations/client_es_DO.ts @@ -2680,22 +2680,22 @@ No es recomendable usarlo. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel EtiquetaDeTexto @@ -2768,22 +2768,22 @@ No es recomendable usarlo. OCC::ShareUserGroupWidget - + Share with users or groups ... Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_EC.ts b/translations/client_es_EC.ts index 73ef2c153..3a3fa55ef 100644 --- a/translations/client_es_EC.ts +++ b/translations/client_es_EC.ts @@ -2680,22 +2680,22 @@ No es recomendable usarlo. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel EtiquetaDeTexto @@ -2768,22 +2768,22 @@ No es recomendable usarlo. OCC::ShareUserGroupWidget - + Share with users or groups ... Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_GT.ts b/translations/client_es_GT.ts index 80c3ba06a..a5c7ef7db 100644 --- a/translations/client_es_GT.ts +++ b/translations/client_es_GT.ts @@ -2680,22 +2680,22 @@ No es recomendable usarlo. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel EtiquetaDeTexto @@ -2768,22 +2768,22 @@ No es recomendable usarlo. OCC::ShareUserGroupWidget - + Share with users or groups ... Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_HN.ts b/translations/client_es_HN.ts index 211a92293..a32574c04 100644 --- a/translations/client_es_HN.ts +++ b/translations/client_es_HN.ts @@ -2680,22 +2680,22 @@ No es recomendable usarlo. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel EtiquetaDeTexto @@ -2768,22 +2768,22 @@ No es recomendable usarlo. OCC::ShareUserGroupWidget - + Share with users or groups ... Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_MX.ts b/translations/client_es_MX.ts index 99356ba67..2e36dc68f 100644 --- a/translations/client_es_MX.ts +++ b/translations/client_es_MX.ts @@ -2680,22 +2680,22 @@ No es recomendable usarlo. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel EtiquetaDeTexto @@ -2768,22 +2768,22 @@ No es recomendable usarlo. OCC::ShareUserGroupWidget - + Share with users or groups ... Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_es_SV.ts b/translations/client_es_SV.ts index 266aecfce..03b0cb4cc 100644 --- a/translations/client_es_SV.ts +++ b/translations/client_es_SV.ts @@ -2680,22 +2680,22 @@ No es recomendable usarlo. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel EtiquetaDeTexto @@ -2768,22 +2768,22 @@ No es recomendable usarlo. OCC::ShareUserGroupWidget - + Share with users or groups ... Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,22 @@ No es recomendable usarlo. puede editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_et.ts b/translations/client_et.ts index 5cd2e3647..9b35e86e0 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -2670,22 +2670,22 @@ Selle kasutamine pole soovitatav. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel Tekstisilt @@ -2758,22 +2758,22 @@ Selle kasutamine pole soovitatav. OCC::ShareUserGroupWidget - + Share with users or groups ... Jaga kasutajate või gruppidega ... - + Copy link - + No results for '%1' - + I shared something with you @@ -2791,22 +2791,22 @@ Selle kasutamine pole soovitatav. saab muuta - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_eu.ts b/translations/client_eu.ts index 7c9790b21..835731af5 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -2674,22 +2674,22 @@ Ez da gomendagarria erabltzea. OCC::ShareLinkWidget - + &Share link - + Password: Pasahitza: - + Expiration date: Iraungitze data: - + TextLabel TestuEtiketa @@ -2762,22 +2762,22 @@ Ez da gomendagarria erabltzea. OCC::ShareUserGroupWidget - + Share with users or groups ... Elkarbanatu erabiltzaile edo taldearekin... - + Copy link Esteka kopiatu - + No results for '%1' - + I shared something with you Zerbait partekatu dut zurekin @@ -2795,22 +2795,22 @@ Ez da gomendagarria erabltzea. editatu dezake - + Can reshare Birparteka daiteke - + Can create Sortu dezake - + Can change Aldatu dezake - + Can delete Ezabatu dezake diff --git a/translations/client_fa.ts b/translations/client_fa.ts index 64a50c702..4d2042ff2 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -2677,22 +2677,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link &لینک اشتراک - + Password: کلمه عبور - + Expiration date: تاریخ انقضا - + TextLabel برچسب متنی @@ -2765,22 +2765,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... اشتراک گذاری با کاربران یا گروه ها ... - + Copy link کپی کردن آدرس لینک - + No results for '%1' هیچ نتیجه ای برای '1%' وجود ندارد - + I shared something with you من چیزی را با شما به اشتراک گذاشتم @@ -2798,22 +2798,22 @@ It is not advisable to use it. می توان ویرایش کرد - + Can reshare امکان اشتراک گذاری وجود دارد - + Can create امکان ایجاد وجود دارد - + Can change امکان تغییر وجود دارد - + Can delete امکان حذف وجود دار diff --git a/translations/client_fi.ts b/translations/client_fi.ts index d65e8b13a..657878c4a 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -2674,22 +2674,22 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::ShareLinkWidget - + &Share link &Jaa linkki - + Password: Salasana: - + Expiration date: Vanhenemispäivä: - + TextLabel TekstiLeima @@ -2762,22 +2762,22 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::ShareUserGroupWidget - + Share with users or groups ... Jaa käyttäjien tai ryhmien kanssa… - + Copy link Kopioi linkki - + No results for '%1' Ei tuloksia haulla '%1' - + I shared something with you Jaoin jotain kanssasi @@ -2795,22 +2795,22 @@ Osoitteen käyttäminen ei ole suositeltavaa. voi muokata - + Can reshare Voi uudelleenjakaa - + Can create Voi luoda - + Can change Voi muuttaa - + Can delete Voi poistaa diff --git a/translations/client_fr.ts b/translations/client_fr.ts index b0d894d82..5e5bdeb36 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -2692,22 +2692,22 @@ Il est déconseillé de l'utiliser. OCC::ShareLinkWidget - + &Share link &Lien de partage - + Password: Mot de passe : - + Expiration date: Date d'expiration : - + TextLabel TextLabel @@ -2781,22 +2781,22 @@ Il est déconseillé de l'utiliser. OCC::ShareUserGroupWidget - + Share with users or groups ... Partager avec des utilisateurs ou groupes... - + Copy link Copier le lien - + No results for '%1' Aucun résultat pour '%1' - + I shared something with you J'ai partagé quelque chose avec vous @@ -2814,22 +2814,22 @@ Il est déconseillé de l'utiliser. peut modifier - + Can reshare Peut repartager - + Can create Peut créer - + Can change Peut modifier - + Can delete Peut supprimer diff --git a/translations/client_gl.ts b/translations/client_gl.ts index b0aee8e1a..3c7888105 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -2691,22 +2691,22 @@ Recomendámoslle que non o use. OCC::ShareLinkWidget - + &Share link Ligazón &compartida - + Password: Contrasinal: - + Expiration date: Data de caducidade: - + TextLabel Etiqueta de texto @@ -2779,22 +2779,22 @@ Recomendámoslle que non o use. OCC::ShareUserGroupWidget - + Share with users or groups ... Compartir con usuarios ou grupos... - + Copy link Copiar a ligazón - + No results for '%1' Non hai resultados para «%1» - + I shared something with you Compartín algo con vostede @@ -2812,22 +2812,22 @@ Recomendámoslle que non o use. pode editar - + Can reshare Pode volver compartir - + Can create Pode crear - + Can change Pode cambiar - + Can delete Pode eliminar diff --git a/translations/client_he.ts b/translations/client_he.ts index f90fb6569..21719cfeb 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -2671,22 +2671,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link - + Password: ססמה: - + Expiration date: מועד תפוגת תוקף: - + TextLabel @@ -2759,22 +2759,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... שיתוף עם משתמשים או קבוצות… - + Copy link העתקת קישור - + No results for '%1' אין תוצאות לחיפוש אחר ‚%1’ - + I shared something with you שיתפת אתך משהו @@ -2792,22 +2792,22 @@ It is not advisable to use it. הרשאה לעריכה - + Can reshare הרשאה לשיתוף מחדש - + Can create הרשאה ליצירה - + Can change הרשאה לעריכה - + Can delete הרשאה למחיקה diff --git a/translations/client_hu.ts b/translations/client_hu.ts index 1763d862a..8fbade33b 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -2689,22 +2689,22 @@ Használata nem ajánlott. OCC::ShareLinkWidget - + &Share link &Megosztási hivatkozás - + Password: Jelszó: - + Expiration date: Lejárati idő: - + TextLabel Címke @@ -2777,22 +2777,22 @@ Használata nem ajánlott. OCC::ShareUserGroupWidget - + Share with users or groups ... Megosztás felhasználókkal vagy csoportokkal … - + Copy link Hivatkozás másolása - + No results for '%1' Nincs találat erre: „%1” - + I shared something with you Megosztottam Önnel valamit @@ -2810,22 +2810,22 @@ Használata nem ajánlott. szerkesztheti - + Can reshare Újra megosztható - + Can create Létrehozható - + Can change Módosítható - + Can delete Törölhető diff --git a/translations/client_id.ts b/translations/client_id.ts index 6c0188348..4b41b1ea1 100644 --- a/translations/client_id.ts +++ b/translations/client_id.ts @@ -2689,22 +2689,22 @@ Tidak disarankan untuk digunakan. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel @@ -2777,22 +2777,22 @@ Tidak disarankan untuk digunakan. OCC::ShareUserGroupWidget - + Share with users or groups ... - + Copy link - + No results for '%1' - + I shared something with you @@ -2810,22 +2810,22 @@ Tidak disarankan untuk digunakan. - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_is.ts b/translations/client_is.ts index 0c43d5c9b..83ab5aef7 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -2685,22 +2685,22 @@ Ekki er mælt með því að hún sé notuð. OCC::ShareLinkWidget - + &Share link &Deilitengill - + Password: Lykilorð: - + Expiration date: Gildistími: - + TextLabel TextaMerking @@ -2774,22 +2774,22 @@ Ekki er mælt með því að hún sé notuð. OCC::ShareUserGroupWidget - + Share with users or groups ... Deila með notendum eða hópum ... - + Copy link Afrita tengil - + No results for '%1' Engar niðurstöður fyrir '%1' - + I shared something with you Ég deildi einhverju með þér @@ -2807,22 +2807,22 @@ Ekki er mælt með því að hún sé notuð. getur breytt - + Can reshare Getur endurdeilt - + Can create Getur búið til - + Can change Getur breytt - + Can delete Getur eytt diff --git a/translations/client_it.ts b/translations/client_it.ts index 06c295266..5ed9a7e97 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -2691,22 +2691,22 @@ Non è consigliabile utilizzarlo. OCC::ShareLinkWidget - + &Share link Condi&vidi collegamento - + Password: Password: - + Expiration date: Data di scadenza - + TextLabel EtichettaTesto @@ -2779,22 +2779,22 @@ Non è consigliabile utilizzarlo. OCC::ShareUserGroupWidget - + Share with users or groups ... Condividi con utenti o gruppi... - + Copy link Copia collegamento - + No results for '%1' Nessun risultato per '%1' - + I shared something with you Ho condiviso qualcosa con te @@ -2812,22 +2812,22 @@ Non è consigliabile utilizzarlo. può modificare - + Can reshare Può ri-condividere - + Can create Può creare - + Can change Può cambiare - + Can delete Può eliminare diff --git a/translations/client_ja.ts b/translations/client_ja.ts index 5523aaa5e..b02fcbd19 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -2675,22 +2675,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link &リンクの共有 - + Password: パスワード: - + Expiration date: 有効期限: - + TextLabel テキストラベル @@ -2763,22 +2763,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... ユーザーまたはグループと共有 ... - + Copy link リンクをコピー - + No results for '%1' '%1' は見つかりませんでした - + I shared something with you 私はあなたと何かを共有しました @@ -2796,22 +2796,22 @@ It is not advisable to use it. 編集を許可 - + Can reshare 再共有可能 - + Can create 作成可能 - + Can change 変更可能 - + Can delete 削除可能 diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index 9a856c033..1dba63261 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -2685,22 +2685,22 @@ Patariama jo nenaudoti. OCC::ShareLinkWidget - + &Share link &Dalinimosi nuoroda - + Password: Slaptažodis: - + Expiration date: Galiojimo pabaiga: - + TextLabel TextLabel @@ -2773,22 +2773,22 @@ Patariama jo nenaudoti. OCC::ShareUserGroupWidget - + Share with users or groups ... Dalintis su naudotojais ar grupėmis ... - + Copy link Kopijuoti nuorodą - + No results for '%1' Pagal kriterijų %1 nieko nerasta - + I shared something with you Pasidalinau kai kuo su jumis @@ -2806,22 +2806,22 @@ Patariama jo nenaudoti. gali keisti - + Can reshare Gali pakartotinai dalintis - + Can create Gali kurti - + Can change Gali keisti - + Can delete Gali trinti diff --git a/translations/client_lv.ts b/translations/client_lv.ts index cee142fa9..4583d01f1 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -2671,22 +2671,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link &Share saite - + Password: - + Expiration date: - + TextLabel @@ -2759,22 +2759,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... - + Copy link - + No results for '%1' - + I shared something with you @@ -2792,22 +2792,22 @@ It is not advisable to use it. - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index 41041477b..fd7b61b2b 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -2680,22 +2680,22 @@ Det er ikke tilrådelig å bruke den. OCC::ShareLinkWidget - + &Share link &Delingslenke - + Password: Passord: - + Expiration date: Utløpsdato: - + TextLabel Tekst-etikett @@ -2768,22 +2768,22 @@ Det er ikke tilrådelig å bruke den. OCC::ShareUserGroupWidget - + Share with users or groups ... Del med brukere eller grupper … - + Copy link Kopier lenke - + No results for '%1' Ingen resultater for '%1' - + I shared something with you Jeg delte noe med deg @@ -2801,22 +2801,22 @@ Det er ikke tilrådelig å bruke den. kan endre - + Can reshare - + Can create kan opprette - + Can change Kan endre - + Can delete Kan slette diff --git a/translations/client_nl.ts b/translations/client_nl.ts index 90a7a901b..42fb0f80e 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -2694,22 +2694,22 @@ We adviseren deze site niet te gebruiken. OCC::ShareLinkWidget - + &Share link &Delen link - + Password: Wachtwoord: - + Expiration date: Vervaldatum: - + TextLabel Tekstlabel @@ -2782,22 +2782,22 @@ We adviseren deze site niet te gebruiken. OCC::ShareUserGroupWidget - + Share with users or groups ... Delen met gebruikers of groepen ... - + Copy link Kopiëren link - + No results for '%1' Geen resultaten voor '%1' - + I shared something with you Ik deelde iets met u @@ -2815,22 +2815,22 @@ We adviseren deze site niet te gebruiken. kan wijzigen - + Can reshare Kan doordelen - + Can create Kan creëren - + Can change Kan wijzigen - + Can delete Kan verwijderen diff --git a/translations/client_pl.ts b/translations/client_pl.ts index bcd7680bd..69e43dacc 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -2690,22 +2690,22 @@ Niezalecane jest jego użycie. OCC::ShareLinkWidget - + &Share link &Udostępnij link - + Password: Hasło: - + Expiration date: Data wygaśnięcia: - + TextLabel Etykieta @@ -2778,22 +2778,22 @@ Niezalecane jest jego użycie. OCC::ShareUserGroupWidget - + Share with users or groups ... Współdziel z użytkownikami lub grupami - + Copy link Kopiuj link - + No results for '%1' Brak wyników dla '%1' - + I shared something with you Udostępniłem/am ci coś @@ -2811,22 +2811,22 @@ Niezalecane jest jego użycie. może edytować - + Can reshare Pozwól na udostępnianie innym - + Can create Pozwól na utworzenie - + Can change Pozwól na zmianę - + Can delete Pozwól na usunięcie diff --git a/translations/client_pt.ts b/translations/client_pt.ts index 8f906827b..0babe5ac4 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -2679,22 +2679,22 @@ Não é aconselhada a sua utilização. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel TextLabel @@ -2767,22 +2767,22 @@ Não é aconselhada a sua utilização. OCC::ShareUserGroupWidget - + Share with users or groups ... Partilhar com utilizadores ou grupos... - + Copy link - + No results for '%1' Sem resultados para '%1' - + I shared something with you @@ -2800,22 +2800,22 @@ Não é aconselhada a sua utilização. pode editar - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 8abdf36fa..17a6f827f 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -2690,22 +2690,22 @@ Não é aconselhável usá-la. OCC::ShareLinkWidget - + &Share link &Compartilhar link - + Password: Senha: - + Expiration date: Data de expiração: - + TextLabel TextLabel @@ -2778,22 +2778,22 @@ Não é aconselhável usá-la. OCC::ShareUserGroupWidget - + Share with users or groups ... Compartilhar com usuários ou grupos... - + Copy link Copiar link - + No results for '%1' Sem resultados para '%1' - + I shared something with you Eu compartilhei algo com você @@ -2811,22 +2811,22 @@ Não é aconselhável usá-la. pode editar - + Can reshare Pode recompartilhar - + Can create Pode criar - + Can change Pode alterar - + Can delete Pode excluir diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 83cfab4a1..08ba1ad86 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -2684,22 +2684,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link Доступ по &ссылке - + Password: Пароль: - + Expiration date: Срок действия: - + TextLabel Название @@ -2772,22 +2772,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... Введите имя пользователя или группы… - + Copy link Скопировать ссылку - + No results for '%1' Нет результатов для '%1' - + I shared something with you Я поделился с тобой @@ -2805,22 +2805,22 @@ It is not advisable to use it. разрешить редактировать - + Can reshare разрешить делиться - + Can create разрешить создавать - + Can change разрешить вносить изменения - + Can delete разрешить удалять diff --git a/translations/client_sk.ts b/translations/client_sk.ts index 0fcbdeb50..326885a2d 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -2683,22 +2683,22 @@ Nie je vhodné ju používať. OCC::ShareLinkWidget - + &Share link - + Password: Heslo: - + Expiration date: Dátum vypršania: - + TextLabel Štítok @@ -2771,22 +2771,22 @@ Nie je vhodné ju používať. OCC::ShareUserGroupWidget - + Share with users or groups ... Zdieľať s používateľmi alebo skupinami ... - + Copy link Kopírovať odkaz - + No results for '%1' Žiadne výsledky pre '%1' - + I shared something with you Niečo som vám sprístupnil @@ -2804,22 +2804,22 @@ Nie je vhodné ju používať. môže upraviť - + Can reshare Môže sprístupniť aj iným - + Can create Môže vytvárať - + Can change Môže meniť - + Can delete Môže odstraňovať diff --git a/translations/client_sl.ts b/translations/client_sl.ts index 799238630..b75482b18 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -2679,22 +2679,22 @@ Uporaba ni priporočljiva. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel Besedilna oznaka @@ -2767,22 +2767,22 @@ Uporaba ni priporočljiva. OCC::ShareUserGroupWidget - + Share with users or groups ... Souporaba z uporabniki ali skupinami ... - + Copy link - + No results for '%1' Ni zadetkov za '%1' - + I shared something with you @@ -2800,22 +2800,22 @@ Uporaba ni priporočljiva. lahko ureja - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_sr.ts b/translations/client_sr.ts index 443d1fc95..e923efec1 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -2690,22 +2690,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link &Подели везу - + Password: Лозинка: - + Expiration date: Датум истека: - + TextLabel Текст ознака @@ -2778,22 +2778,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... Дели са корисницима или групама... - + Copy link Копирај везу - + No results for '%1' Нема резултата за '%1' - + I shared something with you Поделио сам нешто са Вама @@ -2811,22 +2811,22 @@ It is not advisable to use it. може да мења - + Can reshare Може да дели даље - + Can create Може да креира унутар дељења - + Can change Може да мења садржај унутар дељења - + Can delete Може да брише садржај унутар дељења diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 1db4c707f..30e826ad8 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -2690,22 +2690,22 @@ Det är inte lämpligt använda den. OCC::ShareLinkWidget - + &Share link &Dela länk - + Password: Lösenord: - + Expiration date: Utgångsdatum: - + TextLabel Textetikett @@ -2778,22 +2778,22 @@ Det är inte lämpligt använda den. OCC::ShareUserGroupWidget - + Share with users or groups ... Dela med användare eller grupper ... - + Copy link Kopiera länk - + No results for '%1' Inga resultat för '%1' - + I shared something with you Jag delade något med dig @@ -2811,22 +2811,22 @@ Det är inte lämpligt använda den. kan redigera - + Can reshare Kan dela vidare - + Can create Kan skapa - + Can change Kan ändra - + Can delete Kan radera diff --git a/translations/client_th.ts b/translations/client_th.ts index 92647ec73..fb578214c 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -2679,22 +2679,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel ป้ายข้อความ @@ -2767,22 +2767,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... แชร์กับผู้ใช้หรือกลุ่ม ... - + Copy link - + No results for '%1' ไม่มีผลลัพธ์สำหรับ '%1' - + I shared something with you ฉันแชร์บางอย่างกับคุณ @@ -2800,22 +2800,22 @@ It is not advisable to use it. สามารถแก้ไข - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_tr.ts b/translations/client_tr.ts index c23c54eb1..f0e6c72c1 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -2689,22 +2689,22 @@ Kullanmanız önerilmez. OCC::ShareLinkWidget - + &Share link &Dosyayı paylaş - + Password: Parola: - + Expiration date: Son kullanma tarihi: - + TextLabel MetinEtiketi @@ -2777,22 +2777,22 @@ Kullanmanız önerilmez. OCC::ShareUserGroupWidget - + Share with users or groups ... Kullanıcı ya da gruplarla paylaş... - + Copy link Bağlantıyı kopyala - + No results for '%1' '%1' için bir sonuç bulunamadı - + I shared something with you Sizinle bir şey paylaştım @@ -2810,22 +2810,22 @@ Kullanmanız önerilmez. düzenleyebilir - + Can reshare Yeniden paylaşabilsin - + Can create Ekleyebilsin - + Can change Değiştirebilsin - + Can delete Silebilsin diff --git a/translations/client_uk.ts b/translations/client_uk.ts index 02ae00360..7bdbd4a3d 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -2670,22 +2670,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel Мітка @@ -2758,22 +2758,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... Поширити серед користувачів або груп ... - + Copy link Скопіювати посилання - + No results for '%1' Відсутні результати для '%1' - + I shared something with you Я поділився з вами документами @@ -2791,22 +2791,22 @@ It is not advisable to use it. може редагувати - + Can reshare - + Can create - + Can change - + Can delete diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index 1420c9cd7..ee9146f2c 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -2688,22 +2688,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link &共享链接 - + Password: 密码: - + Expiration date: 有效期至: - + TextLabel 文本标签 @@ -2776,22 +2776,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... 共享给其他用户或组 ... - + Copy link 复制链接 - + No results for '%1' 没有 '%1' 相关结果 - + I shared something with you 我向您共享了一些东西 @@ -2809,22 +2809,22 @@ It is not advisable to use it. 可编辑 - + Can reshare 可以再分享 - + Can create 可以创建 - + Can change 可以修改 - + Can delete 可以删除 diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index 20c68d636..f07b02d57 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -2673,22 +2673,22 @@ It is not advisable to use it. OCC::ShareLinkWidget - + &Share link - + Password: - + Expiration date: - + TextLabel 文字標籤 @@ -2761,22 +2761,22 @@ It is not advisable to use it. OCC::ShareUserGroupWidget - + Share with users or groups ... 與用戶或群組分享 ... - + Copy link - + No results for '%1' '%1' 沒有結果 - + I shared something with you @@ -2794,22 +2794,22 @@ It is not advisable to use it. 可編輯 - + Can reshare - + Can create - + Can change - + Can delete From a8986124b80ffa1060fcd0c7504e97961b2e6b95 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 23 Jun 2019 02:56:59 +0000 Subject: [PATCH 063/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner From 78c7aed3b9d406cf8b3d5c10998e23d1851b772c Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 24 Jun 2019 02:56:03 +0000 Subject: [PATCH 064/192] [tx-robot] updated from transifex --- translations/client_ca.ts | 10 +++++----- translations/client_fi.ts | 24 ++++++++++++------------ 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/translations/client_ca.ts b/translations/client_ca.ts index 0dceb5901..963653331 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + Aquest compte suporta xifratge d'extrem a extrem Enable encryption - + Activar xifratge @@ -2856,7 +2856,7 @@ No és aconsellable fer-la servir. SSL Cipher Debug View - + Visor del Depurador de xifratge SSL @@ -3421,7 +3421,7 @@ No és aconsellable fer-la servir. The host "%1" provided an invalid certificate. Continue? - + El servidor "%1" ha proporcionat un certificat no vàlid. Voleu continuar? @@ -3619,7 +3619,7 @@ No és aconsellable fer-la servir. Crash now Only shows in debug mode to allow testing the crash handler - + Fallada ara diff --git a/translations/client_fi.ts b/translations/client_fi.ts index 657878c4a..325dc14d7 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -35,7 +35,7 @@ No recently changed files - + Ei äskettäin muuttuneita tiedostoja @@ -50,37 +50,37 @@ Open website - + Avaa verkkosivusto Recently changed - + Äskettäin muutettu Pause synchronization - + Keskeytä synkronointi Help - + Ohje Settings - + Asetukset Log out - + Kirjaudu ulos Quit sync client - + Lopeta synkronointiasiakas @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + Tämä tili tukee päästä päähän -salausta Enable encryption - + Ota salaus käyttöön @@ -1795,7 +1795,7 @@ Logs will be written to %1 Could not parse the JSON returned from the server: <br><em>%1</em> - + Ei voitu jäsentää palvelimen palauttamaa JSON:ia: <br><em>%1</em> @@ -3416,7 +3416,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Please login with the user: %1 - + Kirjaudu käyttäjänä: %1 From 908f4d34e3fa1a14533a416d5fff2d12c4435670 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 25 Jun 2019 02:57:16 +0000 Subject: [PATCH 065/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner From d7098343a26d08ffba043664d11a7eb3daebe0c8 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 26 Jun 2019 02:56:31 +0000 Subject: [PATCH 066/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner From f352af7ffb2897afc22308796d838109fed4d7ec Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 27 Jun 2019 02:57:19 +0000 Subject: [PATCH 067/192] [tx-robot] updated from transifex --- translations/client_lv.ts | 40 +++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/translations/client_lv.ts b/translations/client_lv.ts index 4583d01f1..205a9063b 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -50,7 +50,7 @@ Open website - + Atvērt vietni @@ -65,17 +65,17 @@ Help - + Palīdzība Settings - + Iestatījumi Log out - + Iziet @@ -2536,7 +2536,7 @@ It is not advisable to use it. Loading ... - + Notiek ielāde... @@ -2551,7 +2551,7 @@ It is not advisable to use it. Size - + Izmērs @@ -2578,7 +2578,7 @@ It is not advisable to use it. Settings - + Iestatījumi @@ -2598,7 +2598,7 @@ It is not advisable to use it. Account - + Konts @@ -2627,7 +2627,7 @@ It is not advisable to use it. Account - + Konts @@ -2655,7 +2655,7 @@ It is not advisable to use it. %1 - + %1 @@ -2693,7 +2693,7 @@ It is not advisable to use it. Delete - + Dzēst @@ -2718,7 +2718,7 @@ It is not advisable to use it. Password Protect - + Aizsargāts ar paroli @@ -2748,7 +2748,7 @@ It is not advisable to use it. Cancel - + Atcelt @@ -2970,12 +2970,12 @@ It is not advisable to use it. SHA-256: - + SHA-256: SHA-1: - + SHA-1: @@ -2990,7 +2990,7 @@ It is not advisable to use it. %1 - + %1 @@ -3020,7 +3020,7 @@ It is not advisable to use it. Form - + Forma @@ -3264,7 +3264,7 @@ It is not advisable to use it. Filename is too long. - + Faila nosaukums ir pārāk garš. @@ -3654,7 +3654,7 @@ It is not advisable to use it. Form - + Forma @@ -3802,7 +3802,7 @@ It is not advisable to use it. Server Address - + Servera adrese From fa29fc40287369ff1352291b7d81845664f9b4b7 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Fri, 28 Jun 2019 02:56:13 +0000 Subject: [PATCH 068/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_nl.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_nl.ts b/translations/client_nl.ts index 42fb0f80e..9e702a9ba 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -274,7 +274,7 @@ This account supports end-to-end encryption - + Dit account ondersteunt end-to-endversleuteling From 4eac71a0325899c0b97c9cf00a340499674efe44 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 30 Jun 2019 02:55:43 +0000 Subject: [PATCH 069/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner From ac505aac0e89908170146e4eff0b4c8a9c1dba54 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 2 Jul 2019 02:54:54 +0000 Subject: [PATCH 070/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_nl.ts | 2 +- translations/client_ru.ts | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_nl.ts b/translations/client_nl.ts index 9e702a9ba..b12277013 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -279,7 +279,7 @@ Enable encryption - + Encryptie activeren diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 08ba1ad86..c1da8d18f 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -194,7 +194,7 @@ To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). - + Для защиты личного идентификатора сквозного шифрования используется мнемофраза, состоящая из двенадцати слов. Мнемофразу следует записать и сохранить запись в надёжном месте, она потребуется для подключения к учётной записи ваших дополнительных устройств. @@ -274,7 +274,7 @@ This account supports end-to-end encryption - + Эта учетная запись поддерживает сквозное шифрование @@ -2848,7 +2848,7 @@ It is not advisable to use it. SSL Cipher Debug View - + Отладочный просмотр шифра SSL @@ -3413,7 +3413,7 @@ It is not advisable to use it. The host "%1" provided an invalid certificate. Continue? - + Хост «%1» предоставил недействительный сертификат. Продолжить? From b2d85cc4bfce323167574ab7c535799a7bfa17d9 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 3 Jul 2019 02:55:33 +0000 Subject: [PATCH 071/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner From ae9bc786ad610a552edee84130342d34a4913c9a Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 4 Jul 2019 02:55:55 +0000 Subject: [PATCH 072/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_zh_CN.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index ee9146f2c..77af5c3a7 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -3816,7 +3816,7 @@ It is not advisable to use it. Log in - 登陆 + 登录 From c897564d28c04029f09dcce20078e9adb3b57518 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Fri, 5 Jul 2019 02:57:08 +0000 Subject: [PATCH 073/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner From b1466544742934f21b3e7e813e7e2ef9eb7e74c4 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 7 Jul 2019 02:55:41 +0000 Subject: [PATCH 074/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner From bb34de2bd85acb2639293ad81f52c4d7fe51407c Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 9 Jul 2019 02:54:41 +0000 Subject: [PATCH 075/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_pt_BR.ts | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 17a6f827f..0751478ad 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -409,7 +409,7 @@ There are folders that were not synchronized because they are too big or external storages: - Existem pastas que não foram sincronizadas porque são muito grandes ou são armazenamentos externos: + Existem pastas que não foram sincronizadas porque são muito grandes ou são armazenamentos externos: @@ -1464,7 +1464,7 @@ Continuar a sincronização como normal fará com que todos os seus arquivos sej Ignored Files Editor - Editor de Arquivos Ignorado + Editor de Arquivos Ignorados @@ -1474,7 +1474,7 @@ Continuar a sincronização como normal fará com que todos os seus arquivos sej Sync hidden files - Sincronizar arquivos escondidos + Sincronizar arquivos ocultos From a8bf75d496e50b812f81c555e997173430ee4254 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 10 Jul 2019 02:57:49 +0000 Subject: [PATCH 076/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner From 6b5b3c96cf33f0f8c3fcd86b4f094a54d40968ab Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 11 Jul 2019 02:58:04 +0000 Subject: [PATCH 077/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner From d967ebac9a1b8f38b29cbde6a5c94fa1aac6446a Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Fri, 12 Jul 2019 02:59:46 +0000 Subject: [PATCH 078/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner From 94db2f82a2ca335a41d3a1523299b5ef7acbcd19 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 13 Jul 2019 03:06:30 +0000 Subject: [PATCH 079/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner From 1763504b4eaeb4bf2e019fcc86cc60b7375a2ef4 Mon Sep 17 00:00:00 2001 From: gt-h6k Date: Sat, 13 Jul 2019 16:39:30 +0900 Subject: [PATCH 080/192] Fixes issue #1187 Signed-off-by: Hiroki Goto --- theme/colored/16-Nextcloud-sidebar.png | Bin 850 -> 260 bytes theme/colored/18-Nextcloud-sidebar.png | Bin 1002 -> 295 bytes theme/colored/32-Nextcloud-sidebar.png | Bin 2056 -> 421 bytes theme/colored/36-Nextcloud-sidebar.png | Bin 2731 -> 482 bytes theme/colored/64-Nextcloud-sidebar.png | Bin 5731 -> 766 bytes theme/colored/Nextcloud-sidebar.svg | 22 ++++++++++++++++++++++ 6 files changed, 22 insertions(+) create mode 100644 theme/colored/Nextcloud-sidebar.svg diff --git a/theme/colored/16-Nextcloud-sidebar.png b/theme/colored/16-Nextcloud-sidebar.png index 36bcce79c4076a115714deae1a0923b58b5ffa48..4b448544ea94fcdcec5545b933772bc07a74282e 100644 GIT binary patch delta 232 zcmVt8!OX#9nxSf*ixMqb3uA2rsT-lVQ2j90!FKZRg9CL8q== z@LG+$pijzKnd4~Pzn=la%P!Wg{TAkDa6@kG##nrjNm=})!y*wa+>m*#Yf68vvgoHE iJX1>V=Yfy$6<`2{W+TG@QBNNL0000Q6X{Gg0PYNDH z6d_2pv{)6vB32Q#C8oQvS({DF?&j_8d;5OlVN-i?j>F9NJBJzL&{uoS*$JRzW_Sz0 zg_t>z2XhF41Q=!l9AH%`EgMJ9RdB&L7?@!M{6B>7AYp*yL8^oXMFR-1WDU}U&=6|YkvYhF z5N!fH#X^CH@7|4t0p}K4v?{+r+J-E}%=M4p2`!AFIKsr%B13V^Pql=p(E&bxZWn`b zi1HqtENAb`JQx04WvVnxBT1OAUPC6}=(l?9(_iGh<<;T&?T9^OqDoKcncy z<9heYi~9BIs!pE1u%YvM_0*i$cSP9Xv#KYV4tzGR$7av!I>ry46fe9Zd*&^Ty)^S5 z|LB|V>%j3(RBtA-rw%Dp-sP{A29Mu)6H8;0G`l&QBS&c{W^t(oE~2z$5HGRb$#{Bt zlCdpARDYM(koN?(=it$A7F+DweG3ysQ9gBs9LFn9PIL9z3ipg}<=D$lF!$qS4u5c( z{g2#-bB^+{kNJCL4YU2TV#fn$=?};=Y;=M`yUyEt?%>&nCNbc{9~OAyqw};~0dBnu z>Q`W7JK!;UeNIH1AR0ieRjg5iZUVPYK@dTnp?`V>vJS)rkjK(>xb!{bJwlqx;B)XE zE8Pn|N5e7JTJCqEyAHh+%X`pVfkqAfSp*j%7Z6gs83soHgKiVG>dL{t9!C@?J%#{4cY7cL6jCB;^1A002ovPDHLk FV1igUgvI~> diff --git a/theme/colored/18-Nextcloud-sidebar.png b/theme/colored/18-Nextcloud-sidebar.png index 017f0204abeef9ff84116d7ae6cf3fee3e353605..f52cec6e349ff03d62e008679e1ca84b19b0fcb0 100644 GIT binary patch delta 268 zcmV+n0rURq2d4s%B!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0002V zNklW1G<53fJbvAFBNP2=Z{`; zrM%ChyehTf8}ynp=e);a!4AA?t?xf~K#@y+#|U;GyMlp%34e5;=l%iqWTLJ3j$$8X z<#XQbonw|-ElZtZDM|$45+{M>Q5HnB1P_u9caQ{TCx3wl9+)RutRjkzO45@u z%cxLv#ZrS6;u@9W_G#Nb_kG{q?|q-EgLe+QkM0NV>$?ANU5~N<%ww2+;9SrHGBCUa z;0!Z|Bn$^8B<8{}6W|0~lKiWo1;L;!Sm({a3SlnZcR-e&kWN@JVNP05|}XWaV}TFGI@5a?c%K`JAde1*^VJT*}jk?JMO1Gb&Hwl zNe=Jc!e_7bVTj&UogCP?fxbsOv3dn&XTT1g)9W99FG(6JSLD5P?CfvyUg|q~R`$Xn z*^7tN`}U_wyw~8j!}4Alo0ya&?K^f#w(Ctf1pV7Ka{QMGRvf*;$>BfQ`_yW#l`DLG z?q?KaAb*bd?$@h~{Bw)`t?T)6XoTf^5A)vXA@*$B0P;9BYTOtvvuR0&XCG-}&GHVa zQOu%Zh8zuSb{bqj#)-wv1?r8MHOrRp+{SJ;J=DeZ+ZE(J&Vn2RKTc7~XF0LEn>#aA zw!ZT@`D}*4fmc}CQetUSmiPDVqN$MM=>s29oqvruvHvBCxeNn?ryyxy_VN+&z-Fl4 zqTSUg`vOE&o>|+)N6)XLt*HRO?K?I4-~ED<7e{c*R@0UbnHakY-J2m>#O&aC5!F(q zW(v@#K~#hBQJS;ji3dAy_x148?|(7XFjSku!aVXZHd}?^uduFFn7#3hYV9o@bTNdsJf)uu5V8XZctClNAr11q*d1Qc7*#3(j13AsW#+2R$beh1pO~RFJLLy;t-A0000r*0rukWZ!5ZGShm;MjmHA&nKpzT-fn z6C*_(%Fzk>E!x&8$4-c*C+jO)8zWhKUYWij#QBky}M1RmVOanh6cfqDUNo2>P+;xf_B1b@mq!SC=^D>$9xI|W|sG9!?uZvHo<(x zsElw@EOBgwqU~^P%5_Xdw+{wO`un}Ff06YOhQ6?=UO@NE@*W9)zkFvTDx727_4>q) qH?d1;#W_=dFe)l4{v3V;7y#{o%c%fMhB5#E002ovP6b4+LSTY~XtHJi delta 2043 zcmVtWGI`5kC`YS&232)+|Pnw;PsmdF`FX$;XKyF?7Ey=)T#IB&_V9 zy?_e1jlR(Eih*^q?YW zQNk=7R$+e-O?974*l(5mP74I0R~bD;;wTz^V|B4n%v<_ikJebvx1&_J#? z^CFi)2h4){VgmG+lMGk|qJ1@3hI&x3Ko)y9lQET0!>gc%7zL@2Q%uQNQ4X($lJzWE z<3VvhK?}8zDH44-8S1M^f+^5nPZdmq{%R_e8YtEXDaq83QcK89N7mX+X*D-B3F$F- zaL#t5t$#U-Mc6^5z2JD(RCgBfK48s z`2RFKM$Uck}d9=dAN6cmKgf(7$J|gQpK#nJrPS0IJ3CJ z#DD9zZoBc)b^CF?^&0rBKGuTHfis{#O@saN z@G0AV6rH3T*$W0_ZS>jj!Ql&_nZ@s0Vp^_0j5G24Z=WeX^9Rf?HRPSd<>j0AgMZJF zbC;p0z?(y%l(a@2JP!$lo7|#Z=dYsXNDI7C+i>_Su8G!s=GShM5R5k^#5!g+lbo1Z z(g;2`Z{Nn|!>7ULuEf52+ac^ae$MS5mtI5nTLsv!d3yCs*ofLA%{~?!zto0*3|@k{ zbvxa+-ub(6kN-5N59sWv}LuMdLK zBkN2E^zaIFjrAb7;4t#`Tte}_ix^$D55MiZ*mSQy^jnG(&DY`TecuU0rPpIjdIK8v z9CzQ(G_~Q+L21S#zxg7;#JzaqUgUaqBWOx4y1XlKe|<3S37P{vsvb(SH-G!ju)Uk7 z+u&lT$mP()kP>@PF()Ed;@`;H=GVSdm9JW3;$ z8BeJI!58CrqES)Kz&@|Ryl*UBzEL_K!GT@97;N>3RxhS57lc0w2ZaffOOz&D1WIm{Zs(-bD>br zhZ(7#4TjP@hPjv;)BVHB83ww^5%9#Mmk9pOD;O1H^_Zr`7}M(T#g>!`2+W!9KNC7& zHZxvGL!e)X5Cy`igoO@Y0@Wvj$zt6cE*lK5COO@26Eb8WuT=8B0*bjnt9V%%Qcf3h zoqS(ppqbqyB|b?J(tmL1rvt>=AZS|tLb!ah5i~0u>&fkK{bKSB zEMV!;#pZU)EO-A6qCGBOs3`wn+{0>l>@(|jy48Aspp_(|Br%nt^demjqx^rVKABD2 zjNQ<|G!aW`z;thPJw4Pf*OVQ-agTIJ_4wyfVt&qAN@a+6y0qUbN`6UX{Mj}(vp+RLbBdUk`YvZQd5y9{9EpM!av2#k;onhlN-=mcd1Isqf(IzieAqD}xCa2vE6wRPt@T}v8nrx`TT8NAYPydLbxgtj96bVe{bU`hbih0LbHt#*ljs`Ym1fz}w y^Ox_T@G$lTzM#CrVY!sg&4Pl0g8zuC00RIfotMW^LdpyP00003FZpWYCL zAE`>z^;bkTi+^)RO*emfbs>l#63(0aeT&cm>;XX#z<&rh>uGyP0rz((To^jvb2EW# zRs^3}Kp?k8jRQ*xEkGy(=>d_=UOx!M3OcpVM3RjXu@eeuHPA|zO{$$8fwb#T z?nTi|S$`k&cxcujjiA(RR*Y&;pGCU*AZkFdYTs!JB4`jIhZ|7tg3O)Rw}S(F2qlf6 z?H~vtiI6mbBtnxIX&y$3RU4olO5N74HH*eEf`a$*4&@pK?sdK0c z^5Yf)Q|i7qAZnPim3i(%!tA(A5TUl~kj5r=C*T5b1qcIs7l#HN{y1=%8ePcho`B0X z^s`}c8F2w42U|S8dzR66--hNK+O9!Z%0!!(bL~LUj=C~1K0y&e3S}siZSkDQF8c&V z#($1W$ezWOkUK6}&DEzYA&?{O0A7`Q|54>@+jnvxDWg8gqz~d_bFyUaL{mr;)H(1T z@d@I-yQ9Ie?!fl^DhqF&u zMIms!JwDBkA9|L%p86*egtoqq5pLb7xFVt{Ke=!v-#l;4g54&m=c?a4L0?yyJAbde z0Du?ArnvO>M>%+K8u1=VRS-vSIpEQ6T+X>0Rsis|KkQ)tFy}WzJ^^^-CBNH<$>VGb?sH+UX3%kcT+>AJX;~*~M-+8zEj_2MQ1HiH8 zMJV^O_2RR0)Ym`o78h@Oh0VWxg`e#h0bo(J$k2*@0Cw&QDK4ThITv`8l8BShpEg4S%s_U}@gr zzSpN9Zo$MJ?%nyyLc)&!4@n}VeHdxgk>(skEmMtp(3Fvh*#+b7d-gR*6Hw*;XJ5_R z2bc9*SP_Ra9}qJ!ThBY3+t)BR(7TlLKDLlk%lo@6Fany!s84e@p(yG-EBdPo#+^5` z2Jsd`=FhwTP%RJ6A+>3U8h<>n^AKAZrsA}U!A146!N)^ivegSDU)*zj$Pct z1w+TNtgp(%Tmu(`XjlYI(WnXPS=3!&%W3NXn4GKATPaa0g#2jh7B&qIP-{he;r!Eb zK!1GhwLBjPFmz0XVj!HcvYS(vS99XseBUl!8h<^&MJKPO5C)vE zdVmMVLsA8zCfcrp2w@m-*O#y4lgHcUZhv?ekG=dZmz=g9=Y&%S2RLK>DvDu{fq9+p z-~TjO5=9`F-!e?KA4GWQjr|k~MK-PIq8J#E@tFo+zvp>={nTr`viAU=Kj$PCRg0WB z(9f3RD(u_$9{Z;bQGYC!Ie+6??z-^`F59%;#vZJ(^%oED^y{O%H#x)U>sHZQEdfw( zMcn?-vwZc=M@f&d$2mcF6%*TgL z_`j+NScUz=V_%-0ZpJWXTcDlduf&}W>ds1llR0(UNKxS zw3;h64YGb&KYy;$!|s~$mv^Rla-?RF+$W$O)zp$aP0@DK)+%=+ag6MH4ejcOrKUQO z;ay5=&a9Be5SB9p9&H_lxCuc4Y1SaBqv|bh3X3o|0lfpzx7Jwpi`o39h) z)o1hw2!D0%02GQ)EF<+9)Tg$a)u-6tsE*dAkR-CSwopc*COUTj!V*&HwcObW#726% z6Hthv+%w}GOzwr*2{dqs3s4b6H7_m%2&GUqGZ(8cu-^FLy@AmrJuxBfgG2CNh7ml?^65x_l;bUOzuX*LSFoJT+fjg1)n*OFf;*V zD}RQh$rz=cbs#3&R^5o0<-n50x#~D}2ntnGSclNFbI`j420vkPo*co~4rUfN^@tNQ zhAN_(V-#_gDVF%V~g6IkoxRWBFPF)`+sx0aKj^2DK(#>yZED> diff --git a/theme/colored/64-Nextcloud-sidebar.png b/theme/colored/64-Nextcloud-sidebar.png index f11f36320d32234c0081a0a6acbf54ab032f6e1e..7be370e1e4dfa4d2a6796e3e8693bca75c9c7de9 100644 GIT binary patch delta 743 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 V!{9RGvaA3A002ovPDHLkV1g$_D@y + + + + + + + + + From 2c2cc5c23e5bdd13715df3f3367540582c569002 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 14 Jul 2019 03:03:06 +0000 Subject: [PATCH 081/192] [tx-robot] updated from transifex --- translations/client_ja.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/translations/client_ja.ts b/translations/client_ja.ts index b02fcbd19..f646d1cff 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -65,17 +65,17 @@ Help - + ヘルプ Settings - + 設定 Log out - + ログアウト @@ -279,7 +279,7 @@ Enable encryption - + 暗号化を有効にする @@ -1909,7 +1909,7 @@ for additional privileges during the process. Free space: %1 - + 空き容量: %1 @@ -1925,7 +1925,7 @@ for additional privileges during the process. There isn't enough free space in the local folder! - + ローカルフォルダに十分な空き容量がありません。 @@ -2268,7 +2268,7 @@ It is not advisable to use it. The download would reduce free local disk space below the limit - + ダウンロードすることによりローカルディスクの空き容量が制限を下回ります。 @@ -2737,7 +2737,7 @@ It is not advisable to use it. Add another link - + 別のリンクを追加 @@ -3399,7 +3399,7 @@ It is not advisable to use it. Invalid certificate detected - + 無効な証明書が検出されました @@ -3808,7 +3808,7 @@ It is not advisable to use it. Server Address - + サーバーアドレス From 7d700a3c84f174c6f9f07718f700f805b8763bdc Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 15 Jul 2019 03:00:34 +0000 Subject: [PATCH 082/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner From 28c401236b4fb79269a959a9df482ff79b4a491a Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 17 Jul 2019 03:03:58 +0000 Subject: [PATCH 083/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner From 658f6817ce66e4c4f964a99548cec6e976ec46ff Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Fri, 19 Jul 2019 03:16:29 +0000 Subject: [PATCH 084/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner From fa2f52b5515f397d6552732b1418e3eb8bca3029 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 20 Jul 2019 03:03:51 +0000 Subject: [PATCH 085/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_pl.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_pl.ts b/translations/client_pl.ts index 69e43dacc..009f843b7 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -1380,7 +1380,7 @@ Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie twoje pli Use &Monochrome Icons - Używaj &monochromatycznych ikon + Używaj monochromatycznych ikon From ae28be4a104efa82a4e06eaeb1bf5fa524cd9b6a Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 21 Jul 2019 03:07:35 +0000 Subject: [PATCH 086/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 +++--- translations/client_eu.ts | 32 ++++++++++----------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_eu.ts b/translations/client_eu.ts index 835731af5..4b0557b0c 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -29,7 +29,7 @@ Syncing %1 - + %1 sinkronizatzen @@ -189,7 +189,7 @@ End to end encryption mnemonic - + Amaitu muturretik muturrerako zifratzea @@ -279,7 +279,7 @@ Enable encryption - + Gaitu zifratzea @@ -821,7 +821,7 @@ %1 could not be synced due to an error. See the log for details. - %1 ezin izan da sinkronizatu akats bat dela eta. Ikusi egunerkoa zehaztapen gehiago izateko. + %1 ezin izan da sinkronizatu errore bat dela eta. Ikusi egunkaria xehetasun gehiago izateko. @@ -921,7 +921,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Keep Local Files as Conflict - + Mantendu fitxategi lokalak gatazka gisa @@ -1413,7 +1413,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Sharing error - Akatsa partekatzerakoan + Errorea partekatzerakoan @@ -1538,7 +1538,7 @@ Ezabatzeko baimena duten itemak ezabatuko dira hauek karpeta bat ezabatzea uzten Legal notice - + Ohar legala @@ -2287,7 +2287,7 @@ Ez da gomendagarria erabltzea. The downloaded file is empty despite that the server announced it should have been %1. - + Deskargatutako fitxategia hutsik dago zerbitzariak %1 izan beharko lituzkeela iragarri badu ere. @@ -2346,7 +2346,7 @@ Ez da gomendagarria erabltzea. Error removing '%1': %2; - Akatsa '%1' ezabatzerakoan: %2; + Errorea '%1' ezabatzerakoan: %2; @@ -2686,7 +2686,7 @@ Ez da gomendagarria erabltzea. Expiration date: - Iraungitze data: + Iraungitze-data: @@ -2726,7 +2726,7 @@ Ez da gomendagarria erabltzea. Expiration Date - Iraungitze data + Iraungitze-data @@ -3202,7 +3202,7 @@ Ez da gomendagarria erabltzea. Permission denied. - + Baimena ukatuta @@ -3277,7 +3277,7 @@ Ez da gomendagarria erabltzea. Unresolved conflict. - + Ebatzi gabeko gatazka. @@ -3292,7 +3292,7 @@ Ez da gomendagarria erabltzea. Invalid characters, please rename "%1" - + Baliogabeko karaktereak, aldatu "%1" izena @@ -3548,7 +3548,7 @@ Ez da gomendagarria erabltzea. Unresolved conflicts - + Ebatzi gabeko gatazkak @@ -3857,7 +3857,7 @@ Ez da gomendagarria erabltzea. %n days ago - + duela egun %nduela %n egun From 116c5b361fa23a41098616a38c522d2406069a77 Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Sun, 21 Jul 2019 21:37:50 +0200 Subject: [PATCH 087/192] Displays FileIgnored activities with an info icon See: https://github.com/nextcloud/desktop/issues/965 Signed-off-by: Claas Augner --- client.qrc | 1 + resources/state-info.svg | 1 + src/gui/activitylistmodel.cpp | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 resources/state-info.svg diff --git a/client.qrc b/client.qrc index 00db6b163..2abbd8fc8 100644 --- a/client.qrc +++ b/client.qrc @@ -38,6 +38,7 @@ resources/copy.svg resources/state-sync.svg resources/add.png + resources/state-info.svg diff --git a/resources/state-info.svg b/resources/state-info.svg new file mode 100644 index 000000000..14b52e326 --- /dev/null +++ b/resources/state-info.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/gui/activitylistmodel.cpp b/src/gui/activitylistmodel.cpp index ae3a7c6b3..d35fd1368 100644 --- a/src/gui/activitylistmodel.cpp +++ b/src/gui/activitylistmodel.cpp @@ -103,11 +103,12 @@ QVariant ActivityListModel::data(const QModelIndex &index, int role) const || a._status == SyncFileItem::BlacklistedError) { return QIcon(QLatin1String(":/client/resources/state-error.svg")); } else if(a._status == SyncFileItem::SoftError - || a._status == SyncFileItem::FileIgnored || a._status == SyncFileItem::Conflict || a._status == SyncFileItem::Restoration || a._status == SyncFileItem::FileLocked){ return QIcon(QLatin1String(":/client/resources/state-warning.svg")); + } else if(a._status == SyncFileItem::FileIgnored){ + return QIcon(QLatin1String(":/client/resources/state-info.svg")); } return QIcon(QLatin1String(":/client/resources/state-sync.svg")); } From 50be2e067c115b84c34f23e13623cdfd358eb8e8 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 22 Jul 2019 03:06:58 +0000 Subject: [PATCH 088/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_ca.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_ca.ts b/translations/client_ca.ts index 963653331..5c37cd1f6 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -279,7 +279,7 @@ Enable encryption - Activar xifratge + Activa el xifratge From 96c35a9410d03fd3fdc7956cb36fc9f924ff3420 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 23 Jul 2019 03:09:01 +0000 Subject: [PATCH 089/192] [tx-robot] updated from transifex --- translations/client_bg.ts | 29 +++++++++++++++++------------ translations/client_ca.ts | 29 +++++++++++++++++------------ translations/client_cs.ts | 29 +++++++++++++++++------------ translations/client_da.ts | 29 +++++++++++++++++------------ translations/client_de.ts | 29 +++++++++++++++++------------ translations/client_el.ts | 29 +++++++++++++++++------------ translations/client_en.ts | 29 +++++++++++++++++------------ translations/client_en_GB.ts | 29 +++++++++++++++++------------ translations/client_eo.ts | 29 +++++++++++++++++------------ translations/client_es.ts | 29 +++++++++++++++++------------ translations/client_es_AR.ts | 29 +++++++++++++++++------------ translations/client_es_CL.ts | 29 +++++++++++++++++------------ translations/client_es_CO.ts | 29 +++++++++++++++++------------ translations/client_es_CR.ts | 29 +++++++++++++++++------------ translations/client_es_DO.ts | 29 +++++++++++++++++------------ translations/client_es_EC.ts | 29 +++++++++++++++++------------ translations/client_es_GT.ts | 29 +++++++++++++++++------------ translations/client_es_HN.ts | 29 +++++++++++++++++------------ translations/client_es_MX.ts | 29 +++++++++++++++++------------ translations/client_es_SV.ts | 29 +++++++++++++++++------------ translations/client_et.ts | 29 +++++++++++++++++------------ translations/client_eu.ts | 29 +++++++++++++++++------------ translations/client_fa.ts | 29 +++++++++++++++++------------ translations/client_fi.ts | 29 +++++++++++++++++------------ translations/client_fr.ts | 29 +++++++++++++++++------------ translations/client_gl.ts | 29 +++++++++++++++++------------ translations/client_he.ts | 29 +++++++++++++++++------------ translations/client_hu.ts | 29 +++++++++++++++++------------ translations/client_id.ts | 29 +++++++++++++++++------------ translations/client_is.ts | 29 +++++++++++++++++------------ translations/client_it.ts | 29 +++++++++++++++++------------ translations/client_ja.ts | 29 +++++++++++++++++------------ translations/client_lt_LT.ts | 29 +++++++++++++++++------------ translations/client_lv.ts | 29 +++++++++++++++++------------ translations/client_nb_NO.ts | 29 +++++++++++++++++------------ translations/client_nl.ts | 29 +++++++++++++++++------------ translations/client_pl.ts | 29 +++++++++++++++++------------ translations/client_pt.ts | 29 +++++++++++++++++------------ translations/client_pt_BR.ts | 29 +++++++++++++++++------------ translations/client_ru.ts | 29 +++++++++++++++++------------ translations/client_sk.ts | 29 +++++++++++++++++------------ translations/client_sl.ts | 29 +++++++++++++++++------------ translations/client_sr.ts | 29 +++++++++++++++++------------ translations/client_sv.ts | 29 +++++++++++++++++------------ translations/client_th.ts | 29 +++++++++++++++++------------ translations/client_tr.ts | 29 +++++++++++++++++------------ translations/client_uk.ts | 29 +++++++++++++++++------------ translations/client_zh_CN.ts | 29 +++++++++++++++++------------ translations/client_zh_TW.ts | 29 +++++++++++++++++------------ 49 files changed, 833 insertions(+), 588 deletions(-) diff --git a/translations/client_bg.ts b/translations/client_bg.ts index 48f606ef7..326a7f886 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -2767,17 +2767,17 @@ It is not advisable to use it. - + Copy link Копирай връзката - + No results for '%1' Няма резултат за '%1' - + I shared something with you Споделих нещо с вас @@ -2795,22 +2795,27 @@ It is not advisable to use it. може да редактира - + Can reshare Може да споделя повторно - + + Unshare + + + + Can create Може да създава - + Can change Може да променя - + Can delete Може да изтрива @@ -3480,11 +3485,6 @@ It is not advisable to use it. Settings... Настройки... - - - Details... - Подробности... - Help @@ -3596,6 +3596,11 @@ It is not advisable to use it. New account... Нов профил... + + + View more activity... + + Crash now diff --git a/translations/client_ca.ts b/translations/client_ca.ts index 5c37cd1f6..bc07b8153 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -2785,17 +2785,17 @@ No és aconsellable fer-la servir. Comparteix amb usuaris o grups ... - + Copy link Copia l'enllaç - + No results for '%1' No hi ha resultats per '%1' - + I shared something with you He compartit una cosa amb tu @@ -2813,22 +2813,27 @@ No és aconsellable fer-la servir. pot editar - + Can reshare Pot re-compartir - + + Unshare + + + + Can create Pot crear - + Can change Pot canviar - + Can delete Pot suprimir @@ -3499,11 +3504,6 @@ No és aconsellable fer-la servir. Settings... Paràmetres... - - - Details... - Detalls... - Help @@ -3615,6 +3615,11 @@ No és aconsellable fer-la servir. New account... Compte nou... + + + View more activity... + + Crash now diff --git a/translations/client_cs.ts b/translations/client_cs.ts index 8989c8abe..44fe6c6a0 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -2782,17 +2782,17 @@ Nedoporučuje se jí používat. Sdílet s uživateli nebo skupinami… - + Copy link Zkopírovat odkaz - + No results for '%1' Žádné výsledky pro „%1“ - + I shared something with you Něco jsem vám nasdílel @@ -2810,22 +2810,27 @@ Nedoporučuje se jí používat. lze upravovat - + Can reshare Může sdílet dál - + + Unshare + + + + Can create Může vytvářet - + Can change Může měnit - + Can delete Může mazat @@ -3496,11 +3501,6 @@ Nedoporučuje se jí používat. Settings... Nastavení… - - - Details... - Podrobnosti… - Help @@ -3612,6 +3612,11 @@ Nedoporučuje se jí používat. New account... Nový účet… + + + View more activity... + + Crash now diff --git a/translations/client_da.ts b/translations/client_da.ts index b11aa7d6f..aa9621684 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -2762,17 +2762,17 @@ It is not advisable to use it. - + Copy link - + No results for '%1' - + I shared something with you @@ -2790,22 +2790,27 @@ It is not advisable to use it. kan redigere - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3474,11 +3479,6 @@ It is not advisable to use it. Settings... Indstillinger… - - - Details... - Detaljer… - Help @@ -3590,6 +3590,11 @@ It is not advisable to use it. New account... Ny konto… + + + View more activity... + + Crash now diff --git a/translations/client_de.ts b/translations/client_de.ts index 71014c5f5..d127b455c 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -2782,17 +2782,17 @@ Es ist nicht ratsam, sie zu benutzen. Mit Benutzern oder Gruppen teilen … - + Copy link Link kopieren - + No results for '%1' Keine Ergebnisse für '%1' - + I shared something with you Ich habe etwas mit Ihnen geteilt @@ -2810,22 +2810,27 @@ Es ist nicht ratsam, sie zu benutzen. kann bearbeiten - + Can reshare kann weiterteilen - + + Unshare + + + + Can create kann erstellen - + Can change kann ändern - + Can delete kann löschen @@ -3496,11 +3501,6 @@ Es ist nicht ratsam, sie zu benutzen. Settings... Einstellungen … - - - Details... - Details … - Help @@ -3612,6 +3612,11 @@ Es ist nicht ratsam, sie zu benutzen. New account... Neues Konto ... + + + View more activity... + + Crash now diff --git a/translations/client_el.ts b/translations/client_el.ts index cc921929b..f2d03780b 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -2772,17 +2772,17 @@ It is not advisable to use it. Διαμοιρασμός με χρήστες ή ομάδες ... - + Copy link Αντιγραφή συνδέσμου - + No results for '%1' Κανένα αποτέλεσμα για '%1' - + I shared something with you @@ -2800,22 +2800,27 @@ It is not advisable to use it. δυνατότητα επεξεργασίας - + Can reshare Δυνατότητα να διαμοιραστεί ξανά - + + Unshare + + + + Can create Δυνατότητα δημιουργίας - + Can change - + Can delete Μπορεί να διαγράψει @@ -3486,11 +3491,6 @@ It is not advisable to use it. Settings... Ρυθμίσεις... - - - Details... - Λεπτομέρειες... - Help @@ -3602,6 +3602,11 @@ It is not advisable to use it. New account... Νέος λογαριασμός... + + + View more activity... + + Crash now diff --git a/translations/client_en.ts b/translations/client_en.ts index 1e26e8296..2511ffe1f 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -2788,17 +2788,17 @@ It is not advisable to use it. - + Copy link - + No results for '%1' - + I shared something with you @@ -2816,22 +2816,27 @@ It is not advisable to use it. - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3500,11 +3505,6 @@ It is not advisable to use it. Settings... - - - Details... - - Help @@ -3616,6 +3616,11 @@ It is not advisable to use it. New account... + + + View more activity... + + Crash now diff --git a/translations/client_en_GB.ts b/translations/client_en_GB.ts index 46f5791da..f88961818 100644 --- a/translations/client_en_GB.ts +++ b/translations/client_en_GB.ts @@ -2783,17 +2783,17 @@ It is not advisable to use it. Share with users or groups ... - + Copy link Copy link - + No results for '%1' No results for '%1' - + I shared something with you I shared something with you @@ -2811,22 +2811,27 @@ It is not advisable to use it. can edit - + Can reshare Can reshare - + + Unshare + + + + Can create Can create - + Can change Can change - + Can delete Can delete @@ -3497,11 +3502,6 @@ It is not advisable to use it. Settings... Settings... - - - Details... - Details... - Help @@ -3613,6 +3613,11 @@ It is not advisable to use it. New account... New account... + + + View more activity... + + Crash now diff --git a/translations/client_eo.ts b/translations/client_eo.ts index a70759117..06224c559 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -2782,17 +2782,17 @@ Uzi ĝin ne konsilindas. Kunhavigi kun uzantoj aŭ grupoj... - + Copy link Kopii ligilon - + No results for '%1' Neniu rezulto por „%1“ - + I shared something with you Mi kunhavigis ion kun vi @@ -2810,22 +2810,27 @@ Uzi ĝin ne konsilindas. povas redakti - + Can reshare Eblas rekunhavigi - + + Unshare + + + + Can create Povas krei - + Can change Eblas ŝanĝi - + Can delete Povas forigi @@ -3495,11 +3500,6 @@ Uzi ĝin ne konsilindas. Settings... Agordoj... - - - Details... - Detaloj... - Help @@ -3611,6 +3611,11 @@ Uzi ĝin ne konsilindas. New account... Nova konto... + + + View more activity... + + Crash now diff --git a/translations/client_es.ts b/translations/client_es.ts index 68d04594d..3e9cf7a64 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -2782,17 +2782,17 @@ No se recomienda usarla. Compartir con usuarios o grupos ... - + Copy link Copiar enlace - + No results for '%1' No hay resultados para '%1' - + I shared something with you He compartido algo contigo @@ -2810,22 +2810,27 @@ No se recomienda usarla. puede editar - + Can reshare Puede compartir - + + Unshare + + + + Can create Puede crear - + Can change Puede cambiar - + Can delete Puede eliminar @@ -3496,11 +3501,6 @@ No se recomienda usarla. Settings... Ajustes... - - - Details... - Detalles... - Help @@ -3612,6 +3612,11 @@ No se recomienda usarla. New account... Nueva cuenta ... + + + View more activity... + + Crash now diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index 3a8333118..5820538e9 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -2762,17 +2762,17 @@ It is not advisable to use it. Compartir con usuario o grupo ... - + Copy link - + No results for '%1' - + I shared something with you @@ -2790,22 +2790,27 @@ It is not advisable to use it. podés editar - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3474,11 +3479,6 @@ It is not advisable to use it. Settings... Configuraciones... - - - Details... - Detalles... - Help @@ -3590,6 +3590,11 @@ It is not advisable to use it. New account... + + + View more activity... + + Crash now diff --git a/translations/client_es_CL.ts b/translations/client_es_CL.ts index 3bab0d1e3..f37f9f702 100644 --- a/translations/client_es_CL.ts +++ b/translations/client_es_CL.ts @@ -2773,17 +2773,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,27 @@ No es recomendable usarlo. puede editar - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3487,11 +3492,6 @@ No es recomendable usarlo. Settings... Configuraciones... - - - Details... - Detalles... - Help @@ -3603,6 +3603,11 @@ No es recomendable usarlo. New account... Nueva cuenta... + + + View more activity... + + Crash now diff --git a/translations/client_es_CO.ts b/translations/client_es_CO.ts index 18675de34..56c5add45 100644 --- a/translations/client_es_CO.ts +++ b/translations/client_es_CO.ts @@ -2773,17 +2773,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,27 @@ No es recomendable usarlo. puede editar - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3487,11 +3492,6 @@ No es recomendable usarlo. Settings... Configuraciones... - - - Details... - Detalles... - Help @@ -3603,6 +3603,11 @@ No es recomendable usarlo. New account... Nueva cuenta... + + + View more activity... + + Crash now diff --git a/translations/client_es_CR.ts b/translations/client_es_CR.ts index 8381bb83f..08f735bb7 100644 --- a/translations/client_es_CR.ts +++ b/translations/client_es_CR.ts @@ -2773,17 +2773,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,27 @@ No es recomendable usarlo. puede editar - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3487,11 +3492,6 @@ No es recomendable usarlo. Settings... Configuraciones... - - - Details... - Detalles... - Help @@ -3603,6 +3603,11 @@ No es recomendable usarlo. New account... Nueva cuenta... + + + View more activity... + + Crash now diff --git a/translations/client_es_DO.ts b/translations/client_es_DO.ts index 61ec8395e..c95a7bf3b 100644 --- a/translations/client_es_DO.ts +++ b/translations/client_es_DO.ts @@ -2773,17 +2773,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,27 @@ No es recomendable usarlo. puede editar - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3487,11 +3492,6 @@ No es recomendable usarlo. Settings... Configuraciones... - - - Details... - Detalles... - Help @@ -3603,6 +3603,11 @@ No es recomendable usarlo. New account... Nueva cuenta... + + + View more activity... + + Crash now diff --git a/translations/client_es_EC.ts b/translations/client_es_EC.ts index 3a3fa55ef..49808a17a 100644 --- a/translations/client_es_EC.ts +++ b/translations/client_es_EC.ts @@ -2773,17 +2773,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,27 @@ No es recomendable usarlo. puede editar - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3487,11 +3492,6 @@ No es recomendable usarlo. Settings... Configuraciones... - - - Details... - Detalles... - Help @@ -3603,6 +3603,11 @@ No es recomendable usarlo. New account... Nueva cuenta... + + + View more activity... + + Crash now diff --git a/translations/client_es_GT.ts b/translations/client_es_GT.ts index a5c7ef7db..7b26f03d7 100644 --- a/translations/client_es_GT.ts +++ b/translations/client_es_GT.ts @@ -2773,17 +2773,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,27 @@ No es recomendable usarlo. puede editar - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3487,11 +3492,6 @@ No es recomendable usarlo. Settings... Configuraciones... - - - Details... - Detalles... - Help @@ -3603,6 +3603,11 @@ No es recomendable usarlo. New account... Nueva cuenta... + + + View more activity... + + Crash now diff --git a/translations/client_es_HN.ts b/translations/client_es_HN.ts index a32574c04..071c51f8a 100644 --- a/translations/client_es_HN.ts +++ b/translations/client_es_HN.ts @@ -2773,17 +2773,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,27 @@ No es recomendable usarlo. puede editar - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3487,11 +3492,6 @@ No es recomendable usarlo. Settings... Configuraciones... - - - Details... - Detalles... - Help @@ -3603,6 +3603,11 @@ No es recomendable usarlo. New account... Nueva cuenta... + + + View more activity... + + Crash now diff --git a/translations/client_es_MX.ts b/translations/client_es_MX.ts index 2e36dc68f..7e394a1cb 100644 --- a/translations/client_es_MX.ts +++ b/translations/client_es_MX.ts @@ -2773,17 +2773,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,27 @@ No es recomendable usarlo. puede editar - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3487,11 +3492,6 @@ No es recomendable usarlo. Settings... Configuraciones... - - - Details... - Detalles... - Help @@ -3603,6 +3603,11 @@ No es recomendable usarlo. New account... Nueva cuenta... + + + View more activity... + + Crash now diff --git a/translations/client_es_SV.ts b/translations/client_es_SV.ts index 03b0cb4cc..d081b99a2 100644 --- a/translations/client_es_SV.ts +++ b/translations/client_es_SV.ts @@ -2773,17 +2773,17 @@ No es recomendable usarlo. Compartir con usuarios o grupos ... - + Copy link - + No results for '%1' No se encontraron resultados para '%1' - + I shared something with you Compartí algo contigo @@ -2801,22 +2801,27 @@ No es recomendable usarlo. puede editar - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3487,11 +3492,6 @@ No es recomendable usarlo. Settings... Configuraciones... - - - Details... - Detalles... - Help @@ -3603,6 +3603,11 @@ No es recomendable usarlo. New account... Nueva cuenta... + + + View more activity... + + Crash now diff --git a/translations/client_et.ts b/translations/client_et.ts index 9b35e86e0..cc21e5d8e 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -2763,17 +2763,17 @@ Selle kasutamine pole soovitatav. Jaga kasutajate või gruppidega ... - + Copy link - + No results for '%1' - + I shared something with you @@ -2791,22 +2791,27 @@ Selle kasutamine pole soovitatav. saab muuta - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3477,11 +3482,6 @@ Selle kasutamine pole soovitatav. Settings... Seaded... - - - Details... - Üksikasjad... - Help @@ -3593,6 +3593,11 @@ Selle kasutamine pole soovitatav. New account... + + + View more activity... + + Crash now diff --git a/translations/client_eu.ts b/translations/client_eu.ts index 4b0557b0c..0c1585b30 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -2767,17 +2767,17 @@ Ez da gomendagarria erabltzea. Elkarbanatu erabiltzaile edo taldearekin... - + Copy link Esteka kopiatu - + No results for '%1' - + I shared something with you Zerbait partekatu dut zurekin @@ -2795,22 +2795,27 @@ Ez da gomendagarria erabltzea. editatu dezake - + Can reshare Birparteka daiteke - + + Unshare + + + + Can create Sortu dezake - + Can change Aldatu dezake - + Can delete Ezabatu dezake @@ -3479,11 +3484,6 @@ Ez da gomendagarria erabltzea. Settings... Ezarpenak... - - - Details... - Xehetasunak... - Help @@ -3595,6 +3595,11 @@ Ez da gomendagarria erabltzea. New account... Kontu berria... + + + View more activity... + + Crash now diff --git a/translations/client_fa.ts b/translations/client_fa.ts index 4d2042ff2..2716754df 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -2770,17 +2770,17 @@ It is not advisable to use it. اشتراک گذاری با کاربران یا گروه ها ... - + Copy link کپی کردن آدرس لینک - + No results for '%1' هیچ نتیجه ای برای '1%' وجود ندارد - + I shared something with you من چیزی را با شما به اشتراک گذاشتم @@ -2798,22 +2798,27 @@ It is not advisable to use it. می توان ویرایش کرد - + Can reshare امکان اشتراک گذاری وجود دارد - + + Unshare + + + + Can create امکان ایجاد وجود دارد - + Can change امکان تغییر وجود دارد - + Can delete امکان حذف وجود دار @@ -3483,11 +3488,6 @@ It is not advisable to use it. Settings... تنظیمات... - - - Details... - جزئیات... - Help @@ -3599,6 +3599,11 @@ It is not advisable to use it. New account... حساب جدید... + + + View more activity... + + Crash now diff --git a/translations/client_fi.ts b/translations/client_fi.ts index 325dc14d7..23a867467 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -2767,17 +2767,17 @@ Osoitteen käyttäminen ei ole suositeltavaa. Jaa käyttäjien tai ryhmien kanssa… - + Copy link Kopioi linkki - + No results for '%1' Ei tuloksia haulla '%1' - + I shared something with you Jaoin jotain kanssasi @@ -2795,22 +2795,27 @@ Osoitteen käyttäminen ei ole suositeltavaa. voi muokata - + Can reshare Voi uudelleenjakaa - + + Unshare + + + + Can create Voi luoda - + Can change Voi muuttaa - + Can delete Voi poistaa @@ -3481,11 +3486,6 @@ Osoitteen käyttäminen ei ole suositeltavaa. Settings... Asetukset... - - - Details... - Tiedot... - Help @@ -3597,6 +3597,11 @@ Osoitteen käyttäminen ei ole suositeltavaa. New account... Uusi tili... + + + View more activity... + + Crash now diff --git a/translations/client_fr.ts b/translations/client_fr.ts index 5e5bdeb36..d45f175fe 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -2786,17 +2786,17 @@ Il est déconseillé de l'utiliser. Partager avec des utilisateurs ou groupes... - + Copy link Copier le lien - + No results for '%1' Aucun résultat pour '%1' - + I shared something with you J'ai partagé quelque chose avec vous @@ -2814,22 +2814,27 @@ Il est déconseillé de l'utiliser. peut modifier - + Can reshare Peut repartager - + + Unshare + + + + Can create Peut créer - + Can change Peut modifier - + Can delete Peut supprimer @@ -3500,11 +3505,6 @@ Il est déconseillé de l'utiliser. Settings... Paramètres... - - - Details... - Toutes les modifications... - Help @@ -3616,6 +3616,11 @@ Il est déconseillé de l'utiliser. New account... Nouveau compte… + + + View more activity... + + Crash now diff --git a/translations/client_gl.ts b/translations/client_gl.ts index 3c7888105..b796697a2 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -2784,17 +2784,17 @@ Recomendámoslle que non o use. Compartir con usuarios ou grupos... - + Copy link Copiar a ligazón - + No results for '%1' Non hai resultados para «%1» - + I shared something with you Compartín algo con vostede @@ -2812,22 +2812,27 @@ Recomendámoslle que non o use. pode editar - + Can reshare Pode volver compartir - + + Unshare + + + + Can create Pode crear - + Can change Pode cambiar - + Can delete Pode eliminar @@ -3498,11 +3503,6 @@ Recomendámoslle que non o use. Settings... Axustes... - - - Details... - Detalles... - Help @@ -3614,6 +3614,11 @@ Recomendámoslle que non o use. New account... Nova conta... + + + View more activity... + + Crash now diff --git a/translations/client_he.ts b/translations/client_he.ts index 21719cfeb..7e99b31ab 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -2764,17 +2764,17 @@ It is not advisable to use it. שיתוף עם משתמשים או קבוצות… - + Copy link העתקת קישור - + No results for '%1' אין תוצאות לחיפוש אחר ‚%1’ - + I shared something with you שיתפת אתך משהו @@ -2792,22 +2792,27 @@ It is not advisable to use it. הרשאה לעריכה - + Can reshare הרשאה לשיתוף מחדש - + + Unshare + + + + Can create הרשאה ליצירה - + Can change הרשאה לעריכה - + Can delete הרשאה למחיקה @@ -3476,11 +3481,6 @@ It is not advisable to use it. Settings... הגדרות… - - - Details... - פרטים… - Help @@ -3592,6 +3592,11 @@ It is not advisable to use it. New account... חשבון חדש… + + + View more activity... + + Crash now diff --git a/translations/client_hu.ts b/translations/client_hu.ts index 8fbade33b..f20d6235c 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -2782,17 +2782,17 @@ Használata nem ajánlott. Megosztás felhasználókkal vagy csoportokkal … - + Copy link Hivatkozás másolása - + No results for '%1' Nincs találat erre: „%1” - + I shared something with you Megosztottam Önnel valamit @@ -2810,22 +2810,27 @@ Használata nem ajánlott. szerkesztheti - + Can reshare Újra megosztható - + + Unshare + + + + Can create Létrehozható - + Can change Módosítható - + Can delete Törölhető @@ -3496,11 +3501,6 @@ Használata nem ajánlott. Settings... Beállítások… - - - Details... - Részletek… - Help @@ -3612,6 +3612,11 @@ Használata nem ajánlott. New account... Új fiók… + + + View more activity... + + Crash now diff --git a/translations/client_id.ts b/translations/client_id.ts index 4b41b1ea1..a235fe39e 100644 --- a/translations/client_id.ts +++ b/translations/client_id.ts @@ -2782,17 +2782,17 @@ Tidak disarankan untuk digunakan. - + Copy link - + No results for '%1' - + I shared something with you @@ -2810,22 +2810,27 @@ Tidak disarankan untuk digunakan. - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3494,11 +3499,6 @@ Tidak disarankan untuk digunakan. Settings... - - - Details... - - Help @@ -3610,6 +3610,11 @@ Tidak disarankan untuk digunakan. New account... + + + View more activity... + + Crash now diff --git a/translations/client_is.ts b/translations/client_is.ts index 83ab5aef7..0bac9caf0 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -2779,17 +2779,17 @@ Ekki er mælt með því að hún sé notuð. Deila með notendum eða hópum ... - + Copy link Afrita tengil - + No results for '%1' Engar niðurstöður fyrir '%1' - + I shared something with you Ég deildi einhverju með þér @@ -2807,22 +2807,27 @@ Ekki er mælt með því að hún sé notuð. getur breytt - + Can reshare Getur endurdeilt - + + Unshare + + + + Can create Getur búið til - + Can change Getur breytt - + Can delete Getur eytt @@ -3494,11 +3499,6 @@ Ekki er mælt með því að hún sé notuð. Settings... Stillingar... - - - Details... - Nánar... - Help @@ -3610,6 +3610,11 @@ Ekki er mælt með því að hún sé notuð. New account... Nýr aðgangur... + + + View more activity... + + Crash now diff --git a/translations/client_it.ts b/translations/client_it.ts index 5ed9a7e97..2f551735a 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -2784,17 +2784,17 @@ Non è consigliabile utilizzarlo. Condividi con utenti o gruppi... - + Copy link Copia collegamento - + No results for '%1' Nessun risultato per '%1' - + I shared something with you Ho condiviso qualcosa con te @@ -2812,22 +2812,27 @@ Non è consigliabile utilizzarlo. può modificare - + Can reshare Può ri-condividere - + + Unshare + + + + Can create Può creare - + Can change Può cambiare - + Can delete Può eliminare @@ -3498,11 +3503,6 @@ Non è consigliabile utilizzarlo. Settings... Impostazioni... - - - Details... - Dettagli... - Help @@ -3614,6 +3614,11 @@ Non è consigliabile utilizzarlo. New account... Nuovo account... + + + View more activity... + + Crash now diff --git a/translations/client_ja.ts b/translations/client_ja.ts index f646d1cff..f143684d1 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -2768,17 +2768,17 @@ It is not advisable to use it. ユーザーまたはグループと共有 ... - + Copy link リンクをコピー - + No results for '%1' '%1' は見つかりませんでした - + I shared something with you 私はあなたと何かを共有しました @@ -2796,22 +2796,27 @@ It is not advisable to use it. 編集を許可 - + Can reshare 再共有可能 - + + Unshare + + + + Can create 作成可能 - + Can change 変更可能 - + Can delete 削除可能 @@ -3482,11 +3487,6 @@ It is not advisable to use it. Settings... 設定... - - - Details... - 詳細... - Help @@ -3598,6 +3598,11 @@ It is not advisable to use it. New account... 新規アカウント... + + + View more activity... + + Crash now diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index 1dba63261..1c38500fd 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -2778,17 +2778,17 @@ Patariama jo nenaudoti. Dalintis su naudotojais ar grupėmis ... - + Copy link Kopijuoti nuorodą - + No results for '%1' Pagal kriterijų %1 nieko nerasta - + I shared something with you Pasidalinau kai kuo su jumis @@ -2806,22 +2806,27 @@ Patariama jo nenaudoti. gali keisti - + Can reshare Gali pakartotinai dalintis - + + Unshare + + + + Can create Gali kurti - + Can change Gali keisti - + Can delete Gali trinti @@ -3492,11 +3497,6 @@ Patariama jo nenaudoti. Settings... Nustatymai... - - - Details... - Išsamiau... - Help @@ -3608,6 +3608,11 @@ Patariama jo nenaudoti. New account... Nauja paskyra... + + + View more activity... + + Crash now diff --git a/translations/client_lv.ts b/translations/client_lv.ts index 205a9063b..56460653e 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -2764,17 +2764,17 @@ It is not advisable to use it. - + Copy link - + No results for '%1' - + I shared something with you @@ -2792,22 +2792,27 @@ It is not advisable to use it. - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3476,11 +3481,6 @@ It is not advisable to use it. Settings... Iestatījumi... - - - Details... - Detaļas... - Help @@ -3592,6 +3592,11 @@ It is not advisable to use it. New account... Jauns konts... + + + View more activity... + + Crash now diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index fd7b61b2b..ad7fcd9e8 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -2773,17 +2773,17 @@ Det er ikke tilrådelig å bruke den. Del med brukere eller grupper … - + Copy link Kopier lenke - + No results for '%1' Ingen resultater for '%1' - + I shared something with you Jeg delte noe med deg @@ -2801,22 +2801,27 @@ Det er ikke tilrådelig å bruke den. kan endre - + Can reshare - + + Unshare + + + + Can create kan opprette - + Can change Kan endre - + Can delete Kan slette @@ -3487,11 +3492,6 @@ Det er ikke tilrådelig å bruke den. Settings... Innstillinger … - - - Details... - Detaljer … - Help @@ -3603,6 +3603,11 @@ Det er ikke tilrådelig å bruke den. New account... Ny konto … + + + View more activity... + + Crash now diff --git a/translations/client_nl.ts b/translations/client_nl.ts index b12277013..e4b7f63a9 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -2787,17 +2787,17 @@ We adviseren deze site niet te gebruiken. Delen met gebruikers of groepen ... - + Copy link Kopiëren link - + No results for '%1' Geen resultaten voor '%1' - + I shared something with you Ik deelde iets met u @@ -2815,22 +2815,27 @@ We adviseren deze site niet te gebruiken. kan wijzigen - + Can reshare Kan doordelen - + + Unshare + + + + Can create Kan creëren - + Can change Kan wijzigen - + Can delete Kan verwijderen @@ -3501,11 +3506,6 @@ We adviseren deze site niet te gebruiken. Settings... Instellingen... - - - Details... - Details ... - Help @@ -3617,6 +3617,11 @@ We adviseren deze site niet te gebruiken. New account... Nieuw account... + + + View more activity... + + Crash now diff --git a/translations/client_pl.ts b/translations/client_pl.ts index 009f843b7..d4ec7cece 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -2783,17 +2783,17 @@ Niezalecane jest jego użycie. Współdziel z użytkownikami lub grupami - + Copy link Kopiuj link - + No results for '%1' Brak wyników dla '%1' - + I shared something with you Udostępniłem/am ci coś @@ -2811,22 +2811,27 @@ Niezalecane jest jego użycie. może edytować - + Can reshare Pozwól na udostępnianie innym - + + Unshare + + + + Can create Pozwól na utworzenie - + Can change Pozwól na zmianę - + Can delete Pozwól na usunięcie @@ -3497,11 +3502,6 @@ Niezalecane jest jego użycie. Settings... Ustawienia… - - - Details... - Szczegóły… - Help @@ -3613,6 +3613,11 @@ Niezalecane jest jego użycie. New account... Nowe konto… + + + View more activity... + + Crash now diff --git a/translations/client_pt.ts b/translations/client_pt.ts index 0babe5ac4..67b8fac9f 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -2772,17 +2772,17 @@ Não é aconselhada a sua utilização. Partilhar com utilizadores ou grupos... - + Copy link - + No results for '%1' Sem resultados para '%1' - + I shared something with you @@ -2800,22 +2800,27 @@ Não é aconselhada a sua utilização. pode editar - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3486,11 +3491,6 @@ Não é aconselhada a sua utilização. Settings... Configurações... - - - Details... - Detalhes... - Help @@ -3602,6 +3602,11 @@ Não é aconselhada a sua utilização. New account... Nova conta... + + + View more activity... + + Crash now diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 0751478ad..05b6a9383 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -2783,17 +2783,17 @@ Não é aconselhável usá-la. Compartilhar com usuários ou grupos... - + Copy link Copiar link - + No results for '%1' Sem resultados para '%1' - + I shared something with you Eu compartilhei algo com você @@ -2811,22 +2811,27 @@ Não é aconselhável usá-la. pode editar - + Can reshare Pode recompartilhar - + + Unshare + + + + Can create Pode criar - + Can change Pode alterar - + Can delete Pode excluir @@ -3497,11 +3502,6 @@ Não é aconselhável usá-la. Settings... Configurações... - - - Details... - Detalhes... - Help @@ -3613,6 +3613,11 @@ Não é aconselhável usá-la. New account... Nova conta... + + + View more activity... + + Crash now diff --git a/translations/client_ru.ts b/translations/client_ru.ts index c1da8d18f..27a0f1a1a 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -2777,17 +2777,17 @@ It is not advisable to use it. Введите имя пользователя или группы… - + Copy link Скопировать ссылку - + No results for '%1' Нет результатов для '%1' - + I shared something with you Я поделился с тобой @@ -2805,22 +2805,27 @@ It is not advisable to use it. разрешить редактировать - + Can reshare разрешить делиться - + + Unshare + + + + Can create разрешить создавать - + Can change разрешить вносить изменения - + Can delete разрешить удалять @@ -3491,11 +3496,6 @@ It is not advisable to use it. Settings... Параметры... - - - Details... - Детали... - Help @@ -3607,6 +3607,11 @@ It is not advisable to use it. New account... Новая учётная запись… + + + View more activity... + + Crash now diff --git a/translations/client_sk.ts b/translations/client_sk.ts index 326885a2d..838336e3f 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -2776,17 +2776,17 @@ Nie je vhodné ju používať. Zdieľať s používateľmi alebo skupinami ... - + Copy link Kopírovať odkaz - + No results for '%1' Žiadne výsledky pre '%1' - + I shared something with you Niečo som vám sprístupnil @@ -2804,22 +2804,27 @@ Nie je vhodné ju používať. môže upraviť - + Can reshare Môže sprístupniť aj iným - + + Unshare + + + + Can create Môže vytvárať - + Can change Môže meniť - + Can delete Môže odstraňovať @@ -3490,11 +3495,6 @@ Nie je vhodné ju používať. Settings... Nastavenia... - - - Details... - Podrobnosti... - Help @@ -3606,6 +3606,11 @@ Nie je vhodné ju používať. New account... Nový účet… + + + View more activity... + + Crash now diff --git a/translations/client_sl.ts b/translations/client_sl.ts index b75482b18..5467490c1 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -2772,17 +2772,17 @@ Uporaba ni priporočljiva. Souporaba z uporabniki ali skupinami ... - + Copy link - + No results for '%1' Ni zadetkov za '%1' - + I shared something with you @@ -2800,22 +2800,27 @@ Uporaba ni priporočljiva. lahko ureja - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3486,11 +3491,6 @@ Uporaba ni priporočljiva. Settings... Nastavitve ... - - - Details... - Podrobnosti ... - Help @@ -3602,6 +3602,11 @@ Uporaba ni priporočljiva. New account... Nov račun ... + + + View more activity... + + Crash now diff --git a/translations/client_sr.ts b/translations/client_sr.ts index e923efec1..c0a6af4dd 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -2783,17 +2783,17 @@ It is not advisable to use it. Дели са корисницима или групама... - + Copy link Копирај везу - + No results for '%1' Нема резултата за '%1' - + I shared something with you Поделио сам нешто са Вама @@ -2811,22 +2811,27 @@ It is not advisable to use it. може да мења - + Can reshare Може да дели даље - + + Unshare + + + + Can create Може да креира унутар дељења - + Can change Може да мења садржај унутар дељења - + Can delete Може да брише садржај унутар дељења @@ -3497,11 +3502,6 @@ It is not advisable to use it. Settings... Поставке... - - - Details... - Детаљи... - Help @@ -3613,6 +3613,11 @@ It is not advisable to use it. New account... Нови налог... + + + View more activity... + + Crash now diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 30e826ad8..73aa8fec5 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -2783,17 +2783,17 @@ Det är inte lämpligt använda den. Dela med användare eller grupper ... - + Copy link Kopiera länk - + No results for '%1' Inga resultat för '%1' - + I shared something with you Jag delade något med dig @@ -2811,22 +2811,27 @@ Det är inte lämpligt använda den. kan redigera - + Can reshare Kan dela vidare - + + Unshare + + + + Can create Kan skapa - + Can change Kan ändra - + Can delete Kan radera @@ -3497,11 +3502,6 @@ Det är inte lämpligt använda den. Settings... Inställningar... - - - Details... - Detaljer... - Help @@ -3613,6 +3613,11 @@ Det är inte lämpligt använda den. New account... Nytt konto... + + + View more activity... + + Crash now diff --git a/translations/client_th.ts b/translations/client_th.ts index fb578214c..b14d05935 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -2772,17 +2772,17 @@ It is not advisable to use it. แชร์กับผู้ใช้หรือกลุ่ม ... - + Copy link - + No results for '%1' ไม่มีผลลัพธ์สำหรับ '%1' - + I shared something with you ฉันแชร์บางอย่างกับคุณ @@ -2800,22 +2800,27 @@ It is not advisable to use it. สามารถแก้ไข - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3485,11 +3490,6 @@ It is not advisable to use it. Settings... ตั้งค่า... - - - Details... - รายละเอียด... - Help @@ -3601,6 +3601,11 @@ It is not advisable to use it. New account... สร้างบัญชีใหม่... + + + View more activity... + + Crash now diff --git a/translations/client_tr.ts b/translations/client_tr.ts index f0e6c72c1..ab1412280 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -2782,17 +2782,17 @@ Kullanmanız önerilmez. Kullanıcı ya da gruplarla paylaş... - + Copy link Bağlantıyı kopyala - + No results for '%1' '%1' için bir sonuç bulunamadı - + I shared something with you Sizinle bir şey paylaştım @@ -2810,22 +2810,27 @@ Kullanmanız önerilmez. düzenleyebilir - + Can reshare Yeniden paylaşabilsin - + + Unshare + + + + Can create Ekleyebilsin - + Can change Değiştirebilsin - + Can delete Silebilsin @@ -3496,11 +3501,6 @@ Kullanmanız önerilmez. Settings... Ayarlar... - - - Details... - Ayrıntılar... - Help @@ -3612,6 +3612,11 @@ Kullanmanız önerilmez. New account... Hesap ekle... + + + View more activity... + + Crash now diff --git a/translations/client_uk.ts b/translations/client_uk.ts index 7bdbd4a3d..7101a9a2a 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -2763,17 +2763,17 @@ It is not advisable to use it. Поширити серед користувачів або груп ... - + Copy link Скопіювати посилання - + No results for '%1' Відсутні результати для '%1' - + I shared something with you Я поділився з вами документами @@ -2791,22 +2791,27 @@ It is not advisable to use it. може редагувати - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3477,11 +3482,6 @@ It is not advisable to use it. Settings... Налаштування... - - - Details... - Деталі... - Help @@ -3593,6 +3593,11 @@ It is not advisable to use it. New account... Новий обліковий запис... + + + View more activity... + + Crash now diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index 77af5c3a7..12b67b8d1 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -2781,17 +2781,17 @@ It is not advisable to use it. 共享给其他用户或组 ... - + Copy link 复制链接 - + No results for '%1' 没有 '%1' 相关结果 - + I shared something with you 我向您共享了一些东西 @@ -2809,22 +2809,27 @@ It is not advisable to use it. 可编辑 - + Can reshare 可以再分享 - + + Unshare + + + + Can create 可以创建 - + Can change 可以修改 - + Can delete 可以删除 @@ -3495,11 +3500,6 @@ It is not advisable to use it. Settings... 设置... - - - Details... - 细节... - Help @@ -3611,6 +3611,11 @@ It is not advisable to use it. New account... 新账号… + + + View more activity... + + Crash now diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index f07b02d57..0d91b22c8 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -2766,17 +2766,17 @@ It is not advisable to use it. 與用戶或群組分享 ... - + Copy link - + No results for '%1' '%1' 沒有結果 - + I shared something with you @@ -2794,22 +2794,27 @@ It is not advisable to use it. 可編輯 - + Can reshare - + + Unshare + + + + Can create - + Can change - + Can delete @@ -3480,11 +3485,6 @@ It is not advisable to use it. Settings... 設定… - - - Details... - 細節… - Help @@ -3596,6 +3596,11 @@ It is not advisable to use it. New account... + + + View more activity... + + Crash now From a0587f3cde67be553605b7c1b5892c90a919b464 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 24 Jul 2019 03:05:55 +0000 Subject: [PATCH 090/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_de.ts | 4 ++-- translations/client_gl.ts | 4 ++-- translations/client_it.ts | 4 ++-- translations/client_pt_BR.ts | 4 ++-- translations/client_tr.ts | 4 ++-- translations/client_zh_CN.ts | 4 ++-- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_de.ts b/translations/client_de.ts index d127b455c..ea7b990eb 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -2817,7 +2817,7 @@ Es ist nicht ratsam, sie zu benutzen. Unshare - + Freigabe aufheben @@ -3615,7 +3615,7 @@ Es ist nicht ratsam, sie zu benutzen. View more activity... - + Weitere Aktivitäten anzeigen… diff --git a/translations/client_gl.ts b/translations/client_gl.ts index b796697a2..10df45cde 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -2819,7 +2819,7 @@ Recomendámoslle que non o use. Unshare - + Deixar de compartir @@ -3617,7 +3617,7 @@ Recomendámoslle que non o use. View more activity... - + Ver máis actividades… diff --git a/translations/client_it.ts b/translations/client_it.ts index 2f551735a..602d39c62 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -2819,7 +2819,7 @@ Non è consigliabile utilizzarlo. Unshare - + Rimuovi condivisione @@ -3617,7 +3617,7 @@ Non è consigliabile utilizzarlo. View more activity... - + Visualizza altre attività… diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 05b6a9383..5fb233b64 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -2818,7 +2818,7 @@ Não é aconselhável usá-la. Unshare - + Descompartilhar @@ -3616,7 +3616,7 @@ Não é aconselhável usá-la. View more activity... - + Ver mais atividade... diff --git a/translations/client_tr.ts b/translations/client_tr.ts index ab1412280..e70ce4b2e 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -2817,7 +2817,7 @@ Kullanmanız önerilmez. Unshare - + Paylaşımdan Kaldır @@ -3615,7 +3615,7 @@ Kullanmanız önerilmez. View more activity... - + Diğer işlemleri görüntüle... diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index 12b67b8d1..fd87c7969 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -2816,7 +2816,7 @@ It is not advisable to use it. Unshare - + 取消共享 @@ -3614,7 +3614,7 @@ It is not advisable to use it. View more activity... - + 查看更多动态 ... From 3ea472d9f22978d3b4c379d1940b01732e0c72ba Mon Sep 17 00:00:00 2001 From: Camila San Date: Wed, 24 Jul 2019 15:22:15 +0200 Subject: [PATCH 091/192] Minor text change in the link to help in the tab 'General'. Also uses helpUrl() retrieve the correct APPLICATION_HELP_URL instead of APPLICATION_DOMAIN. Signed-off-by: Camila San --- src/libsync/theme.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/libsync/theme.cpp b/src/libsync/theme.cpp index f68b61e2e..ed2964729 100644 --- a/src/libsync/theme.cpp +++ b/src/libsync/theme.cpp @@ -341,10 +341,9 @@ QString Theme::gitSHA1() const QString Theme::about() const { QString devString; - devString = tr("

Version %1. For more information please visit %3.

") + devString = tr("

Version %1. For more information please click here.

") .arg(MIRALL_VERSION_STRING) - .arg("http://" MIRALL_STRINGIFY(APPLICATION_DOMAIN)) - .arg(MIRALL_STRINGIFY(APPLICATION_DOMAIN)); + .arg(helpUrl()); devString += tr("

This release was supplied by %1

") .arg(APPLICATION_VENDOR); From be3713a535789f166156d8f20bfce24d64b4af48 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 25 Jul 2019 03:03:32 +0000 Subject: [PATCH 092/192] [tx-robot] updated from transifex --- translations/client_bg.ts | 6 +++--- translations/client_ca.ts | 6 +++--- translations/client_cs.ts | 6 +++--- translations/client_da.ts | 4 ++-- translations/client_de.ts | 6 +++--- translations/client_el.ts | 6 +++--- translations/client_en.ts | 4 ++-- translations/client_en_GB.ts | 6 +++--- translations/client_eo.ts | 6 +++--- translations/client_es.ts | 6 +++--- translations/client_es_AR.ts | 4 ++-- translations/client_es_CL.ts | 6 +++--- translations/client_es_CO.ts | 6 +++--- translations/client_es_CR.ts | 6 +++--- translations/client_es_DO.ts | 6 +++--- translations/client_es_EC.ts | 6 +++--- translations/client_es_GT.ts | 6 +++--- translations/client_es_HN.ts | 6 +++--- translations/client_es_MX.ts | 6 +++--- translations/client_es_SV.ts | 6 +++--- translations/client_et.ts | 4 ++-- translations/client_eu.ts | 6 +++--- translations/client_fa.ts | 6 +++--- translations/client_fi.ts | 6 +++--- translations/client_fr.ts | 10 +++++----- translations/client_gl.ts | 6 +++--- translations/client_he.ts | 4 ++-- translations/client_hu.ts | 6 +++--- translations/client_id.ts | 4 ++-- translations/client_is.ts | 6 +++--- translations/client_it.ts | 6 +++--- translations/client_ja.ts | 6 +++--- translations/client_lt_LT.ts | 6 +++--- translations/client_lv.ts | 6 +++--- translations/client_nb_NO.ts | 6 +++--- translations/client_nl.ts | 6 +++--- translations/client_pl.ts | 6 +++--- translations/client_pt.ts | 6 +++--- translations/client_pt_BR.ts | 6 +++--- translations/client_ru.ts | 10 +++++----- translations/client_sk.ts | 6 +++--- translations/client_sl.ts | 6 +++--- translations/client_sr.ts | 10 +++++----- translations/client_sv.ts | 10 +++++----- translations/client_th.ts | 6 +++--- translations/client_tr.ts | 6 +++--- translations/client_uk.ts | 6 +++--- translations/client_zh_CN.ts | 6 +++--- translations/client_zh_TW.ts | 6 +++--- 49 files changed, 149 insertions(+), 149 deletions(-) diff --git a/translations/client_bg.ts b/translations/client_bg.ts index 326a7f886..fb71fa879 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -3388,11 +3388,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Версия %1. За допълнителна информация посетете <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_ca.ts b/translations/client_ca.ts index bc07b8153..5969ba104 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -3407,11 +3407,11 @@ No és aconsellable fer-la servir. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versió %1. Per més informació visiteu <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Aquest llançament va ser subministrat per %1</p> diff --git a/translations/client_cs.ts b/translations/client_cs.ts index 44fe6c6a0..3b8a17b99 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -3404,11 +3404,11 @@ Nedoporučuje se jí používat. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Verze %1. Více informací na <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Toto vydání bylo poskytnuto %1</p> diff --git a/translations/client_da.ts b/translations/client_da.ts index aa9621684..c2d74fc55 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -3382,11 +3382,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>This release was supplied by %1</p> diff --git a/translations/client_de.ts b/translations/client_de.ts index ea7b990eb..8a5d9588d 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -3404,11 +3404,11 @@ Es ist nicht ratsam, sie zu benutzen. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Version %1. Für weitere Informationen besuchen Sie bitte <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Diese Version wird von %1 bereitgestellt</p> diff --git a/translations/client_el.ts b/translations/client_el.ts index f2d03780b..82f7a7086 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -3394,11 +3394,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Έκδοση %1. Για περισσότερες πληροφορίες δείτε <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_en.ts b/translations/client_en.ts index 2511ffe1f..aa6a0f34e 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -3408,11 +3408,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>This release was supplied by %1</p> diff --git a/translations/client_en_GB.ts b/translations/client_en_GB.ts index f88961818..e5c9a3638 100644 --- a/translations/client_en_GB.ts +++ b/translations/client_en_GB.ts @@ -3405,11 +3405,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>This release was supplied by %1</p> diff --git a/translations/client_eo.ts b/translations/client_eo.ts index 06224c559..adbb3bfaa 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -3403,11 +3403,11 @@ Uzi ĝin ne konsilindas. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versio %1. Por pli da informoj, bv. viziti <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Tiu eldono estis liverita de %1</p> diff --git a/translations/client_es.ts b/translations/client_es.ts index 3e9cf7a64..05538487d 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -3404,11 +3404,11 @@ No se recomienda usarla. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versión %1. Para obtener más información, visita <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Esta versión ha sido suministrada por %1</p> diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index 5820538e9..1653339df 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -3382,11 +3382,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>This release was supplied by %1</p> diff --git a/translations/client_es_CL.ts b/translations/client_es_CL.ts index f37f9f702..605026065 100644 --- a/translations/client_es_CL.ts +++ b/translations/client_es_CL.ts @@ -3395,11 +3395,11 @@ No es recomendable usarlo. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versión %1. Para más información por favor visita <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_es_CO.ts b/translations/client_es_CO.ts index 56c5add45..0d6fe31b0 100644 --- a/translations/client_es_CO.ts +++ b/translations/client_es_CO.ts @@ -3395,11 +3395,11 @@ No es recomendable usarlo. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versión %1. Para más información por favor visita <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_es_CR.ts b/translations/client_es_CR.ts index 08f735bb7..627bb668b 100644 --- a/translations/client_es_CR.ts +++ b/translations/client_es_CR.ts @@ -3395,11 +3395,11 @@ No es recomendable usarlo. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versión %1. Para más información por favor visita <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_es_DO.ts b/translations/client_es_DO.ts index c95a7bf3b..2f779fbf0 100644 --- a/translations/client_es_DO.ts +++ b/translations/client_es_DO.ts @@ -3395,11 +3395,11 @@ No es recomendable usarlo. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versión %1. Para más información por favor visita <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_es_EC.ts b/translations/client_es_EC.ts index 49808a17a..e0e05a183 100644 --- a/translations/client_es_EC.ts +++ b/translations/client_es_EC.ts @@ -3395,11 +3395,11 @@ No es recomendable usarlo. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versión %1. Para más información por favor visita <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_es_GT.ts b/translations/client_es_GT.ts index 7b26f03d7..abe3920c5 100644 --- a/translations/client_es_GT.ts +++ b/translations/client_es_GT.ts @@ -3395,11 +3395,11 @@ No es recomendable usarlo. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versión %1. Para más información por favor visita <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_es_HN.ts b/translations/client_es_HN.ts index 071c51f8a..a264500c6 100644 --- a/translations/client_es_HN.ts +++ b/translations/client_es_HN.ts @@ -3395,11 +3395,11 @@ No es recomendable usarlo. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versión %1. Para más información por favor visita <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_es_MX.ts b/translations/client_es_MX.ts index 7e394a1cb..0f8bb386c 100644 --- a/translations/client_es_MX.ts +++ b/translations/client_es_MX.ts @@ -3395,11 +3395,11 @@ No es recomendable usarlo. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versión %1. Para más información por favor visita <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_es_SV.ts b/translations/client_es_SV.ts index d081b99a2..13b29c653 100644 --- a/translations/client_es_SV.ts +++ b/translations/client_es_SV.ts @@ -3395,11 +3395,11 @@ No es recomendable usarlo. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versión %1. Para más información por favor visita <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_et.ts b/translations/client_et.ts index cc21e5d8e..40618d78e 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -3385,11 +3385,11 @@ Selle kasutamine pole soovitatav. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>This release was supplied by %1</p> diff --git a/translations/client_eu.ts b/translations/client_eu.ts index 0c1585b30..cc26b605d 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -3387,11 +3387,11 @@ Ez da gomendagarria erabltzea. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>%1 Bertsioa. Informazio gehiago eskuratzeko ikusi <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_fa.ts b/translations/client_fa.ts index 2716754df..380c5a3cf 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -3391,11 +3391,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>نسخه %1. برای اطلاعات بیشتر لطفا اینجا را مشاهده کنید t <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_fi.ts b/translations/client_fi.ts index 23a867467..ab77818c9 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -3389,11 +3389,11 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versio %1. Lisätietoja osoitteessa <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_fr.ts b/translations/client_fr.ts index d45f175fe..9c9a22650 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -2821,7 +2821,7 @@ Il est déconseillé de l'utiliser. Unshare - + Ne plus partager @@ -3408,11 +3408,11 @@ Il est déconseillé de l'utiliser. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Version %1. Pour plus d'information, visitez <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> Cette version a été fournie par %1 @@ -3619,7 +3619,7 @@ Il est déconseillé de l'utiliser. View more activity... - + Afficher plus d'activité… diff --git a/translations/client_gl.ts b/translations/client_gl.ts index 10df45cde..3e322574d 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -3406,11 +3406,11 @@ Recomendámoslle que non o use. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versión %1. Para obter máis información visite <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Esta versión foi fornecida por %1</p> diff --git a/translations/client_he.ts b/translations/client_he.ts index 7e99b31ab..aa663c97c 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -3384,11 +3384,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>This release was supplied by %1</p> diff --git a/translations/client_hu.ts b/translations/client_hu.ts index f20d6235c..0fac884c3 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -3404,11 +3404,11 @@ Használata nem ajánlott. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>%1 verzió. További információkért keresse fel a <a href='%2'>%3</a> weboldalt.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Ezt a kiadást a %1 biztosította</p> diff --git a/translations/client_id.ts b/translations/client_id.ts index a235fe39e..95b225cf0 100644 --- a/translations/client_id.ts +++ b/translations/client_id.ts @@ -3402,11 +3402,11 @@ Tidak disarankan untuk digunakan. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>This release was supplied by %1</p> diff --git a/translations/client_is.ts b/translations/client_is.ts index 0bac9caf0..dd01cae46 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -3402,11 +3402,11 @@ Ekki er mælt með því að hún sé notuð. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <pÚtgáfa %1. Til að vita meira ættirðu að skoða <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Þessi útgáfa var gefin út af %1</p> diff --git a/translations/client_it.ts b/translations/client_it.ts index 602d39c62..a31f50c79 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -3406,11 +3406,11 @@ Non è consigliabile utilizzarlo. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versione %1. Per ulteriori informazioni vedi <a href="%2">3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Questa versione è stata fornita da %1</p> diff --git a/translations/client_ja.ts b/translations/client_ja.ts index f143684d1..412c5340a 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -3390,11 +3390,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>バージョン %1. 詳細な情報は<a href='%2'>%3</a>を確認してください。</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index 1c38500fd..ba052c0ba 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -3400,11 +3400,11 @@ Patariama jo nenaudoti. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versija %1. Išsamesnei informacijai, apsilankykite <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Šį išleidimą pateikė %1</p> diff --git a/translations/client_lv.ts b/translations/client_lv.ts index 56460653e..31dbd06d3 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -3384,11 +3384,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versija %1. Vairāk informācijai lūdzu apmekējiet <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Šo izlaidumu piegādāja %1</p> diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index ad7fcd9e8..954c70fef 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -3395,11 +3395,11 @@ Det er ikke tilrådelig å bruke den. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versjon %1. For mer informasjon gå til <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_nl.ts b/translations/client_nl.ts index e4b7f63a9..a1c43a9a5 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -3409,11 +3409,11 @@ We adviseren deze site niet te gebruiken. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versie %1. Voor meer informatie bezoek <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Deze release is geleverd door %1</p> diff --git a/translations/client_pl.ts b/translations/client_pl.ts index d4ec7cece..daff2bd7d 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -3405,11 +3405,11 @@ Niezalecane jest jego użycie. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Wersja %1. Aby uzyskać więcej informacji prosimy odwiedzić <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>To wydanie zostało dostarczone przez %1</p> diff --git a/translations/client_pt.ts b/translations/client_pt.ts index 67b8fac9f..96ede8774 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -3394,11 +3394,11 @@ Não é aconselhada a sua utilização. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versão %1. Para mais informações visite <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 5fb233b64..c421b3295 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -3405,11 +3405,11 @@ Não é aconselhável usá-la. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Versão %1. Para mais informações por favor visite <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Esta versão foi fornecida por %1</p> diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 27a0f1a1a..886be95e1 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -1190,7 +1190,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Waiting for %n other folder(s)... - Ожидание %n директории...Ожидание %n директорий...Ожидание %n директорий...Ожидание %n директорий... + Ожидание %n папки…Ожидание %n папок…Ожидание %n папок…Ожидание %n папок… @@ -2277,7 +2277,7 @@ It is not advisable to use it. The download would reduce free local disk space below the limit - Скачивание сократит доступное пространство на локальном диске ниже допустимого предела + Загрузка файлов с сервера уменьшит доступное пространство на локальном диске ниже допустимого предела @@ -3399,11 +3399,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Версия %1. Для получения дополнительной информации посетите <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Этот выпуск подготовлен %1</p> diff --git a/translations/client_sk.ts b/translations/client_sk.ts index 838336e3f..492a192fa 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -3398,11 +3398,11 @@ Nie je vhodné ju používať. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Verzia %1. Pre viac informácií choďte na <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_sl.ts b/translations/client_sl.ts index 5467490c1..155bc9a5b 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -3394,11 +3394,11 @@ Uporaba ni priporočljiva. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Različica %1. Podrobnosti so na voljo na spletišču <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_sr.ts b/translations/client_sr.ts index c0a6af4dd..ccf4981b7 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -2818,7 +2818,7 @@ It is not advisable to use it. Unshare - + Укини дељење @@ -3405,11 +3405,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Верзија %1. За више информација посетите <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Ово издање је обезбедио %1</p> @@ -3616,7 +3616,7 @@ It is not advisable to use it. View more activity... - + Види још активности... diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 73aa8fec5..78b9eb80c 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -2818,7 +2818,7 @@ Det är inte lämpligt använda den. Unshare - + Sluta dela @@ -3405,11 +3405,11 @@ Det är inte lämpligt använda den. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Version %1. För mer information vänligen besök <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Denna release levererades av %1</p> @@ -3616,7 +3616,7 @@ Det är inte lämpligt använda den. View more activity... - + Visa mer aktivitet... diff --git a/translations/client_th.ts b/translations/client_th.ts index b14d05935..8ec908625 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -3393,11 +3393,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>รุ่น %1 สำหรับข้อมูลเพิ่มเติมกรุณาเยี่ยมชม <a href='%2'>%3</a></p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_tr.ts b/translations/client_tr.ts index e70ce4b2e..288cc65d6 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -3404,11 +3404,11 @@ Kullanmanız önerilmez. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>%1. sürümü Ayrıntılı bilgi almak için <a href='%2'>%3</a> adresine bakabilirsiniz.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>Bu sürüm %1 tarafından hazırlanmıştır</p> diff --git a/translations/client_uk.ts b/translations/client_uk.ts index 7101a9a2a..79e6ad8b8 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -3385,11 +3385,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>Версія %1. Для отримання більш детальної інформації, будь ласка, відвідайте <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index fd87c7969..d4e213c73 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -3403,11 +3403,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>版本 %1。详情请见 <a href='%2'>%3</a>。</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> <p>该版本由 %1 提供</p> diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index 0d91b22c8..1ca195f9c 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -3388,11 +3388,11 @@ It is not advisable to use it. OCC::Theme - <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - <p>版本 %1. 如欲得知更多資訊,請到此拜訪 <a href='%2'>%3</a>.</p> + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + - + <p>This release was supplied by %1</p> From ec359d0e6b5de4e719f12321830c297d3d68ef5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20V=C3=A1radi?= Date: Sat, 27 Apr 2019 10:46:58 +0200 Subject: [PATCH 093/192] Reinstate Debian build in the new Drone config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: István Váradi --- .drone.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.drone.yml b/.drone.yml index d750c5519..9410c1bb5 100644 --- a/.drone.yml +++ b/.drone.yml @@ -328,7 +328,26 @@ trigger: event: - pull_request - push +--- +kind: pipeline +name: Debian +steps: +- name: build + image: nextcloudci/client-debian-ci:client-debian-ci-2 + commands: + - /bin/bash -c "./admin/linux/debian/drone-build.sh" + environment: + DEBIAN_SECRET_KEY: + from_secret: DEBIAN_SECRET_KEY + DEBIAN_SECRET_IV: + from_secret: DEBIAN_SECRET_IV +trigger: + branch: + - master + event: + - pull_request + - push --- kind: pipeline name: Documentation From d6ab7920d9993b314f66fbd97401bd4a8f402a19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20V=C3=A1radi?= Date: Sat, 27 Apr 2019 11:03:05 +0200 Subject: [PATCH 094/192] Fix the Debian changelog generator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: István Váradi --- admin/linux/debian/scripts/git2changelog.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/admin/linux/debian/scripts/git2changelog.py b/admin/linux/debian/scripts/git2changelog.py index 58bf9859d..3a1b44fb6 100755 --- a/admin/linux/debian/scripts/git2changelog.py +++ b/admin/linux/debian/scripts/git2changelog.py @@ -70,7 +70,9 @@ def collectEntries(baseCommit, baseVersion, kind): lastVersionTag = None lastCMAKEVersion = None for line in output.splitlines(): - (commit, name, email, date, revdate, subject) = line.split("\t") + words = line.split("\t") + (commit, name, email, date, revdate) = words[0:5] + subject = "\t".join(words[5:]) revdate = datetime.datetime.utcfromtimestamp(long(revdate)).strftime("%Y%m%d.%H%M%S") kind = "beta" From d654a65ac760d21174500e00e38168ed1a1b50e2 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Fri, 26 Jul 2019 03:03:02 +0000 Subject: [PATCH 095/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_de.ts | 2 +- translations/client_fr.ts | 2 +- translations/client_gl.ts | 2 +- translations/client_it.ts | 2 +- translations/client_nl.ts | 6 +++--- translations/client_pt_BR.ts | 2 +- translations/client_sv.ts | 2 +- translations/client_tr.ts | 2 +- 9 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_de.ts b/translations/client_de.ts index 8a5d9588d..5b5cc320c 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -3405,7 +3405,7 @@ Es ist nicht ratsam, sie zu benutzen. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>Version %1. Für weitere Informationen besuchen klicken Sie bitte <a href='%2'>hier</a>.</p> diff --git a/translations/client_fr.ts b/translations/client_fr.ts index 9c9a22650..9c175b9f3 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -3409,7 +3409,7 @@ Il est déconseillé de l'utiliser. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>Version %1. Pour plus d’informations, veuillez cliquer <a href='%2'>ici</a>.</p> diff --git a/translations/client_gl.ts b/translations/client_gl.ts index 3e322574d..c1f79bac7 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -3407,7 +3407,7 @@ Recomendámoslle que non o use. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>Versión %1. Para obter máis información prema <a href='%2'>aquí</a>.</p> diff --git a/translations/client_it.ts b/translations/client_it.ts index a31f50c79..04ee1144f 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -3407,7 +3407,7 @@ Non è consigliabile utilizzarlo. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>Versione %1. Per ulteriori informazioni fai clic <a href='%2'>qui</a>.</p> diff --git a/translations/client_nl.ts b/translations/client_nl.ts index a1c43a9a5..0883a8ebc 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -2822,7 +2822,7 @@ We adviseren deze site niet te gebruiken. Unshare - + Stop met delen @@ -3410,7 +3410,7 @@ We adviseren deze site niet te gebruiken. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>Versie %1. Voor meer informatie klik <a href='%2'>hier</a>.</p> @@ -3620,7 +3620,7 @@ We adviseren deze site niet te gebruiken. View more activity... - + Toon meer activiteiten... diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index c421b3295..a8fb5e16a 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -3406,7 +3406,7 @@ Não é aconselhável usá-la. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>Versão %1. Para mais informações por favor clique <a href='%2'>aqui</a>.</p> diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 78b9eb80c..294720b73 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -3406,7 +3406,7 @@ Det är inte lämpligt använda den. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>Version %1. För mer information klicka <a href='%2'>här</a>.</p> diff --git a/translations/client_tr.ts b/translations/client_tr.ts index 288cc65d6..53d85bce0 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -3405,7 +3405,7 @@ Kullanmanız önerilmez. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>Sürüm %1. Ayrıntılı bilgi almak için <a href='%2'>buraya tıklayabilirsiniz</a>.</p> From 2d2c1ef29ef7398540a4700b8e5c27153801be3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20V=C3=A1radi?= Date: Fri, 26 Jul 2019 20:52:32 +0200 Subject: [PATCH 096/192] Update Qt 5.5 compatibility patch for Xenial MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: István Váradi --- .../debian.xenial/post-patches/qt5.5-compat.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/admin/linux/debian/debian.xenial/post-patches/qt5.5-compat.patch b/admin/linux/debian/debian.xenial/post-patches/qt5.5-compat.patch index 7d7710513..f6475205c 100644 --- a/admin/linux/debian/debian.xenial/post-patches/qt5.5-compat.patch +++ b/admin/linux/debian/debian.xenial/post-patches/qt5.5-compat.patch @@ -38,3 +38,15 @@ }; } // namespace OCC +--- nextcloud-client-2.5.3.orig/src/3rdparty/kmessagewidget/kmessagewidget.cpp 2019-07-26 18:40:34.949349387 +0000 ++++ nextcloud-client-2.5.3/src/3rdparty/kmessagewidget/kmessagewidget.cpp 2019-07-26 18:41:39.866478051 +0000 +@@ -105,6 +105,9 @@ + q->setMessageType(KMessageWidget::Information); + } + ++template ++constexpr typename std::add_const::type &qAsConst(T &t) noexcept { return t; } ++ + void KMessageWidgetPrivate::createLayout() + { + delete content->layout(); From b448e215ad9d142972fbe3b30f91e2d646bcabf5 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 27 Jul 2019 03:03:03 +0000 Subject: [PATCH 097/192] [tx-robot] updated from transifex --- translations/client_pl.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/translations/client_pl.ts b/translations/client_pl.ts index daff2bd7d..02f0515cf 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -2818,7 +2818,7 @@ Niezalecane jest jego użycie. Unshare - + Cofnij udostępnienie @@ -3406,7 +3406,7 @@ Niezalecane jest jego użycie. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>Wersja %1. Aby uzyskać więcej informacji, kliknij <a href='%2'>tutaj</a>.</p> @@ -3616,7 +3616,7 @@ Niezalecane jest jego użycie. View more activity... - + Wyświetl więcej aktywności... From 04d825f4b65cf0550e607f805e32d40c2b234f6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20V=C3=A1radi?= Date: Sat, 27 Jul 2019 11:11:17 +0200 Subject: [PATCH 098/192] Remove Ubuntu Cosmic and add Eoan package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: István Váradi --- .../linux/debian/{debian.cosmic => debian.eoan}/changelog | 8 ++++---- admin/linux/debian/drone-build.sh | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) rename admin/linux/debian/{debian.cosmic => debian.eoan}/changelog (66%) diff --git a/admin/linux/debian/debian.cosmic/changelog b/admin/linux/debian/debian.eoan/changelog similarity index 66% rename from admin/linux/debian/debian.cosmic/changelog rename to admin/linux/debian/debian.eoan/changelog index 5316d79c5..184153cbc 100644 --- a/admin/linux/debian/debian.cosmic/changelog +++ b/admin/linux/debian/debian.eoan/changelog @@ -1,22 +1,22 @@ -nextcloud-client (2.3.3-1.0~cosmic1) cosmic; urgency=medium +nextcloud-client (2.3.3-1.0~eoan1) eoan; urgency=medium * Debian build support for the forked client. -- István Váradi Mon, 6 Nov 2017 20:20:04 +0100 -nextcloud-client (2.3.1-1.0~cosmic1) cosmic; urgency=medium +nextcloud-client (2.3.1-1.0~eoan1) eoan; urgency=medium * New upstream version -- István Váradi Thu, 23 Mar 2017 19:07:36 +0100 -nextcloud-client (2.3.0-1.0~cosmic1) cosmic; urgency=medium +nextcloud-client (2.3.0-1.0~eoan1) eoan; urgency=medium * New upstream version -- István Váradi Tue, 21 Mar 2017 19:34:13 +0100 -nextcloud-client (2.2.4-1.4~cosmic1) cosmic; urgency=medium +nextcloud-client (2.2.4-1.4~eoan1) eoan; urgency=medium * The locale-specific icon names are correct too diff --git a/admin/linux/debian/drone-build.sh b/admin/linux/debian/drone-build.sh index c97e130a7..0909a262a 100755 --- a/admin/linux/debian/drone-build.sh +++ b/admin/linux/debian/drone-build.sh @@ -51,7 +51,7 @@ if ! wget http://ppa.launchpad.net/${repo}/ubuntu/pool/main/n/nextcloud-client/n origsourceopt="-sa" fi -for distribution in xenial bionic cosmic disco stable; do +for distribution in xenial bionic disco eoan stable; do rm -rf nextcloud-client_${basever} cp -a ${DRONE_WORKSPACE} nextcloud-client_${basever} From c13d4ca40e1890e4ac0ec16f0dd7bdaa5347cfa2 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 28 Jul 2019 03:05:54 +0000 Subject: [PATCH 099/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner From 9f94f412ef120bb98e52cdfba84d4a2c4ce130b4 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 29 Jul 2019 03:03:27 +0000 Subject: [PATCH 100/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_ca.ts | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_ca.ts b/translations/client_ca.ts index 5969ba104..da4ac8e82 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -2820,7 +2820,7 @@ No és aconsellable fer-la servir. Unshare - + Deixa de compartir @@ -3408,7 +3408,7 @@ No és aconsellable fer-la servir. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>Versió %1. Per a més informació, feu clic <a href='%2'>aquí</a>.</p> @@ -3618,7 +3618,7 @@ No és aconsellable fer-la servir. View more activity... - + Mostra més activitat... From 4257f70d2e0489636e4eab27111afe5c1ebe3055 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 30 Jul 2019 03:05:57 +0000 Subject: [PATCH 101/192] [tx-robot] updated from transifex --- translations/client_es.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/translations/client_es.ts b/translations/client_es.ts index 05538487d..c19865a18 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -2817,7 +2817,7 @@ No se recomienda usarla. Unshare - + No compartir @@ -3405,7 +3405,7 @@ No se recomienda usarla. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>Versión %1. Para obtener más información, haga clic <a href='%2'> aquí </a>.</p> @@ -3615,7 +3615,7 @@ No se recomienda usarla. View more activity... - + Ver más actividad ... From 4befda1eab7802f9a8063fccbeed1de1e73e4e3d Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 31 Jul 2019 03:08:42 +0000 Subject: [PATCH 102/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 +-- translations/client_de.ts | 2 +- translations/client_is.ts | 2 +- translations/client_ja.ts | 64 ++++++++++++--------- translations/client_ru.ts | 6 +- 5 files changed, 46 insertions(+), 36 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_de.ts b/translations/client_de.ts index 5b5cc320c..5a416cfe2 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -3405,7 +3405,7 @@ Es ist nicht ratsam, sie zu benutzen. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - <p>Version %1. Für weitere Informationen besuchen klicken Sie bitte <a href='%2'>hier</a>.</p> + <p>Version %1. Für weitere Informationen klicken Sie bitte <a href='%2'>hier</a>.</p> diff --git a/translations/client_is.ts b/translations/client_is.ts index dd01cae46..1f6ae69ba 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -280,7 +280,7 @@ Enable encryption - + Virkja dulritun diff --git a/translations/client_ja.ts b/translations/client_ja.ts index 412c5340a..938f7687c 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -35,7 +35,7 @@ No recently changed files - + 最近変更されたファイルはありません。 @@ -50,17 +50,17 @@ Open website - + ウェブサイトを開く Recently changed - + 最近変更されたもの Pause synchronization - + 同期を一時停止 @@ -80,7 +80,7 @@ Quit sync client - + 同期クライアントを終了する
@@ -194,7 +194,7 @@ To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). - + あなたの暗号化IDを保護するために、私たちは12の辞書単語のニモニックでIDを暗号化します。他のデバイス(携帯電話やラップトップなど)をアカウントに追加するために必要になるので、これらをメモして、安全に保管してください。 @@ -274,7 +274,7 @@ This account supports end-to-end encryption - + このアカウントはエンドツーエンドの暗号化をサポートしています @@ -631,12 +631,12 @@ There was an error while accessing the configuration file at %1. Please make sure the file can be accessed by your user. - + %1の構成ファイルにアクセス中にエラーが発生しました。 ユーザーがファイルにアクセスできることを確認してください。 Quit %1 - + %1 を終了 @@ -675,7 +675,7 @@ Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + エンドツーエンドの暗号化パスフレーズを入力してください:<br> <br>ユーザー:%2<br>アカウント:%3<br> @@ -855,12 +855,13 @@ The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + フォルダ%1が作成されましたが、以前は同期から除外されていました。 その中のデータは同期されません The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + ファイル%1は作成されましたが、以前は同期から除外されていました。 +このファイルは同期されません。 @@ -869,7 +870,11 @@ This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). %1 - + 同期フォルダの変更を確実に追跡できませんでした。 + +これは、同期クライアントはすぐにローカルの変更をアップロードしない場合がありますが、代わりにローカルの変更をスキャンし(デフォルトでは2時間ごとに)時折それらをアップロードすることを意味します。 + +%1 @@ -877,7 +882,10 @@ This means that the synchronization client might not upload local changes immedi These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. If you decide to delete the files, they will be unavailable to you, unless you are the owner. - + 同期フォルダ '%1'フォルダ内のすべてのファイルがサーバー上で削除されました。 +これらの削除はローカルの同期フォルダと同期され、復元する権利がない限り、ファイルは使用できなくなります。 +ファイルを保持したい場合、ファイルを保持する権限があれば、ファイルはサーバーと再同期されます。 +ファイルを削除したい場合、あなたが所有者でなければ利用できません。 @@ -1555,12 +1563,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from <p>Copyright 2017-2018 Nextcloud GmbH<br />Copyright 2012-2018 ownCloud GmbH</p> - + <p>Copyright 2017-2018 Nextcloud GmbH2<br />Copyright 2012-2018 ownCloud GmbH1</p> <p>Licensed under the GNU General Public License (GPL) Version 2.0 or any later version.</p> - + <p> GNU General Public License (GPL)バージョン2.0以降のバージョンでライセンスされています。</p> @@ -1595,7 +1603,9 @@ Items where deletion is allowed will be deleted if they prevent a directory from When this option is enabled and no other logging is configured, logs will be written to a temporary folder and expire after a few hours. This setting persists across client restarts. Logs will be written to %1 - + このオプションが有効になっていて、他のログが設定されていない場合、ログは一時フォルダに書き込まれ、数時間後に期限切れになります。 この設定はクライアントの再起動後も持続します。 + +ログは%1に書き込まれます @@ -1812,7 +1822,7 @@ Logs will be written to %1 <h1>Wrong user</h1><p>You logged-in with user <em>%1</em>, but must login with user <em>%2</em>.<br>Please log out of %3 in another tab, then <a href='%4'>click here</a> and log in as user %2</p> - + <h1>間違ったユーザー</h1><p>ユーザー<em>%1</em>でログインしましたが、ユーザー<em>%2</em>でログインする必要があります。<br>別のタブで%3からログアウトしてから、<a href='%4'>ここをクリック</a>してユーザー%2</p>としてログインしてください。 @@ -2288,7 +2298,7 @@ It is not advisable to use it. The downloaded file is empty despite that the server announced it should have been %1. - + サーバーが通知しているファイルは %1 であるべきですが、ダウンロードファイルは空でした。 @@ -2747,7 +2757,7 @@ It is not advisable to use it. <p>Do you really want to delete the public link share <i>%1</i>?</p><p>Note: This action cannot be undone.</p> - + <p>本当にこの公開リンク共有<i>%1</i>を削除しますか?</p><p>注:この操作を元に戻すことはできません。</p> @@ -2803,7 +2813,7 @@ It is not advisable to use it. Unshare - + 共有解除 @@ -2844,7 +2854,7 @@ It is not advisable to use it. SSL Cipher Debug View - + SSL暗号デバッグ表示 @@ -3391,12 +3401,12 @@ It is not advisable to use it. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>バージョン %1. 詳細な情報は<a href='%2'>ここ</a>をクリックしてください。</p> <p>This release was supplied by %1</p> - + <p>このリリースは%1によって提供されました</p> @@ -3409,7 +3419,7 @@ It is not advisable to use it. The host "%1" provided an invalid certificate. Continue? - + ホスト "%1"が無効な証明書を提供しました。 続けますか? @@ -3601,7 +3611,7 @@ It is not advisable to use it. View more activity... - + さらにアクティビティを表示する…… @@ -3798,7 +3808,7 @@ It is not advisable to use it. <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> - + <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">分のサーバーをホストする</span></a> diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 886be95e1..fc6bce211 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -2812,7 +2812,7 @@ It is not advisable to use it. Unshare - + Закрыть доступ @@ -3400,7 +3400,7 @@ It is not advisable to use it. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>Версия %1. Для получения дополнительной информации нажмите <a href='%2'>сюда</a>.</p> @@ -3610,7 +3610,7 @@ It is not advisable to use it. View more activity... - + Посмотреть больше событий... From 8fad2acc36b381e133551972ac92af42dae654f8 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 1 Aug 2019 03:08:11 +0000 Subject: [PATCH 103/192] [tx-robot] updated from transifex --- translations/client_sr.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/client_sr.ts b/translations/client_sr.ts index ccf4981b7..70e734977 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -3406,7 +3406,7 @@ It is not advisable to use it. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>Верзија %1. За више информација кликните <a href='%2'>овде</a>.</p> From 9e7868b3de12203e22cabcd728de742995d9c8f3 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Fri, 2 Aug 2019 03:05:09 +0000 Subject: [PATCH 104/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_cs.ts | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_cs.ts b/translations/client_cs.ts index 3b8a17b99..4a34e90c0 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -2817,7 +2817,7 @@ Nedoporučuje se jí používat. Unshare - + Přestat sdílet @@ -3405,7 +3405,7 @@ Nedoporučuje se jí používat. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>Verze %1. Více informací získáte kliknutím <a href='%2'>sem</a>.</p> @@ -3615,7 +3615,7 @@ Nedoporučuje se jí používat. View more activity... - + Zobrazit další aktivitu… From 4c8da1a3e7a1d75f849f6ce3d8a06bf40d27aa94 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Fri, 2 Aug 2019 14:19:37 +0200 Subject: [PATCH 105/192] Add proper CA If the cert has a chain of certs we should send them all properly Signed-off-by: Roeland Jago Douma --- src/gui/wizard/owncloudsetuppage.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gui/wizard/owncloudsetuppage.cpp b/src/gui/wizard/owncloudsetuppage.cpp index e56ca06ae..4af0ca935 100644 --- a/src/gui/wizard/owncloudsetuppage.cpp +++ b/src/gui/wizard/owncloudsetuppage.cpp @@ -392,6 +392,12 @@ void OwncloudSetupPage::slotCertificateAccepted() // cert will come via the HttpCredentials sslConfiguration.setLocalCertificate(_ocWizard->_clientSslCertificate); sslConfiguration.setPrivateKey(_ocWizard->_clientSslKey); + + // Be sure to merge the CAs + auto ca = sslConfiguration.systemCaCertificates(); + ca.append(clientCaCertificates); + sslConfiguration.setCaCertificates(ca); + acc->setSslConfiguration(sslConfiguration); // Make sure TCP connections get re-established From 233333a61664c0cb8b1407a1bda864fe04641d4e Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 3 Aug 2019 03:04:01 +0000 Subject: [PATCH 106/192] [tx-robot] updated from transifex --- translations/client_bg.ts | 2 +- translations/client_ca.ts | 2 +- translations/client_cs.ts | 2 +- translations/client_da.ts | 2 +- translations/client_de.ts | 2 +- translations/client_el.ts | 2 +- translations/client_en.ts | 2 +- translations/client_en_GB.ts | 2 +- translations/client_eo.ts | 2 +- translations/client_es.ts | 2 +- translations/client_es_AR.ts | 2 +- translations/client_es_CL.ts | 2 +- translations/client_es_CO.ts | 2 +- translations/client_es_CR.ts | 2 +- translations/client_es_DO.ts | 2 +- translations/client_es_EC.ts | 2 +- translations/client_es_GT.ts | 2 +- translations/client_es_HN.ts | 2 +- translations/client_es_MX.ts | 2 +- translations/client_es_SV.ts | 2 +- translations/client_et.ts | 2 +- translations/client_eu.ts | 2 +- translations/client_fa.ts | 2 +- translations/client_fi.ts | 2 +- translations/client_fr.ts | 2 +- translations/client_gl.ts | 2 +- translations/client_he.ts | 2 +- translations/client_hu.ts | 2 +- translations/client_id.ts | 2 +- translations/client_is.ts | 2 +- translations/client_it.ts | 2 +- translations/client_ja.ts | 2 +- translations/client_lt_LT.ts | 2 +- translations/client_lv.ts | 2 +- translations/client_nb_NO.ts | 2 +- translations/client_nl.ts | 2 +- translations/client_pl.ts | 2 +- translations/client_pt.ts | 2 +- translations/client_pt_BR.ts | 14 +++++++------- translations/client_ru.ts | 2 +- translations/client_sk.ts | 2 +- translations/client_sl.ts | 2 +- translations/client_sr.ts | 2 +- translations/client_sv.ts | 2 +- translations/client_th.ts | 2 +- translations/client_tr.ts | 2 +- translations/client_uk.ts | 2 +- translations/client_zh_CN.ts | 2 +- translations/client_zh_TW.ts | 2 +- 49 files changed, 55 insertions(+), 55 deletions(-) diff --git a/translations/client_bg.ts b/translations/client_bg.ts index fb71fa879..3d0d3acdb 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -2050,7 +2050,7 @@ It is not advisable to use it. Невалиден URL - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_ca.ts b/translations/client_ca.ts index da4ac8e82..05dd99bdc 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -2068,7 +2068,7 @@ No és aconsellable fer-la servir. URL no vàlida - + Could not load certificate. Maybe wrong password? No s'ha pogut carregar el certificat. Potser la contrasenya és incorrecta? diff --git a/translations/client_cs.ts b/translations/client_cs.ts index 4a34e90c0..66f39eb06 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -2065,7 +2065,7 @@ Nedoporučuje se jí používat. Neplatná URL adresa - + Could not load certificate. Maybe wrong password? Certifikát není možné načíst. Nejspíš je chybné heslo? diff --git a/translations/client_da.ts b/translations/client_da.ts index c2d74fc55..ce96817a8 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -2045,7 +2045,7 @@ It is not advisable to use it. Ugyldig URL - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_de.ts b/translations/client_de.ts index 5a416cfe2..e6f4dc016 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -2065,7 +2065,7 @@ Es ist nicht ratsam, sie zu benutzen. Ungültige URL - + Could not load certificate. Maybe wrong password? Das Zertifikat konnte nicht geladen werden. Vielleicht ein falsches Passwort? diff --git a/translations/client_el.ts b/translations/client_el.ts index 82f7a7086..811e76e4d 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -2055,7 +2055,7 @@ It is not advisable to use it. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_en.ts b/translations/client_en.ts index aa6a0f34e..a5690a38e 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -2071,7 +2071,7 @@ It is not advisable to use it. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_en_GB.ts b/translations/client_en_GB.ts index e5c9a3638..7e102c178 100644 --- a/translations/client_en_GB.ts +++ b/translations/client_en_GB.ts @@ -2066,7 +2066,7 @@ It is not advisable to use it. Invalid URL - + Could not load certificate. Maybe wrong password? Could not load certificate. Maybe wrong password? diff --git a/translations/client_eo.ts b/translations/client_eo.ts index adbb3bfaa..8dc7e6b63 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -2065,7 +2065,7 @@ Uzi ĝin ne konsilindas. Nevalida retadreso - + Could not load certificate. Maybe wrong password? Ne eblis ŝargi atestilon. Ĉu neĝusta pasvorto? diff --git a/translations/client_es.ts b/translations/client_es.ts index c19865a18..71e3fc04c 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -2065,7 +2065,7 @@ No se recomienda usarla. Dirección URL incorrecta - + Could not load certificate. Maybe wrong password? No se ha podido guardar el certificado. ¿Quizás la contraseña sea incorrecta? diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index 1653339df..87acacabc 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -2045,7 +2045,7 @@ It is not advisable to use it. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_es_CL.ts b/translations/client_es_CL.ts index 605026065..32a35e90d 100644 --- a/translations/client_es_CL.ts +++ b/translations/client_es_CL.ts @@ -2056,7 +2056,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_es_CO.ts b/translations/client_es_CO.ts index 0d6fe31b0..8dcf2fcf8 100644 --- a/translations/client_es_CO.ts +++ b/translations/client_es_CO.ts @@ -2056,7 +2056,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_es_CR.ts b/translations/client_es_CR.ts index 627bb668b..40d6ffeeb 100644 --- a/translations/client_es_CR.ts +++ b/translations/client_es_CR.ts @@ -2056,7 +2056,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_es_DO.ts b/translations/client_es_DO.ts index 2f779fbf0..8a4302b39 100644 --- a/translations/client_es_DO.ts +++ b/translations/client_es_DO.ts @@ -2056,7 +2056,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_es_EC.ts b/translations/client_es_EC.ts index e0e05a183..584fb39c2 100644 --- a/translations/client_es_EC.ts +++ b/translations/client_es_EC.ts @@ -2056,7 +2056,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_es_GT.ts b/translations/client_es_GT.ts index abe3920c5..adc111373 100644 --- a/translations/client_es_GT.ts +++ b/translations/client_es_GT.ts @@ -2056,7 +2056,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_es_HN.ts b/translations/client_es_HN.ts index a264500c6..241bccb47 100644 --- a/translations/client_es_HN.ts +++ b/translations/client_es_HN.ts @@ -2056,7 +2056,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_es_MX.ts b/translations/client_es_MX.ts index 0f8bb386c..db6494815 100644 --- a/translations/client_es_MX.ts +++ b/translations/client_es_MX.ts @@ -2056,7 +2056,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_es_SV.ts b/translations/client_es_SV.ts index 13b29c653..57b12a1bb 100644 --- a/translations/client_es_SV.ts +++ b/translations/client_es_SV.ts @@ -2056,7 +2056,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_et.ts b/translations/client_et.ts index 40618d78e..4826a066d 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -2046,7 +2046,7 @@ Selle kasutamine pole soovitatav. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_eu.ts b/translations/client_eu.ts index cc26b605d..7e8633185 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -2050,7 +2050,7 @@ Ez da gomendagarria erabltzea. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_fa.ts b/translations/client_fa.ts index 380c5a3cf..688ab6374 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -2053,7 +2053,7 @@ It is not advisable to use it. آدرس غیر معتبر - + Could not load certificate. Maybe wrong password? امکان بارگزاری گواهی وجود ندارد، ممکن است رمز عبور اشتباه باشد؟ diff --git a/translations/client_fi.ts b/translations/client_fi.ts index ab77818c9..4d7da5f64 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -2050,7 +2050,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Virheellinen URL - + Could not load certificate. Maybe wrong password? Varmennetta ei voitu ladata. Kenties salasana oli väärin. diff --git a/translations/client_fr.ts b/translations/client_fr.ts index 9c175b9f3..4e9906fc4 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -2068,7 +2068,7 @@ Il est déconseillé de l'utiliser. URL invalide - + Could not load certificate. Maybe wrong password? Impossible de charger le certificat. Vérifiez le mot de passe saisi. diff --git a/translations/client_gl.ts b/translations/client_gl.ts index c1f79bac7..9dd7fb86e 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -2067,7 +2067,7 @@ Recomendámoslle que non o use. URL incorrecto - + Could not load certificate. Maybe wrong password? Non foi posíbel cargar o certificado. Quizais o contrasinal é incorrecto? diff --git a/translations/client_he.ts b/translations/client_he.ts index aa663c97c..dcf3920eb 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -2047,7 +2047,7 @@ It is not advisable to use it. כתובת שגויה - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_hu.ts b/translations/client_hu.ts index 0fac884c3..8645c4ff6 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -2065,7 +2065,7 @@ Használata nem ajánlott. Érvénytelen URL - + Could not load certificate. Maybe wrong password? A tanúsítvány nem tölthető be. Lehet, hogy hibás a jelszó? diff --git a/translations/client_id.ts b/translations/client_id.ts index 95b225cf0..92c1e6a8e 100644 --- a/translations/client_id.ts +++ b/translations/client_id.ts @@ -2065,7 +2065,7 @@ Tidak disarankan untuk digunakan. URL tidak valid - + Could not load certificate. Maybe wrong password? Tidak dapat memuat sertifikat. Mungkin salah kata sandi? diff --git a/translations/client_is.ts b/translations/client_is.ts index 1f6ae69ba..b84f2b2ae 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -2060,7 +2060,7 @@ Ekki er mælt með því að hún sé notuð. Ógild slóð - + Could not load certificate. Maybe wrong password? Gat ekki hlaðið inn skilríki. Kannski rangt lykilorð? diff --git a/translations/client_it.ts b/translations/client_it.ts index 04ee1144f..bda3cb3f6 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -2067,7 +2067,7 @@ Non è consigliabile utilizzarlo. URL non valido - + Could not load certificate. Maybe wrong password? Impossibile caricare il certificato. Forse la password è errata? diff --git a/translations/client_ja.ts b/translations/client_ja.ts index 938f7687c..ae694b6ca 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -2061,7 +2061,7 @@ It is not advisable to use it. 無効なURL - + Could not load certificate. Maybe wrong password? 証明書を読み込めませんでした。 パスワードが間違っていますか? diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index ba052c0ba..0d4903bdb 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -2061,7 +2061,7 @@ Patariama jo nenaudoti. Neteisingas URL - + Could not load certificate. Maybe wrong password? Nepavyko įkelti liudijimo. Galbūt, neteisingas slaptažodis? diff --git a/translations/client_lv.ts b/translations/client_lv.ts index 31dbd06d3..97680ae84 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -2047,7 +2047,7 @@ It is not advisable to use it. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index 954c70fef..0780ee491 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -2056,7 +2056,7 @@ Det er ikke tilrådelig å bruke den. Ugyldig addresse - + Could not load certificate. Maybe wrong password? Sertifikatet kunne ikke lastes. Kanskje feil passord? diff --git a/translations/client_nl.ts b/translations/client_nl.ts index 0883a8ebc..5be33a7fe 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -2070,7 +2070,7 @@ We adviseren deze site niet te gebruiken. Ongeldige URL - + Could not load certificate. Maybe wrong password? Kon certificaat niet laden. Misschien onjuist wachtwoord? diff --git a/translations/client_pl.ts b/translations/client_pl.ts index 02f0515cf..f9d0895f7 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -2066,7 +2066,7 @@ Niezalecane jest jego użycie. Błędny adres URL - + Could not load certificate. Maybe wrong password? Nie udało się załadować certyfikatu. Być może hasło jest nieprawidłowe? diff --git a/translations/client_pt.ts b/translations/client_pt.ts index 96ede8774..6129aad1d 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -2055,7 +2055,7 @@ Não é aconselhada a sua utilização. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index a8fb5e16a..5bb3c761a 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -419,7 +419,7 @@ <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - <p>Você realmente deseja remover a conexão desta conta<i>%1</i>?</p><p><b>Nota:</b> Isto <b>não</b> irá excluir nenhum arquivo.</p> + <p>Deseja realmente remover a conexão desta conta<i>%1</i>?</p><p><b>Nota:</b> Isto <b>não</b> irá excluir nenhum arquivo.</p> @@ -451,7 +451,7 @@ <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - <p>Você realmente deseja parar a sincronização desta pasta <i>%1</i>?</p><p><b>Nota:</b> Isto <b>não</b> vai excluir qualquer arquivo.</p> + <p>Deseja realmente parar a sincronização desta pasta <i>%1</i>?</p><p><b>Nota:</b> Isto <b>não</b> vai excluir qualquer arquivo.</p> @@ -514,7 +514,7 @@ Asking Credentials - Solicitando Credenciais + Solicitando credenciais @@ -1750,7 +1750,7 @@ Logs serão gravados em %1 No limit - Sem Limite + Sem limite @@ -2066,7 +2066,7 @@ Não é aconselhável usá-la. URL inválida - + Could not load certificate. Maybe wrong password? Não foi possível carregar o certificado. Senha errada? @@ -3475,7 +3475,7 @@ Não é aconselhável usá-la. Recent Changes - Alterações Recentes + Alterações recentes @@ -3606,7 +3606,7 @@ Não é aconselhável usá-la. Pause synchronization - Dar uma pausa na sincronização + Pausar a sincronização diff --git a/translations/client_ru.ts b/translations/client_ru.ts index fc6bce211..7b5430160 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -2060,7 +2060,7 @@ It is not advisable to use it. Неверная ссылка - + Could not load certificate. Maybe wrong password? Невозможно загрузить сертификат. Возможно неверный пароль? diff --git a/translations/client_sk.ts b/translations/client_sk.ts index 492a192fa..5a31c411e 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -2059,7 +2059,7 @@ Nie je vhodné ju používať. Neplatná URL - + Could not load certificate. Maybe wrong password? Nie je možné načítať certifikát. Možno zlé heslo? diff --git a/translations/client_sl.ts b/translations/client_sl.ts index 155bc9a5b..e66206459 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -2055,7 +2055,7 @@ Uporaba ni priporočljiva. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_sr.ts b/translations/client_sr.ts index 70e734977..f9427d601 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -2066,7 +2066,7 @@ It is not advisable to use it. Неисправна адреса - + Could not load certificate. Maybe wrong password? Не могу да учитам сертификат. Можда је лозинка погрешна? diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 294720b73..59deffd71 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -2066,7 +2066,7 @@ Det är inte lämpligt använda den. Ogiltig URL - + Could not load certificate. Maybe wrong password? Kunde inte ladda certifikatet. Felaktigt lösenord? diff --git a/translations/client_th.ts b/translations/client_th.ts index 8ec908625..a10286e11 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -2055,7 +2055,7 @@ It is not advisable to use it. - + Could not load certificate. Maybe wrong password? diff --git a/translations/client_tr.ts b/translations/client_tr.ts index 53d85bce0..bf9b2eca8 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -2065,7 +2065,7 @@ Kullanmanız önerilmez. Adres Geçersiz - + Could not load certificate. Maybe wrong password? Sertifika yüklenemedi. Parola yanlış olabilir mi? diff --git a/translations/client_uk.ts b/translations/client_uk.ts index 79e6ad8b8..45e218a48 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -2046,7 +2046,7 @@ It is not advisable to use it. Недійсна URL адреса - + Could not load certificate. Maybe wrong password? Не вдалося завантажити сертифікат. Можливо був введений неправильний пароль? diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index d4e213c73..a99f1fc2e 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -2064,7 +2064,7 @@ It is not advisable to use it. 无效的链接 - + Could not load certificate. Maybe wrong password? 无法载入证书。是不是密码错了? diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index 1ca195f9c..430cad209 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -2049,7 +2049,7 @@ It is not advisable to use it. - + Could not load certificate. Maybe wrong password? From 681c03b09762a66b7ef67b9fccc0f4cc0b2f3d0e Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 4 Aug 2019 03:06:07 +0000 Subject: [PATCH 107/192] [tx-robot] updated from transifex --- translations/client_zh_CN.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index a99f1fc2e..3fcc41505 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -3404,7 +3404,7 @@ It is not advisable to use it. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>版本 %1。详情请点击<a href='%2'>这里</a>。</p> From eb41f01857dc2f58e9617225452c35f73779f194 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 5 Aug 2019 03:01:25 +0000 Subject: [PATCH 108/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 +-- translations/client_pl.ts | 64 ++++++++++----------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_pl.ts b/translations/client_pl.ts index f9d0895f7..da52a64b4 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -143,7 +143,7 @@ Select a remote destination folder - Wybierz zdalny folder docelowy + Wybierz zdalny katalog docelowy @@ -217,7 +217,7 @@ Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Niezaznaczone katalogi zostaną <b>usunięte</b> z lokalnego systemu plików i nie będą już więcej synchronizowane na tym komputerze. + Niezaznaczone foldery zostaną <b>usunięte</b> z lokalnego systemu plików i nie będą już więcej synchronizowane na tym komputerze. @@ -314,12 +314,12 @@ Folder creation failed - Nie udało się stworzyć katalogu + Utworzenie folderu nie powiodło się <p>Could not create local folder <i>%1</i>. - <p>Nie można stworzyć lokalnego katalogu <i>%1</i>. + <p>Nie można utworzyć folderu lokalnego <i>%1</i>. @@ -430,7 +430,7 @@ Open folder - Otwórz katalog + Otwórz folder @@ -742,7 +742,7 @@ %1 should be a folder but is not. - %1 powinien być katalogiem, ale nie jest. + %1 powinien być folderem, ale nie jest. @@ -882,7 +882,7 @@ These deletes will be synchronized to your local sync folder, making such files If you decide to keep the files, they will be re-synced with the server if you have rights to do so. If you decide to delete the files, they will be unavailable to you, unless you are the owner. Wszystkie pliki z folderu '%1' zostały usunięte z serwera. -W momencie synchronizacji zostaną usunięte z lokalnego katalogu, co spowoduje ich niedostępność, chyba, że posiadasz prawo do ich przywrócenia. +W momencie synchronizacji zostaną usunięte z lokalnego folderu, co spowoduje ich niedostępność, chyba że posiadasz prawo do ich przywrócenia. Jeśli zdecydujesz się zachować te pliki, zostaną one zsynchronizowane z serwerem, jeżeli posiadasz odpowiednie uprawnienia. Jeśli zdecydujesz je usunąć, nie będą więcej dostępne, chyba że jesteś ich właścicielem. @@ -1015,12 +1015,12 @@ Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie twoje pli The selected path is not a folder! - Wybrana ścieżka nie jest katalogiem! + Wybrana ścieżka nie jest folderem! You have no permission to write to the selected folder! - Nie masz uprawnień, aby zapisywać w tym katalogu! + Nie masz uprawnień, aby zapisywać w tym folderze! @@ -1061,7 +1061,7 @@ Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie twoje pli You need to be connected to add a folder - Musisz być podłączony, by dodać folder. + Musisz być podłączony, aby dodać folder @@ -1237,7 +1237,7 @@ Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie twoje pli Select the source folder - Wybierz katalog źródłowy + Wybierz folder źródłowy @@ -1245,12 +1245,12 @@ Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie twoje pli Create Remote Folder - Dodaj zdalny katalog + Dodaj katalog zdalny Enter the name of the new folder to be created below '%1': - Wpisz nazwę dla nowego katalogu, utworzonego poniżej '%1': + Wpisz nazwę dla nowego folderu, utworzonego poniżej '%1': @@ -1280,7 +1280,7 @@ Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie twoje pli This folder is already being synced. - Ten katalog jest już synchronizowany. + Ten folder jest już synchronizowany. @@ -1511,9 +1511,9 @@ Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie twoje pli Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Pliki lub katalogi pasujące do szablonu nie będą zsynchronizowane. + Pliki lub foldery pasujące do szablonu nie będą zsynchronizowane. -Elementy, dla których usuwanie jest dozwolone zostaną usunięte, jeżeli uprawnienia katalogu dopuszczają usuwanie. Jest to przydatne dla metadanych. +Elementy, dla których usuwanie jest dozwolone zostaną usunięte, jeżeli uprawnienia folderu dopuszczają usuwanie. Jest to przydatne dla metadanych. @@ -1898,7 +1898,7 @@ o dodatkowe uprawnienia podczas procesu aktualizacji. Setup local folder options - Ustawienia opcji lokalnych katalogów + Ustaw opcje folderu lokalnego @@ -1908,7 +1908,7 @@ o dodatkowe uprawnienia podczas procesu aktualizacji. %1 folder '%2' is synced to local folder '%3' - %1 katalog '%2' jest zsynchronizowany do katalogu lokalnego '%3' + %1 folder '%2' jest zsynchronizowany do folderu lokalnego '%3' @@ -1918,7 +1918,7 @@ o dodatkowe uprawnienia podczas procesu aktualizacji. <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> - <p><small><strong>Uwaga:</strong> katalog lokalny nie jest pusty. Bądź ostrożny !</small></p> + <p><small><strong>Uwaga:</strong> folder lokalny nie jest pusty. Bądź ostrożny !</small></p> @@ -1939,7 +1939,7 @@ o dodatkowe uprawnienia podczas procesu aktualizacji. There isn't enough free space in the local folder! - W katalogu lokalnym nie ma wystarczającej ilości wolnego miejsca! + W folderze lokalnym nie ma wystarczającej ilości wolnego miejsca! @@ -2146,7 +2146,7 @@ Niezalecane jest jego użycie. No remote folder specified! - Nie określono folderu zdalnego! + Nie określono katalogu zdalnego! @@ -2161,34 +2161,34 @@ Niezalecane jest jego użycie. Remote folder %1 created successfully. - Zdalny folder %1 został utworzony pomyślnie. + Zdalny katalog %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. + Zdalny katalog %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 + Tworzenie katalogu 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> + Nie udało się utworzyć zdalnego katalogu ponieważ podane poświadczenia są nieprawidłowe!<br/>Wróć i sprawdź swoje poświadczenia.</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> + <p><font color="red">Tworzenie katalogu 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>. + Tworzenie katalogu zdalnego %1 nie powiodło się z powodu błędu <tt>%2</tt>. @@ -2560,7 +2560,7 @@ Niezalecane jest jego użycie. Deselect remote folders you do not wish to synchronize. - Odznacz foldery zdalne, których nie chcesz synchronizować. + Odznacz katalogi zdalne, których nie chcesz synchronizować. @@ -3144,12 +3144,12 @@ Niezalecane jest jego użycie. An error occurred while opening a folder - Wystąpił błąd podczas otwierania katalogu + Wystąpił błąd podczas otwierania folderu Error while reading folder. - Błąd podczas odczytu katalogu. + Błąd podczas odczytu folderu. @@ -3159,7 +3159,7 @@ Niezalecane jest jego użycie. File/Folder is ignored because it's hidden. - Plik / katalog zostanie zignorowany, ponieważ jest ukryty. + Plik/folder zostanie zignorowany, ponieważ jest ukryty. @@ -3707,7 +3707,7 @@ Niezalecane jest jego użycie. Start a &clean sync (Erases the local folder!) - Zacznij od &czystej synchronizacji (usuwa lokalny katalog !) + Zacznij od &czystej synchronizacji (usuwa lokalny folder!) From 3a6f9e51f518e33f38fb2590058d15e49f281392 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 6 Aug 2019 03:03:52 +0000 Subject: [PATCH 109/192] [tx-robot] updated from transifex --- translations/client_eu.ts | 103 +++++++++++++++++++------------------- 1 file changed, 52 insertions(+), 51 deletions(-) diff --git a/translations/client_eu.ts b/translations/client_eu.ts index 7e8633185..02c10867d 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -4,83 +4,83 @@ %1 (%2, %3) - + %1 (%2, %3) Checking for changes in '%1' - + '%1'-(e)an aldaketak begiratzen Syncing %1 of %2 (%3 left) - + Sinkronizatzen %2-tik %1 (%3 falta da) Syncing %1 of %2 - + Sinkronizatzen %2-tik %1 Syncing %1 (%2 left) - + Sinkronizatzen %1 (%2 falta da) Syncing %1 - %1 sinkronizatzen + Sinkronizatzen %1 No recently changed files - + Azken aldian ez aldaketarik egon. Sync paused - + Sinkronizazioa pausatua Syncing - + Sinkronizatzen Open website - + Ireki webgunea Recently changed - + Azken aldian aldatuta Pause synchronization - + Pausatu sinkronizazioa Help - + Laguntza Settings - + Ezarpenak Log out - + Amaitu saioa Quit sync client - + Irten sinkronizazio bezerotik @@ -88,7 +88,7 @@ Dialog - + Elkarrizketa @@ -101,18 +101,18 @@ Could not make directories in trash - + Ezin da direktoriorik egin zakarrontzian Could not move '%1' to '%2' - + Ezin da '%1' '%2'-ra mugitu Moving to the trash is not implemented on this platform - + Plataforma honetan ezin da mugitu zakarrontzira @@ -181,7 +181,7 @@ Server replied "%1 %2" to "%3 %4" - + Zerbitzariak erantzun du "%1 %2" "%3 %4"-ra @@ -194,7 +194,7 @@ To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). - + Zure nortasun kriptografikoa babesteko, hiztegietako 12 hitzen mnemoniko batekin zifratzen dugu. Mesedez, kontuan hartu horiek eta gorde itzazu. Beharrezkoak izango dira zure kontuan beste gailu batzuk gehitzeko (telefono mugikorra edo ordenagailu eramangarria adibidez). @@ -284,7 +284,7 @@ Show E2E mnemonic - + Erakutsi E2E mnemoteknikoa @@ -419,7 +419,7 @@ <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + <p>Ziur zaude <i>%1</i>kontuaren konexioa kendu nahi duzula?</p><p><b>Oharra:</b> Honek<b>ez</b> du fitxategirik ezabatuko.</p> @@ -451,7 +451,7 @@ <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + <p>Ziur zaude <i>%1</i>karpetaren sinkronizazioa gelditu nahi duzula?</p><p><b>Oharra:</b> Honek <b>ez</b> du fitxategirik ezabatuko.</p> @@ -570,12 +570,12 @@ Synced - + Sinkronizatuta Retry all uploads - + Saiatu berriro denak kargatzen @@ -781,17 +781,17 @@ %1 and %n other file(s) have been removed. - + %1 eta beste fitxategi %n ezabatu dira.%1 eta beste %n fitxategi ezabatu dira. %1 and %n other file(s) have been downloaded. - + %1 eta beste fitxategi %n deskargatu dira.%1 eta beste %n fitxategi deskargatu dira. %1 and %n other file(s) have been updated. - + %1 eta beste fitxategi %n eguneratu dira.%1 eta beste %n fitxategi eguneratu dira. @@ -850,7 +850,7 @@ Please go in the settings to select it if you wish to download it. - + Jo ezarpenetara aukeratzeko deskargatu nahi ote duzun. @@ -1037,7 +1037,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Synchronized with local folder - + Sinkronizatuta karpeta lokalarekin @@ -1123,7 +1123,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) - igo %1/s + Kargatu %1/s @@ -1338,7 +1338,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Show Server &Notifications - + Erakutsi zerbitzariaren jakinarazpenak @@ -1348,7 +1348,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Ask for confirmation before synchronizing folders larger than - + Eskatu baimena handiagoak diren karpetak sinkronizatu baino lehen @@ -1359,7 +1359,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Ask for confirmation before synchronizing external storages - + Eskatu baimena kanpoko biltegiak sinkronizatu baino lehen @@ -1717,7 +1717,7 @@ Logs will be written to %1 Download Bandwidth - Deskargatzeko Banda Zabalera + Deskargako banda zabalera @@ -1746,7 +1746,7 @@ Logs will be written to %1 Upload Bandwidth - Igotzeko Banda Zabalera + Kargako banda zabalera @@ -1824,7 +1824,8 @@ Logs will be written to %1 A new update for %1 is about to be installed. The updater may ask for additional privileges during the process. - + %1-etarako eguneraketa bat instalatzeko prest dago. Instalatzaileak +pribilegio gehigarriak eskatzen ahal dizu prozesuan. @@ -1834,7 +1835,7 @@ for additional privileges during the process. Could not download update. Please click <a href='%1'>here</a> to download the update manually. - + Ezin da eguneraketa deskargatu. Egin klik <a href='%1'>hemen</a> eguneraketa eskuz deskargatzeko. @@ -2413,7 +2414,7 @@ Ez da gomendagarria erabltzea. File %1 cannot be uploaded because another file with the same name, differing only in case, exists - + %1 fitxategia ezin da kargatu izen bereko beste fitxategi bat dagoelako -soilik kasuan ezberdina- @@ -2429,12 +2430,12 @@ Ez da gomendagarria erabltzea. Upload of %1 exceeds the quota for the folder - + %1-aren kargak karpetaren kuota gainditzen du File Removed (start upload) %1 - + Fitxategia kendu da (hasi karga) %1 @@ -2711,12 +2712,12 @@ Ez da gomendagarria erabltzea. Allow Upload && Editing - + Onartu karga eta edizioa File Drop (Upload Only) - + Fitxategia jaregin (karga bakarrik) @@ -3182,7 +3183,7 @@ Ez da gomendagarria erabltzea. There is insufficient space available on the server for some uploads. - + Ez dago nahiko toki erabilgarririk zerbitzarian hainbat kargatarako. @@ -3333,7 +3334,7 @@ Ez da gomendagarria erabltzea. Not allowed to upload this file because it is read-only on the server, restoring - + Ez dago baimenik fitxategi hau kargatzek zerbitzarian irakurtzeko soilik delako, leheneratzen. @@ -3694,7 +3695,7 @@ Ez da gomendagarria erabltzea. Ask for confirmation before synchroni&zing folders larger than - + Eskatu baimena handiagoak diren karpetak sinkronizatu baino lehen @@ -3705,7 +3706,7 @@ Ez da gomendagarria erabltzea. Ask for confirmation before synchronizing e&xternal storages - + Eskatu baimena kanpoko biltegiak sinkronizatu baino lehen @@ -4021,7 +4022,7 @@ Ez da gomendagarria erabltzea. Uploaded - Igoa + Kargatuta @@ -4072,7 +4073,7 @@ Ez da gomendagarria erabltzea. uploading - igotzen + kargatzen From 890c7d731d96bac47dae5030c7e48d66b8bbcf19 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 7 Aug 2019 03:03:54 +0000 Subject: [PATCH 110/192] [tx-robot] updated from transifex --- translations/client_eu.ts | 128 +++++++++++++++++++++----------------- translations/client_ja.ts | 11 ++-- 2 files changed, 76 insertions(+), 63 deletions(-) diff --git a/translations/client_eu.ts b/translations/client_eu.ts index 02c10867d..a2af5a9ac 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -456,7 +456,7 @@ %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. - + %2-tik %1 (%3%) erabiltzen ari da. Zenbait karpetek, sarean muntatutako edo partekatutako karpetak barne, muga desberdinak izan ditzakete. @@ -598,7 +598,7 @@ Certificate & Key (pkcs12) : - + Egiaztagiria eta gakoa (pkcs12) : @@ -631,12 +631,12 @@ There was an error while accessing the configuration file at %1. Please make sure the file can be accessed by your user. - + % 1 konfigurazio fitxategian sartzean akats bat gertatu da. Egiaztatu zure erabiltzaileak fitxategi hau atzitzeko baimena duela. Quit %1 - + %1etik Irten @@ -675,12 +675,12 @@ Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + Sartu zure muturretik muturrerako zifratzeko pasahitza:<br><br>Erabiltzailea: %2<br>Kontua: %3<br> Enter E2E passphrase - + Sartu muturretik muturrerako (E2E) pasahitza @@ -796,27 +796,27 @@ %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 fitxategiak %2 izen berria hartu du eta beste fitxategi %n berrizendatu da.%1 fitxategiak %2 izen berria hartu du eta beste %n fitxategi berrizendatu dira. %1 has been moved to %2 and %n other file(s) have been moved. - + %1 fitxategia %2-ra mugitu da eta beste fitxategi %n mugitu da.%1 fitxategia %2-ra mugitu da eta beste %n fitxategi mugitu dira. %1 has and %n other file(s) have sync conflicts. - + %1 eta beste fitxategi %n sinkronizazio gatazkak izan dituzte.%1 eta beste %n fitxategi sinkronizazio gatazkak izan dituzte. %1 has a sync conflict. Please check the conflict file! - + %1 sinkronizazio gatazka izan du. Begiratu gatazkaren fitxategia! %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 eta beste fitxateg %ni ezin izan dira sinkronizatu erroreak direla eta. Ikusi egunkaria xehetasun gehiago izateko.%1 eta beste %n fitxategi ezin izan dira sinkronizatu erroreak direla eta. Ikusi egunkaria xehetasun gehiago izateko. @@ -855,12 +855,12 @@ The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - + %1 karpeta sortu zen baina sinkronizaziotik kanpo ezarri zen. Haren barneko fitxategiak ez dira sinkronizatuko. The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - + %1 fitxategia sortu zen baina sinkronizaziotik kanpo ezarri zen. Fitxategia ez da sinkronizatuko. @@ -869,7 +869,11 @@ This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). %1 - + Sinkronizatutako karpeten aldaketen segimendua ezin izan da egin fidagarritasunez. + +Honek esan nahi du sinkronizazio bezeroak agian ez duela berehalakoan kargatuko tokiko aldaketak eta haren ordez tokiko aldaketak bilatu eta tarteka kargatuko ditu (berez, bi orduero). + +%1 @@ -877,7 +881,10 @@ This means that the synchronization client might not upload local changes immedi These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. If you decide to delete the files, they will be unavailable to you, unless you are the owner. - + Sinkronizazio '%1' karpetako fitxategi guztiak ezabatu dira zerbitzarian. +Ezabaketa horiek zure tokiko sinkronizazio karpetan sinkronizatuko dira, hartara ezingo dituzu fitxategiok erabili leheneratzeko eskubidea izan ezean. +Fitxategiok mantentzea erabakitzen baduzu, birsinkronizatuko dira zerbitzarian, horretarako eskubiderik baduzu. +Fitxategiok ezabatzea erabakitzen baduzu, ezingo dituzu berriro erabili, horien jabea izan ezean. @@ -892,31 +899,36 @@ If you decide to delete the files, they will be unavailable to you, unless you a Keep local files - + Mantendu tokiko fitxategiak All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. - + Zure tokiko '%1' sinkronizazio karpetako fitxategi guztiak ezabatu dira. Ezabaketa hauek zerbitzarian sinkronizatuko dira, beraz ezingo dituzu fitxategiok erabili leheneratu ezean. +Ziur zaude ekintza hauek zerbitzarian sinkronizatu nahi dituzula? +Ezabaketa nahigabea izan bada eta erabakitzen baduzu fitxategiok mantentzea, hauek zerbitzarian bir-sinkronizatuko dira. This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Sinkronizazio honek '%1' sinkronizazio karpetako fitxategiak aurreko egoerara berrezarriko ditu. +Hau izan daiteke babeskopia bat zerbitzarian leheneratu delako. +Sinkronizazio honekin segitzen baduzu litekeena da aurreko egoerako fitxategiek oraingoak berridaztea. +Nahi al duzu zure tokiko fitxategi berrienak gatazkako fitxategi gisa mantentzea? Backup detected - + Babes-kopia hauteman da Normal Synchronisation - + Sinkronizazio normala @@ -969,12 +981,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an Sync was successful, unresolved conflicts. - + Sinkronizazioa behar bezala burutu da, konpondu gabeko gatazkak. Last Sync was successful. - Azkeneko sinkronizazioa ongi burutu zen. + Azkeneko sinkronizazioa behar bezala burutu da. @@ -984,7 +996,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an User Abort. - Erabiltzaileak bertan behera utzi. + Erabiltzaileak bertan behera utzi du. @@ -999,7 +1011,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an No valid folder selected! - Ez da karpeta egokirik hautatu! + Ez da baliozko karpetarik hautatu! @@ -1014,17 +1026,17 @@ Continuing the sync as normal will cause all your files to be overwritten by an There is already a sync from the server to this local folder. Please pick another local folder! - + Dagoeneko sinkronizazio bat dago zerbitzaritik karpeta lokal honetara. Aukeratu tokiko beste karpeta bat! The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! - + Tokiko '%1' karpetak badu dagoeneko sinkronizatutako karpeta bat. Hautatu beste bat! The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! - + Tokiko '%1' karpeta dagoeneko sinkronizatutako karpeta batean dago. Hautatu beste bat! @@ -1128,12 +1140,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an Checking for changes in remote '%1' - + Begiratzen ea aldaketarik dagoen urrutiko '%1'-(e)an Checking for changes in local '%1' - + Begiratzen ea aldaketarik dagoen tokiko '%1'-(e)an @@ -1161,13 +1173,13 @@ Continuing the sync as normal will cause all your files to be overwritten by an %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" - + %5 falta da,%2tik %1 , %4tik %3 fitxategi %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" - + %2tik %1 , %4tik %3 fitxategi @@ -1195,7 +1207,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an This problem usually happens when the inotify watches are exhausted. Check the FAQ for details. - + Arazo hau normalean inotify erlojuak agortu direnean gertatzen da. Begiratu ohiko galderetan zehaztasunetarako. @@ -1323,7 +1335,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Legal notice - + Legezko oharra @@ -1333,7 +1345,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an For System Tray - + Sistemaren erretilurako @@ -1374,17 +1386,17 @@ Continuing the sync as normal will cause all your files to be overwritten by an Edit &Ignored Files - + Editatu eta baztertutako fitxategiak Show sync folders in &Explorer's Navigation Pane - + Erakutsi sinkronizatutako karpetak arakatzailearen nabigazio panelean S&how crash reporter - + Erakutsi kraskaduraren txostena @@ -1405,7 +1417,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Server notifications that require attention. - + Arreta eskatzen duten zerbitzariaren jakinarazpenak. @@ -1420,7 +1432,9 @@ Continuing the sync as normal will cause all your files to be overwritten by an Could not retrieve or create the public link share. Error: %1 - + Ezin izan da berreskuratu edo sortu esteka publikoaren partekatzea. Errorea: + +%1 @@ -1428,12 +1442,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an Please enter %1 password:<br><br>User: %2<br>Account: %3<br> - + Sartu %1 pasahitza:<br><br>Erabiltzailea: %2<br>Kontua: %3<br> Reading from keychain failed with error: '%1' - + Giltzatako irakurketa errorea: '%1' @@ -1443,7 +1457,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an <a href="%1">Click here</a> to request an app password from the web interface. - + <a href="%1">Egin klik hemen</a> eskatzeko aplikazio pasahitz bat web interfazetik. @@ -1456,7 +1470,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Global Ignore Settings - + Ezikusien ezarpen orokorrak @@ -1466,7 +1480,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Files Ignored by Patterns - + Ezikusitako fitxategiak ereduen arabera @@ -1543,7 +1557,7 @@ Ezabatzeko baimena duten itemak ezabatuko dira hauek karpeta bat ezabatzea uzten TextLabel - + TestuEtiketa @@ -2048,7 +2062,7 @@ Ez da gomendagarria erabltzea. Invalid URL - + Baliogabeko URLa @@ -2654,7 +2668,7 @@ Ez da gomendagarria erabltzea. %1 Sharing - + %1 partekatzen @@ -2737,7 +2751,7 @@ Ez da gomendagarria erabltzea. Add another link - + Gehitu beste esteka bat @@ -2803,7 +2817,7 @@ Ez da gomendagarria erabltzea. Unshare - + Ez partekatu @@ -2873,7 +2887,7 @@ Ez da gomendagarria erabltzea. I shared something with you - + Zerbait partekatu dut zurekin @@ -3559,7 +3573,7 @@ Ez da gomendagarria erabltzea. No sync folders configured - + Ez dira ezarri sinkronizatzeko karpetak @@ -3888,17 +3902,17 @@ Ez da gomendagarria erabltzea. %n minute ago - + duela minutu %nduela %n minutu %n minutes ago - + duela minutu %nduela %n minutu Some time ago - + Duela zenbait denbora @@ -3937,7 +3951,7 @@ Ez da gomendagarria erabltzea. %n month(s) - + hilabete %n %n hilabete @@ -3947,12 +3961,12 @@ Ez da gomendagarria erabltzea. %n hour(s) - + ordu %n%n ordu %n minute(s) - + minutu %n%n minutu diff --git a/translations/client_ja.ts b/translations/client_ja.ts index ae694b6ca..b9cd2c2ef 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -631,7 +631,7 @@ There was an error while accessing the configuration file at %1. Please make sure the file can be accessed by your user. - %1の構成ファイルにアクセス中にエラーが発生しました。 ユーザーがファイルにアクセスできることを確認してください。 + %1の設定ファイルのアクセス中にエラーが発生しました。 ユーザーがファイルにアクセスできることを確認してください。 @@ -855,13 +855,12 @@ The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. - フォルダ%1が作成されましたが、以前は同期から除外されていました。 その中のデータは同期されません + フォルダ%1は作成されましたが、以前に同期から除外されました。 中のデータは同期されません。 The file %1 was created but was excluded from synchronization previously. It will not be synchronized. - ファイル%1は作成されましたが、以前は同期から除外されていました。 -このファイルは同期されません。 + ファイル%1は作成されましたが、以前に同期から除外されました。 このファイルは同期されません。 @@ -1568,7 +1567,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from <p>Licensed under the GNU General Public License (GPL) Version 2.0 or any later version.</p> - <p> GNU General Public License (GPL)バージョン2.0以降のバージョンでライセンスされています。</p> + <p>GNU General Public License (GPL)バージョン2.0以降のバージョンでライセンスされています。</p> @@ -3808,7 +3807,7 @@ It is not advisable to use it. <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">分のサーバーをホストする</span></a> + <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">自分のサーバーをホストする</span></a> From 03375074461098600d252f61b1f2ebfc3224df5d Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 8 Aug 2019 03:04:58 +0000 Subject: [PATCH 111/192] [tx-robot] updated from transifex --- translations/client_el.ts | 38 +++++++++++++++++++------------------- translations/client_fi.ts | 6 +++--- translations/client_ja.ts | 2 +- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/translations/client_el.ts b/translations/client_el.ts index 811e76e4d..15119b84c 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -279,7 +279,7 @@ Enable encryption - + Ενεργοποίηση κρυπτογράφησης @@ -1086,7 +1086,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an There are unresolved conflicts. Click for details. - + Υπάρχουν μη επιλύσιμες συγκρούσεις. Πατήστε εδώ για λεπτομέρειες. @@ -1590,7 +1590,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from Permanently save logs - + Μόνιμη αποθήκευση των αρχείων καταγραφής @@ -1912,7 +1912,7 @@ for additional privileges during the process. Free space: %1 - + Ελεύθερος χώρος: %1 @@ -1928,7 +1928,7 @@ for additional privileges during the process. There isn't enough free space in the local folder! - + Δεν υπάρχει αρκετός ελεύθερος χώρος στον τοπικό φάκελο! @@ -1992,7 +1992,7 @@ for additional privileges during the process. Login in your browser - + Σύνδεση στον προεπιλεγμένο περιηγητή ιστοσελίδων @@ -2015,22 +2015,22 @@ for additional privileges during the process. Keep your data secure and under your control - + Διατηρείστε τα δεδομένα σας ασφαλή και υπό τον έλεγχο σας Secure collaboration & file exchange - + Ασφαλής συνεργασία & ανταλλαγή αρχείων Easy-to-use web mail, calendaring & contacts - + Εύχρηστο web mail, ημερολόγιο & επαφές Screensharing, online meetings & web conferences - + Κοινή χρήση οθόνης, ηλεκτρονικές συναντήσεις & συνέδρια @@ -2052,12 +2052,12 @@ It is not advisable to use it. Invalid URL - + Μη έγκυρη διεύθυνση URL Could not load certificate. Maybe wrong password? - + Δεν ήταν δυνατή η φόρτωση του πιστοποιητικού. Ίσος είναι λάθος ο κωδικός; @@ -2105,7 +2105,7 @@ It is not advisable to use it. The server reported the following error: - + Ο διακομιστής αναφέρει το ακόλουθο σφάλμα: @@ -2145,7 +2145,7 @@ It is not advisable to use it. creating folder on Nextcloud: %1 - + δημιουργία φακέλου στο Nextcloud: %1 @@ -2262,7 +2262,7 @@ It is not advisable to use it. File %1 can not be downloaded because encryption information is missing. - + Δεν είναι δυνατή η λήψη του αρχείου %1, διότι λείπουν οι πληροφορίες κρυπτογράφησης. @@ -2681,7 +2681,7 @@ It is not advisable to use it. &Share link - + &Διαμοιρασμός συνδέσμου @@ -2716,7 +2716,7 @@ It is not advisable to use it. Allow Upload && Editing - + Επιτρέψτε την Μεταφόρτωση && Επεξεργασία @@ -2807,7 +2807,7 @@ It is not advisable to use it. Unshare - + Διακοπή διαμοιρασμού @@ -2817,7 +2817,7 @@ It is not advisable to use it. Can change - + Μπορεί να αλλάξει diff --git a/translations/client_fi.ts b/translations/client_fi.ts index 4d7da5f64..6fdd16cdd 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -3224,7 +3224,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. No space on %1 server available. - + %1-palvelimella ei ole tilaa jäljellä. @@ -3797,12 +3797,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> - + <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Ylläpidä omaa palvelintasi</span></a> Register with a provider - + Rekisteröidy palveluntarjoajalle diff --git a/translations/client_ja.ts b/translations/client_ja.ts index b9cd2c2ef..db3215656 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -3807,7 +3807,7 @@ It is not advisable to use it. <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">自分のサーバーをホストする</span></a> + <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">自分のサーバーを立てる</span></a> From ec70ee96f3e90fe42858a2d33b851be619469829 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Fri, 9 Aug 2019 03:04:25 +0000 Subject: [PATCH 112/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 +-- translations/client_pl.ts | 68 ++++++++++----------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_pl.ts b/translations/client_pl.ts index da52a64b4..07f08ead7 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -35,7 +35,7 @@ No recently changed files - Brak zmienianych ostatnio plików + Brak ostatnio zmienionych plików @@ -112,7 +112,7 @@ Moving to the trash is not implemented on this platform - Przeniesienie do kosza na tej platformie nie jest możliwe + Przeniesienie do kosza nie jest możliwe na tej platformie @@ -194,7 +194,7 @@ To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). - Aby chronić Twoją tożsamość kryptograficzną, szyfrujemy ją kluczem składającym się z 12 wyrazów. Hasło zachowaj w bezpiecznym miejscu. Będzie ono potrzebne do dodania innych urządzeń do twojego konta (takich jak twój telefon komórkowy lub laptop). + Aby chronić Twoją tożsamość kryptograficzną, szyfrujemy ją kluczem składającym się z 12 wyrazów. Hasło zachowaj w bezpiecznym miejscu. Będzie ono potrzebne do dodania innych urządzeń do Twojego konta (takich jak twój telefon komórkowy lub laptop). @@ -227,7 +227,7 @@ Synchronize none - Nie synchronizuj niczego + Brak synchronizacji @@ -294,7 +294,7 @@ Choose what to sync - Wybierz co synchronizować + Wybierz elementy do synchronizacji @@ -309,12 +309,12 @@ Remove folder sync connection - Usuń folder połączenia synchronizacji + Usuń folder synchronizacji Folder creation failed - Utworzenie folderu nie powiodło się + Utworzenie katalogu nie powiodło się @@ -324,12 +324,12 @@ Confirm Folder Sync Connection Removal - Usuń folder połączenia synchronizacji + Potwierdź usunięcie folderu synchronizacji Remove Folder Sync Connection - Usuń folder połączenia synchronizacji + Usuń folder synchronizacji @@ -339,12 +339,12 @@ The syncing operation is running.<br/>Do you want to terminate it? - Operacja synchronizacji jest uruchomiona.<br>Czy chcesz ją zakończyć? + Operacja synchronizacji jest uruchomiona.<br/>Czy chcesz ją zakończyć? %1 in use - %1 w użyciu + Wykorzystane: %1 @@ -399,17 +399,17 @@ There are folders that were not synchronized because they are too big: - Te foldery nie zostały zsynchronizowane ponieważ są zbyt duze: + Te katalogi nie zostały zsynchronizowane ponieważ są zbyt duże: There are folders that were not synchronized because they are external storages: - Te foldery nie zostały zsynchronizowane ponieważ znajdują się w pamięci zewnętrznej: + Te katalogi nie zostały zsynchronizowane, ponieważ znajdują się w magazynach zewnętrznych: There are folders that were not synchronized because they are too big or external storages: - Te foldery nie zostały zsynchronizowane ponieważ są zbyt duże lub znajdują się w pamięci zewnętrznej: + Te katalogi nie zostały zsynchronizowane, ponieważ są zbyt duże lub znajdują się w magazynach zewnętrznych: @@ -419,7 +419,7 @@ <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - <p>Czy na pewno chcesz usunąć połączenie z kontem <i>%1</i>?</p><p><b>Uwaga:</b> ta operacja <b>nie</b> usunie plików klienta.</p> + <p>Czy na pewno chcesz usunąć połączenie z kontem <i>%1</i>?</p><p><b>Uwaga:</b> Ta operacja <b>nie</b> usunie plików klienta.</p> @@ -461,7 +461,7 @@ %1 of %2 in use - %1 z %2 w użyciu + Wykorzystane: %1 z %2 @@ -917,7 +917,7 @@ This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? Ta synchronizacja spowoduje zresetowanie plików do wcześniejszego czasu w folderze synchronizacji '%1'. Przyczyną może być przywrócenie plików z kopii zapasowej na serwerze. -Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie twoje pliki zostaną zastąpione starszym plikiem we wcześniejszym stanie. Czy chcesz zachować najnowsze pliki lokalne? +Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie Twoje pliki zostaną zastąpione starszym plikiem we wcześniejszym stanie. Czy chcesz zachować najnowsze pliki lokalne? @@ -1043,7 +1043,7 @@ Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie twoje pli Add Folder Sync Connection - Dodaj folder połączenia synchronizacji + Dodaj folder synchronizacji @@ -1214,7 +1214,7 @@ Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie twoje pli Add Folder Sync Connection - Dodaj folder połączenia synchronizacji + Dodaj folder synchronizacji @@ -1370,7 +1370,7 @@ Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie twoje pli Ask for confirmation before synchronizing external storages - Zapytaj o potwierdzenie przed synchronizacją zewnętrznych skladowisk plikow + Zapytaj o potwierdzenie przed synchronizacją zewnętrznych magazynów @@ -1385,7 +1385,7 @@ Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie twoje pli Edit &Ignored Files - Edytuj pliki &ignorowane (pomijane) + Edytuj &ignorowane pliki (pomijane) @@ -1469,12 +1469,12 @@ Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie twoje pli Global Ignore Settings - Ustawienia plików ignorowanych (pomijanych) + Ustawienia ignorowanych plików (pomijanych) Sync hidden files - Synchronizuj pliki ukryte + Synchronizuj ukryte pliki @@ -1669,7 +1669,7 @@ Logi będą zapisane w %1 <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>Nowa wersja klienta %1 jest dostępna.</p><p><b>%2</b>jest dostępna do pobrania. Zainstalowana wersja to %3.</p> @@ -1767,7 +1767,7 @@ Logi będą zapisane w %1 Limit automatically - Limit automatyczniy + Limit automatyczny @@ -2003,7 +2003,7 @@ o dodatkowe uprawnienia podczas procesu aktualizacji. Login in your browser - Zaloguj się w twojej przeglądarce + Zaloguj się w przeglądarce @@ -2031,17 +2031,17 @@ o dodatkowe uprawnienia podczas procesu aktualizacji. Secure collaboration & file exchange - Poufna współpraca & wymiana plików + Bezpieczna współpraca i wymiana plików Easy-to-use web mail, calendaring & contacts - Łatwy w użytkowaniu panel poczty internetowej, kalendarz & kontakty + Łatwy w użyciu klient poczty, kalendarz i kontakty Screensharing, online meetings & web conferences - Udostępnianie ekranu, rozmowy & konferencje w sieci + Udostępnianie ekranu, spotkania i konferencje online @@ -3432,7 +3432,7 @@ Niezalecane jest jego użycie. You have been logged out of %1 as user %2. Please login again - Zostałeś wylogowany z %1 jako użytkownik %2. Zaloguj się ponownie + Zostałeś wylogowany z %1 jako użytkownik %2. Zaloguj się ponownie. @@ -3586,7 +3586,7 @@ Niezalecane jest jego użycie. Pause all folders - Wstrzymaj wszystkie katalogi + Wstrzymaj wszystkie foldery @@ -3723,7 +3723,7 @@ Niezalecane jest jego użycie. Ask for confirmation before synchronizing e&xternal storages - Pytaj o potwierdzenie przed synchronizacją napędów zewnętrznych + Zapytaj o potwierdzenie przed synchronizacją z&ewnętrznych magazynów @@ -3856,7 +3856,7 @@ Niezalecane jest jego użycie. Your entire account is synced to the local folder - Twoje całe konto zostało zsynchronizowane z twoim lokalnym folderem + Twoje całe konto zostało zsynchronizowane z folderem lokalnym @@ -4045,7 +4045,7 @@ Kliknij Server version downloaded, copied changed local file into conflict file - Pobrano wersję z serwera, zmienona wersja lokalna została skopiowana do pliku konfliktu + Pobrano wersję z serwera, zmieniona wersja lokalna została skopiowana do pliku konfliktu From 1883c04a124b138d9852cef8a5e323327edc5bfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20V=C3=A1radi?= Date: Thu, 8 Aug 2019 19:55:07 +0200 Subject: [PATCH 113/192] Remove dependency on libgnome-keyring0 on Eoan MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: István Váradi --- admin/linux/debian/debian.eoan/control | 89 ++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 admin/linux/debian/debian.eoan/control diff --git a/admin/linux/debian/debian.eoan/control b/admin/linux/debian/debian.eoan/control new file mode 100644 index 000000000..f1ee4ce6a --- /dev/null +++ b/admin/linux/debian/debian.eoan/control @@ -0,0 +1,89 @@ +Source: nextcloud-client +Section: contrib/devel +Priority: optional +Maintainer: István Váradi +Build-Depends: cmake, + debhelper, + cdbs, + dh-python, + extra-cmake-modules (>= 5.16), + kdelibs5-dev, + libkf5kio-dev, + libcmocka-dev, + libhttp-dav-perl, + libinotify-dev [kfreebsd-any], + libqt5svg5-dev, + libqt5webkit5-dev, + libsqlite3-dev, + libssl-dev (>= 1.1.0), + zlib1g-dev, + optipng, + pkg-kde-tools, + python-sphinx | python3-sphinx, + python3-all, + qt5keychain-dev, + qtwebengine5-dev, + qtdeclarative5-dev, + qttools5-dev, + qttools5-dev-tools, + xvfb +Standards-Version: 3.9.8 +Homepage: https://github.com/nextcloud/client_theming +#Vcs-Git: git://anonscm.debian.org/collab-maint/nextcloud-client.git +#Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/nextcloud-client.git + +Package: nextcloud-client +Architecture: any +Depends: libnextcloudsync0 (=${binary:Version}), ${shlibs:Depends}, ${misc:Depends}, nextcloud-client-l10n +Description: Nextcloud desktop sync client + Use the desktop client to keep your files synchronized + between your Nextcloud server and your desktop. Select + one or more directories on your local machine and always + have access to your latest files wherever you are. + +Package: libnextcloudsync0 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Nextcloud sync library + Used by the Nextcloud desktop client as the synchronization engine. + +Package: libnextcloudsync-dev +Architecture: any +Section: contrib/libdevel +Depends: libnextcloudsync0 (=${binary:Version}), ${misc:Depends} +Description: Nextcloud sync library development files + The headers and development library for the Nextcloud sync library. + +Package: nextcloud-client-l10n +Architecture: all +Depends: ${misc:Depends} +Description: Nextcloud client internatialization files + The translation files. + +Package: nextcloud-client-nautilus +Architecture: all +Depends: nextcloud-client (>=${binary:Version}), libnextcloudsync0, python-nautilus, nautilus, ${misc:Depends} +Description: Nautilus plugin for Nextcloud + This package contains a Nautilus plugin to display + synchronization status icons for Nextcloud files. + +Package: nextcloud-client-nemo +Architecture: all +Depends: nextcloud-client (>=${binary:Version}), libnextcloudsync0, python-nemo | nemo-python, nemo, ${misc:Depends} +Description: Nemo plugin for Nextcloud + This package contains a Nemo plugin to display + synchronization status icons for Nextcloud files. + +Package: nextcloud-client-caja +Architecture: all +Depends: nextcloud-client (>=${binary:Version}), libnextcloudsync0, python-caja, caja, ${misc:Depends} +Description: Caja plugin for Nextcloud + This package contains a Caja plugin to display + synchronization status icons for Nextcloud files. + +Package: nextcloud-client-dolphin +Architecture: any +Depends: dolphin (>= 4:15.12.1), libnextcloudsync0 (= ${binary:Version}), nextcloud-client, ${misc:Depends}, ${shlibs:Depends} +Description: Dolphin plugin for Nextcloud + This package contains a Dolphin plugin to display + synchronization status icons for Nextcloud files. From c2f401a77a961d13227462cd225f716583113e70 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 10 Aug 2019 03:05:46 +0000 Subject: [PATCH 114/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_ca.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_ca.ts b/translations/client_ca.ts index 05dd99bdc..aa0f79ddc 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -2749,7 +2749,7 @@ No és aconsellable fer-la servir. Unshare - Descomparteix + Deixa de compartir From 1ed8c898e91f86480a3128c043de2d935ca21f46 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 11 Aug 2019 03:06:12 +0000 Subject: [PATCH 115/192] [tx-robot] updated from transifex --- translations/client_ca.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/translations/client_ca.ts b/translations/client_ca.ts index aa0f79ddc..1accd241a 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -1959,7 +1959,7 @@ privilegis addicionals durant el procés. Select a different URL - Seleccioneu una URL diferent + Seleccioneu un URL diferent @@ -2055,7 +2055,7 @@ No és aconsellable fer-la servir. This url is secure. You can use it. - Aquesta url és segura. Podeu fer-la servir. + Aquest URL és segur. Podeu fer-lo servir. @@ -2065,7 +2065,7 @@ No és aconsellable fer-la servir. Invalid URL - URL no vàlida + L'URL no és vàlid @@ -2098,7 +2098,7 @@ No és aconsellable fer-la servir. The authenticated request to the server was redirected to '%1'. The URL is bad, the server is misconfigured. - La sol·licitud autenticada al servidor s'ha redirigit a '%1'. L’URL no és bona, el servidor està mal configurat. + La sol·licitud autenticada al servidor s'ha redirigit a '%1'. L’URL no és bo, el servidor està mal configurat. @@ -2113,7 +2113,7 @@ No és aconsellable fer-la servir. Invalid URL - URL no vàlida + L'URL no és vàlid @@ -4184,7 +4184,7 @@ No és aconsellable fer-la servir. There was an error when launching the browser to go to URL %1. Maybe no default browser is configured? - S'ha produït un error en iniciar el navegador per anar a la URL %1. Potser no s’ha configurat cap navegador predeterminat? + S'ha produït un error en iniciar el navegador per anar a l'URL %1. Potser no s’ha configurat cap navegador predeterminat? From 00d222891c1312d7aee4c1611effacfc0efe4dc3 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 12 Aug 2019 03:03:59 +0000 Subject: [PATCH 116/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner From cfa6f1362011b4f950d4e4aa024c1b9b8a01e0ca Mon Sep 17 00:00:00 2001 From: Camila San Date: Mon, 12 Aug 2019 15:13:05 +0200 Subject: [PATCH 117/192] Updates ChangeLog. Signed-off-by: Camila San --- ChangeLog | 350 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 266 insertions(+), 84 deletions(-) diff --git a/ChangeLog b/ChangeLog index bea352a73..98791ef4f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,138 @@ -ChangeLog -========= +2.5 Series ChangeLog +==================== + +version 2.5.3 (release 2019-07-22) +* Fix empty file wording in error log (small) +* Add Qt-5.12 to CI +* Fix a minor typo +* Libcloudproviders: Add missing check for Qt5DBus +* Fix several memory leaks in cloudproviders and add translation support +* Share link fixing +* New drone config +* Uses configuraion to determine if it should show empty folder popup. +* Simplify cmake command to make copy-pastable +* Updated default remote poll to 5 seconds #1115 +* Fix memory leak with device pointer +* Added a nice UI for the E2E-enabled account first connect +* This should fix issue #1000 +* Adds parameter to retrieve shares with its reshares. +* Fixed typo +* Fixed typo in "certificate" +* WebView: Properly handle usernames with spaces and plus signs in it +* Add error category for http file lock error status 423. +* Displays the uid_owner of a shared file. +* Minor text change in the link to help in the tab 'General'. + +version 2.5.2 (release 2019-04-11) +* Handle spaces in username properly in login flow +* Wizard: show an error message if there is no enough free space in the local folder +* Removed whitespace from string +* Do not add double slash to login flow url +* Fix login flow with system proxy +* Start with easier theming +* Do not display dismissed notifications +* Fixed l18n issue. Added space for separating string +* Add invalid certiticate messagebox +* Correct app passwords link +* Be less verbose with logging +* Fix typo in translation string +* Add a command line option to launch the client in the background +* Support Ubuntu Disco Dingo +* Added missing Include +* Make sure _profile and _page are deleted in the correct order +* Fix KDEInstallDirs deprecation warnings +* Removed Stylesheet + +version 2.5.1 (release 2019-01-06) +* Fixup the port in server notification URLs +* GUI: let Clang-Tidy modernize nullptr & override usage +* Improve the slide show +* Libsync: let Clang-Tidy modernize nullptr & override usage +* SettingsDialog: fix a little glitch in the account tool button size +* SettingsDialog: tweak color aware icons +* More verbose error and proper app name on configuration read error +* Fix cmake build using WITH_PROVIDERS=OFF +* Debian/Ubuntu target repository update +* Change man page names and contents for nextcloud +* Share dialog alignment +* Fixed typo +* Change link to docs for NC 15 +* Do not fetch activities if they are not enabled +* Do not read system exclude list if user exclude is present +* Fix the activity loop +* Write the actual folder to the log +* Fix appname for Nautilus integration script + +version 2.5.0 (release 2018-11-14) +* End to end encryption +* New Web login flow +* UI improvements: Notifications +* UI improvements: refactoring of Activities +* SyncJournal: Clear etag filter before sync +* Partial local discovery: Fix scheduling logic +* Sync hidden files by default +* Larger Windows App Icon +* Show a tray message when a folder watcher becomes unreliable #6119 +* Create symlinks for the small-letter application icon file names +* In setup wizard put link to nextcloud installation +* Web view scales vertically +* Add a WebFlowCredentialsAccessManager +* Mac Application Icon +* Ensure GETFileJob notices finishing #6581 +* OAuth2: Try to refresh the token even if the credentials weren't ready. +* Tray workarounds #6545 +* UpdateInfo: Remove unused code +* OAuth: Remove the timeout +* TestOAuth: Don't have global static QObject +* Log: Adjust update/reconcile log verbosity +* Reconcile: When detecting a local move, keep the local mtime +* Wizard enhancement +* FolderMan::checkPathValidityForNewFolder: make sure to work when fold… +* Update: Report on readdir() errors #6610 +* Use encode()/decode() with Python 3 only +* Sqlite: Update bundled version to 3.24.0 +* Do not require server replies to contain an mtime +* Settings: Attempt to fix rename issue on old macOS +* Support higher resolution theme icons +* OAuth: Fix infinite loop when the refresh token is expired +* Windows: Don't ignore files with FILE_ATTRIBUTE_TEMPORARY +* Data-Fingerprint: Fix backup detection when fingerprint is empty +* Nautilus: Fix GET_MENU_ITEMS with utf8 filenames #6643 +* Windows: Release handle/fd when file open fails #6699 +* SettingsDialog: Show the page for the newly created account +* Updates submodule qtmacgoodies. +* Fixes #665 Adds slot for confirmShare button. +* Rename INSTALL to INSTALL.md for Preview :) +* Add cmake temporary stuff +* Inform user that configuration is not writable +* Uses QByteArray to store private key. +* Fix cmake command for linux in README too +* Build fix: remove an unused QtSvg/QSvgRenderer include +* Qtkeychain: 0.8.0 -> 0.9.1 +* Setup wizard: implement an animated and interactive slide show +* Theming for general settings ui +* Make the "Add Folder Sync Connection" button act like a button +* Allow to use the login flow with a self signed certificate +* Fix warning in ShareUserGroupWidget +* Copy over config file to new location on windows +* Update to translate strings +* Migrate http auth to webflow +* Margins +* Qt 5.5 compatibility patch for Xenial +* Fix cmake build of documentation +* Use Nextcloud +* Update isntaller background for OSX +* Fix ActivityWidget palette +* SettingsDialog: disable unnecessary wrapping for the about label +* Added default scheme when server returns just a host +* Removed explicit initialization; Fixed RAND_bytes not found +* Actually open the activity view on a click for more info +* Use a format that supports alpha channels for avatars +* L10n. Added space for correct grammar. + + +2.4 Series ChangeLog +==================== version 2.4.1 (2017-02-xx) * Ignore files with file names that can't be encoded for the filesystem (#6287, #5676, #5719) @@ -114,6 +247,10 @@ version 2.4.0 (2017-12-21) * Compile with stack-smashing protection * Updater: Rudimentary support for beta channel (#6048) + +2.3 Series ChangeLog +==================== + version 2.3.4 (2017-11-02) * Checksums: Use addData function to avoid endless loop CPU load issues with Office files * Packaging: Require ZLIB @@ -184,6 +321,10 @@ version 2.3.0 (2017-03-03) * Improved documentation * Crash fixes + +2.2 Series ChangeLog +==================== + version 2.2.4 (release 2016-09-27) * Dolphin Plugin: Use the Application name for the socket path (#5172) * SyncEngine: Fix renaming of folder when file are changed (#5195) @@ -248,6 +389,10 @@ version 2.2.0 (release 2016-05-12) * Update of QtKeyChain to support Windows credential store * Packaging of dolphin overlay icon module for bleeding edge distros + +2.1 Series ChangeLog +==================== + version 2.1.1 (release 2016-02-10) * UI improvements for HiDPI screens, error messages, RTL languages * Fix occurences of "Connection Closed" when a new unauthenticated TCP socket is used @@ -281,8 +426,8 @@ version 2.1 (release 2015-12-03) * Improved reconnecting after network change/disconnect (#4167 #3969 ...) * Improved performance in Windows file system discovery * Removed libneon-based propagator. As a consequence, The client can no - longer provide bandwith limiting on Linux-distributions where it is - using Qt < 5.4 +* longer provide bandwith limiting on Linux-distributions where it is +* using Qt < 5.4 * Performance improvements in the logging functions * Ensured that local disk space problems are handled gracefully (#2939) * Improved handling of checksums: transport validation, db (#3735) @@ -318,6 +463,10 @@ version 2.1 (release 2015-12-03) * Organized patches to our base Qt version into admin/qt/patches * Plus: A lot of unmentioned improvements and fixes + +2.0 Series ChangeLog +==================== + version 2.0.2 (release 2015-10-21) * csync_file_stat_s: Save a bit of memory * Shibboleth: Add our base user agent to WebKit @@ -393,6 +542,10 @@ version 2.0.0 (release 2015-08-25) * Bandwidth Throttling: Provide automatic limit setting for downloads (#3084) * Systray: Workaround for issue with Qt 5.5.0 #3656 + +1.8 Series ChangeLog +==================== + version 1.8.4 (release 2015-07-13) * Release to ship a security release of openSSL. No source changes of the ownCloud Client code. @@ -402,7 +555,7 @@ version 1.8.3 (release 2015-06-23) * Ignores: Force a remote discovery after ignore list change (#3172) * Shibboleth: Avoid crash by letting the webview use its own QNAM (#3359) * System Ignores: Removed *.tmp from system ignore again. If a user - wants to ignore *.tmp, it needs to be added to the user ignore list. +* wants to ignore *.tmp, it needs to be added to the user ignore list. version 1.8.2 (release 2015-06-08) * Improve reporting of server error messages (#3220) @@ -415,16 +568,16 @@ version 1.8.2 (release 2015-06-08) * HTTP: Add the branding name to the UserAgent string * ConnectonValidator: Always run with new credentials (#3266) * Recall Feature: Admins can trigger an upload of a file from - client to server again (#3246) +* client to server again (#3246) * Propagator: Add 'Content-Length: 0' header to MKCOL request (#3256) * Switch on checksum verification through branding or config * Add ability for checksum verification of up and download * Fix opening external links for some labels (#3135) * AccountState: Run only a single validator, allow error message - overriding (#3236, #3153) +* overriding (#3236, #3153) * SyncJournalDB: Minor fixes and simplificatons * SyncEngine: Force re-read of folder Etags for upgrades from - 1.8.0 and 1.8.1 +* 1.8.0 and 1.8.1 * Propagator: Limit length of temporary file name (#2789) * ShareDialog: Password ui fixes (#3189) * Fix startup hang by removing QSettings lock file (#3175) @@ -445,12 +598,12 @@ version 1.8.2 (release 2015-06-08) version 1.8.1 (release 2015-05-07) * Make "operation canceled" error a soft error * Do not throw an error for files that are scheduled to be removed, - but can not be found on the server. #2919 +* but can not be found on the server. #2919 * Windows: Reset QNAM to proper function after hibernation. #2899 #2895 #2973 * Fix argument verification of --confdir #2453 * Fix a crash when accessing a dangling UploadDevice pointer #2984 * Add-folder wizard: Make sure there is a scrollbar if folder names - are too long #2962 +* are too long #2962 * Add-folder Wizard: Select the newly created folder * Activity: Correctly restore column sizes #3005 * SSL Button: do not crash on empty certificate chain @@ -458,8 +611,8 @@ version 1.8.1 (release 2015-05-07) * Lookup system proxy async to avoid hangs #2993 #2802 * ShareDialog: Some GUI refinements * ShareDialog: On creation of a share always retrieve the share - This makes sure that if a default expiration date is set this is reflected - in the dialog. #2889 +* This makes sure that if a default expiration date is set this is reflected +* in the dialog. #2889 * ShareDialog: Only show share dialog if we are connected. * HttpCreds: Fill pw dialog with previous password. #2848 #2879 * HttpCreds: Delete password from old location. #2186 @@ -468,7 +621,7 @@ version 1.8.1 (release 2015-05-07) * ProtocolWidget: Always add seconds to the DateTime locale. #2535 * Updater: Give context as to which app is about to be updated #3040 * Windows: Add version information for owncloud.exe. This should help us know - what version or build number a crash report was generated with. +* what version or build number a crash report was generated with. * Fix a crash on shutdown in ~SocketApi #3057 * SyncEngine: Show more timing measurements #3064 * Discovery: Add warning if returned etag is 0 @@ -491,8 +644,8 @@ version 1.8.1 (release 2015-05-07) version 1.8.0 (release 2015-03-17) * Mac OS: HIDPI support * Support Sharing from desktop: Added a share dialog that can be - opened by context menu in the file managers (Win, Mac, Nautilus) - Supports public links with password enforcement +* opened by context menu in the file managers (Win, Mac, Nautilus) +* Supports public links with password enforcement * Enhanced usage of parallel HTTP requests for ownCloud 8 servers * Renamed github repository from mirall to client. * Mac OS: Use native notification support @@ -505,7 +658,7 @@ version 1.8.0 (release 2015-03-17) * Build with Qt 5.4 * Dropped libneon dependency if Qt 5.4 is available * Keep files open very short, that avoid lock problems on Windows - especially with office software but also others. +* especially with office software but also others. * Merged some NetBSD patches * Selective sync support for owncloudcmd * Reorganize the source repository @@ -514,13 +667,17 @@ version 1.8.0 (release 2015-03-17) * A huge amount of bug fixes in all areas of the client. * almost 700 commits since 1.7.1 + +1.7 Series ChangeLog +==================== + version 1.7.1 (release 2014-12-18) * Documentation fixes and updates * Nautilus Python plugin fixed for Python 3 * GUI wording fixes plus improved log messages * Fix hidning of the database files in the sync directories * Compare http download size with the header value to avoid broken - downloads, bug #2528 +* downloads, bug #2528 * Avoid initial ETag fetch job at startup, which is not needed. * Add chunk size http header to PUT requests * Fixed deteteCookie method of our CookieJar, fix for Shibboleth @@ -543,21 +700,20 @@ version 1.7.1 (release 2014-12-18) * Win32: Improve reliability of Installer, fix removal of Shell Extensions version 1.7.0 (release 2014-11-07) - * oC7 Sharing: Handle new sharing options of ownCloud 7 correctly. * Added Selective sync: Ability to unselect server folders which are - excluded from syncing, plus GUI and setup GUI +* excluded from syncing, plus GUI and setup GUI * Added overlay icons for Windows Explorer, Mac OS Finder and GNOME Nautilus. - Information is provided by the client via a local socket / named pipe API - which provides information about the sync status of files. +* Information is provided by the client via a local socket / named pipe API +* which provides information about the sync status of files. * Improved local change detection: consider file size, detect files - with ongoing changes and do not upload immediately +* with ongoing changes and do not upload immediately * Improved HTTP request timeout handler: all successful requests reset - the timeout counter +* the timeout counter * Improvements for syncing command line tool: netrc support, improved - SSL support, non interactive mode +* SSL support, non interactive mode * Permission system: ownCloud 7 delivers file and folder permissions, - added ability to deal with it for shared folders and more. +* added ability to deal with it for shared folders and more. * Ignore handling: Do not recurse into ignored or excluded directories * Major sync journal database improvements for more stability and performance * New library interface to sqlite3 @@ -566,35 +722,40 @@ version 1.7.0 (release 2014-11-07) * Improved logging: more useful meta info, removed noise * Updated to latest Qt5 versions on Windows and OS X * Fixed data loss when renaming a download temporary fails and there was - a conflict at the same time. +* a conflict at the same time. * Fixed missing warnings about reusing a sync folder when the back button - was used in the advanced folder setup wizard. +* was used in the advanced folder setup wizard. * The 'Retry Sync' button now also restarts all downloads. * Clean up temporary downloads and some extra database files when wiping a - folder. +* folder. * OS X: Sparkle update to provide pkg format properly * OS X: Change distribution format from dmg to pkg with new installer. * Windows: Fix handling of filenames with trailing dot or space * Windows: Don't use the wrong way to get file mtimes in the legacy propagator. + + +1.6 Series ChangeLog +==================== + version 1.6.4 (release 2014-10-22) * Fix startup logic, fixes bug #1989 * Fix raise dialog on X11 * Win32: fix overflow when computing the size of file > 4GiB * Use a fixed function to get files modification time, the - original one was broken for certain timezone issues, see - core bug #9781 for details +* original one was broken for certain timezone issues, see +* core bug #9781 for details * Added some missing copyright headers * Avoid data corruption due to wrong error handling, bug #2280 * Do improved request timeout handling to reduce the number of - timed out jobs, bug #2155 - version 1.6.3 (release 2014-09-03) +* timed out jobs, bug #2155 +* version 1.6.3 (release 2014-09-03) * Fixed updater on OS X * Fixed memory leak in SSL button that could lead to quick memory draining * Fixed upload problem with files >4 GB * MacOSX, Linux: Bring Settings window to front properly * Branded clients: If no configuration is detected, try to import the data - from a previously configured community edition. +* from a previously configured community edition. version 1.6.2 (release 2014-07-28 ) * Limit the HTTP buffer size when downloading to limit memory consumption. @@ -602,7 +763,7 @@ version 1.6.2 (release 2014-07-28 ) * Fix local file name clash detection for MacOSX. * Limit maximum wait time to ten seconds in network limiting. * Fix data corruption while trying to resume and the server does - not support it. +* not support it. * 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 @@ -616,18 +777,18 @@ version 1.6.1 (release 2014-06-26 ) * 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 +* directories are removed * Fix reappearing directories if dirs are removed during its - upload +* 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) +* 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 +* before the propagator is shut down * Fix a lot of issues and warnings found by Coverity * Fix Mac some settings dialog problems @@ -650,16 +811,16 @@ version 1.6.0 (release 2014-05-30 ) * Introduce a general timeout of 300s for network operations * Improve error handling, blacklisting * Job-based change propagation, enables faster parallel up/downloads - (right now only if no bandwidth limit is set and no proxy is used) +* (right now only if no bandwidth limit is set and no proxy is used) * Significantly reduced CPU load when checking for local and remote changes * Speed up file stat code on Windows * Enforce Qt5 for Windows and Mac OS X builds * Improved owncloudcmd: SSL support, documentation * Added advanced logging of operations (file .???.log in sync - directory) +* directory) * Avoid creating a temporary copy of the sync database (.ctmp) * Enable support for TLS 1.2 negotiation on platforms that use - Qt 5.2 or later +* Qt 5.2 or later * Forward server exception messages to client error messages * Mac OS X: Support Notification Center in OS X 10.8+ * Mac OS X: Use native settings dialog @@ -668,11 +829,15 @@ version 1.6.0 (release 2014-05-30 ) * Remove vio abstraction in csync * Avoid data loss when a client file system is not case sensitive + +1.5 Series ChangeLog +==================== + version 1.5.3 (release 2014-03-10 ) * Fix usage of proxies after first sync run (#1502, #1524, #1459, #1521) * Do not wipe the credentials from config for reconnect (#1499, #1503) * Do not erase the full account config if an old version of the client stored - the password (related to above) +* the password (related to above) * Fix layout of the network tab (fixes #1491) * Handle authentication requests by a Shibboleth IdP * Shibboleth: If no connection is available, don't open the login window @@ -701,34 +866,34 @@ version 1.5.2 (release 2014-02-26 ) version 1.5.1 (release 2014-02-13 ) * Added an auto updater that updates the client if a - more recent version was found automatically (Windows, Mac OS X) +* more recent version was found automatically (Windows, Mac OS X) * Added a button to the account dialog that gives information - about the encryption layer used for communication, plus a - certificate information widget +* about the encryption layer used for communication, plus a +* certificate information widget * Preserve the permission settings of local files rather than - setting them to a default (Bug #820) +* setting them to a default (Bug #820) * Handle windows lnk files correctly (Bug #1307) * Detect removes and renames in read only shares and - restore the gone away files. (Bug #1386) +* restore the gone away files. (Bug #1386) * Fixes sign in/sign out and password dialog. (Bug #1353) * Fixed error messages (Bug #1394) * Lots of fixes for building with Qt5 * Changes to network limits are now also applied during a - sync run +* sync run * Fixed mem leak after via valgrind on Mac * Imported the ocsync library into miralls repository. - Adopted all build systems and packaging to that. +* Adopted all build systems and packaging to that. * Introduce a new linux packaging scheme following the - debian upstream scheme +* debian upstream scheme * Use a refactored Linux file system watcher based on - inotify, incl. unit tests +* inotify, incl. unit tests * Wizard: Gracefully fall back to HTTP if HTTPS connection - fails, issuing a warning +* fails, issuing a warning * Fixed translation misses in the propagator * Fixes in proxy configuration * Fixes in sync journal handling * Fix the upload progress if the local source is still - changing when the upload begins. +* changing when the upload begins. * Add proxy support to owncloud commandline client * NSIS fixes * A lot of other fixes and minor improvements @@ -765,6 +930,10 @@ version 1.5.0 (release 2013-12-12 ), csync 0.91.4 required * Windows: Fix rename of temporary files * Windows: Fix move file operation + +1.4 Series ChangeLog +==================== + version 1.4.2 (release 2013-10-18 ), csync 0.90.4 required * Do not show the warning icon in the tray (#944) * Fix manual proxy support when switching (#1016) @@ -780,12 +949,11 @@ version 1.4.2 (release 2013-10-18 ), csync 0.90.4 required * Progress: Show number of deletes. version 1.4.1 (release 2013-09-24 ), csync 0.90.1 required - * Translation and documentation fixes. * Fixed error display in settings/status dialog, displays multi - line error messages now correctly. +* line error messages now correctly. * Wait up to 30 secs before complaining about missing systray - Fixes bug #949 +* Fixes bug #949 * Fixed utf8 issues with basic auth authentication, fixes bug #941 * Fixed remote folder selector, avoid recursive syncing, fixes bug #962 * Handle and display network problems at startup correctly. @@ -802,7 +970,6 @@ version 1.4.1 (release 2013-09-24 ), csync 0.90.1 required * Various minor code fixes version 1.4.0 (release 2013-09-04 ), csync 0.90.0 required - * New Scheduler: Only sync when there are actual changes in the server * Add a Settings Dialog, move Proxy Settings there * Transform folder Status Dialog into Account Settings, provide feedback via context menu @@ -813,7 +980,7 @@ version 1.4.0 (release 2013-09-04 ), csync 0.90.0 required * Move ability to switch to mono icons from a switch to a Settings option * Add "Launch on System Startup" GUI option * Add "Show Desktop Nofications"GUI option (enabled by default) - top optionally disable sync notifications +* top optionally disable sync notifications * Add Help item, pointing to online reference * Implement graphical selection of remote folders in FolderWizard * Allow custom ignore patterns @@ -832,11 +999,14 @@ version 1.4.0 (release 2013-09-04 ), csync 0.90.0 required * Require Qt 4.7 * Known issue: Under certain conditions, a file will only get uploaded after up to five minutes -version 1.3.0 (release 2013-06-25 ), csync 0.80.0 required +1.3 Series ChangeLog +==================== + +version 1.3.0 (release 2013-06-25 ), csync 0.80.0 required * Default proxy port to 8080 * Don't lose proxy settings when changing passwords - * Support SOCKS5 proxy (useful in combination with ssh *D) + * Support SOCKS5 proxy (useful in combination with ssh* *D) * Propagate proxy changes to csync at runtime * Improve proxy wizard * Display proxy errors @@ -852,7 +1022,7 @@ version 1.3.0 (release 2013-06-25 ), csync 0.80.0 required * Remove journal when reusing a directory that used to have a journal before * Visual clean up of status dialog items * Wizard: When changing the URL or user name, allow the user to push his data - to the new location or wipe the folder and start from scratch +* to the new location or wipe the folder and start from scratch * Wizard: Make setting a custom folder as a sync target work again * Fix application icon * User-Agent now contains "Mozilla/5.0" and the Platform name (for firewall/proxy compat) @@ -860,6 +1030,10 @@ version 1.3.0 (release 2013-06-25 ), csync 0.80.0 required * New setup wizard, defaulting to root syncing (only for new setups) * Improved thread stop/termination + +1.2 Series ChangeLog +==================== + version 1.2.5 (release 2013-04-23 ), csync 0.70.7 required * [Fixes] NSIS installer fixes * [Fixes] Fix crash race by making certificateChain() thread safe @@ -925,6 +1099,10 @@ version 1.2.0 (release 2013-01-24 ), csync 0.70.2 required * [Platform] cmake fixes. * [Platform] Improved, more detailed error reporting. + +1.1 Series ChangeLog +==================== + version 1.1.4 (release 2012-12-19 ), csync 0.60.4 required * No changes to mirall, only csync fixes. @@ -934,7 +1112,7 @@ version 1.1.3 (release 2012-11-30 ), csync 0.60.3 required version 1.1.2 (release 2012-11-26 ), csync 0.60.2 required * [Fixes] Allow to properly cancel the password dialog. * [Fixes] Share folder name correctly percent encoded with old Qt - 4.6 builds ie. Debian. +* * * * 4.6 builds ie. Debian. * [Fixes] If local sync dir is not existing, create it. * [Fixes] lots of other minor fixes. * [GUI] Display error messages in status dialog. @@ -942,30 +1120,30 @@ version 1.1.2 (release 2012-11-26 ), csync 0.60.2 required * [GUI] Show username for connection in statusdialog. * [GUI] Show intro wizard on new connection setup. * [APP] Use CredentialStore to better support various credential - backends. +* * * backends. * [APP] Handle missing local folder more robust: Create it if - missing instead of ignoring. +* * * missing instead of ignoring. * [APP] Simplify treewalk code. * [Platform] Fix Mac building version 1.1.1 (release 2012-10-18), csync 0.60.1 required - * [GUI] Allow changing folder name in single folder mode - * [GUI] Windows: Add license to installer - * [GUI] owncloud --logwindow will bring up the log window - in an already running instance + * [GUI]* Allow changing folder name in single folder mode + * [GUI]* Windows: Add license to installer + * [GUI]* owncloud --logwindow will bring up the log window +* * * * in an already running instance * [Fixes] Make sure SSL errors are always handled * [Fixes] Allow special characters in folder alias * [Fixes] Proper workaround for Menu bug in Ubuntu * [Fixes] csync: Fix improper memory cleanup which could - cause memory leaks and crashes +* * * * cause memory leaks and crashes * [Fixes] csync: Fix memory leak * [Fixes] csync: Allow single quote (') in file names * [Fixes] csync: Remove stray temporary files - * [GUI] Reworked tray context menu. - * [GUI] Users can now sync the server root folder. + * [GUI]* Reworked tray context menu. + * [GUI]* Users can now sync the server root folder. * [Fixes] Proxy support: now supports Proxy Auto-Configuration (PAC) - on Windows, reliability fixes across all OSes. +* * * * on Windows, reliability fixes across all OSes. * [Fixes] Url entry field in setup assistant handles http/https correctly. * [Fixes] Button enable state in status dialog. * [Fixes] Crash fixed on ending the client, tray icon related. @@ -978,11 +1156,15 @@ version 1.1.1 (release 2012-10-18), csync 0.60.1 required * [Platform] Windows: ownCloud gets added to autorun by default. * [Platform] insert correct version info from cmake. * [Platform] csync conf file and database were moved to the users app data - directory, away from the .csync dir. - * Renamed exclude.lst to sync-exclude.lst and moved it to - /etc/appName()/ for more clean packaging. From the user path, - still exclude.lst is read if sync-exclude.lst is not existing. - * Placed custom.ini with customization options to /etc/appName() +* * * * * directory, away from the .csync dir. + ** * * Renamed exclude.lst to sync-exclude.lst and moved it to +* * * * /etc/appName()/ for more clean packaging. From the user path, +* * * * still exclude.lst is read if sync-exclude.lst is not existing. + ** * * Placed custom.ini with customization options to /etc/appName() + + +1.0 Series ChangeLog +==================== version 1.0.5 (release 2012-08-14), csync 0.50.8 required * [Fixes] Fixed setup dialog: Really use https if checkbox is activated. @@ -1000,23 +1182,23 @@ version 1.0.4 (release 2012-08-10), csync 0.50.8 required * [GUI] Removed Log Window Button, log available through command line. * [GUI] Proxy configuration dialog added. * [GUI] Added Translations to languages Slovenian, Polish, Catalan, - Portuguese (Brazil), German, Greek, Spanish, Czech, Italian, Slovak, - French, Russian, Japanese, Swedish, Portuguese (Portugal) - all with translation rate >90%. +* * * Portuguese (Brazil), German, Greek, Spanish, Czech, Italian, Slovak, +* * * French, Russian, Japanese, Swedish, Portuguese (Portugal) +* * * all with translation rate >90%. * [Fixes] Loading of self signed certs into Networkmanager (#oc-843) * [Fixes] Win32: Handle SSL dll loading correctly. * [Fixes] Many other small fixes and improvements. version 1.0.3 (release 2012-06-19), csync 0.50.7 required * [GUI] Added a log window which catches the logging if required and - allows to save for information. +* * * allows to save for information. * [CMI] Added options --help, --logfile and --logflush * [APP] Allow to specify sync frequency in the config file. * [Fixes] Do not use csync database files from a sync before. * [Fixes] In Connection wizard, write the final config onyl if - the user really accepted. Also remove the former database. +* * * * the user really accepted. Also remove the former database. * [Fixes] More user expected behaviour deletion of sync folder local - and remote. +* * * * and remote. * [Fixes] Allow special characters in the sync directory names * [Fixes] Win32: Fixed directory removal with special character dirs. * [Fixes] MacOS: Do not flood the system log any more @@ -1035,7 +1217,7 @@ version 1.0.2 (release 2012-05-18), csync 0.50.6 required * [Fixes] Dialogs comes to front on click * [Fixes] Open local sync folder from tray and status for win32 * [Fixes] Load exclude.lst correctly on MacOSX - + csync fixes. +* + csync fixes. version 1.0.1 (release 2012-04-18), csync 0.50.5 required * [Security] Support SSL Connections From 7843660bbf1dcd25578f234bfdf403125cfaff02 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 14 Aug 2019 03:05:59 +0000 Subject: [PATCH 118/192] [tx-robot] updated from transifex --- translations/client_eu.ts | 115 +++++++++++++-------------- translations/client_zh_TW.ts | 147 ++++++++++++++++++----------------- 2 files changed, 133 insertions(+), 129 deletions(-) diff --git a/translations/client_eu.ts b/translations/client_eu.ts index a2af5a9ac..e2f4fc824 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -274,7 +274,7 @@ This account supports end-to-end encryption - + Kontu honek onartzen du muturretik muturrerako zifratzea @@ -384,7 +384,7 @@ Connecting to %1... - %1(r)ekin konektatzen + %1(r)ekin konektatzen... @@ -1099,7 +1099,7 @@ Nahi al duzu zure tokiko fitxategi berrienak gatazkako fitxategi gisa mantentzea Reconciling changes - + Aldaketak bateratzen @@ -1539,7 +1539,7 @@ Ezabatzeko baimena duten itemak ezabatuko dira hauek karpeta bat ezabatzea uzten This entry is provided by the system at '%1' and cannot be modified in this view. - + Sarrera hau sistemak "% 1" gunean ematen du eta ezin da ikuspegi honetan aldatu. @@ -1547,7 +1547,7 @@ Ezabatzeko baimena duten itemak ezabatuko dira hauek karpeta bat ezabatzea uzten Dialog - + Elkarrizketa @@ -1572,7 +1572,7 @@ Ezabatzeko baimena duten itemak ezabatuko dira hauek karpeta bat ezabatzea uzten <p>Licensed under the GNU General Public License (GPL) Version 2.0 or any later version.</p> - + <p>GNU General Public License (GPL) 2.0 edo ondorengo bertsioan lizentziatua.</p> @@ -1600,14 +1600,15 @@ Ezabatzeko baimena duten itemak ezabatuko dira hauek karpeta bat ezabatzea uzten Permanently save logs - + Gorde erregistroak era iraunkorrean When this option is enabled and no other logging is configured, logs will be written to a temporary folder and expire after a few hours. This setting persists across client restarts. Logs will be written to %1 - + Aukera hau aktiboa dagoenean eta bestelako erregistro sistema konfiguratua ez dagoenean, erregistroak behin behineko karpeta batean idazten dira eta ordu gutxi batzuetan iraungitzen dira. Ezarpen hauek mantentzen dira bezeroa berrabiaraztean. +Erregistroak %1(e)an idatziko dira. @@ -1642,7 +1643,7 @@ Logs will be written to %1 Could not write to log file %1 - + Ezin da idatzi %1 erregistro fitxategian @@ -1922,7 +1923,7 @@ pribilegio gehigarriak eskatzen ahal dizu prozesuan. Free space: %1 - + Toki librea: %1 @@ -1938,7 +1939,7 @@ pribilegio gehigarriak eskatzen ahal dizu prozesuan. There isn't enough free space in the local folder! - + Ez dago nahikoa toki librerik karpeta lokalean! @@ -2025,7 +2026,7 @@ pribilegio gehigarriak eskatzen ahal dizu prozesuan. Keep your data secure and under your control - + Mantendu zure datuak seguru eta zure kontrolpean @@ -2035,7 +2036,7 @@ pribilegio gehigarriak eskatzen ahal dizu prozesuan. Easy-to-use web mail, calendaring & contacts - + Web posta, egutegi eta kontaktuak erabilerraza @@ -2067,7 +2068,7 @@ Ez da gomendagarria erabltzea. Could not load certificate. Maybe wrong password? - + Ezin izan da ziurtagira kargatu. Baliteke pasahitza okerra izatea? @@ -2155,7 +2156,7 @@ Ez da gomendagarria erabltzea. creating folder on Nextcloud: %1 - + Nextcloud-en karpeta sortzen: %1 @@ -2272,7 +2273,7 @@ Ez da gomendagarria erabltzea. File %1 can not be downloaded because encryption information is missing. - + %1 fitxategia ezin da deskargatu zifratze informazioa falta delako. @@ -2287,7 +2288,7 @@ Ez da gomendagarria erabltzea. Free space on disk is less than %1 - + %1 baino toki libre gutxiago diskoan @@ -2297,7 +2298,7 @@ Ez da gomendagarria erabltzea. The file could not be downloaded completely. - + Fitxategia ezin izan da guztiz deskargatu. @@ -2338,7 +2339,7 @@ Ez da gomendagarria erabltzea. could not delete file %1, error: %2 - + ezin izan da %1 fitxategia ezabatu, errorea: %2 @@ -2761,7 +2762,7 @@ Ez da gomendagarria erabltzea. <p>Do you really want to delete the public link share <i>%1</i>?</p><p>Note: This action cannot be undone.</p> - + <p>Ziur zaude <i>%1</i>esteka publikoaren partekatzea ezabatu nahi duzula?</p><p>Oharra: Ekintza hau ezin da desegin.</p> @@ -2845,7 +2846,7 @@ Ez da gomendagarria erabltzea. You must sign in as user %1 - + Sartu behar zara %1 erabiltzaile gisa @@ -2853,7 +2854,7 @@ Ez da gomendagarria erabltzea. %1 - Authenticate - + %1 - Autentifikatu @@ -2868,7 +2869,7 @@ Ez da gomendagarria erabltzea. Your session has expired. You need to re-login to continue to use the client. - + Zure saioa iraungi du. Sartu behar zara berriro bezeroa erabiltzen jarraitzeko. @@ -2904,12 +2905,12 @@ Ez da gomendagarria erabltzea. Send private link by email... - + Bidali esteka pribatua postaz... Resharing this file is not allowed - + Fitxategi hau birpartekatzea ez da onartzen @@ -2968,7 +2969,7 @@ Ez da gomendagarria erabltzea. <h3>Issuer</h3> - + <h3>Jaulkitzailea</h3> @@ -3146,7 +3147,7 @@ Ez da gomendagarria erabltzea. Error while reading folder. - + Errorea karpeta irakurtzean @@ -3156,7 +3157,7 @@ Ez da gomendagarria erabltzea. File/Folder is ignored because it's hidden. - + Fitxategia/Karpeta ez da ikusi ezkutuan dagoelako. @@ -3237,22 +3238,22 @@ Ez da gomendagarria erabltzea. No space on %1 server available. - + Ez dago leku erabilgarririk %1 zerbitzarian. The service is temporarily unavailable - + Zerbitzu hau behin behinean ez dago erabilgarri Access is forbidden - + Sarrera debekatuta An internal error number %1 occurred. - + %1 zenbakia duen barne errorea gertatu a. @@ -3403,7 +3404,7 @@ Ez da gomendagarria erabltzea. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>%1 bertsioa. Informazio gehiago eskuratzeko egin klik <a href='%2'>hemen</a>.</p> @@ -3434,7 +3435,7 @@ Ez da gomendagarria erabltzea. Please login with the user: %1 - + Sartu %1 erabiltzaile gisa @@ -3552,13 +3553,13 @@ Ez da gomendagarria erabltzea. Account synchronization is disabled - + Kontuen sinkronizazioa desaktibatua dago Synchronization is paused - + Sinkronizazioa pausatua dago @@ -3568,7 +3569,7 @@ Ez da gomendagarria erabltzea. Error during synchronization - + Errorea sinkronizatzean @@ -3588,22 +3589,22 @@ Ez da gomendagarria erabltzea. Resume all synchronization - + Berrabiarazi sinkronizazio guztiak Resume synchronization - + Berrabiarazi sinkronizazioa Pause all synchronization - + Pausatu sinkronizazio guztiak Pause synchronization - + Pausatu sinkronizazioa @@ -3649,7 +3650,7 @@ Ez da gomendagarria erabltzea. Syncing %1 of %2 - + Sinlrnozatzen %1 %2tik @@ -3699,7 +3700,7 @@ Ez da gomendagarria erabltzea. <html><head/><body><p>If this box is checked, existing content in the local folder will be erased to start a clean sync from the server.</p><p>Do not check this if the local content should be uploaded to the servers folder.</p></body></html> - + <html><head/><body><p>Laukitxo hau markatuta badago, karpetako eduki guztia ezabatuko da sinkronizazio garbi bat hasteko zerbitzaritik.</p><p>Ez markatu laukitxoa karpeta lokalaren edukia zerbitzariko karpetara kargatu behar badar.</p></body></html> @@ -3786,7 +3787,7 @@ Ez da gomendagarria erabltzea. An error occurred while connecting. Please try again. - + Errore bat gertatu da konektatzean. Saiatu berriro. @@ -3810,7 +3811,7 @@ Ez da gomendagarria erabltzea. <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> - + <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Ostatatu zeure zerbitzaria</span></a> @@ -3825,7 +3826,7 @@ Ez da gomendagarria erabltzea. Server Address - + Zerbitzariaren helbidea @@ -3872,7 +3873,7 @@ Ez da gomendagarria erabltzea. %n day ago - + duela egun %nduela %n egun @@ -3882,7 +3883,7 @@ Ez da gomendagarria erabltzea. %n hour ago - + duela ordu %nduela %n ordu @@ -4002,7 +4003,7 @@ Ez da gomendagarria erabltzea. Form - + Inprimakia @@ -4061,7 +4062,7 @@ Ez da gomendagarria erabltzea. Filesystem access error - + Fitxategi sisteman sartzeko errorea @@ -4071,7 +4072,7 @@ Ez da gomendagarria erabltzea. Updated local metadata - + metadatu lokalak eguneratu dira @@ -4113,7 +4114,7 @@ Ez da gomendagarria erabltzea. updating local metadata - + metadatu lokalak eguneratzen @@ -4146,12 +4147,12 @@ Ez da gomendagarria erabltzea. Sync Error - Sinkronizazio Errorea + Sinkronizazio errorea Setup Error - Konfigurazio Errorea + Konfigurazio errorea @@ -4179,17 +4180,17 @@ Ez da gomendagarria erabltzea. There was an error when launching the browser to go to URL %1. Maybe no default browser is configured? - + Errore bat gertatu da nabigatzailea abiatzen saiatzean URL bat irekitzeko. Izan daiteke berezko nabigatzailerik ez dagoelako konfiguratua? Could not open email client - + Ezin izan da ireki posta bezeroa There was an error when launching the email client to create a new message. Maybe no default email client is configured? - + Errore bat gertatu da posta bezeroa abiatzen saiatzean mezu berri bat sortzeko. Izan daiteke berezko posta bezerorik ez dagoelako konfiguratua? \ No newline at end of file diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index 430cad209..51598c21a 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -4,83 +4,83 @@ %1 (%2, %3) - + %1 (%2, %3) Checking for changes in '%1' - + 檢查 '%1' 的變動 Syncing %1 of %2 (%3 left) - + 同步中 %1 的 %2 (剩餘 %3) Syncing %1 of %2 - + 同步中 %1 的 %2 Syncing %1 (%2 left) - + 同步中 %1 (剩餘 %2) Syncing %1 - + 同步 %1 No recently changed files - + 近期無更動的檔案 Sync paused - + 同步已暫停 Syncing - + 同步中 Open website - + 開啟網站 Recently changed - + 最近的更動 Pause synchronization - + 暫停同步 Help - + 說明 Settings - + 設定 Log out - + 登出 Quit sync client - + 退出同步客戶端
@@ -88,12 +88,12 @@ Dialog - + 對話 Label - + 標籤 @@ -101,18 +101,18 @@ Could not make directories in trash - + 無法將目錄移置回收桶 Could not move '%1' to '%2' - + 無法將%1' 移動至 '%2' Moving to the trash is not implemented on this platform - + 移至回收桶功能目前無法使用 @@ -181,7 +181,7 @@ Server replied "%1 %2" to "%3 %4" - + 伺服器回覆 "%1 %2" 到 "%3 %4" @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + 此帳戶支援端點對端點加密 Enable encryption - + 啟用加密 @@ -289,7 +289,7 @@ Encrypt - + 加密 @@ -527,27 +527,27 @@ %1 - + %1 More information - + 更多資訊 Accept - + 接受 Join - + 加入 Open Browser - + 開啟瀏覽器 @@ -565,17 +565,17 @@ Accept - + 接受 Synced - + 已同步 Retry all uploads - + 重試所有的上傳 @@ -598,7 +598,7 @@ Certificate & Key (pkcs12) : - + 憑證與密鑰 (pkcs12) : @@ -631,12 +631,12 @@ There was an error while accessing the configuration file at %1. Please make sure the file can be accessed by your user. - + 存取設定檔%1時發生錯誤 請確定檔案可以被使用者存取 Quit %1 - + 離開 %1 @@ -675,7 +675,7 @@ Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> - + 請輸入您的端點對端點加密的認證資訊<br><br>User: %2<br>Account: %3<br> @@ -796,27 +796,27 @@ %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 已被改名為 %2 並且 %n其他檔案已被改名 %1 has been moved to %2 and %n other file(s) have been moved. - + %1 已被搬移到%2 並且 %n 其他檔案已經被搬移 %1 has and %n other file(s) have sync conflicts. - + %1 跟 %n 其他檔案同步時發生衝突 %1 has a sync conflict. Please check the conflict file! - + %1 同步時發生衝突,請檢查發生衝突的檔案 %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 與%n 其他檔案因為錯誤無法被同步。請從紀錄檔觀看細節。 @@ -837,13 +837,14 @@ A new folder larger than %1 MB has been added: %2. - + 一個大於%1MB的資料夾已被新增至:%2 + A folder from an external storage has been added. - + 一個來自外部空間的資料夾已被新增 @@ -880,12 +881,12 @@ If you decide to delete the files, they will be unavailable to you, unless you a Download new files? - + 下載新檔案? Download new files - + 下載新檔案 @@ -909,17 +910,17 @@ Continuing the sync as normal will cause all your files to be overwritten by an Backup detected - + 偵測到備份 Normal Synchronisation - + 普通同步 Keep Local Files as Conflict - + 將本地檔案視為衝突檔案 @@ -967,7 +968,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Sync was successful, unresolved conflicts. - + 同步成功,衝突未解決 @@ -1012,7 +1013,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an There is already a sync from the server to this local folder. Please pick another local folder! - + 此資料夾已與Server設定同步,請選擇其他資料夾 @@ -1080,7 +1081,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an There are unresolved conflicts. Click for details. - + 存在未解決的衝突,請查看細節 @@ -1126,22 +1127,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an Checking for changes in remote '%1' - + 檢查遠端 '%1' 的變動 Checking for changes in local '%1' - + 檢查本地 '%1' 的變動 ↓ %1/s - + ↓ %1/s ↑ %1/s - + ↑ %1/s @@ -1159,7 +1160,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" - + 剩餘%5,%1 的 %2, 檔案 %3 的 %4 @@ -1321,7 +1322,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Legal notice - + 法律提示 @@ -1346,7 +1347,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Ask for confirmation before synchronizing folders larger than - + 先詢問,當要同步的資料夾大小超過 @@ -1357,7 +1358,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Ask for confirmation before synchronizing external storages - + 在與外部儲存空間同步時先詢問 @@ -1403,7 +1404,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Server notifications that require attention. - + 伺服器公告,請注意 @@ -1411,14 +1412,16 @@ Continuing the sync as normal will cause all your files to be overwritten by an Sharing error - + 分享發生錯誤 Could not retrieve or create the public link share. Error: %1 - + 無法取回或生成公開分享連結。錯誤: + +%1 @@ -1426,7 +1429,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Please enter %1 password:<br><br>User: %2<br>Account: %3<br> - + 請輸入%1 密碼:<br><br>使用者: %2<br>帳戶: %3<br> @@ -1474,7 +1477,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Remove all - + 移除所有檔案 @@ -1531,17 +1534,17 @@ Items where deletion is allowed will be deleted if they prevent a directory from Dialog - + 對話 Legal notice - + 法律提示 TextLabel - + 文字標籤 @@ -1551,7 +1554,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from <p>Copyright 2017-2018 Nextcloud GmbH<br />Copyright 2012-2018 ownCloud GmbH</p> - + <p>Copyright 2017-2018 Nextcloud GmbH<br />Copyright 2012-2018 ownCloud GmbH</p> @@ -1579,7 +1582,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from &Capture debug messages - + &擷取除錯訊息 @@ -1783,7 +1786,7 @@ Logs will be written to %1 Error returned from the server: <em>%1</em> - + 伺服器回覆錯誤:<em>%1</em> @@ -1803,7 +1806,7 @@ Logs will be written to %1 <h1>Login Error</h1><p>%1</p> - + <h1>登入錯誤</h1><p>%1</p> From 14279104ae12c46eaa209e1c9c7da4b85395bfc3 Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Thu, 8 Aug 2019 23:30:49 +0100 Subject: [PATCH 119/192] Read .sync_exclude.lst in each subdirectory Signed-off-by: Samir Benmendil --- src/csync/csync_exclude.cpp | 237 ++++++++++++------ src/csync/csync_exclude.h | 57 +++-- src/libsync/syncengine.cpp | 2 +- .../csync/csync_tests/check_csync_exclude.cpp | 63 ++++- 4 files changed, 264 insertions(+), 95 deletions(-) diff --git a/src/csync/csync_exclude.cpp b/src/csync/csync_exclude.cpp index e3146a099..030783c6b 100644 --- a/src/csync/csync_exclude.cpp +++ b/src/csync/csync_exclude.cpp @@ -236,13 +236,29 @@ static CSYNC_EXCLUDE_TYPE _csync_excluded_common(const char *path, bool excludeC return match; } +static QByteArray leftIncludeLast(const QByteArray & arr, char c) +{ + // left up to and including `c` + return arr.left(arr.lastIndexOf(c, arr.size() - 2) + 1); +} using namespace OCC; -ExcludedFiles::ExcludedFiles() +ExcludedFiles::ExcludedFiles(QString localPath) + : _localPath(std::move(localPath)) { + Q_ASSERT(_localPath.endsWith("/")); // Windows used to use PathMatchSpec which allows *foo to match abc/deffoo. _wildcardsMatchSlash = Utility::isWindows(); + + // We're in a detached exclude probably coming from a partial sync or test + if (_localPath.isEmpty()) + return; + + // Load exclude file from base dir + QFileInfo fi(_localPath + ".sync-exclude.lst"); + if (fi.isReadable()) + addInTreeExcludeFilePath(fi.absoluteFilePath()); } ExcludedFiles::~ExcludedFiles() @@ -251,7 +267,13 @@ ExcludedFiles::~ExcludedFiles() void ExcludedFiles::addExcludeFilePath(const QString &path) { - _excludeFiles.insert(path); + _excludeFiles[_localPath.toUtf8()].append(path); +} + +void ExcludedFiles::addInTreeExcludeFilePath(const QString &path) +{ + BasePathByteArray basePath = leftIncludeLast(path.toUtf8(), '/'); + _excludeFiles[basePath].append(path); } void ExcludedFiles::setExcludeConflictFiles(bool onoff) @@ -259,11 +281,15 @@ void ExcludedFiles::setExcludeConflictFiles(bool onoff) _excludeConflictFiles = onoff; } -void ExcludedFiles::addManualExclude(const QByteArray &expr) +void ExcludedFiles::addManualExclude(const QByteArray &expr, const QByteArray &basePath) { - _manualExcludes.append(expr); - _allExcludes.append(expr); - prepare(); + Q_ASSERT(basePath.startsWith('/')); + Q_ASSERT(basePath.endsWith('/')); + + auto key = basePath; + _manualExcludes[key].append(expr); + _allExcludes[key].append(expr); + prepare(key); } void ExcludedFiles::clearManualExcludes() @@ -282,21 +308,27 @@ bool ExcludedFiles::reloadExcludeFiles() { _allExcludes.clear(); bool success = true; - foreach (const QString &file, _excludeFiles) { - QFile f(file); - if (!f.open(QIODevice::ReadOnly)) { - success = false; - continue; - } - while (!f.atEnd()) { - QByteArray line = f.readLine().trimmed(); - if (line.isEmpty() || line.startsWith('#')) + for (auto basePath : _excludeFiles.keys()) { + for (auto file : _excludeFiles.value(basePath)) { + QFile f(file); + if (!f.open(QIODevice::ReadOnly)) { + success = false; continue; - csync_exclude_expand_escapes(line); - _allExcludes.append(line); + } + while (!f.atEnd()) { + QByteArray line = f.readLine().trimmed(); + if (line.isEmpty() || line.startsWith('#')) + continue; + csync_exclude_expand_escapes(line); + _allExcludes[basePath].append(line); + } } } - _allExcludes.append(_manualExcludes); + + auto endManual = _manualExcludes.cend(); + for (auto kv = _manualExcludes.cbegin(); kv != endManual; ++kv) + _allExcludes[kv.key()].append(kv.value()); + prepare(); return success; } @@ -317,6 +349,8 @@ bool ExcludedFiles::isExcluded( // We do want to be able to sync with a hidden folder as the target. while (path.size() > basePath.size()) { QFileInfo fi(path); + //TODO probably not ignore `.sync-exclude.lst` files as it makes sense for them to be + //synced if (fi.isHidden() || fi.fileName().startsWith(QLatin1Char('.'))) { return true; } @@ -340,7 +374,7 @@ bool ExcludedFiles::isExcluded( return fullPatternMatch(relativePath.toUtf8(), type) != CSYNC_NOT_EXCLUDED; } -CSYNC_EXCLUDE_TYPE ExcludedFiles::traversalPatternMatch(const char *path, ItemType filetype) const +CSYNC_EXCLUDE_TYPE ExcludedFiles::traversalPatternMatch(const char *path, ItemType filetype) { auto match = _csync_excluded_common(path, _excludeConflictFiles); if (match != CSYNC_NOT_EXCLUDED) @@ -348,6 +382,16 @@ CSYNC_EXCLUDE_TYPE ExcludedFiles::traversalPatternMatch(const char *path, ItemTy if (_allExcludes.isEmpty()) return CSYNC_NOT_EXCLUDED; + // Directories are guaranteed to be visited before their files + if (filetype == ItemTypeDirectory) { + QFileInfo fi = QFileInfo(_localPath + path + "/.sync-exclude.lst"); + if (fi.isReadable()) { + addInTreeExcludeFilePath(fi.absoluteFilePath()); + //really we only need to load this file and prepare(this basePath) + reloadExcludeFiles(); + } + } + // Check the bname part of the path to see whether the full // regex should be run. @@ -359,35 +403,53 @@ CSYNC_EXCLUDE_TYPE ExcludedFiles::traversalPatternMatch(const char *path, ItemTy } QString bnameStr = QString::fromUtf8(bname); - QRegularExpressionMatch m; - if (filetype == ItemTypeDirectory) { - m = _bnameTraversalRegexDir.match(bnameStr); - } else { - m = _bnameTraversalRegexFile.match(bnameStr); - } - if (!m.hasMatch()) - return CSYNC_NOT_EXCLUDED; - if (m.capturedStart(QStringLiteral("exclude")) != -1) { - return CSYNC_FILE_EXCLUDE_LIST; - } else if (m.capturedStart(QStringLiteral("excluderemove")) != -1) { - return CSYNC_FILE_EXCLUDE_AND_REMOVE; - } + QByteArray basePath(_localPath.toUtf8() + path); + while (basePath.size() > _localPath.size()) { + basePath = leftIncludeLast(basePath, '/'); + QRegularExpressionMatch m; + if (filetype == ItemTypeDirectory + && _bnameTraversalRegexDir.contains(basePath)) { + m = _bnameTraversalRegexDir[basePath].match(bnameStr); + } else if (filetype == ItemTypeFile + && _bnameTraversalRegexFile.contains(basePath)) { + m = _bnameTraversalRegexFile[basePath].match(bnameStr); + } else { + continue; + } - // third capture: full path matching is triggered - QString pathStr = QString::fromUtf8(path); - - if (filetype == ItemTypeDirectory) { - m = _fullTraversalRegexDir.match(pathStr); - } else { - m = _fullTraversalRegexFile.match(pathStr); - } - if (m.hasMatch()) { + if (!m.hasMatch()) + return CSYNC_NOT_EXCLUDED; if (m.capturedStart(QStringLiteral("exclude")) != -1) { return CSYNC_FILE_EXCLUDE_LIST; } else if (m.capturedStart(QStringLiteral("excluderemove")) != -1) { return CSYNC_FILE_EXCLUDE_AND_REMOVE; } } + + // third capture: full path matching is triggered + QString pathStr = QString::fromUtf8(path); + basePath = _localPath.toUtf8() + path; + while (basePath.size() > _localPath.size()) { + basePath = leftIncludeLast(basePath, '/'); + QRegularExpressionMatch m; + if (filetype == ItemTypeDirectory + && _fullTraversalRegexDir.contains(basePath)) { + m = _fullTraversalRegexDir[basePath].match(pathStr); + } else if (filetype == ItemTypeFile + && _fullTraversalRegexFile.contains(basePath)) { + m = _fullTraversalRegexFile[basePath].match(pathStr); + } else { + continue; + } + + if (m.hasMatch()) { + if (m.capturedStart(QStringLiteral("exclude")) != -1) { + return CSYNC_FILE_EXCLUDE_LIST; + } else if (m.capturedStart(QStringLiteral("excluderemove")) != -1) { + return CSYNC_FILE_EXCLUDE_AND_REMOVE; + } + } + } return CSYNC_NOT_EXCLUDED; } @@ -400,23 +462,38 @@ CSYNC_EXCLUDE_TYPE ExcludedFiles::fullPatternMatch(const char *path, ItemType fi return CSYNC_NOT_EXCLUDED; QString p = QString::fromUtf8(path); - QRegularExpressionMatch m; - if (filetype == ItemTypeDirectory) { - m = _fullRegexDir.match(p); - } else { - m = _fullRegexFile.match(p); - } - if (m.hasMatch()) { - if (m.capturedStart(QStringLiteral("exclude")) != -1) { - return CSYNC_FILE_EXCLUDE_LIST; - } else if (m.capturedStart(QStringLiteral("excluderemove")) != -1) { - return CSYNC_FILE_EXCLUDE_AND_REMOVE; + // `path` seems to always be relative to `_localPath`, the tests however have not been + // written that way... this makes the tests happy for now. TODO Fix the tests at some point + if (path[0] == '/') + ++path; + + QByteArray basePath(_localPath.toUtf8() + path); + while (basePath.size() > _localPath.size()) { + basePath = leftIncludeLast(basePath, '/'); + QRegularExpressionMatch m; + if (filetype == ItemTypeDirectory + && _fullRegexDir.contains(basePath)) { + m = _fullRegexDir[basePath].match(p); + } else if (filetype == ItemTypeFile + && _fullRegexFile.contains(basePath)) { + m = _fullRegexFile[basePath].match(p); + } else { + continue; + } + + if (m.hasMatch()) { + if (m.capturedStart(QStringLiteral("exclude")) != -1) { + return CSYNC_FILE_EXCLUDE_LIST; + } else if (m.capturedStart(QStringLiteral("excluderemove")) != -1) { + return CSYNC_FILE_EXCLUDE_AND_REMOVE; + } } } + return CSYNC_NOT_EXCLUDED; } -auto ExcludedFiles::csyncTraversalMatchFun() const +auto ExcludedFiles::csyncTraversalMatchFun() -> std::function { return [this](const char *path, ItemType filetype) { return this->traversalPatternMatch(path, filetype); }; @@ -555,6 +632,22 @@ static QString extractBnameTrigger(const QString &exclude, bool wildcardsMatchSl void ExcludedFiles::prepare() { + // clear all regex + _bnameTraversalRegexFile.clear(); + _bnameTraversalRegexDir.clear(); + _fullTraversalRegexFile.clear(); + _fullTraversalRegexDir.clear(); + _fullRegexFile.clear(); + _fullRegexDir.clear(); + + for (auto const & basePath : _allExcludes.keys()) + prepare(basePath); +} + +void ExcludedFiles::prepare(const BasePathByteArray & basePath) +{ + Q_ASSERT(_allExcludes.contains(basePath)); + // Build regular expressions for the different cases. // // To compose the _bnameTraversalRegex, _fullTraversalRegex and _fullRegex @@ -596,7 +689,7 @@ void ExcludedFiles::prepare() pattern.append(appendMe); }; - for (auto exclude : _allExcludes) { + for (auto exclude : _allExcludes.value(basePath)) { if (exclude[0] == '\n') continue; // empty line if (exclude[0] == '\r') @@ -654,11 +747,11 @@ void ExcludedFiles::prepare() // (exclude)|(excluderemove)|(bname triggers). // If the third group matches, the fullActivatedRegex needs to be applied // to the full path. - _bnameTraversalRegexFile.setPattern( + _bnameTraversalRegexFile[basePath].setPattern( "^(?P" + bnameFileDirKeep + ")$|" + "^(?P" + bnameFileDirRemove + ")$|" + "^(?P" + bnameTriggerFileDir + ")$"); - _bnameTraversalRegexDir.setPattern( + _bnameTraversalRegexDir[basePath].setPattern( "^(?P" + bnameFileDirKeep + "|" + bnameDirKeep + ")$|" + "^(?P" + bnameFileDirRemove + "|" + bnameDirRemove + ")$|" + "^(?P" + bnameTriggerFileDir + "|" + bnameTriggerDir + ")$"); @@ -667,13 +760,13 @@ void ExcludedFiles::prepare() // the bname regex matches. Its basic form is (exclude)|(excluderemove)". // This pattern can be much simpler than fullRegex since we can assume a traversal // situation and doesn't need to look for bname patterns in parent paths. - _fullTraversalRegexFile.setPattern( + _fullTraversalRegexFile[basePath].setPattern( QLatin1String("") // Full patterns are anchored to the beginning + "^(?P" + fullFileDirKeep + ")(?:$|/)" + "|" + "^(?P" + fullFileDirRemove + ")(?:$|/)"); - _fullTraversalRegexDir.setPattern( + _fullTraversalRegexDir[basePath].setPattern( QLatin1String("") + "^(?P" + fullFileDirKeep + "|" + fullDirKeep + ")(?:$|/)" + "|" @@ -681,7 +774,7 @@ void ExcludedFiles::prepare() // The full regex is applied to the full path and incorporates both bname and // full-path patterns. It has the form "(exclude)|(excluderemove)". - _fullRegexFile.setPattern( + _fullRegexFile[basePath].setPattern( QLatin1String("(?P") // Full patterns are anchored to the beginning + "^(?:" + fullFileDirKeep + ")(?:$|/)" + "|" @@ -697,7 +790,7 @@ void ExcludedFiles::prepare() + "(?:^|/)(?:" + bnameFileDirRemove + ")(?:$|/)" + "|" + "(?:^|/)(?:" + bnameDirRemove + ")/" + ")"); - _fullRegexDir.setPattern( + _fullRegexDir[basePath].setPattern( QLatin1String("(?P") + "^(?:" + fullFileDirKeep + "|" + fullDirKeep + ")(?:$|/)" + "|" + "(?:^|/)(?:" + bnameFileDirKeep + "|" + bnameDirKeep + ")(?:$|/)" @@ -711,16 +804,16 @@ void ExcludedFiles::prepare() QRegularExpression::PatternOptions patternOptions = QRegularExpression::NoPatternOption; if (OCC::Utility::fsCasePreserving()) patternOptions |= QRegularExpression::CaseInsensitiveOption; - _bnameTraversalRegexFile.setPatternOptions(patternOptions); - _bnameTraversalRegexFile.optimize(); - _bnameTraversalRegexDir.setPatternOptions(patternOptions); - _bnameTraversalRegexDir.optimize(); - _fullTraversalRegexFile.setPatternOptions(patternOptions); - _fullTraversalRegexFile.optimize(); - _fullTraversalRegexDir.setPatternOptions(patternOptions); - _fullTraversalRegexDir.optimize(); - _fullRegexFile.setPatternOptions(patternOptions); - _fullRegexFile.optimize(); - _fullRegexDir.setPatternOptions(patternOptions); - _fullRegexDir.optimize(); + _bnameTraversalRegexFile[basePath].setPatternOptions(patternOptions); + _bnameTraversalRegexFile[basePath].optimize(); + _bnameTraversalRegexDir[basePath].setPatternOptions(patternOptions); + _bnameTraversalRegexDir[basePath].optimize(); + _fullTraversalRegexFile[basePath].setPatternOptions(patternOptions); + _fullTraversalRegexFile[basePath].optimize(); + _fullTraversalRegexDir[basePath].setPatternOptions(patternOptions); + _fullTraversalRegexDir[basePath].optimize(); + _fullRegexFile[basePath].setPatternOptions(patternOptions); + _fullRegexFile[basePath].optimize(); + _fullRegexDir[basePath].setPatternOptions(patternOptions); + _fullRegexDir[basePath].optimize(); } diff --git a/src/csync/csync_exclude.h b/src/csync/csync_exclude.h index 249ec7bff..5e2d3109f 100644 --- a/src/csync/csync_exclude.h +++ b/src/csync/csync_exclude.h @@ -66,7 +66,7 @@ class OCSYNC_EXPORT ExcludedFiles : public QObject { Q_OBJECT public: - ExcludedFiles(); + ExcludedFiles(QString localPath = "/"); ~ExcludedFiles(); /** @@ -75,6 +75,7 @@ public: * Does not load the file. Use reloadExcludeFiles() afterwards. */ void addExcludeFilePath(const QString &path); + void addInTreeExcludeFilePath(const QString &path); /** * Whether conflict files shall be excluded. @@ -95,12 +96,12 @@ public: bool excludeHidden) const; /** - * Adds an exclude pattern. + * Adds an exclude pattern anchored to base path * * Primarily used in tests. Patterns added this way are preserved when * reloadExcludeFiles() is called. */ - void addManualExclude(const QByteArray &expr); + void addManualExclude(const QByteArray &expr, const QByteArray &basePath = "/"); /** * Removes all manually added exclude patterns. @@ -121,7 +122,7 @@ public: * Careful: The function will only be valid for as long as this * ExcludedFiles instance stays alive. */ - auto csyncTraversalMatchFun() const + auto csyncTraversalMatchFun() -> std::function; public slots: @@ -156,10 +157,32 @@ private: * Note that this only matches patterns. It does not check whether the file * or directory pointed to is hidden (or whether it even exists). */ - CSYNC_EXCLUDE_TYPE traversalPatternMatch(const char *path, ItemType filetype) const; + CSYNC_EXCLUDE_TYPE traversalPatternMatch(const char *path, ItemType filetype); + + // Our BasePath need to end with '/' + class BasePathByteArray : public QByteArray + { + public: + BasePathByteArray(QByteArray && other) + : QByteArray(std::move(other)) + { + Q_ASSERT(this->endsWith('/')); + } + + BasePathByteArray(const QByteArray & other) + : QByteArray(other) + { + Q_ASSERT(this->endsWith('/')); + } + + BasePathByteArray(const char * data, int size = -1) + : BasePathByteArray(QByteArray(data, size)) + { + } + }; /** - * Generate optimized regular expressions for the exclude patterns. + * Generate optimized regular expressions for the exclude patterns anchored to basePath. * * The optimization works in two steps: First, all supported patterns are put * into _fullRegexFile/_fullRegexDir. These regexes can be applied to the full @@ -187,24 +210,28 @@ private: * full matcher would exclude. Example: "b" is excluded. traversal("b/c") * returns not-excluded because "c" isn't a bname activation pattern. */ + void prepare(const BasePathByteArray & basePath); + void prepare(); + + QString _localPath; /// Files to load excludes from - QSet _excludeFiles; + QMap> _excludeFiles; /// Exclude patterns added with addManualExclude() - QList _manualExcludes; + QMap> _manualExcludes; /// List of all active exclude patterns - QList _allExcludes; + QMap> _allExcludes; /// see prepare() - QRegularExpression _bnameTraversalRegexFile; - QRegularExpression _bnameTraversalRegexDir; - QRegularExpression _fullTraversalRegexFile; - QRegularExpression _fullTraversalRegexDir; - QRegularExpression _fullRegexFile; - QRegularExpression _fullRegexDir; + QMap _bnameTraversalRegexFile; + QMap _bnameTraversalRegexDir; + QMap _fullTraversalRegexFile; + QMap _fullTraversalRegexDir; + QMap _fullRegexFile; + QMap _fullRegexDir; bool _excludeConflictFiles = true; diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp index d9c240a93..3e2624a21 100644 --- a/src/libsync/syncengine.cpp +++ b/src/libsync/syncengine.cpp @@ -91,7 +91,7 @@ SyncEngine::SyncEngine(AccountPtr account, const QString &localPath, _csync_ctx.reset(new CSYNC(localPath.toUtf8().data(), journal)); - _excludedFiles.reset(new ExcludedFiles); + _excludedFiles.reset(new ExcludedFiles(localPath)); _csync_ctx->exclude_traversal_fn = _excludedFiles->csyncTraversalMatchFun(); _syncFileStatusTracker.reset(new SyncFileStatusTracker(this)); diff --git a/test/csync/csync_tests/check_csync_exclude.cpp b/test/csync/csync_tests/check_csync_exclude.cpp index 95b6e9a31..bfbf36095 100644 --- a/test/csync/csync_tests/check_csync_exclude.cpp +++ b/test/csync/csync_tests/check_csync_exclude.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #define CSYNC_TEST 1 #include "csync_exclude.cpp" @@ -115,16 +116,27 @@ static void check_csync_exclude_add(void **) excludedFiles->addManualExclude("/tmp/check_csync1/*"); assert_int_equal(check_file_full("/tmp/check_csync1/foo"), CSYNC_FILE_EXCLUDE_LIST); assert_int_equal(check_file_full("/tmp/check_csync2/foo"), CSYNC_NOT_EXCLUDED); - assert_true(excludedFiles->_allExcludes.contains("/tmp/check_csync1/*")); + assert_true(excludedFiles->_allExcludes["/"].contains("/tmp/check_csync1/*")); - assert_true(excludedFiles->_fullRegexFile.pattern().contains("csync1")); - assert_true(excludedFiles->_fullTraversalRegexFile.pattern().contains("csync1")); - assert_false(excludedFiles->_bnameTraversalRegexFile.pattern().contains("csync1")); + assert_true(excludedFiles->_fullRegexFile["/"].pattern().contains("csync1")); + assert_true(excludedFiles->_fullTraversalRegexFile["/"].pattern().contains("csync1")); + assert_false(excludedFiles->_bnameTraversalRegexFile["/"].pattern().contains("csync1")); excludedFiles->addManualExclude("foo"); - assert_true(excludedFiles->_bnameTraversalRegexFile.pattern().contains("foo")); - assert_true(excludedFiles->_fullRegexFile.pattern().contains("foo")); - assert_false(excludedFiles->_fullTraversalRegexFile.pattern().contains("foo")); + assert_true(excludedFiles->_bnameTraversalRegexFile["/"].pattern().contains("foo")); + assert_true(excludedFiles->_fullRegexFile["/"].pattern().contains("foo")); + assert_false(excludedFiles->_fullTraversalRegexFile["/"].pattern().contains("foo")); +} + +static void check_csync_exclude_add_per_dir(void **) +{ + excludedFiles->addManualExclude("*", "/tmp/check_csync1/"); + assert_int_equal(check_file_full("/tmp/check_csync1/foo"), CSYNC_FILE_EXCLUDE_LIST); + assert_int_equal(check_file_full("/tmp/check_csync2/foo"), CSYNC_NOT_EXCLUDED); + assert_true(excludedFiles->_allExcludes["/tmp/check_csync1/"].contains("*")); + + excludedFiles->addManualExclude("foo"); + assert_true(excludedFiles->_fullRegexFile["/"].pattern().contains("foo")); } static void check_csync_excluded(void **) @@ -232,6 +244,41 @@ static void check_csync_excluded(void **) assert_int_equal(check_file_full("c [d]"), CSYNC_FILE_EXCLUDE_LIST); } +static void check_csync_excluded_per_dir(void **) +{ + excludedFiles->addManualExclude("A"); + excludedFiles->reloadExcludeFiles(); + + assert_int_equal(check_file_full("A"), CSYNC_FILE_EXCLUDE_LIST); + + excludedFiles->clearManualExcludes(); + excludedFiles->addManualExclude("A", "/B/"); + excludedFiles->reloadExcludeFiles(); + + assert_int_equal(check_file_full("A"), CSYNC_NOT_EXCLUDED); + assert_int_equal(check_file_full("B/A"), CSYNC_FILE_EXCLUDE_LIST); + +#define FOO_DIR "/tmp/check_csync1/foo" +#define FOO_EXCLUDE_LIST FOO_DIR "/.sync-exclude.lst" + int rc; + rc = system("mkdir -p " FOO_DIR); + assert_int_equal(rc, 0); + FILE *fh = fopen(FOO_EXCLUDE_LIST, "w"); + assert_non_null(fh); + rc = fprintf(fh, "bar"); + assert_int_not_equal(rc, 0); + rc = fclose(fh); + assert_int_equal(rc, 0); + + excludedFiles->addInTreeExcludeFilePath(FOO_EXCLUDE_LIST); + excludedFiles->reloadExcludeFiles(); + assert_int_equal(check_file_full(FOO_DIR), CSYNC_NOT_EXCLUDED); + assert_int_equal(check_file_full(FOO_DIR "/bar"), CSYNC_FILE_EXCLUDE_LIST); + assert_int_equal(check_file_full(FOO_DIR "/baz"), CSYNC_NOT_EXCLUDED); +#undef FOO_DIR +#undef FOO_EXCLUDE_LIST +} + static void check_csync_excluded_traversal(void **) { assert_int_equal(check_file_traversal(""), CSYNC_NOT_EXCLUDED); @@ -633,7 +680,9 @@ int torture_run_tests(void) const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(T::check_csync_exclude_add, T::setup, T::teardown), + cmocka_unit_test_setup_teardown(T::check_csync_exclude_add_per_dir, T::setup, T::teardown), cmocka_unit_test_setup_teardown(T::check_csync_excluded, T::setup_init, T::teardown), + cmocka_unit_test_setup_teardown(T::check_csync_excluded_per_dir, T::setup, T::teardown), cmocka_unit_test_setup_teardown(T::check_csync_excluded_traversal, T::setup_init, T::teardown), cmocka_unit_test_setup_teardown(T::check_csync_dir_only, T::setup, T::teardown), cmocka_unit_test_setup_teardown(T::check_csync_pathes, T::setup_init, T::teardown), From 4a2b91a043625d72f7aff1d82ac51df36ae572ee Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Tue, 13 Aug 2019 21:50:48 +0100 Subject: [PATCH 120/192] IgnoreListEditor can work on any path Signed-off-by: Samir Benmendil --- src/gui/generalsettings.cpp | 3 ++- src/gui/ignorelisteditor.cpp | 28 +++++++++++++++++----------- src/gui/ignorelisteditor.h | 3 ++- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/src/gui/generalsettings.cpp b/src/gui/generalsettings.cpp index b8c10d592..07cf2dc61 100644 --- a/src/gui/generalsettings.cpp +++ b/src/gui/generalsettings.cpp @@ -184,7 +184,8 @@ void GeneralSettings::slotShowInExplorerNavigationPane(bool checked) void GeneralSettings::slotIgnoreFilesEditor() { if (_ignoreEditor.isNull()) { - _ignoreEditor = new IgnoreListEditor(this); + ConfigFile cfgFile; + _ignoreEditor = new IgnoreListEditor(cfgFile.excludeFile(ConfigFile::UserScope), this); _ignoreEditor->setAttribute(Qt::WA_DeleteOnClose, true); _ignoreEditor->open(); } else { diff --git a/src/gui/ignorelisteditor.cpp b/src/gui/ignorelisteditor.cpp index 9b44c25a0..6f8fa5e37 100644 --- a/src/gui/ignorelisteditor.cpp +++ b/src/gui/ignorelisteditor.cpp @@ -14,8 +14,9 @@ #include "configfile.h" -#include "ignorelisteditor.h" #include "folderman.h" +#include "generalsettings.h" +#include "ignorelisteditor.h" #include "ui_ignorelisteditor.h" #include @@ -31,9 +32,10 @@ static int patternCol = 0; static int deletableCol = 1; static int readOnlyRows = 3; -IgnoreListEditor::IgnoreListEditor(QWidget *parent) +IgnoreListEditor::IgnoreListEditor(QString ignoreFile, QWidget *parent) : QDialog(parent) , ui(new Ui::IgnoreListEditor) + , m_ignoreFile(std::move(ignoreFile)) { setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); ui->setupUi(this); @@ -43,12 +45,16 @@ IgnoreListEditor::IgnoreListEditor(QWidget *parent) "Items where deletion is allowed will be deleted if they prevent a " "directory from being removed. " "This is useful for meta data.")); + //FIXME This is not true. The entries are hardcoded below in setupTableReadOnlyItems readOnlyTooltip = tr("This entry is provided by the system at '%1' " "and cannot be modified in this view.") .arg(QDir::toNativeSeparators(cfgFile.excludeFile(ConfigFile::SystemScope))); - setupTableReadOnlyItems(); - readIgnoreFile(cfgFile.excludeFile(ConfigFile::UserScope), false); + //TODO this is a bit hacky but is an easy way to figure out if this is created from the + //GeneralSettings or not. Until it gets refactored into a separate widged. + if (qobject_cast(parent)) + setupTableReadOnlyItems(); + readIgnoreFile(m_ignoreFile, false); connect(this, &QDialog::accepted, this, &IgnoreListEditor::slotUpdateLocalIgnoreList); ui->removePushButton->setEnabled(false); @@ -105,17 +111,16 @@ void IgnoreListEditor::slotRemoveCurrentItem() void IgnoreListEditor::slotRemoveAllItems() { ui->tableWidget->clearContents(); - setupTableReadOnlyItems(); + if (qobject_cast(parent())) + setupTableReadOnlyItems(); } void IgnoreListEditor::slotUpdateLocalIgnoreList() { - ConfigFile cfgFile; - QString ignoreFile = cfgFile.excludeFile(ConfigFile::UserScope); - QFile ignores(ignoreFile); + QFile ignores(m_ignoreFile); if (ignores.open(QIODevice::WriteOnly)) { // rewrites the whole file since now the user can also remove system patterns - QFile::resize(ignoreFile, 0); + QFile::resize(m_ignoreFile, 0); for (int row = 0; row < ui->tableWidget->rowCount(); ++row) { QTableWidgetItem *patternItem = ui->tableWidget->item(row, patternCol); QTableWidgetItem *deletableItem = ui->tableWidget->item(row, deletableCol); @@ -131,7 +136,7 @@ void IgnoreListEditor::slotUpdateLocalIgnoreList() } } else { QMessageBox::warning(this, tr("Could not open file"), - tr("Cannot write changes to '%1'.").arg(ignoreFile)); + tr("Cannot write changes to '%1'.").arg(m_ignoreFile)); } ignores.close(); //close the file before reloading stuff. @@ -170,7 +175,8 @@ void IgnoreListEditor::slotAddPattern() void IgnoreListEditor::slotRestoreDefaults(QAbstractButton *button){ if(ui->buttonBox->buttonRole(button) == QDialogButtonBox::ResetRole){ ConfigFile cfgFile; - setupTableReadOnlyItems(); + if (qobject_cast(parent())) + setupTableReadOnlyItems(); readIgnoreFile(cfgFile.excludeFile(ConfigFile::SystemScope), false); } } diff --git a/src/gui/ignorelisteditor.h b/src/gui/ignorelisteditor.h index 74137a736..f18709e6d 100644 --- a/src/gui/ignorelisteditor.h +++ b/src/gui/ignorelisteditor.h @@ -35,7 +35,7 @@ class IgnoreListEditor : public QDialog Q_OBJECT public: - explicit IgnoreListEditor(QWidget *parent = nullptr); + IgnoreListEditor(QString ignoreFile, QWidget *parent = nullptr); ~IgnoreListEditor(); bool ignoreHiddenFiles(); @@ -54,6 +54,7 @@ private: int addPattern(const QString &pattern, bool deletable, bool readOnly); QString readOnlyTooltip; Ui::IgnoreListEditor *ui; + QString m_ignoreFile; }; } // namespace OCC From e44a2302de26ce29d36633864295efb917f9ad99 Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Tue, 13 Aug 2019 23:50:18 +0100 Subject: [PATCH 121/192] Remove all rows in the table widget `clearContents()` will leave the number of rows as is. This was causing a segfault when trying to loop over the items of the widget. Signed-off-by: Samir Benmendil --- src/gui/ignorelisteditor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/ignorelisteditor.cpp b/src/gui/ignorelisteditor.cpp index 6f8fa5e37..df8726a70 100644 --- a/src/gui/ignorelisteditor.cpp +++ b/src/gui/ignorelisteditor.cpp @@ -110,7 +110,7 @@ void IgnoreListEditor::slotRemoveCurrentItem() void IgnoreListEditor::slotRemoveAllItems() { - ui->tableWidget->clearContents(); + ui->tableWidget->setRowCount(0); if (qobject_cast(parent())) setupTableReadOnlyItems(); } From d4816442efa0dacb6a5cec00a9bac6f685a239c3 Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Wed, 14 Aug 2019 22:09:19 +0100 Subject: [PATCH 122/192] Extract IgnoreListTableWidget to be reused Signed-off-by: Samir Benmendil --- src/gui/CMakeLists.txt | 2 + src/gui/generalsettings.cpp | 2 +- src/gui/ignorelisteditor.cpp | 182 ++++-------------------------- src/gui/ignorelisteditor.h | 10 +- src/gui/ignorelisteditor.ui | 100 ++-------------- src/gui/ignorelisttablewidget.cpp | 167 +++++++++++++++++++++++++++ src/gui/ignorelisttablewidget.h | 38 +++++++ src/gui/ignorelisttablewidget.ui | 112 ++++++++++++++++++ 8 files changed, 351 insertions(+), 262 deletions(-) create mode 100644 src/gui/ignorelisttablewidget.cpp create mode 100644 src/gui/ignorelisttablewidget.h create mode 100644 src/gui/ignorelisttablewidget.ui diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 167d1727f..ff78ca1bd 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -22,6 +22,7 @@ set(client_UI_SRCS generalsettings.ui legalnotice.ui ignorelisteditor.ui + ignorelisttablewidget.ui networksettings.ui activitywidget.ui synclogdialog.ui @@ -59,6 +60,7 @@ set(client_SRCS generalsettings.cpp legalnotice.cpp ignorelisteditor.cpp + ignorelisttablewidget.cpp lockwatcher.cpp logbrowser.cpp navigationpanehelper.cpp diff --git a/src/gui/generalsettings.cpp b/src/gui/generalsettings.cpp index 07cf2dc61..dd4235834 100644 --- a/src/gui/generalsettings.cpp +++ b/src/gui/generalsettings.cpp @@ -185,7 +185,7 @@ void GeneralSettings::slotIgnoreFilesEditor() { if (_ignoreEditor.isNull()) { ConfigFile cfgFile; - _ignoreEditor = new IgnoreListEditor(cfgFile.excludeFile(ConfigFile::UserScope), this); + _ignoreEditor = new IgnoreListEditor(this); _ignoreEditor->setAttribute(Qt::WA_DeleteOnClose, true); _ignoreEditor->open(); } else { diff --git a/src/gui/ignorelisteditor.cpp b/src/gui/ignorelisteditor.cpp index df8726a70..22182b5a0 100644 --- a/src/gui/ignorelisteditor.cpp +++ b/src/gui/ignorelisteditor.cpp @@ -28,45 +28,28 @@ namespace OCC { -static int patternCol = 0; -static int deletableCol = 1; -static int readOnlyRows = 3; - -IgnoreListEditor::IgnoreListEditor(QString ignoreFile, QWidget *parent) +IgnoreListEditor::IgnoreListEditor(QWidget *parent) : QDialog(parent) , ui(new Ui::IgnoreListEditor) - , m_ignoreFile(std::move(ignoreFile)) { setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); ui->setupUi(this); ConfigFile cfgFile; - ui->descriptionLabel->setText(tr("Files or folders matching a pattern will not be synchronized.\n\n" - "Items where deletion is allowed will be deleted if they prevent a " - "directory from being removed. " - "This is useful for meta data.")); //FIXME This is not true. The entries are hardcoded below in setupTableReadOnlyItems readOnlyTooltip = tr("This entry is provided by the system at '%1' " "and cannot be modified in this view.") .arg(QDir::toNativeSeparators(cfgFile.excludeFile(ConfigFile::SystemScope))); - //TODO this is a bit hacky but is an easy way to figure out if this is created from the - //GeneralSettings or not. Until it gets refactored into a separate widged. - if (qobject_cast(parent)) - setupTableReadOnlyItems(); - readIgnoreFile(m_ignoreFile, false); + setupTableReadOnlyItems(); + const auto userConfig = cfgFile.excludeFile(ConfigFile::Scope::UserScope); + ui->ignoreTableWidget->readIgnoreFile(userConfig); - connect(this, &QDialog::accepted, this, &IgnoreListEditor::slotUpdateLocalIgnoreList); - ui->removePushButton->setEnabled(false); - connect(ui->tableWidget, &QTableWidget::itemSelectionChanged, this, &IgnoreListEditor::slotItemSelectionChanged); - connect(ui->removePushButton, &QAbstractButton::clicked, this, &IgnoreListEditor::slotRemoveCurrentItem); - connect(ui->addPushButton, &QAbstractButton::clicked, this, &IgnoreListEditor::slotAddPattern); - connect(ui->removeAllPushButton, &QAbstractButton::clicked, this, &IgnoreListEditor::slotRemoveAllItems); - connect(ui->buttonBox, &QDialogButtonBox::clicked, this, &IgnoreListEditor::slotRestoreDefaults); - - ui->tableWidget->resizeColumnsToContents(); - ui->tableWidget->horizontalHeader()->setSectionResizeMode(patternCol, QHeaderView::Stretch); - ui->tableWidget->verticalHeader()->setVisible(false); + connect(this, &QDialog::accepted, [=]() { + ui->ignoreTableWidget->slotWriteIgnoreFile(userConfig); + }); + connect(ui->buttonBox, &QDialogButtonBox::clicked, + this, &IgnoreListEditor::slotRestoreDefaults); ui->syncHiddenFilesCheckBox->setChecked(!FolderMan::instance()->ignoreHiddenFiles()); } @@ -76,12 +59,11 @@ IgnoreListEditor::~IgnoreListEditor() delete ui; } -void IgnoreListEditor::setupTableReadOnlyItems(){ - ui->tableWidget->setRowCount(0); - addPattern(".csync_journal.db*", /*deletable=*/false, /*readonly=*/true); - addPattern("._sync_*.db*", /*deletable=*/false, /*readonly=*/true); - addPattern(".sync_*.db*", /*deletable=*/false, /*readonly=*/true); - ui->removeAllPushButton->setEnabled(false); +void IgnoreListEditor::setupTableReadOnlyItems() +{ + ui->ignoreTableWidget->addPattern(".csync_journal.db*", /*deletable=*/false, /*readonly=*/true); + ui->ignoreTableWidget->addPattern("._sync_*.db*", /*deletable=*/false, /*readonly=*/true); + ui->ignoreTableWidget->addPattern(".sync_*.db*", /*deletable=*/false, /*readonly=*/true); } bool IgnoreListEditor::ignoreHiddenFiles() @@ -89,140 +71,16 @@ bool IgnoreListEditor::ignoreHiddenFiles() return !ui->syncHiddenFilesCheckBox->isChecked(); } -void IgnoreListEditor::slotItemSelectionChanged() +void IgnoreListEditor::slotRestoreDefaults(QAbstractButton *button) { - QTableWidgetItem *item = ui->tableWidget->currentItem(); - if (!item) { - ui->removePushButton->setEnabled(false); - return; - } - - bool enable = item->flags() & Qt::ItemIsEnabled; - ui->removePushButton->setEnabled(enable); -} - -void IgnoreListEditor::slotRemoveCurrentItem() -{ - ui->tableWidget->removeRow(ui->tableWidget->currentRow()); - if(ui->tableWidget->rowCount() == readOnlyRows) - ui->removeAllPushButton->setEnabled(false); -} - -void IgnoreListEditor::slotRemoveAllItems() -{ - ui->tableWidget->setRowCount(0); - if (qobject_cast(parent())) - setupTableReadOnlyItems(); -} - -void IgnoreListEditor::slotUpdateLocalIgnoreList() -{ - QFile ignores(m_ignoreFile); - if (ignores.open(QIODevice::WriteOnly)) { - // rewrites the whole file since now the user can also remove system patterns - QFile::resize(m_ignoreFile, 0); - for (int row = 0; row < ui->tableWidget->rowCount(); ++row) { - QTableWidgetItem *patternItem = ui->tableWidget->item(row, patternCol); - QTableWidgetItem *deletableItem = ui->tableWidget->item(row, deletableCol); - if (patternItem->flags() & Qt::ItemIsEnabled) { - QByteArray prepend; - if (deletableItem->checkState() == Qt::Checked) { - prepend = "]"; - } else if (patternItem->text().startsWith('#')) { - prepend = "\\"; - } - ignores.write(prepend + patternItem->text().toUtf8() + '\n'); - } - } - } else { - QMessageBox::warning(this, tr("Could not open file"), - tr("Cannot write changes to '%1'.").arg(m_ignoreFile)); - } - ignores.close(); //close the file before reloading stuff. - - FolderMan *folderMan = FolderMan::instance(); - - /* handle the hidden file checkbox */ - - /* the ignoreHiddenFiles flag is a folder specific setting, but for now, it is - * handled globally. Save it to every folder that is defined. - */ - folderMan->setIgnoreHiddenFiles(ignoreHiddenFiles()); - - // We need to force a remote discovery after a change of the ignore list. - // Otherwise we would not download the files/directories that are no longer - // ignored (because the remote etag did not change) (issue #3172) - foreach (Folder *folder, folderMan->map()) { - folder->journalDb()->forceRemoteDiscoveryNextSync(); - folderMan->scheduleFolder(folder); - } -} - -void IgnoreListEditor::slotAddPattern() -{ - bool okClicked; - QString pattern = QInputDialog::getText(this, tr("Add Ignore Pattern"), - tr("Add a new ignore pattern:"), - QLineEdit::Normal, QString(), &okClicked); - - if (!okClicked || pattern.isEmpty()) + if(ui->buttonBox->buttonRole(button) != QDialogButtonBox::ResetRole) return; - addPattern(pattern, false, false); - ui->tableWidget->scrollToBottom(); -} + ui->ignoreTableWidget->slotRemoveAllItems(); -void IgnoreListEditor::slotRestoreDefaults(QAbstractButton *button){ - if(ui->buttonBox->buttonRole(button) == QDialogButtonBox::ResetRole){ - ConfigFile cfgFile; - if (qobject_cast(parent())) - setupTableReadOnlyItems(); - readIgnoreFile(cfgFile.excludeFile(ConfigFile::SystemScope), false); - } -} - -void IgnoreListEditor::readIgnoreFile(const QString &file, bool readOnly) -{ - QFile ignores(file); - if (ignores.open(QIODevice::ReadOnly)) { - while (!ignores.atEnd()) { - QString line = QString::fromUtf8(ignores.readLine()); - line.chop(1); - if (!line.isEmpty() && !line.startsWith("#")) { - bool deletable = false; - if (line.startsWith(']')) { - deletable = true; - line = line.mid(1); - } - addPattern(line, deletable, readOnly); - } - } - } -} - -int IgnoreListEditor::addPattern(const QString &pattern, bool deletable, bool readOnly) -{ - int newRow = ui->tableWidget->rowCount(); - ui->tableWidget->setRowCount(newRow + 1); - - QTableWidgetItem *patternItem = new QTableWidgetItem; - patternItem->setText(pattern); - ui->tableWidget->setItem(newRow, patternCol, patternItem); - - QTableWidgetItem *deletableItem = new QTableWidgetItem; - deletableItem->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled); - deletableItem->setCheckState(deletable ? Qt::Checked : Qt::Unchecked); - ui->tableWidget->setItem(newRow, deletableCol, deletableItem); - - if (readOnly) { - patternItem->setFlags(patternItem->flags() ^ Qt::ItemIsEnabled); - patternItem->setToolTip(readOnlyTooltip); - deletableItem->setFlags(deletableItem->flags() ^ Qt::ItemIsEnabled); - } - - ui->removeAllPushButton->setEnabled(true); - - return newRow; + ConfigFile cfgFile; + setupTableReadOnlyItems(); + ui->ignoreTableWidget->readIgnoreFile(cfgFile.excludeFile(ConfigFile::SystemScope), false); } } // namespace OCC diff --git a/src/gui/ignorelisteditor.h b/src/gui/ignorelisteditor.h index f18709e6d..39c38d74d 100644 --- a/src/gui/ignorelisteditor.h +++ b/src/gui/ignorelisteditor.h @@ -35,26 +35,18 @@ class IgnoreListEditor : public QDialog Q_OBJECT public: - IgnoreListEditor(QString ignoreFile, QWidget *parent = nullptr); + IgnoreListEditor(QWidget *parent = nullptr); ~IgnoreListEditor(); bool ignoreHiddenFiles(); private slots: - void slotItemSelectionChanged(); - void slotRemoveCurrentItem(); - void slotUpdateLocalIgnoreList(); - void slotAddPattern(); void slotRestoreDefaults(QAbstractButton *button); - void slotRemoveAllItems(); private: - void readIgnoreFile(const QString &file, bool readOnly); void setupTableReadOnlyItems(); - int addPattern(const QString &pattern, bool deletable, bool readOnly); QString readOnlyTooltip; Ui::IgnoreListEditor *ui; - QString m_ignoreFile; }; } // namespace OCC diff --git a/src/gui/ignorelisteditor.ui b/src/gui/ignorelisteditor.ui index 8e544a911..891fbc6e9 100644 --- a/src/gui/ignorelisteditor.ui +++ b/src/gui/ignorelisteditor.ui @@ -36,96 +36,8 @@ Files Ignored by Patterns
- - - - true - - - - 0 - 0 - - - - - - - Qt::PlainText - - - true - - - - - - - true - - - Qt::Vertical - - - - 20 - 213 - - - - - - - - true - - - QAbstractItemView::SingleSelection - - - QAbstractItemView::SelectRows - - - 2 - - - - Pattern - - - - - Allow Deletion - - - - - - - - true - - - Remove - - - - - - - true - - - Add - - - - - - - Remove all - - + + @@ -139,6 +51,14 @@
+ + + IgnoreListTableWidget + QWidget +
ignorelisttablewidget.h
+ 1 +
+
diff --git a/src/gui/ignorelisttablewidget.cpp b/src/gui/ignorelisttablewidget.cpp new file mode 100644 index 000000000..67c8ab4f2 --- /dev/null +++ b/src/gui/ignorelisttablewidget.cpp @@ -0,0 +1,167 @@ +#include "ignorelisttablewidget.h" +#include "ui_ignorelisttablewidget.h" + +#include "folderman.h" + +#include +#include +#include +#include + +namespace OCC { + +static constexpr int patternCol = 0; +static constexpr int deletableCol = 1; +static constexpr int readOnlyRows = 3; + +IgnoreListTableWidget::IgnoreListTableWidget(QWidget *parent) + : QWidget(parent) + , ui(new Ui::IgnoreListTableWidget) +{ + setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); + ui->setupUi(this); + + ui->descriptionLabel->setText(tr("Files or folders matching a pattern will not be synchronized.\n\n" + "Items where deletion is allowed will be deleted if they prevent a " + "directory from being removed. " + "This is useful for meta data.")); + + ui->removePushButton->setEnabled(false); + connect(ui->tableWidget, &QTableWidget::itemSelectionChanged, + this, &IgnoreListTableWidget::slotItemSelectionChanged); + connect(ui->removePushButton, &QAbstractButton::clicked, + this, &IgnoreListTableWidget::slotRemoveCurrentItem); + connect(ui->addPushButton, &QAbstractButton::clicked, + this, &IgnoreListTableWidget::slotAddPattern); + connect(ui->removeAllPushButton, &QAbstractButton::clicked, + this, &IgnoreListTableWidget::slotRemoveAllItems); + + ui->tableWidget->resizeColumnsToContents(); + ui->tableWidget->horizontalHeader()->setSectionResizeMode(patternCol, QHeaderView::Stretch); + ui->tableWidget->verticalHeader()->setVisible(false); +} + +IgnoreListTableWidget::~IgnoreListTableWidget() +{ + delete ui; +} + +void IgnoreListTableWidget::slotItemSelectionChanged() +{ + QTableWidgetItem *item = ui->tableWidget->currentItem(); + if (!item) { + ui->removePushButton->setEnabled(false); + return; + } + + bool enable = item->flags() & Qt::ItemIsEnabled; + ui->removePushButton->setEnabled(enable); +} + +void IgnoreListTableWidget::slotRemoveCurrentItem() +{ + ui->tableWidget->removeRow(ui->tableWidget->currentRow()); + if(ui->tableWidget->rowCount() == readOnlyRows) + ui->removeAllPushButton->setEnabled(false); +} + +void IgnoreListTableWidget::slotRemoveAllItems() +{ + ui->tableWidget->setRowCount(0); +} + +void IgnoreListTableWidget::slotWriteIgnoreFile(const QString & file) +{ + QFile ignores(file); + if (ignores.open(QIODevice::WriteOnly)) { + // rewrites the whole file since now the user can also remove system patterns + QFile::resize(file, 0); + for (int row = 0; row < ui->tableWidget->rowCount(); ++row) { + QTableWidgetItem *patternItem = ui->tableWidget->item(row, patternCol); + QTableWidgetItem *deletableItem = ui->tableWidget->item(row, deletableCol); + if (patternItem->flags() & Qt::ItemIsEnabled) { + QByteArray prepend; + if (deletableItem->checkState() == Qt::Checked) { + prepend = "]"; + } else if (patternItem->text().startsWith('#')) { + prepend = "\\"; + } + ignores.write(prepend + patternItem->text().toUtf8() + '\n'); + } + } + } else { + QMessageBox::warning(this, tr("Could not open file"), + tr("Cannot write changes to '%1'.").arg(file)); + } + ignores.close(); //close the file before reloading stuff. + + FolderMan *folderMan = FolderMan::instance(); + + // We need to force a remote discovery after a change of the ignore list. + // Otherwise we would not download the files/directories that are no longer + // ignored (because the remote etag did not change) (issue #3172) + foreach (Folder *folder, folderMan->map()) { + folder->journalDb()->forceRemoteDiscoveryNextSync(); + folderMan->scheduleFolder(folder); + } +} + +void IgnoreListTableWidget::slotAddPattern() +{ + bool okClicked; + QString pattern = QInputDialog::getText(this, tr("Add Ignore Pattern"), + tr("Add a new ignore pattern:"), + QLineEdit::Normal, QString(), &okClicked); + + if (!okClicked || pattern.isEmpty()) + return; + + addPattern(pattern, false, false); + ui->tableWidget->scrollToBottom(); +} + +void IgnoreListTableWidget::readIgnoreFile(const QString &file, bool readOnly) +{ + QFile ignores(file); + if (ignores.open(QIODevice::ReadOnly)) { + while (!ignores.atEnd()) { + QString line = QString::fromUtf8(ignores.readLine()); + line.chop(1); + if (!line.isEmpty() && !line.startsWith("#")) { + bool deletable = false; + if (line.startsWith(']')) { + deletable = true; + line = line.mid(1); + } + addPattern(line, deletable, readOnly); + } + } + } +} + +int IgnoreListTableWidget::addPattern(const QString &pattern, bool deletable, bool readOnly) +{ + int newRow = ui->tableWidget->rowCount(); + ui->tableWidget->setRowCount(newRow + 1); + + QTableWidgetItem *patternItem = new QTableWidgetItem; + patternItem->setText(pattern); + ui->tableWidget->setItem(newRow, patternCol, patternItem); + + QTableWidgetItem *deletableItem = new QTableWidgetItem; + deletableItem->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled); + deletableItem->setCheckState(deletable ? Qt::Checked : Qt::Unchecked); + ui->tableWidget->setItem(newRow, deletableCol, deletableItem); + + if (readOnly) { + patternItem->setFlags(patternItem->flags() ^ Qt::ItemIsEnabled); + patternItem->setToolTip(readOnlyTooltip); + deletableItem->setFlags(deletableItem->flags() ^ Qt::ItemIsEnabled); + } + + ui->removeAllPushButton->setEnabled(true); + + return newRow; +} + +} // namespace OCC diff --git a/src/gui/ignorelisttablewidget.h b/src/gui/ignorelisttablewidget.h new file mode 100644 index 000000000..3bded0462 --- /dev/null +++ b/src/gui/ignorelisttablewidget.h @@ -0,0 +1,38 @@ +#pragma once + +#include + +class QAbstractButton; + +namespace OCC { + +namespace Ui { + class IgnoreListTableWidget; +} + +class IgnoreListTableWidget : public QWidget +{ + Q_OBJECT + +public: + IgnoreListTableWidget(QWidget *parent = nullptr); + ~IgnoreListTableWidget(); + + void readIgnoreFile(const QString &file, bool readOnly = false); + int addPattern(const QString &pattern, bool deletable, bool readOnly); + +public slots: + void slotRemoveAllItems(); + void slotWriteIgnoreFile(const QString & file); + +private slots: + void slotItemSelectionChanged(); + void slotRemoveCurrentItem(); + void slotAddPattern(); + +private: + void setupTableReadOnlyItems(); + QString readOnlyTooltip; + Ui::IgnoreListTableWidget *ui; +}; +} // namespace OCC diff --git a/src/gui/ignorelisttablewidget.ui b/src/gui/ignorelisttablewidget.ui new file mode 100644 index 000000000..2a618395a --- /dev/null +++ b/src/gui/ignorelisttablewidget.ui @@ -0,0 +1,112 @@ + + + OCC::IgnoreListTableWidget + + + + 0 + 0 + 342 + 378 + + + + IgnoreListTableWidget + + + + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + 2 + + + + Pattern + + + + + Allow Deletion + + + + + + + + true + + + Add + + + + + + + true + + + Remove + + + + + + + Remove all + + + + + + + true + + + Qt::Vertical + + + + 20 + 322 + + + + + + + + true + + + + 0 + 0 + + + + + + + Qt::PlainText + + + true + + + + + + + + From acf0b0f7c44992543b8ce23c3e5dd27725cd9b1d Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Wed, 14 Aug 2019 22:27:17 +0100 Subject: [PATCH 123/192] Add menu action to each subfolder Signed-off-by: Samir Benmendil --- src/gui/accountsettings.cpp | 34 ++++++++++++++++++++++++++++++++++ src/gui/accountsettings.h | 1 + 2 files changed, 35 insertions(+) diff --git a/src/gui/accountsettings.cpp b/src/gui/accountsettings.cpp index 5e96ac226..8a37a6c66 100644 --- a/src/gui/accountsettings.cpp +++ b/src/gui/accountsettings.cpp @@ -35,10 +35,12 @@ #include "filesystem.h" #include "clientsideencryptionjobs.h" #include "syncresult.h" +#include "ignorelisttablewidget.h" #include #include +#include #include #include #include @@ -539,6 +541,34 @@ void AccountSettings::slotLockForDecryptionError(const QByteArray& fileId, int h qDebug() << "Error Locking for decryption"; } +void AccountSettings::slotOpenIgnoredFilesDialog(const FolderStatusModel::SubFolderInfo* folderInfo) +{ + const auto syncPath = folderInfo->_folder->path(); + const auto folderPath = folderInfo->_path; + const QString ignoreFile = syncPath + folderPath + ".sync-exclude.lst"; + + auto layout = new QVBoxLayout(); + auto ignoreListWidget = new IgnoreListTableWidget(this); + ignoreListWidget->readIgnoreFile(ignoreFile); + layout->addWidget(ignoreListWidget); + + auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + layout->addWidget(buttonBox); + + auto dialog = new QDialog(); + dialog->setLayout(layout); + + connect(buttonBox, &QDialogButtonBox::clicked, [=](QAbstractButton * button) { + if (buttonBox->buttonRole(button) == QDialogButtonBox::AcceptRole) + ignoreListWidget->slotWriteIgnoreFile(ignoreFile); + dialog->close(); + }); + connect(buttonBox, &QDialogButtonBox::rejected, + dialog, &QDialog::close); + + dialog->open(); +} + void AccountSettings::slotSubfolderContextMenuRequested(const QModelIndex& index, const QPoint& pos) { Q_UNUSED(pos); @@ -567,6 +597,10 @@ void AccountSettings::slotSubfolderContextMenuRequested(const QModelIndex& index // connect(ac, &QAction::triggered, [this, &info] { slotMarkSubfolderDecrypted(info); }); } } + + ac = menu.addAction(tr("Edit Ignored Files")); + connect(ac, &QAction::triggered, [this, &info] { slotOpenIgnoredFilesDialog(info); }); + menu.exec(QCursor::pos()); } diff --git a/src/gui/accountsettings.h b/src/gui/accountsettings.h index eb6a78b17..282ab6aba 100644 --- a/src/gui/accountsettings.h +++ b/src/gui/accountsettings.h @@ -89,6 +89,7 @@ protected slots: void refreshSelectiveSyncStatus(); void slotMarkSubfolderEncrpted(const FolderStatusModel::SubFolderInfo* folderInfo); void slotMarkSubfolderDecrypted(const FolderStatusModel::SubFolderInfo* folderInfo); + void slotOpenIgnoredFilesDialog(const FolderStatusModel::SubFolderInfo* folderInfo); void slotSubfolderContextMenuRequested(const QModelIndex& idx, const QPoint& point); void slotCustomContextMenuRequested(const QPoint &); void slotFolderListClicked(const QModelIndex &indx); From 94448a8b3315a45def9c07a74f2f2e77c12a8ece Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Wed, 14 Aug 2019 23:04:16 +0100 Subject: [PATCH 124/192] Add menu action to main sync folder too Signed-off-by: Samir Benmendil --- src/gui/accountsettings.cpp | 30 +++++++++++++++++++++++++----- src/gui/accountsettings.h | 4 +++- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/gui/accountsettings.cpp b/src/gui/accountsettings.cpp index 8a37a6c66..5a0c87769 100644 --- a/src/gui/accountsettings.cpp +++ b/src/gui/accountsettings.cpp @@ -541,12 +541,29 @@ void AccountSettings::slotLockForDecryptionError(const QByteArray& fileId, int h qDebug() << "Error Locking for decryption"; } -void AccountSettings::slotOpenIgnoredFilesDialog(const FolderStatusModel::SubFolderInfo* folderInfo) +void AccountSettings::slotEditCurrentIgnoredFiles() { - const auto syncPath = folderInfo->_folder->path(); - const auto folderPath = folderInfo->_path; - const QString ignoreFile = syncPath + folderPath + ".sync-exclude.lst"; + Folder *f = FolderMan::instance()->folder(selectedFolderAlias()); + if (f == nullptr) + return; + openIgnoredFilesDialog(f->path()); +} +void AccountSettings::slotEditCurrentLocalIgnoredFiles() +{ + QModelIndex selected = ui->_folderList->selectionModel()->currentIndex(); + if (!selected.isValid() || _model->classify(selected) != FolderStatusModel::SubFolder) + return; + QString fileName = _model->data(selected, FolderStatusDelegate::FolderPathRole).toString(); + openIgnoredFilesDialog(fileName); +} + +void AccountSettings::openIgnoredFilesDialog(const QString & absFolderPath) +{ + Q_ASSERT(absFolderPath.startsWith('/')); + Q_ASSERT(absFolderPath.endsWith('/')); + + const QString ignoreFile = absFolderPath + ".sync-exclude.lst"; auto layout = new QVBoxLayout(); auto ignoreListWidget = new IgnoreListTableWidget(this); ignoreListWidget->readIgnoreFile(ignoreFile); @@ -599,7 +616,7 @@ void AccountSettings::slotSubfolderContextMenuRequested(const QModelIndex& index } ac = menu.addAction(tr("Edit Ignored Files")); - connect(ac, &QAction::triggered, [this, &info] { slotOpenIgnoredFilesDialog(info); }); + connect(ac, &QAction::triggered, this, &AccountSettings::slotEditCurrentLocalIgnoredFiles); menu.exec(QCursor::pos()); } @@ -634,6 +651,9 @@ void AccountSettings::slotCustomContextMenuRequested(const QPoint &pos) QAction *ac = menu->addAction(tr("Open folder")); connect(ac, &QAction::triggered, this, &AccountSettings::slotOpenCurrentFolder); + ac = menu->addAction(tr("Edit Ignored Files")); + connect(ac, &QAction::triggered, this, &AccountSettings::slotEditCurrentIgnoredFiles); + if (!ui->_folderList->isExpanded(index)) { ac = menu->addAction(tr("Choose what to sync")); ac->setEnabled(folderConnected); diff --git a/src/gui/accountsettings.h b/src/gui/accountsettings.h index 282ab6aba..bd3f0e275 100644 --- a/src/gui/accountsettings.h +++ b/src/gui/accountsettings.h @@ -80,6 +80,8 @@ protected slots: void slotRemoveCurrentFolder(); void slotOpenCurrentFolder(); // sync folder void slotOpenCurrentLocalSubFolder(); // selected subfolder in sync folder + void slotEditCurrentIgnoredFiles(); + void slotEditCurrentLocalIgnoredFiles(); void slotFolderWizardAccepted(); void slotFolderWizardRejected(); void slotDeleteAccount(); @@ -89,7 +91,6 @@ protected slots: void refreshSelectiveSyncStatus(); void slotMarkSubfolderEncrpted(const FolderStatusModel::SubFolderInfo* folderInfo); void slotMarkSubfolderDecrypted(const FolderStatusModel::SubFolderInfo* folderInfo); - void slotOpenIgnoredFilesDialog(const FolderStatusModel::SubFolderInfo* folderInfo); void slotSubfolderContextMenuRequested(const QModelIndex& idx, const QPoint& point); void slotCustomContextMenuRequested(const QPoint &); void slotFolderListClicked(const QModelIndex &indx); @@ -126,6 +127,7 @@ private: QStringList errors = QStringList()); bool event(QEvent *) override; void createAccountToolbox(); + void openIgnoredFilesDialog(const QString & absFolderPath); /// Returns the alias of the selected folder, empty string if none QString selectedFolderAlias() const; From 9f4873e86488cdc17a30bb50d81e3ba202eb9e08 Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Wed, 14 Aug 2019 23:08:21 +0100 Subject: [PATCH 125/192] Fix some typos Signed-off-by: Samir Benmendil --- src/gui/accountsettings.cpp | 4 ++-- src/gui/accountsettings.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gui/accountsettings.cpp b/src/gui/accountsettings.cpp index 5a0c87769..2fc324573 100644 --- a/src/gui/accountsettings.cpp +++ b/src/gui/accountsettings.cpp @@ -424,7 +424,7 @@ bool AccountSettings::canEncryptOrDecrypt (const FolderStatusModel::SubFolderInf return true; } -void AccountSettings::slotMarkSubfolderEncrpted(const FolderStatusModel::SubFolderInfo* folderInfo) +void AccountSettings::slotMarkSubfolderEncrypted(const FolderStatusModel::SubFolderInfo* folderInfo) { if (!canEncryptOrDecrypt(folderInfo)) { return; @@ -608,7 +608,7 @@ void AccountSettings::slotSubfolderContextMenuRequested(const QModelIndex& index if (!isEncrypted) { ac = menu.addAction(tr("Encrypt")); - connect(ac, &QAction::triggered, [this, &info] { slotMarkSubfolderEncrpted(info); }); + connect(ac, &QAction::triggered, [this, &info] { slotMarkSubfolderEncrypted(info); }); } else { // Ingore decrypting for now since it only works with an empty folder // connect(ac, &QAction::triggered, [this, &info] { slotMarkSubfolderDecrypted(info); }); diff --git a/src/gui/accountsettings.h b/src/gui/accountsettings.h index bd3f0e275..ce1885d2d 100644 --- a/src/gui/accountsettings.h +++ b/src/gui/accountsettings.h @@ -89,7 +89,7 @@ protected slots: void slotOpenAccountWizard(); void slotAccountAdded(AccountState *); void refreshSelectiveSyncStatus(); - void slotMarkSubfolderEncrpted(const FolderStatusModel::SubFolderInfo* folderInfo); + void slotMarkSubfolderEncrypted(const FolderStatusModel::SubFolderInfo* folderInfo); void slotMarkSubfolderDecrypted(const FolderStatusModel::SubFolderInfo* folderInfo); void slotSubfolderContextMenuRequested(const QModelIndex& idx, const QPoint& point); void slotCustomContextMenuRequested(const QPoint &); @@ -112,7 +112,7 @@ protected slots: void slotUploadMetadataSuccess(const QByteArray& folderId); void slotUpdateMetadataError(const QByteArray& folderId, int httpReturnCode); - // Remove Encryotion Bit. + // Remove Encryption Bit. void slotLockForDecryptionSuccess(const QByteArray& folderId, const QByteArray& token); void slotLockForDecryptionError(const QByteArray& folderId, int httpReturnCode); void slotDeleteMetadataSuccess(const QByteArray& folderId); From 758483bc6ebd455fa810b43293c70e4b7bfb4fea Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Wed, 14 Aug 2019 23:12:11 +0100 Subject: [PATCH 126/192] Silence CMake warning CMake Warning (dev) at NEXTCLOUD.cmake:31 (set): implicitly converting 'string' to 'STRING' type Signed-off-by: Samir Benmendil --- NEXTCLOUD.cmake | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/NEXTCLOUD.cmake b/NEXTCLOUD.cmake index 7cc321c14..b6bc79c6b 100644 --- a/NEXTCLOUD.cmake +++ b/NEXTCLOUD.cmake @@ -3,10 +3,10 @@ set( APPLICATION_SHORTNAME "Nextcloud" ) set( APPLICATION_EXECUTABLE "nextcloud" ) set( APPLICATION_DOMAIN "nextcloud.com" ) set( APPLICATION_VENDOR "Nextcloud GmbH" ) -set( APPLICATION_UPDATE_URL "https://updates.nextcloud.org/client/" CACHE string "URL for updater" ) -set( APPLICATION_HELP_URL "" CACHE string "URL for the help menu" ) +set( APPLICATION_UPDATE_URL "https://updates.nextcloud.org/client/" CACHE STRING "URL for updater" ) +set( APPLICATION_HELP_URL "" CACHE STRING "URL for the help menu" ) set( APPLICATION_ICON_NAME "Nextcloud" ) -set( APPLICATION_SERVER_URL "" CACHE string "URL for the server to use. If entered the server can only connect to this instance" ) +set( APPLICATION_SERVER_URL "" CACHE STRING "URL for the server to use. If entered the server can only connect to this instance" ) set( LINUX_PACKAGE_SHORTNAME "nextcloud" ) @@ -20,14 +20,14 @@ set( MAC_INSTALLER_BACKGROUND_FILE "${CMAKE_SOURCE_DIR}/admin/osx/installer-back # set( APPLICATION_LICENSE "${OEM_THEME_DIR}/license.txt ) option( WITH_CRASHREPORTER "Build crashreporter" OFF ) -#set( CRASHREPORTER_SUBMIT_URL "https://crash-reports.owncloud.com/submit" CACHE string "URL for crash reporter" ) +#set( CRASHREPORTER_SUBMIT_URL "https://crash-reports.owncloud.com/submit" CACHE STRING "URL for crash reporter" ) #set( CRASHREPORTER_ICON ":/owncloud-icon.png" ) option( WITH_PROVIDERS "Build with providers list" ON ) ## Theming options -set( APPLICATION_WIZARD_HEADER_BACKGROUND_COLOR "#0082c9" CACHE string "Hex color of the wizard header background") -set( APPLICATION_WIZARD_HEADER_TITLE_COLOR "#ffffff" CACHE string "Hex color of the text in the wizard header") +set( APPLICATION_WIZARD_HEADER_BACKGROUND_COLOR "#0082c9" CACHE STRING "Hex color of the wizard header background") +set( APPLICATION_WIZARD_HEADER_TITLE_COLOR "#ffffff" CACHE STRING "Hex color of the text in the wizard header") option( APPLICATION_WIZARD_USE_CUSTOM_LOGO "Use the logo from ':/client/theme/colored/wizard_logo.png' else the default application icon is used" ON ) From 34fcb13e78e3075126cc8c2677826ee5b693e219 Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Wed, 14 Aug 2019 23:27:10 +0100 Subject: [PATCH 127/192] Never ignore .sync-exclude, even if excludeHidden That is unless any of the parent folders is hidden. Signed-off-by: Samir Benmendil --- src/csync/csync_exclude.cpp | 6 +++--- src/csync/csync_update.cpp | 4 +++- src/gui/ignorelisteditor.cpp | 8 ++++++++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/csync/csync_exclude.cpp b/src/csync/csync_exclude.cpp index 030783c6b..40d0afcff 100644 --- a/src/csync/csync_exclude.cpp +++ b/src/csync/csync_exclude.cpp @@ -343,15 +343,15 @@ bool ExcludedFiles::isExcluded( return true; } + //TODO this seems a waste, hidden files are ignored before hitting this function it seems if (excludeHidden) { QString path = filePath; // Check all path subcomponents, but to *not* check the base path: // We do want to be able to sync with a hidden folder as the target. while (path.size() > basePath.size()) { QFileInfo fi(path); - //TODO probably not ignore `.sync-exclude.lst` files as it makes sense for them to be - //synced - if (fi.isHidden() || fi.fileName().startsWith(QLatin1Char('.'))) { + if (fi.fileName() != ".sync-exclude.lst" + && (fi.isHidden() || fi.fileName().startsWith(QLatin1Char('.')))) { return true; } diff --git a/src/csync/csync_update.cpp b/src/csync/csync_update.cpp index fd6c6ec95..ecea21cae 100644 --- a/src/csync/csync_update.cpp +++ b/src/csync/csync_update.cpp @@ -124,7 +124,9 @@ static int _csync_detect_update(CSYNC *ctx, std::unique_ptr f * because it's a hidden file that should not be synced. * This code should probably be in csync_exclude, but it does not have the fs parameter. * Keep it here for now */ - if (ctx->ignore_hidden_files && (fs->is_hidden)) { + if (ctx->ignore_hidden_files + && fs->is_hidden + && !fs->path.endsWith(".sync-exclude.lst")) { qCInfo(lcUpdate, "file excluded because it is a hidden file: %s", fs->path.constData()); excluded = CSYNC_FILE_EXCLUDE_HIDDEN; } diff --git a/src/gui/ignorelisteditor.cpp b/src/gui/ignorelisteditor.cpp index 22182b5a0..6e5a3d784 100644 --- a/src/gui/ignorelisteditor.cpp +++ b/src/gui/ignorelisteditor.cpp @@ -47,6 +47,14 @@ IgnoreListEditor::IgnoreListEditor(QWidget *parent) connect(this, &QDialog::accepted, [=]() { ui->ignoreTableWidget->slotWriteIgnoreFile(userConfig); + /* handle the hidden file checkbox */ + + /* the ignoreHiddenFiles flag is a folder specific setting, but for now, it is + * handled globally. Save it to every folder that is defined. + * TODO this can now be fixed, simply attach this IgnoreListEditor to top-level account + * settings + */ + FolderMan::instance()->setIgnoreHiddenFiles(ignoreHiddenFiles()); }); connect(ui->buttonBox, &QDialogButtonBox::clicked, this, &IgnoreListEditor::slotRestoreDefaults); From e27645cb00a8426ad4879edba4c109d1af46c0c9 Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Thu, 15 Aug 2019 00:53:09 +0100 Subject: [PATCH 128/192] Extract loadExcludeFile and use it when discovering new exclude files Signed-off-by: Samir Benmendil --- src/csync/csync_exclude.cpp | 46 ++++++++++++++++++++++++------------- src/csync/csync_exclude.h | 4 ++++ 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/src/csync/csync_exclude.cpp b/src/csync/csync_exclude.cpp index 40d0afcff..7c9ea3458 100644 --- a/src/csync/csync_exclude.cpp +++ b/src/csync/csync_exclude.cpp @@ -304,32 +304,47 @@ void ExcludedFiles::setWildcardsMatchSlash(bool onoff) prepare(); } +bool ExcludedFiles::loadExcludeFile(const QByteArray & basePath, const QString & file) +{ + QFile f(file); + if (!f.open(QIODevice::ReadOnly)) + return false; + + while (!f.atEnd()) { + QByteArray line = f.readLine().trimmed(); + if (line.isEmpty() || line.startsWith('#')) + continue; + csync_exclude_expand_escapes(line); + _allExcludes[basePath].append(line); + } + prepare(basePath); + return true; +} + bool ExcludedFiles::reloadExcludeFiles() { _allExcludes.clear(); + // clear all regex + _bnameTraversalRegexFile.clear(); + _bnameTraversalRegexDir.clear(); + _fullTraversalRegexFile.clear(); + _fullTraversalRegexDir.clear(); + _fullRegexFile.clear(); + _fullRegexDir.clear(); + bool success = true; for (auto basePath : _excludeFiles.keys()) { for (auto file : _excludeFiles.value(basePath)) { - QFile f(file); - if (!f.open(QIODevice::ReadOnly)) { - success = false; - continue; - } - while (!f.atEnd()) { - QByteArray line = f.readLine().trimmed(); - if (line.isEmpty() || line.startsWith('#')) - continue; - csync_exclude_expand_escapes(line); - _allExcludes[basePath].append(line); - } + success = loadExcludeFile(basePath, file); } } auto endManual = _manualExcludes.cend(); - for (auto kv = _manualExcludes.cbegin(); kv != endManual; ++kv) + for (auto kv = _manualExcludes.cbegin(); kv != endManual; ++kv) { _allExcludes[kv.key()].append(kv.value()); + prepare(kv.key()); + } - prepare(); return success; } @@ -387,8 +402,7 @@ CSYNC_EXCLUDE_TYPE ExcludedFiles::traversalPatternMatch(const char *path, ItemTy QFileInfo fi = QFileInfo(_localPath + path + "/.sync-exclude.lst"); if (fi.isReadable()) { addInTreeExcludeFilePath(fi.absoluteFilePath()); - //really we only need to load this file and prepare(this basePath) - reloadExcludeFiles(); + loadExcludeFile(fi.absolutePath().toUtf8(), fi.absoluteFilePath()); } } diff --git a/src/csync/csync_exclude.h b/src/csync/csync_exclude.h index 5e2d3109f..eeda99c17 100644 --- a/src/csync/csync_exclude.h +++ b/src/csync/csync_exclude.h @@ -130,6 +130,10 @@ public slots: * Reloads the exclude patterns from the registered paths. */ bool reloadExcludeFiles(); + /** + * Loads the exclude patterns from file the registered base paths. + */ + bool loadExcludeFile(const QByteArray & basePath, const QString & file); private: /** From 7a9b13a563fdad350919b8fa445085a18aa0312d Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Thu, 15 Aug 2019 02:47:53 +0100 Subject: [PATCH 129/192] Manual exclude are anchored to _localPath by default This makes a lot of sense, since there should be no file to be synced outside of _localPath. Signed-off-by: Samir Benmendil --- src/csync/csync_exclude.cpp | 5 +++++ src/csync/csync_exclude.h | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/csync/csync_exclude.cpp b/src/csync/csync_exclude.cpp index 7c9ea3458..60a7220d2 100644 --- a/src/csync/csync_exclude.cpp +++ b/src/csync/csync_exclude.cpp @@ -281,6 +281,11 @@ void ExcludedFiles::setExcludeConflictFiles(bool onoff) _excludeConflictFiles = onoff; } +void ExcludedFiles::addManualExclude(const QByteArray &expr) +{ + addManualExclude(expr, _localPath.toUtf8()); +} + void ExcludedFiles::addManualExclude(const QByteArray &expr, const QByteArray &basePath) { Q_ASSERT(basePath.startsWith('/')); diff --git a/src/csync/csync_exclude.h b/src/csync/csync_exclude.h index eeda99c17..0b1147791 100644 --- a/src/csync/csync_exclude.h +++ b/src/csync/csync_exclude.h @@ -101,7 +101,8 @@ public: * Primarily used in tests. Patterns added this way are preserved when * reloadExcludeFiles() is called. */ - void addManualExclude(const QByteArray &expr, const QByteArray &basePath = "/"); + void addManualExclude(const QByteArray &expr); + void addManualExclude(const QByteArray &expr, const QByteArray &basePath); /** * Removes all manually added exclude patterns. From 5e3c2d2a96013200957f34aa0e052ed1fcf7bddb Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Thu, 15 Aug 2019 02:57:39 +0100 Subject: [PATCH 130/192] Fix fullPath matching Signed-off-by: Samir Benmendil --- src/csync/csync_exclude.cpp | 9 ++++++++ .../csync/csync_tests/check_csync_exclude.cpp | 23 +++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/src/csync/csync_exclude.cpp b/src/csync/csync_exclude.cpp index 60a7220d2..9a4f196ed 100644 --- a/src/csync/csync_exclude.cpp +++ b/src/csync/csync_exclude.cpp @@ -730,6 +730,15 @@ void ExcludedFiles::prepare(const BasePathByteArray & basePath) auto &fullFileDir = removeExcluded ? fullFileDirRemove : fullFileDirKeep; auto &fullDir = removeExcluded ? fullDirRemove : fullDirKeep; + if (fullPath) { + // The full pattern is matched against a path relative to _localPath, however exclude is + // relative to basePath at this point. + // We know for sure that both _localPath and basePath are absolute and that basePath is + // contained in _localPath. So we can simply remove it from the begining. + auto relPath = basePath.mid(_localPath.size()); + // Make exclude relative to _localPath + exclude.prepend(relPath); + } auto regexExclude = convertToRegexpSyntax(QString::fromUtf8(exclude), _wildcardsMatchSlash); if (!fullPath) { regexAppend(bnameFileDir, bnameDir, regexExclude, matchDirOnly); diff --git a/test/csync/csync_tests/check_csync_exclude.cpp b/test/csync/csync_tests/check_csync_exclude.cpp index bfbf36095..07ec665a8 100644 --- a/test/csync/csync_tests/check_csync_exclude.cpp +++ b/test/csync/csync_tests/check_csync_exclude.cpp @@ -137,6 +137,11 @@ static void check_csync_exclude_add_per_dir(void **) excludedFiles->addManualExclude("foo"); assert_true(excludedFiles->_fullRegexFile["/"].pattern().contains("foo")); + + excludedFiles->addManualExclude("foo/bar", "/tmp/check_csync1/"); + assert_true(excludedFiles->_fullRegexFile["/tmp/check_csync1/"].pattern().contains("bar")); + assert_true(excludedFiles->_fullTraversalRegexFile["/tmp/check_csync1/"].pattern().contains("bar")); + assert_false(excludedFiles->_bnameTraversalRegexFile["/tmp/check_csync1/"].pattern().contains("foo")); } static void check_csync_excluded(void **) @@ -258,6 +263,13 @@ static void check_csync_excluded_per_dir(void **) assert_int_equal(check_file_full("A"), CSYNC_NOT_EXCLUDED); assert_int_equal(check_file_full("B/A"), CSYNC_FILE_EXCLUDE_LIST); + excludedFiles->clearManualExcludes(); + excludedFiles->addManualExclude("A/a1", "/B/"); + excludedFiles->reloadExcludeFiles(); + + assert_int_equal(check_file_full("A"), CSYNC_NOT_EXCLUDED); + assert_int_equal(check_file_full("B/A/a1"), CSYNC_FILE_EXCLUDE_LIST); + #define FOO_DIR "/tmp/check_csync1/foo" #define FOO_EXCLUDE_LIST FOO_DIR "/.sync-exclude.lst" int rc; @@ -279,6 +291,16 @@ static void check_csync_excluded_per_dir(void **) #undef FOO_EXCLUDE_LIST } +static void check_csync_excluded_traversal_per_dir(void **) +{ + assert_int_equal(check_file_traversal("/"), CSYNC_NOT_EXCLUDED); + + /* path wildcards */ + excludedFiles->addManualExclude("*/*.tex.tmp", "/latex/"); + assert_int_equal(check_file_traversal("latex/my_manuscript.tex.tmp"), CSYNC_NOT_EXCLUDED); + assert_int_equal(check_file_traversal("latex/songbook/my_manuscript.tex.tmp"), CSYNC_FILE_EXCLUDE_LIST); +} + static void check_csync_excluded_traversal(void **) { assert_int_equal(check_file_traversal(""), CSYNC_NOT_EXCLUDED); @@ -684,6 +706,7 @@ int torture_run_tests(void) cmocka_unit_test_setup_teardown(T::check_csync_excluded, T::setup_init, T::teardown), cmocka_unit_test_setup_teardown(T::check_csync_excluded_per_dir, T::setup, T::teardown), cmocka_unit_test_setup_teardown(T::check_csync_excluded_traversal, T::setup_init, T::teardown), + cmocka_unit_test_setup_teardown(T::check_csync_excluded_traversal_per_dir, T::setup, T::teardown), cmocka_unit_test_setup_teardown(T::check_csync_dir_only, T::setup, T::teardown), cmocka_unit_test_setup_teardown(T::check_csync_pathes, T::setup_init, T::teardown), cmocka_unit_test_setup_teardown(T::check_csync_wildcards, T::setup, T::teardown), From c74db8677b953409f9cdab14777e0a5c312b806f Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 15 Aug 2019 03:02:27 +0000 Subject: [PATCH 131/192] [tx-robot] updated from transifex --- translations/client_el.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/client_el.ts b/translations/client_el.ts index 15119b84c..9f19a8fd8 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -3408,7 +3408,7 @@ It is not advisable to use it. Invalid certificate detected - + Εντοπίστηκε μη έγκυρο πιστοποιητικό From db83302546286a210ce8008c4b1190d2cb430477 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Fri, 16 Aug 2019 03:01:55 +0000 Subject: [PATCH 132/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_ja.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_ja.ts b/translations/client_ja.ts index db3215656..cc06a1428 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -3418,7 +3418,7 @@ It is not advisable to use it. The host "%1" provided an invalid certificate. Continue? - ホスト "%1"が無効な証明書を提供しました。 続けますか? + ホスト "%1"によって無効な証明書が提供されました。 続けますか? From 6f4de8f503947e6b59a2d012d234d8aa919905e0 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 17 Aug 2019 03:06:09 +0000 Subject: [PATCH 133/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_eo.ts | 12 ++++++------ translations/client_nl.ts | 20 ++++++++++---------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_eo.ts b/translations/client_eo.ts index 8dc7e6b63..e499b1541 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -274,12 +274,12 @@ This account supports end-to-end encryption - + Tiu konto subtenas tutvojan ĉifradon Enable encryption - + Ebligi ĉifradon @@ -2817,7 +2817,7 @@ Uzi ĝin ne konsilindas. Unshare - + Malkunhavigi @@ -2882,7 +2882,7 @@ Uzi ĝin ne konsilindas. Context menu share - + Menuo pri kunhavigo @@ -3404,7 +3404,7 @@ Uzi ĝin ne konsilindas. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>Versio %1. Por pli da informoj, alklaku <a href='%2'>ĉi tie</a>.</p> @@ -3614,7 +3614,7 @@ Uzi ĝin ne konsilindas. View more activity... - + Vidi pli da aktivaĵoj... diff --git a/translations/client_nl.ts b/translations/client_nl.ts index 5be33a7fe..e27bf49cf 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -882,9 +882,9 @@ These deletes will be synchronized to your local sync folder, making such files If you decide to keep the files, they will be re-synced with the server if you have rights to do so. If you decide to delete the files, they will be unavailable to you, unless you are the owner. Alle bestanden in de syncmap '%1' werden verwijderd van de server. -Deze verwijderingen worden gesynchroniseerd naar uw lokale syncmap, waardoor deze bestanden niet meer beschikbaar zijn, tenzij u het recht hebt om ze te herstellen. -Als u de bestanden wilt behouden, worden ze opnieuw gesynchroniseerd met de server als u die autorisatie hebt. -Als u de bestanden wilt verwijderen, worden ze niet beschikbaar, tenzij u de eigenaar bent. +Deze verwijderingen worden gesynchroniseerd naar je lokale syncmap, waardoor deze bestanden niet meer beschikbaar zijn, tenzij je het recht hebt om ze te herstellen. +Als je de bestanden wilt behouden, worden ze opnieuw gesynchroniseerd met de server als je die autorisatie hebt. +Als je de bestanden wilt verwijderen, worden ze niet beschikbaar, tenzij je de eigenaar bent. @@ -906,17 +906,17 @@ Als u de bestanden wilt verwijderen, worden ze niet beschikbaar, tenzij u de eig All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. Are you sure you want to sync those actions with the server? If this was an accident and you decide to keep your files, they will be re-synced from the server. - Alle bestanden in de lokale syncmap '%1' werden verwijderd van de server. Deze verwijderingen worden gesynchroniseerd naar uw server, Weet u zeker dat ik deze acties wilt synchroniseren met de server? -Als dit een ongelukje was en u de bestanden wilt behouden, worden ze opnieuw gesynchroniseerd met de server. + Alle bestanden in je lokale syncmap '%1' werden verwijderd. Deze verwijderingen worden gesynchroniseerd naar je server, waardoor de bestanden niet beschikbaar zijn, tenzij ze worden teruggezet. Weet je zeker dat je deze acties wilt synchroniseren met de server? +Als dit een ongelukje was en je de bestanden wilt behouden, worden ze opnieuw gesynchroniseerd met de server. This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - Deze synchronisatie zou uw bestanden terug zetten naar een eerdere staat van de synchronisatie map '%1'. + Deze synchronisatie zou je bestanden terugzetten naar een eerdere staat van de synchronisatie map '%1'. Dit kan komen doordat een backup is hersteld op de server. -Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere versie. Wilt u uw lokale meer recente bestanden behouden als conflict bestanden? +Doorgaan met deze synchronisatie overschrijft al je bestanden door een eerdere versie. Wilt je jouw lokale meer recente bestanden behouden als conflict bestanden? @@ -2110,7 +2110,7 @@ We adviseren deze site niet te gebruiken. Access forbidden by server. To verify that you have proper access, <a href="%1">click here</a> to access the service with your browser. - Toegang door server verboden. Om te verifiëren dat u toegang mag hebben, <a href="%1">klik hier</a> om met uw browser toegang tot de service te krijgen. + Toegang door server verboden. Om te verifiëren dat je toegang mag hebben, <a href="%1">klik hier</a> om met je browser toegang tot de service te krijgen. @@ -3529,7 +3529,7 @@ We adviseren deze site niet te gebruiken. The server on account %1 runs an old and unsupported version %2. Using this client with unsupported server versions is untested and potentially dangerous. Proceed at your own risk. - De server van account %1 gebruikt een oude versie %2. Het gebruik van deze clientsoftware met niet-ondersteunde server versies is niet getest en mogelijk gevaarlijk. Verdergaan is voor uw eigen risico. + De server van account %1 gebruikt een oude versie %2. Het gebruik van deze clientsoftware met niet-ondersteunde server versies is niet getest en mogelijk gevaarlijk. Verdergaan is op eigen risico. @@ -3860,7 +3860,7 @@ We adviseren deze site niet te gebruiken. Your entire account is synced to the local folder - Uw volledige account is gesynchroniseerd met de lokale map + Je volledige account is gesynchroniseerd met de lokale map From eb31925a004c514b26d4e7f67f5b1ac2cc902d9d Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 18 Aug 2019 03:08:13 +0000 Subject: [PATCH 134/192] [tx-robot] updated from transifex --- translations/client_nl.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/translations/client_nl.ts b/translations/client_nl.ts index e27bf49cf..c61a38b78 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -125,7 +125,7 @@ Pick a local folder on your computer to sync - Kies een map op uw computer om te synchroniseren + Kies een map op je computer om te synchroniseren @@ -217,7 +217,7 @@ Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Niet geselecteerde mappen worden <b>verwijderd</b> van uw lokale bestandssysteem en worden niet meer gesynchroniseerd met deze computer + Niet geselecteerde mappen worden <b>verwijderd</b> van je lokale bestandssysteem en worden niet meer gesynchroniseerd met deze computer @@ -1884,7 +1884,7 @@ vragen om extra autorisaties tijdens installatie. No updates available. Your installation is at the latest version. - Geen updates beschikbaar. Uw installatie is al de laatste versie. + Geen updates beschikbaar. Je installatie is al van de laatste versie. @@ -2186,7 +2186,7 @@ We adviseren deze site niet te gebruiken. <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> + <p><font color="red">Het aanmaken van de externe map is mislukt, waarschijnlijk omdat je inloggegevens fout waren.</font><br/>ga terug en controleer je inloggevens.</p> @@ -2873,7 +2873,7 @@ We adviseren deze site niet te gebruiken. 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. + Je sessie is verstreken. Je moet opnieuw inloggen om de client-applicatie te gebruiken. @@ -3299,7 +3299,7 @@ We adviseren deze site niet te gebruiken. The filename cannot be encoded on your file system. - De bestandsnaam kan je bestandssysteem niet worden gecodeerd. + De bestandsnaam kan op je bestandssysteem niet worden gecodeerd. From 7135d441e68295f966051415a832bc9ca9d4f3d1 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 20 Aug 2019 03:04:04 +0000 Subject: [PATCH 135/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 +- .tx/nextcloud.client-desktop/mk_translation | 204 ++++++++++++++++++++ 2 files changed, 208 insertions(+), 4 deletions(-) create mode 100644 .tx/nextcloud.client-desktop/mk_translation diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/.tx/nextcloud.client-desktop/mk_translation b/.tx/nextcloud.client-desktop/mk_translation new file mode 100644 index 000000000..e4dd36e86 --- /dev/null +++ b/.tx/nextcloud.client-desktop/mk_translation @@ -0,0 +1,204 @@ +[Desktop Entry] +Categories=Utility;X-SuSE-SyncUtility; +Type=Application +Exec=@APPLICATION_EXECUTABLE@ +Name=@APPLICATION_NAME@ desktop sync client +Comment=@APPLICATION_NAME@ desktop synchronization client +GenericName=Folder Sync +Icon=@APPLICATION_ICON_NAME@ +Keywords=@APPLICATION_NAME@;syncing;file;sharing; +X-GNOME-Autostart-Delay=3 +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations +Icon[mk]=@APPLICATION_ICON_NAME@ +Name[mk]=@APPLICATION_NAME@ клиент за синхронизација на компјутер +Comment[mk]=@APPLICATION_NAME@ клиент за синхронизација на компјутер +GenericName[mk]=Папка за синхронизација From c5f8b00a6ba424bd4649e5a34ac307bac522cf2a Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 21 Aug 2019 03:04:55 +0000 Subject: [PATCH 136/192] [tx-robot] updated from transifex --- translations/client_ja.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/client_ja.ts b/translations/client_ja.ts index cc06a1428..93b9ef15d 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -873,7 +873,7 @@ This means that the synchronization client might not upload local changes immedi これは、同期クライアントはすぐにローカルの変更をアップロードしない場合がありますが、代わりにローカルの変更をスキャンし(デフォルトでは2時間ごとに)時折それらをアップロードすることを意味します。 -%1 +%1 @@ -881,7 +881,7 @@ This means that the synchronization client might not upload local changes immedi These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. If you decide to keep the files, they will be re-synced with the server if you have rights to do so. If you decide to delete the files, they will be unavailable to you, unless you are the owner. - 同期フォルダ '%1'フォルダ内のすべてのファイルがサーバー上で削除されました。 + 同期フォルダ '%1'フォルダ内のすべてのファイルがサーバー上で削除されました。 これらの削除はローカルの同期フォルダと同期され、復元する権利がない限り、ファイルは使用できなくなります。 ファイルを保持したい場合、ファイルを保持する権限があれば、ファイルはサーバーと再同期されます。 ファイルを削除したい場合、あなたが所有者でなければ利用できません。 From 95c6dd32e9e3641c28b1956a9a16a71e2fca8c61 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 24 Aug 2019 03:03:25 +0000 Subject: [PATCH 137/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++-- translations/client_th.ts | 42 ++++++++++----------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_th.ts b/translations/client_th.ts index a10286e11..ae52d0681 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -4,83 +4,83 @@ %1 (%2, %3) - + %1 (%2, %3) Checking for changes in '%1' - + กำลังตรวจสอบการเปลี่ยนแปลงใน '%1' Syncing %1 of %2 (%3 left) - + กำลังประสานข้อมูล %1 จาก %2 (เหลือ %3) Syncing %1 of %2 - + กำลังประสานข้อมูล %1 จากทั้งหมด %2 Syncing %1 (%2 left) - + กำลังประสานข้อมูล %1 (เหลือ %2) Syncing %1 - + กำลังประสานข้อมูล %1 No recently changed files - + ไม่มีไฟล์ที่ถูกเปลี่ยนแปลงล่าสุด Sync paused - + การประสานข้อมูลถูกหยุดชั่วคราว Syncing - + กำลังประสานข้อมูล Open website - + เปิดเว็บไซต์ Recently changed - + การเปลี่ยนแปลงล่าสุด Pause synchronization - + หยุดการประสานข้อมูลชั่วคราว Help - + ช่วยเหลือ Settings - + ตั้งค่า Log out - + ออกจากระบบ Quit sync client - + ปิดการประสานข้อมูลไคลเอนต์ @@ -88,12 +88,12 @@ Dialog - + กล่องโต้ตอบ Label - + ป้ายกำกับ @@ -279,7 +279,7 @@ Enable encryption - + เปิดใช้งานการเข้ารหัส @@ -289,7 +289,7 @@ Encrypt - + เข้ารหัส @@ -636,7 +636,7 @@ Quit %1 - + ออก %1 From 93f6bb2740f0cb759fb19b8d160fefd4a5f6deaf Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 25 Aug 2019 03:03:22 +0000 Subject: [PATCH 138/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner From 9941d49579f2cbdc3be6eae47a40c1c83dcdf4ba Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 26 Aug 2019 03:00:53 +0000 Subject: [PATCH 139/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner From 2742411abd2de04441ac5d94a43c3a7e445a3739 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Sat, 17 Aug 2019 02:37:04 +0200 Subject: [PATCH 140/192] Login Flow V2: 1st test-implementation Signed-off-by: Michael Schuster --- src/gui/CMakeLists.txt | 3 + src/gui/connectionvalidator.cpp | 3 + src/gui/creds/flow2auth.cpp | 299 ++++++++++++++++++++++++++ src/gui/creds/flow2auth.h | 83 +++++++ src/gui/owncloudsetupwizard.cpp | 5 +- src/gui/wizard/flow2authcredspage.cpp | 135 ++++++++++++ src/gui/wizard/flow2authcredspage.h | 63 ++++++ src/gui/wizard/flow2authcredspage.ui | 87 ++++++++ src/gui/wizard/owncloudsetuppage.cpp | 2 + src/gui/wizard/owncloudwizard.cpp | 18 +- src/gui/wizard/owncloudwizard.h | 2 + src/gui/wizard/owncloudwizardcommon.h | 1 + src/libsync/networkjobs.cpp | 5 + src/libsync/networkjobs.h | 3 +- 14 files changed, 703 insertions(+), 6 deletions(-) create mode 100644 src/gui/creds/flow2auth.cpp create mode 100644 src/gui/creds/flow2auth.h create mode 100644 src/gui/wizard/flow2authcredspage.cpp create mode 100644 src/gui/wizard/flow2authcredspage.h create mode 100644 src/gui/wizard/flow2authcredspage.ui diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 167d1727f..0fb5970ad 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -38,6 +38,7 @@ set(client_UI_SRCS wizard/owncloudconnectionmethoddialog.ui wizard/owncloudhttpcredspage.ui wizard/owncloudoauthcredspage.ui + wizard/flow2authcredspage.ui wizard/owncloudsetupnocredspage.ui wizard/owncloudwizardresultpage.ui wizard/webview.ui @@ -103,6 +104,7 @@ set(client_SRCS creds/credentialsfactory.cpp creds/httpcredentialsgui.cpp creds/oauth.cpp + creds/flow2auth.cpp creds/webflowcredentials.cpp creds/webflowcredentialsdialog.cpp wizard/postfixlineedit.cpp @@ -111,6 +113,7 @@ set(client_SRCS wizard/owncloudconnectionmethoddialog.cpp wizard/owncloudhttpcredspage.cpp wizard/owncloudoauthcredspage.cpp + wizard/flow2authcredspage.cpp wizard/owncloudsetuppage.cpp wizard/owncloudwizardcommon.cpp wizard/owncloudwizard.cpp diff --git a/src/gui/connectionvalidator.cpp b/src/gui/connectionvalidator.cpp index b2f04d9b5..27b1a4b9a 100644 --- a/src/gui/connectionvalidator.cpp +++ b/src/gui/connectionvalidator.cpp @@ -233,6 +233,9 @@ void ConnectionValidator::checkServerCapabilities() QObject::connect(configJob, &JsonApiJob::jsonReceived, _account.data(), [=](const QJsonDocument &json) { ocsConfigReceived(json, account); + + /*int size = 0; + MessageBoxA(0, json.rawData(&size), "bla", MB_ICONINFORMATION);*/ }); configJob->start(); } diff --git a/src/gui/creds/flow2auth.cpp b/src/gui/creds/flow2auth.cpp new file mode 100644 index 000000000..0bf5041bf --- /dev/null +++ b/src/gui/creds/flow2auth.cpp @@ -0,0 +1,299 @@ +/* + * Copyright (C) by Olivier Goffart + * Copyright (C) by Michael Schuster + * + * 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; either version 2 of the License, or + * (at your option) any later version. + * + * 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 +//#include +#include +#include +#include "account.h" +#include "creds/flow2auth.h" +#include +#include +#include +#include "theme.h" +#include "networkjobs.h" +#include "configfile.h" + +namespace OCC { + +Q_LOGGING_CATEGORY(lcFlow2auth, "nextcloud.sync.credentials.flow2auth", QtInfoMsg) + +Flow2Auth::~Flow2Auth() +{ +} + +void Flow2Auth::start() +{ + // Step 1: Initiate a login, do an anonymous POST request + QUrl url = Utility::concatUrlPath(_account->url().toString(), QLatin1String("/index.php/login/v2")); + + auto job = _account->sendRequest("POST", url); + job->setTimeout(qMin(30 * 1000ll, job->timeoutMsec())); + QObject::connect(job, &SimpleNetworkJob::finishedSignal, this, [this](QNetworkReply *reply) { + auto jsonData = reply->readAll(); + QJsonParseError jsonParseError; + QJsonObject json = QJsonDocument::fromJson(jsonData, &jsonParseError).object(); + //MessageBoxA(0, jsonData.toStdString().c_str(), "Flow2Auth::start()", 0); + + QString pollToken = json.value("poll").toObject().value("token").toString(); + QString pollEndpoint = json.value("poll").toObject().value("endpoint").toString(); + QUrl loginUrl = json["login"].toString(); + /*MessageBoxA(0, pollToken.toStdString().c_str(), "pollToken", 0); + MessageBoxA(0, pollEndpoint.toStdString().c_str(), "pollEndpoint", 0); + MessageBoxA(0, loginUrl.toString().toStdString().c_str(), "loginUrl", 0);*/ + + if (reply->error() != QNetworkReply::NoError || jsonParseError.error != QJsonParseError::NoError + || json.isEmpty() || pollToken.isEmpty() || pollEndpoint.isEmpty() || loginUrl.isEmpty()) { + QString errorReason; + QString errorFromJson = json["error"].toString(); + if (!errorFromJson.isEmpty()) { + errorReason = tr("Error returned from the server: %1") + .arg(errorFromJson.toHtmlEscaped()); + } else if (reply->error() != QNetworkReply::NoError) { + errorReason = tr("There was an error accessing the 'token' endpoint:
%1") + .arg(reply->errorString().toHtmlEscaped()); + } else if (jsonParseError.error != QJsonParseError::NoError) { + errorReason = tr("Could not parse the JSON returned from the server:
%1") + .arg(jsonParseError.errorString()); + } else { + errorReason = tr("The reply from the server did not contain all expected fields"); + } + qCWarning(lcFlow2auth) << "Error when getting the loginUrl" << json << errorReason; + emit result(Error); + return; + } + + + _loginUrl = loginUrl; + _pollToken = pollToken; + _pollEndpoint = pollEndpoint; + + + ConfigFile cfg; + std::chrono::milliseconds polltime = cfg.remotePollInterval(); + qCInfo(lcFlow2auth) << "setting remote poll timer interval to" << polltime.count() << "msec"; + _pollTimer.setInterval(polltime.count()); + QObject::connect(&_pollTimer, &QTimer::timeout, this, &Flow2Auth::slotPollTimerTimeout); + _pollTimer.start(); + + + if (!openBrowser()) + return; + + + /*if (!_expectedUser.isNull() && user != _expectedUser) { + // Connected with the wrong user + QString message = tr("

Wrong user

" + "

You logged-in with user %1, but must login with user %2.
" + "Please log out of %3 in another tab, then click here " + "and log in as user %2

") + .arg(user, _expectedUser, Theme::instance()->appNameGUI(), + authorisationLink().toString(QUrl::FullyEncoded)); + httpReplyAndClose(socket, "200 OK", message.toUtf8().constData()); + // We are still listening on the socket so we will get the new connection + return; + } + const char *loginSuccessfullHtml = "

Login Successful

You can close this window.

"; + if (messageUrl.isValid()) { + httpReplyAndClose(socket, "303 See Other", loginSuccessfullHtml, + QByteArray("Location: " + messageUrl.toEncoded()).constData()); + } else { + httpReplyAndClose(socket, "200 OK", loginSuccessfullHtml); + } + emit result(LoggedIn, user, accessToken, refreshToken);*/ + }); +#if 0 + return; + + + // Listen on the socket to get a port which will be used in the redirect_uri + if (!_server.listen(QHostAddress::LocalHost)) { + emit result(NotSupported, QString()); + return; + } + + if (!openBrowser()) + return; + + QObject::connect(&_server, &QTcpServer::newConnection, this, [this] { + while (QPointer socket = _server.nextPendingConnection()) { + QObject::connect(socket.data(), &QTcpSocket::disconnected, socket.data(), &QTcpSocket::deleteLater); + QObject::connect(socket.data(), &QIODevice::readyRead, this, [this, socket] { + QByteArray peek = socket->peek(qMin(socket->bytesAvailable(), 4000LL)); //The code should always be within the first 4K + if (peek.indexOf('\n') < 0) + return; // wait until we find a \n + QRegExp rx("^GET /\\?code=([a-zA-Z0-9]+)[& ]"); // Match a /?code=... URL + if (rx.indexIn(peek) != 0) { + httpReplyAndClose(socket, "404 Not Found", "404 Not Found

404 Not Found

"); + return; + } + + QString code = rx.cap(1); // The 'code' is the first capture of the regexp + + QUrl requestToken = Utility::concatUrlPath(_account->url().toString(), QLatin1String("/index.php/apps/oauth2/api/v1/token")); + QNetworkRequest req; + req.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); + + QString basicAuth = QString("%1:%2").arg( + Theme::instance()->oauthClientId(), Theme::instance()->oauthClientSecret()); + req.setRawHeader("Authorization", "Basic " + basicAuth.toUtf8().toBase64()); + + auto requestBody = new QBuffer; + QUrlQuery arguments(QString( + "grant_type=authorization_code&code=%1&redirect_uri=http://localhost:%2") + .arg(code, QString::number(_server.serverPort()))); + requestBody->setData(arguments.query(QUrl::FullyEncoded).toLatin1()); + + auto job = _account->sendRequest("POST", requestToken, req, requestBody); + job->setTimeout(qMin(30 * 1000ll, job->timeoutMsec())); + QObject::connect(job, &SimpleNetworkJob::finishedSignal, this, [this, socket](QNetworkReply *reply) { + auto jsonData = reply->readAll(); + QJsonParseError jsonParseError; + QJsonObject json = QJsonDocument::fromJson(jsonData, &jsonParseError).object(); + QString accessToken = json["access_token"].toString(); + QString refreshToken = json["refresh_token"].toString(); + QString user = json["user_id"].toString(); + QUrl messageUrl = json["message_url"].toString(); + + if (reply->error() != QNetworkReply::NoError || jsonParseError.error != QJsonParseError::NoError + || json.isEmpty() || refreshToken.isEmpty() || accessToken.isEmpty() + || json["token_type"].toString() != QLatin1String("Bearer")) { + QString errorReason; + QString errorFromJson = json["error"].toString(); + if (!errorFromJson.isEmpty()) { + errorReason = tr("Error returned from the server: %1") + .arg(errorFromJson.toHtmlEscaped()); + } else if (reply->error() != QNetworkReply::NoError) { + errorReason = tr("There was an error accessing the 'token' endpoint:
%1") + .arg(reply->errorString().toHtmlEscaped()); + } else if (jsonParseError.error != QJsonParseError::NoError) { + errorReason = tr("Could not parse the JSON returned from the server:
%1") + .arg(jsonParseError.errorString()); + } else { + errorReason = tr("The reply from the server did not contain all expected fields"); + } + qCWarning(lcFlow2auth) << "Error when getting the accessToken" << json << errorReason; + httpReplyAndClose(socket, "500 Internal Server Error", + tr("

Login Error

%1

").arg(errorReason).toUtf8().constData()); + emit result(Error); + return; + } + if (!_expectedUser.isNull() && user != _expectedUser) { + // Connected with the wrong user + QString message = tr("

Wrong user

" + "

You logged-in with user %1, but must login with user %2.
" + "Please log out of %3 in another tab, then click here " + "and log in as user %2

") + .arg(user, _expectedUser, Theme::instance()->appNameGUI(), + authorisationLink().toString(QUrl::FullyEncoded)); + httpReplyAndClose(socket, "200 OK", message.toUtf8().constData()); + // We are still listening on the socket so we will get the new connection + return; + } + const char *loginSuccessfullHtml = "

Login Successful

You can close this window.

"; + if (messageUrl.isValid()) { + httpReplyAndClose(socket, "303 See Other", loginSuccessfullHtml, + QByteArray("Location: " + messageUrl.toEncoded()).constData()); + } else { + httpReplyAndClose(socket, "200 OK", loginSuccessfullHtml); + } + emit result(LoggedIn, user, accessToken, refreshToken); + }); + }); + } + }); +#endif +} + +void Flow2Auth::slotPollTimerTimeout() +{ + _pollTimer.stop(); + +// qCInfo(lcFlow2auth) << "reached poll timout"; + + // Step 2: Poll + QNetworkRequest req; + req.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); + + auto requestBody = new QBuffer; + QUrlQuery arguments(QString("token=%1").arg(_pollToken)); + requestBody->setData(arguments.query(QUrl::FullyEncoded).toLatin1()); + + auto job = _account->sendRequest("POST", _pollEndpoint, req, requestBody); + job->setTimeout(qMin(30 * 1000ll, job->timeoutMsec())); + QObject::connect(job, &SimpleNetworkJob::finishedSignal, this, [this](QNetworkReply *reply) { + auto jsonData = reply->readAll(); + QJsonParseError jsonParseError; + QJsonObject json = QJsonDocument::fromJson(jsonData, &jsonParseError).object(); + + QUrl serverUrl = json["server"].toString(); + QString loginName = json["loginName"].toString(); + QString appPassword = json["appPassword"].toString(); + + if (reply->error() != QNetworkReply::NoError || jsonParseError.error != QJsonParseError::NoError + || json.isEmpty() || serverUrl.isEmpty() || loginName.isEmpty() || appPassword.isEmpty()) { + QString errorReason; + QString errorFromJson = json["error"].toString(); + if (!errorFromJson.isEmpty()) { + errorReason = tr("Error returned from the server: %1") + .arg(errorFromJson.toHtmlEscaped()); + } else if (reply->error() != QNetworkReply::NoError) { + errorReason = tr("There was an error accessing the 'token' endpoint:
%1") + .arg(reply->errorString().toHtmlEscaped()); + } else if (jsonParseError.error != QJsonParseError::NoError) { + errorReason = tr("Could not parse the JSON returned from the server:
%1") + .arg(jsonParseError.errorString()); + } else { + errorReason = tr("The reply from the server did not contain all expected fields"); + } + qCDebug(lcFlow2auth) << "Error when polling for the appPassword" << json << errorReason; +// emit result(Error); + _pollTimer.start(); + return; + } + + qCInfo(lcFlow2auth) << "Success getting the appPassword for user: " << loginName << " on server: " << serverUrl; + + _account->setUrl(serverUrl); + + emit result(LoggedIn, loginName, appPassword); + }); +} + +QUrl Flow2Auth::authorisationLink() const +{ + return _loginUrl; + /*Q_ASSERT(_server.isListening()); + QUrlQuery query; + query.setQueryItems({ { QLatin1String("response_type"), QLatin1String("code") }, + { QLatin1String("client_id"), Theme::instance()->oauthClientId() }, + { QLatin1String("redirect_uri"), QLatin1String("http://localhost:") + QString::number(_server.serverPort()) } }); + if (!_expectedUser.isNull()) + query.addQueryItem("user", _expectedUser); + QUrl url = Utility::concatUrlPath(_account->url(), QLatin1String("/index.php/apps/oauth2/authorize"), query); + return url;*/ +} + +bool Flow2Auth::openBrowser() +{ + if (!QDesktopServices::openUrl(authorisationLink())) { + // We cannot open the browser, then we claim we don't support OAuth. + emit result(NotSupported, QString()); + return false; + } + return true; +} + +} // namespace OCC diff --git a/src/gui/creds/flow2auth.h b/src/gui/creds/flow2auth.h new file mode 100644 index 000000000..f979233c6 --- /dev/null +++ b/src/gui/creds/flow2auth.h @@ -0,0 +1,83 @@ +/* + * Copyright (C) by Olivier Goffart + * Copyright (C) by Michael Schuster + * + * 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; either version 2 of the License, or + * (at your option) any later version. + * + * 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 +#include +#include +#include "accountfwd.h" + +namespace OCC { + +/** + * Job that does the authorization grant and fetch the access token + * + * Normal workflow: + * + * --> start() + * | + * +----> openBrowser() open the browser to the login page, redirects to http://localhost:xxx + * | + * +----> _server starts listening on a TCP port waiting for an HTTP request with a 'code' + * | + * v + * request the access_token and the refresh_token via 'apps/oauth2/api/v1/token' + * | + * v + * emit result(...) + * + */ +class Flow2Auth : public QObject +{ + Q_OBJECT +public: + Flow2Auth(Account *account, QObject *parent) + : QObject(parent) + , _account(account) + { + } + ~Flow2Auth(); + + enum Result { NotSupported, + LoggedIn, + Error }; + Q_ENUM(Result); + void start(); + bool openBrowser(); + QUrl authorisationLink() const; + +signals: + /** + * The state has changed. + * when logged in, token has the value of the token. + */ + void result(Flow2Auth::Result result, const QString &user = QString(), const QString &token = QString(), const QString &refreshToken = QString()); + +private slots: + void slotPollTimerTimeout(); + +private: + Account *_account; + QUrl _loginUrl; + QString _pollToken; + QString _pollEndpoint; + QTimer _pollTimer; + +public: + QString _expectedUser; +}; + + +} // namespace OCC diff --git a/src/gui/owncloudsetupwizard.cpp b/src/gui/owncloudsetupwizard.cpp index 2a037ff84..653894874 100644 --- a/src/gui/owncloudsetupwizard.cpp +++ b/src/gui/owncloudsetupwizard.cpp @@ -105,9 +105,10 @@ void OwncloudSetupWizard::startWizard() { AccountPtr account = AccountManager::createAccount(); account->setCredentials(CredentialsFactory::create("dummy")); - account->setUrl(Theme::instance()->overrideServerUrl()); + account->setUrl(QUrl("https://127.0.0.1:8443/"));//Theme::instance()->overrideServerUrl()); _ocWizard->setAccount(account); _ocWizard->setOCUrl(account->url().toString()); +// _ocWizard->setOCUrl("https://127.0.0.1:8443/"); //account->url().toString()); _remoteFolder = Theme::instance()->defaultServerFolder(); // remoteFolder may be empty, which means / @@ -408,7 +409,7 @@ void OwncloudSetupWizard::slotAuthError() } _ocWizard->show(); - if (_ocWizard->currentId() == WizardCommon::Page_ShibbolethCreds || _ocWizard->currentId() == WizardCommon::Page_OAuthCreds) { + if (_ocWizard->currentId() == WizardCommon::Page_ShibbolethCreds || _ocWizard->currentId() == WizardCommon::Page_OAuthCreds || _ocWizard->currentId() == WizardCommon::Page_Flow2AuthCreds) { _ocWizard->back(); } _ocWizard->displayError(errorMsg, _ocWizard->currentId() == WizardCommon::Page_ServerSetup && checkDowngradeAdvised(reply)); diff --git a/src/gui/wizard/flow2authcredspage.cpp b/src/gui/wizard/flow2authcredspage.cpp new file mode 100644 index 000000000..2c0000ea4 --- /dev/null +++ b/src/gui/wizard/flow2authcredspage.cpp @@ -0,0 +1,135 @@ +/* + * Copyright (C) by Olivier Goffart + * Copyright (C) by Michael Schuster + * + * 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; either version 2 of the License, or + * (at your option) any later version. + * + * 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 +#include +#include + +#include "wizard/flow2authcredspage.h" +#include "theme.h" +#include "account.h" +#include "cookiejar.h" +#include "wizard/owncloudwizardcommon.h" +#include "wizard/owncloudwizard.h" +#include "creds/httpcredentialsgui.h" +#include "creds/credentialsfactory.h" + +namespace OCC { + +Flow2AuthCredsPage::Flow2AuthCredsPage() + : AbstractCredentialsWizardPage() +{ + _ui.setupUi(this); + + Theme *theme = Theme::instance(); + _ui.topLabel->hide(); + _ui.bottomLabel->hide(); + QVariant variant = theme->customMedia(Theme::oCSetupTop); + WizardCommon::setupCustomMedia(variant, _ui.topLabel); + variant = theme->customMedia(Theme::oCSetupBottom); + WizardCommon::setupCustomMedia(variant, _ui.bottomLabel); + + WizardCommon::initErrorLabel(_ui.errorLabel); + + setTitle(WizardCommon::titleTemplate().arg(tr("Connect to %1").arg(Theme::instance()->appNameGUI()))); + setSubTitle(WizardCommon::subTitleTemplate().arg(tr("Login in your browser (Login Flow v2)"))); + + connect(_ui.openLinkButton, &QCommandLinkButton::clicked, [this] { + _ui.errorLabel->hide(); + if (_asyncAuth) + _asyncAuth->openBrowser(); + }); + _ui.openLinkButton->setContextMenuPolicy(Qt::CustomContextMenu); + QObject::connect(_ui.openLinkButton, &QWidget::customContextMenuRequested, [this](const QPoint &pos) { + auto menu = new QMenu(_ui.openLinkButton); + menu->addAction(tr("Copy link to clipboard"), this, [this] { + if (_asyncAuth) + QApplication::clipboard()->setText(_asyncAuth->authorisationLink().toString(QUrl::FullyEncoded)); + }); + menu->setAttribute(Qt::WA_DeleteOnClose); + menu->popup(_ui.openLinkButton->mapToGlobal(pos)); + }); +} + +void Flow2AuthCredsPage::initializePage() +{ + OwncloudWizard *ocWizard = qobject_cast(wizard()); + Q_ASSERT(ocWizard); + ocWizard->account()->setCredentials(CredentialsFactory::create("http")); + _asyncAuth.reset(new Flow2Auth(ocWizard->account().data(), this)); + connect(_asyncAuth.data(), &Flow2Auth::result, this, &Flow2AuthCredsPage::asyncAuthResult, Qt::QueuedConnection); + _asyncAuth->start(); + wizard()->hide(); +} + +void OCC::Flow2AuthCredsPage::cleanupPage() +{ + // The next or back button was activated, show the wizard again + wizard()->show(); + _asyncAuth.reset(); +} + +void Flow2AuthCredsPage::asyncAuthResult(Flow2Auth::Result r, const QString &user, + const QString &token, const QString &refreshToken) +{ + switch (r) { + case Flow2Auth::NotSupported: { + /* Flow2Auth not supported (can't open browser), fallback to HTTP credentials */ + OwncloudWizard *ocWizard = qobject_cast(wizard()); + ocWizard->back(); + ocWizard->setAuthType(DetermineAuthTypeJob::Basic); + break; + } + case Flow2Auth::Error: + /* Error while getting the access token. (Timeout, or the server did not accept our client credentials */ + _ui.errorLabel->show(); + wizard()->show(); + break; + case Flow2Auth::LoggedIn: { + _token = token; + _user = user; + _refreshToken = refreshToken; + OwncloudWizard *ocWizard = qobject_cast(wizard()); + Q_ASSERT(ocWizard); + emit connectToOCUrl(ocWizard->account()->url().toString()); + break; + } + } +} + +int Flow2AuthCredsPage::nextId() const +{ + return WizardCommon::Page_AdvancedSetup; +} + +void Flow2AuthCredsPage::setConnected() +{ + wizard()->show(); +} + +AbstractCredentials *Flow2AuthCredsPage::getCredentials() const +{ + OwncloudWizard *ocWizard = qobject_cast(wizard()); + Q_ASSERT(ocWizard); + return new HttpCredentialsGui(_user, _token, _refreshToken, + ocWizard->_clientSslCertificate, ocWizard->_clientSslKey); +} + +bool Flow2AuthCredsPage::isComplete() const +{ + return false; /* We can never go forward manually */ +} + +} // namespace OCC diff --git a/src/gui/wizard/flow2authcredspage.h b/src/gui/wizard/flow2authcredspage.h new file mode 100644 index 000000000..85f1a0a9f --- /dev/null +++ b/src/gui/wizard/flow2authcredspage.h @@ -0,0 +1,63 @@ +/* + * Copyright (C) by Olivier Goffart + * Copyright (C) by Michael Schuster + * + * 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; either version 2 of the License, or + * (at your option) any later version. + * + * 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 +#include +#include +#include +#include + +#include "wizard/abstractcredswizardpage.h" +#include "accountfwd.h" +#include "creds/flow2auth.h" + +#include "ui_flow2authcredspage.h" + + +namespace OCC { + + +class Flow2AuthCredsPage : public AbstractCredentialsWizardPage +{ + Q_OBJECT +public: + Flow2AuthCredsPage(); + + AbstractCredentials *getCredentials() const override; + + void initializePage() override; + void cleanupPage() override; + int nextId() const override; + void setConnected(); + bool isComplete() const override; + +public Q_SLOTS: + void asyncAuthResult(Flow2Auth::Result, const QString &user, const QString &token, + const QString &reniewToken); + +signals: + void connectToOCUrl(const QString &); + +public: + QString _user; + QString _token; + QString _refreshToken; + QScopedPointer _asyncAuth; + Ui_Flow2AuthCredsPage _ui; +}; + +} // namespace OCC diff --git a/src/gui/wizard/flow2authcredspage.ui b/src/gui/wizard/flow2authcredspage.ui new file mode 100644 index 000000000..04c1d7217 --- /dev/null +++ b/src/gui/wizard/flow2authcredspage.ui @@ -0,0 +1,87 @@ + + + Flow2AuthCredsPage + + + + 0 + 0 + 424 + 373 + + + + Form + + + + + + TextLabel + + + Qt::RichText + + + Qt::AlignCenter + + + true + + + + + + + Please switch to your browser to proceed. + + + true + + + + + + + An error occurred while connecting. Please try again. + + + Qt::PlainText + + + + + + + Re-open Browser (or right-click to copy link) + + + + + + + Qt::Vertical + + + + 20 + 127 + + + + + + + + TextLabel + + + Qt::RichText + + + + + + + + diff --git a/src/gui/wizard/owncloudsetuppage.cpp b/src/gui/wizard/owncloudsetuppage.cpp index 4af0ca935..8cfa158d4 100644 --- a/src/gui/wizard/owncloudsetuppage.cpp +++ b/src/gui/wizard/owncloudsetuppage.cpp @@ -258,6 +258,8 @@ int OwncloudSetupPage::nextId() const return WizardCommon::Page_HttpCreds; case DetermineAuthTypeJob::OAuth: return WizardCommon::Page_OAuthCreds; + case DetermineAuthTypeJob::LoginFlowV2: + return WizardCommon::Page_Flow2AuthCreds; case DetermineAuthTypeJob::Shibboleth: return WizardCommon::Page_ShibbolethCreds; case DetermineAuthTypeJob::WebViewFlow: diff --git a/src/gui/wizard/owncloudwizard.cpp b/src/gui/wizard/owncloudwizard.cpp index 357b4e005..e4dda0fbd 100644 --- a/src/gui/wizard/owncloudwizard.cpp +++ b/src/gui/wizard/owncloudwizard.cpp @@ -27,6 +27,7 @@ #include "wizard/owncloudadvancedsetuppage.h" #include "wizard/owncloudwizardresultpage.h" #include "wizard/webviewpage.h" +#include "wizard/flow2authcredspage.h" #include "QProgressIndicator.h" @@ -45,6 +46,7 @@ OwncloudWizard::OwncloudWizard(QWidget *parent) , _setupPage(new OwncloudSetupPage(this)) , _httpCredsPage(new OwncloudHttpCredsPage(this)) , _browserCredsPage(new OwncloudOAuthCredsPage) + , _flow2CredsPage(new Flow2AuthCredsPage) #ifndef NO_SHIBBOLETH , _shibbolethCredsPage(new OwncloudShibbolethCredsPage) #endif @@ -59,6 +61,7 @@ OwncloudWizard::OwncloudWizard(QWidget *parent) setPage(WizardCommon::Page_ServerSetup, _setupPage); setPage(WizardCommon::Page_HttpCreds, _httpCredsPage); setPage(WizardCommon::Page_OAuthCreds, _browserCredsPage); + setPage(WizardCommon::Page_Flow2AuthCreds, _flow2CredsPage); #ifndef NO_SHIBBOLETH setPage(WizardCommon::Page_ShibbolethCreds, _shibbolethCredsPage); #endif @@ -76,6 +79,7 @@ OwncloudWizard::OwncloudWizard(QWidget *parent) connect(_setupPage, &OwncloudSetupPage::determineAuthType, this, &OwncloudWizard::determineAuthType); connect(_httpCredsPage, &OwncloudHttpCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl); connect(_browserCredsPage, &OwncloudOAuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl); + connect(_flow2CredsPage, &Flow2AuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl); #ifndef NO_SHIBBOLETH connect(_shibbolethCredsPage, &OwncloudShibbolethCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl); #endif @@ -129,11 +133,13 @@ QString OwncloudWizard::ocUrl() const return url; } -bool OwncloudWizard::registration() { +bool OwncloudWizard::registration() +{ return _registration; } -void OwncloudWizard::setRegistration(bool registration) { +void OwncloudWizard::setRegistration(bool registration) +{ _registration = registration; } @@ -162,6 +168,10 @@ void OwncloudWizard::successfulStep() _browserCredsPage->setConnected(); break; + case WizardCommon::Page_Flow2AuthCreds: + _flow2CredsPage->setConnected(); + break; + #ifndef NO_SHIBBOLETH case WizardCommon::Page_ShibbolethCreds: _shibbolethCredsPage->setConnected(); @@ -195,6 +205,8 @@ void OwncloudWizard::setAuthType(DetermineAuthTypeJob::AuthType type) #endif if (type == DetermineAuthTypeJob::OAuth) { _credentialsPage = _browserCredsPage; + } else if (type == DetermineAuthTypeJob::LoginFlowV2) { + _credentialsPage = _flow2CredsPage; } else if (type == DetermineAuthTypeJob::WebViewFlow) { _credentialsPage = _webViewPage; } else { // try Basic auth even for "Unknown" @@ -221,7 +233,7 @@ void OwncloudWizard::slotCurrentPageChanged(int id) } setOption(QWizard::HaveCustomButton1, id == WizardCommon::Page_AdvancedSetup); - if (id == WizardCommon::Page_AdvancedSetup && _credentialsPage == _browserCredsPage) { + if (id == WizardCommon::Page_AdvancedSetup && (_credentialsPage == _browserCredsPage || _credentialsPage == _flow2CredsPage)) { // For OAuth, disable the back button in the Page_AdvancedSetup because we don't want // to re-open the browser. button(QWizard::BackButton)->setEnabled(false); diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h index 1429709f1..0b7b715a8 100644 --- a/src/gui/wizard/owncloudwizard.h +++ b/src/gui/wizard/owncloudwizard.h @@ -40,6 +40,7 @@ class OwncloudWizardResultPage; class AbstractCredentials; class AbstractCredentialsWizardPage; class WebViewPage; +class Flow2AuthCredsPage; /** * @brief The OwncloudWizard class @@ -107,6 +108,7 @@ private: OwncloudWizardResultPage *_resultPage; AbstractCredentialsWizardPage *_credentialsPage; WebViewPage *_webViewPage; + Flow2AuthCredsPage *_flow2CredsPage; QStringList _setupLog; diff --git a/src/gui/wizard/owncloudwizardcommon.h b/src/gui/wizard/owncloudwizardcommon.h index c3174d15a..d1f7c08be 100644 --- a/src/gui/wizard/owncloudwizardcommon.h +++ b/src/gui/wizard/owncloudwizardcommon.h @@ -38,6 +38,7 @@ namespace WizardCommon { Page_HttpCreds, Page_ShibbolethCreds, Page_OAuthCreds, + Page_Flow2AuthCreds, Page_WebView, Page_AdvancedSetup, Page_Result diff --git a/src/libsync/networkjobs.cpp b/src/libsync/networkjobs.cpp index cf59b5ab6..c17889519 100644 --- a/src/libsync/networkjobs.cpp +++ b/src/libsync/networkjobs.cpp @@ -925,6 +925,11 @@ void DetermineAuthTypeJob::checkBothDone() result = WebViewFlow; } + // LoginFlowV2 > WebViewFlow > OAuth > Shib > Basic + if (_account->serverVersionInt() >= Account::makeServerVersion(16, 0, 0)) { + result = LoginFlowV2; + } + qCInfo(lcDetermineAuthTypeJob) << "Auth type for" << _account->davUrl() << "is" << result; emit authType(result); deleteLater(); diff --git a/src/libsync/networkjobs.h b/src/libsync/networkjobs.h index c2fefd611..51d8df63d 100644 --- a/src/libsync/networkjobs.h +++ b/src/libsync/networkjobs.h @@ -412,7 +412,8 @@ public: Basic, // also the catch-all fallback for backwards compatibility reasons OAuth, Shibboleth, - WebViewFlow + WebViewFlow, + LoginFlowV2 }; explicit DetermineAuthTypeJob(AccountPtr account, QObject *parent = nullptr); From 8fa55b97b448203eae391e23879bc05054902ee4 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Mon, 19 Aug 2019 01:41:42 +0200 Subject: [PATCH 141/192] Login Flow V2: 1st implementation, cleanup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is the first draft of the Login Flow V2 authorization method. See: https://docs.nextcloud.com/server/latest/developer_manual/client_apis/LoginFlow/index.html#login-flow-v2 - Adds the Login Fĺow V2 auth method - Adds ability to reinitiate a new request via UI TODO: - Implement re-auth upon logout -> login - Improve UI - SSL: Client certificate login is possible at the first time only but missing after relaunch Signed-off-by: Michael Schuster --- src/gui/creds/flow2auth.cpp | 187 +++++------------------------------- src/gui/creds/flow2auth.h | 22 +---- 2 files changed, 30 insertions(+), 179 deletions(-) diff --git a/src/gui/creds/flow2auth.cpp b/src/gui/creds/flow2auth.cpp index 0bf5041bf..76ff7c4ac 100644 --- a/src/gui/creds/flow2auth.cpp +++ b/src/gui/creds/flow2auth.cpp @@ -14,14 +14,12 @@ */ #include -//#include #include #include #include "account.h" #include "creds/flow2auth.h" #include #include -#include #include "theme.h" #include "networkjobs.h" #include "configfile.h" @@ -36,23 +34,35 @@ Flow2Auth::~Flow2Auth() void Flow2Auth::start() { + // Note: All startup code is in openBrowser() to allow reinitiate a new request with + // fresh tokens. Opening the same pollEndpoint link twice triggers an expiration + // message by the server (security, intended design). + openBrowser(); +} + +QUrl Flow2Auth::authorisationLink() const +{ + return _loginUrl; +} + +void Flow2Auth::openBrowser() +{ + _pollTimer.stop(); + // Step 1: Initiate a login, do an anonymous POST request QUrl url = Utility::concatUrlPath(_account->url().toString(), QLatin1String("/index.php/login/v2")); auto job = _account->sendRequest("POST", url); job->setTimeout(qMin(30 * 1000ll, job->timeoutMsec())); + QObject::connect(job, &SimpleNetworkJob::finishedSignal, this, [this](QNetworkReply *reply) { auto jsonData = reply->readAll(); QJsonParseError jsonParseError; QJsonObject json = QJsonDocument::fromJson(jsonData, &jsonParseError).object(); - //MessageBoxA(0, jsonData.toStdString().c_str(), "Flow2Auth::start()", 0); - QString pollToken = json.value("poll").toObject().value("token").toString(); + QString pollToken = json.value("poll").toObject().value("token").toString(); QString pollEndpoint = json.value("poll").toObject().value("endpoint").toString(); QUrl loginUrl = json["login"].toString(); - /*MessageBoxA(0, pollToken.toStdString().c_str(), "pollToken", 0); - MessageBoxA(0, pollEndpoint.toStdString().c_str(), "pollEndpoint", 0); - MessageBoxA(0, loginUrl.toString().toStdString().c_str(), "loginUrl", 0);*/ if (reply->error() != QNetworkReply::NoError || jsonParseError.error != QJsonParseError::NoError || json.isEmpty() || pollToken.isEmpty() || pollEndpoint.isEmpty() || loginUrl.isEmpty()) { @@ -76,153 +86,32 @@ void Flow2Auth::start() } - _loginUrl = loginUrl; + _loginUrl = loginUrl; _pollToken = pollToken; _pollEndpoint = pollEndpoint; - ConfigFile cfg; + ConfigFile cfg; std::chrono::milliseconds polltime = cfg.remotePollInterval(); qCInfo(lcFlow2auth) << "setting remote poll timer interval to" << polltime.count() << "msec"; - _pollTimer.setInterval(polltime.count()); + _pollTimer.setInterval(polltime.count()); QObject::connect(&_pollTimer, &QTimer::timeout, this, &Flow2Auth::slotPollTimerTimeout); _pollTimer.start(); - if (!openBrowser()) - return; + if (!QDesktopServices::openUrl(authorisationLink())) { + // TODO: Ask the user to copy and open the link instead of failing here! - - /*if (!_expectedUser.isNull() && user != _expectedUser) { - // Connected with the wrong user - QString message = tr("

Wrong user

" - "

You logged-in with user %1, but must login with user %2.
" - "Please log out of %3 in another tab, then click here " - "and log in as user %2

") - .arg(user, _expectedUser, Theme::instance()->appNameGUI(), - authorisationLink().toString(QUrl::FullyEncoded)); - httpReplyAndClose(socket, "200 OK", message.toUtf8().constData()); - // We are still listening on the socket so we will get the new connection - return; - } - const char *loginSuccessfullHtml = "

Login Successful

You can close this window.

"; - if (messageUrl.isValid()) { - httpReplyAndClose(socket, "303 See Other", loginSuccessfullHtml, - QByteArray("Location: " + messageUrl.toEncoded()).constData()); - } else { - httpReplyAndClose(socket, "200 OK", loginSuccessfullHtml); - } - emit result(LoggedIn, user, accessToken, refreshToken);*/ - }); -#if 0 - return; - - - // Listen on the socket to get a port which will be used in the redirect_uri - if (!_server.listen(QHostAddress::LocalHost)) { - emit result(NotSupported, QString()); - return; - } - - if (!openBrowser()) - return; - - QObject::connect(&_server, &QTcpServer::newConnection, this, [this] { - while (QPointer socket = _server.nextPendingConnection()) { - QObject::connect(socket.data(), &QTcpSocket::disconnected, socket.data(), &QTcpSocket::deleteLater); - QObject::connect(socket.data(), &QIODevice::readyRead, this, [this, socket] { - QByteArray peek = socket->peek(qMin(socket->bytesAvailable(), 4000LL)); //The code should always be within the first 4K - if (peek.indexOf('\n') < 0) - return; // wait until we find a \n - QRegExp rx("^GET /\\?code=([a-zA-Z0-9]+)[& ]"); // Match a /?code=... URL - if (rx.indexIn(peek) != 0) { - httpReplyAndClose(socket, "404 Not Found", "404 Not Found

404 Not Found

"); - return; - } - - QString code = rx.cap(1); // The 'code' is the first capture of the regexp - - QUrl requestToken = Utility::concatUrlPath(_account->url().toString(), QLatin1String("/index.php/apps/oauth2/api/v1/token")); - QNetworkRequest req; - req.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); - - QString basicAuth = QString("%1:%2").arg( - Theme::instance()->oauthClientId(), Theme::instance()->oauthClientSecret()); - req.setRawHeader("Authorization", "Basic " + basicAuth.toUtf8().toBase64()); - - auto requestBody = new QBuffer; - QUrlQuery arguments(QString( - "grant_type=authorization_code&code=%1&redirect_uri=http://localhost:%2") - .arg(code, QString::number(_server.serverPort()))); - requestBody->setData(arguments.query(QUrl::FullyEncoded).toLatin1()); - - auto job = _account->sendRequest("POST", requestToken, req, requestBody); - job->setTimeout(qMin(30 * 1000ll, job->timeoutMsec())); - QObject::connect(job, &SimpleNetworkJob::finishedSignal, this, [this, socket](QNetworkReply *reply) { - auto jsonData = reply->readAll(); - QJsonParseError jsonParseError; - QJsonObject json = QJsonDocument::fromJson(jsonData, &jsonParseError).object(); - QString accessToken = json["access_token"].toString(); - QString refreshToken = json["refresh_token"].toString(); - QString user = json["user_id"].toString(); - QUrl messageUrl = json["message_url"].toString(); - - if (reply->error() != QNetworkReply::NoError || jsonParseError.error != QJsonParseError::NoError - || json.isEmpty() || refreshToken.isEmpty() || accessToken.isEmpty() - || json["token_type"].toString() != QLatin1String("Bearer")) { - QString errorReason; - QString errorFromJson = json["error"].toString(); - if (!errorFromJson.isEmpty()) { - errorReason = tr("Error returned from the server: %1") - .arg(errorFromJson.toHtmlEscaped()); - } else if (reply->error() != QNetworkReply::NoError) { - errorReason = tr("There was an error accessing the 'token' endpoint:
%1") - .arg(reply->errorString().toHtmlEscaped()); - } else if (jsonParseError.error != QJsonParseError::NoError) { - errorReason = tr("Could not parse the JSON returned from the server:
%1") - .arg(jsonParseError.errorString()); - } else { - errorReason = tr("The reply from the server did not contain all expected fields"); - } - qCWarning(lcFlow2auth) << "Error when getting the accessToken" << json << errorReason; - httpReplyAndClose(socket, "500 Internal Server Error", - tr("

Login Error

%1

").arg(errorReason).toUtf8().constData()); - emit result(Error); - return; - } - if (!_expectedUser.isNull() && user != _expectedUser) { - // Connected with the wrong user - QString message = tr("

Wrong user

" - "

You logged-in with user %1, but must login with user %2.
" - "Please log out of %3 in another tab, then click here " - "and log in as user %2

") - .arg(user, _expectedUser, Theme::instance()->appNameGUI(), - authorisationLink().toString(QUrl::FullyEncoded)); - httpReplyAndClose(socket, "200 OK", message.toUtf8().constData()); - // We are still listening on the socket so we will get the new connection - return; - } - const char *loginSuccessfullHtml = "

Login Successful

You can close this window.

"; - if (messageUrl.isValid()) { - httpReplyAndClose(socket, "303 See Other", loginSuccessfullHtml, - QByteArray("Location: " + messageUrl.toEncoded()).constData()); - } else { - httpReplyAndClose(socket, "200 OK", loginSuccessfullHtml); - } - emit result(LoggedIn, user, accessToken, refreshToken); - }); - }); + // We cannot open the browser, then we claim we don't support OAuth. + emit result(NotSupported, QString()); } }); -#endif } void Flow2Auth::slotPollTimerTimeout() { _pollTimer.stop(); -// qCInfo(lcFlow2auth) << "reached poll timout"; - // Step 2: Poll QNetworkRequest req; req.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); @@ -259,8 +148,8 @@ void Flow2Auth::slotPollTimerTimeout() errorReason = tr("The reply from the server did not contain all expected fields"); } qCDebug(lcFlow2auth) << "Error when polling for the appPassword" << json << errorReason; -// emit result(Error); - _pollTimer.start(); + + _pollTimer.start(); return; } @@ -272,28 +161,4 @@ void Flow2Auth::slotPollTimerTimeout() }); } -QUrl Flow2Auth::authorisationLink() const -{ - return _loginUrl; - /*Q_ASSERT(_server.isListening()); - QUrlQuery query; - query.setQueryItems({ { QLatin1String("response_type"), QLatin1String("code") }, - { QLatin1String("client_id"), Theme::instance()->oauthClientId() }, - { QLatin1String("redirect_uri"), QLatin1String("http://localhost:") + QString::number(_server.serverPort()) } }); - if (!_expectedUser.isNull()) - query.addQueryItem("user", _expectedUser); - QUrl url = Utility::concatUrlPath(_account->url(), QLatin1String("/index.php/apps/oauth2/authorize"), query); - return url;*/ -} - -bool Flow2Auth::openBrowser() -{ - if (!QDesktopServices::openUrl(authorisationLink())) { - // We cannot open the browser, then we claim we don't support OAuth. - emit result(NotSupported, QString()); - return false; - } - return true; -} - } // namespace OCC diff --git a/src/gui/creds/flow2auth.h b/src/gui/creds/flow2auth.h index f979233c6..188865a0d 100644 --- a/src/gui/creds/flow2auth.h +++ b/src/gui/creds/flow2auth.h @@ -22,21 +22,9 @@ namespace OCC { /** - * Job that does the authorization grant and fetch the access token + * Job that does the authorization, grants and fetches the access token via Login Flow v2 * - * Normal workflow: - * - * --> start() - * | - * +----> openBrowser() open the browser to the login page, redirects to http://localhost:xxx - * | - * +----> _server starts listening on a TCP port waiting for an HTTP request with a 'code' - * | - * v - * request the access_token and the refresh_token via 'apps/oauth2/api/v1/token' - * | - * v - * emit result(...) + * See: https://docs.nextcloud.com/server/latest/developer_manual/client_apis/LoginFlow/index.html#login-flow-v2 * */ class Flow2Auth : public QObject @@ -55,7 +43,7 @@ public: Error }; Q_ENUM(Result); void start(); - bool openBrowser(); + void openBrowser(); QUrl authorisationLink() const; signals: @@ -63,6 +51,7 @@ signals: * The state has changed. * when logged in, token has the value of the token. */ + // TODO: Remove refreshToken void result(Flow2Auth::Result result, const QString &user = QString(), const QString &token = QString(), const QString &refreshToken = QString()); private slots: @@ -74,9 +63,6 @@ private: QString _pollToken; QString _pollEndpoint; QTimer _pollTimer; - -public: - QString _expectedUser; }; From 12f2ea672876d770bc3f5d8f6b3e39d888b07162 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Mon, 19 Aug 2019 20:40:30 +0200 Subject: [PATCH 142/192] Login Flow V2: remove static test url Signed-off-by: Michael Schuster --- src/gui/connectionvalidator.cpp | 3 --- src/gui/owncloudsetupwizard.cpp | 3 +-- src/libsync/networkjobs.h | 2 +- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/gui/connectionvalidator.cpp b/src/gui/connectionvalidator.cpp index 27b1a4b9a..b2f04d9b5 100644 --- a/src/gui/connectionvalidator.cpp +++ b/src/gui/connectionvalidator.cpp @@ -233,9 +233,6 @@ void ConnectionValidator::checkServerCapabilities() QObject::connect(configJob, &JsonApiJob::jsonReceived, _account.data(), [=](const QJsonDocument &json) { ocsConfigReceived(json, account); - - /*int size = 0; - MessageBoxA(0, json.rawData(&size), "bla", MB_ICONINFORMATION);*/ }); configJob->start(); } diff --git a/src/gui/owncloudsetupwizard.cpp b/src/gui/owncloudsetupwizard.cpp index 653894874..fbe07e8b2 100644 --- a/src/gui/owncloudsetupwizard.cpp +++ b/src/gui/owncloudsetupwizard.cpp @@ -105,10 +105,9 @@ void OwncloudSetupWizard::startWizard() { AccountPtr account = AccountManager::createAccount(); account->setCredentials(CredentialsFactory::create("dummy")); - account->setUrl(QUrl("https://127.0.0.1:8443/"));//Theme::instance()->overrideServerUrl()); + account->setUrl(Theme::instance()->overrideServerUrl()); _ocWizard->setAccount(account); _ocWizard->setOCUrl(account->url().toString()); -// _ocWizard->setOCUrl("https://127.0.0.1:8443/"); //account->url().toString()); _remoteFolder = Theme::instance()->defaultServerFolder(); // remoteFolder may be empty, which means / diff --git a/src/libsync/networkjobs.h b/src/libsync/networkjobs.h index 51d8df63d..d0829b463 100644 --- a/src/libsync/networkjobs.h +++ b/src/libsync/networkjobs.h @@ -413,7 +413,7 @@ public: OAuth, Shibboleth, WebViewFlow, - LoginFlowV2 + LoginFlowV2 }; explicit DetermineAuthTypeJob(AccountPtr account, QObject *parent = nullptr); From 628bab92c4424ea4d797d5adea179f02ca5b0ee7 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Fri, 23 Aug 2019 10:25:34 +0200 Subject: [PATCH 143/192] fix comment typo in webflowcredentials.cpp Signed-off-by: Michael Schuster --- src/gui/creds/webflowcredentials.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/creds/webflowcredentials.cpp b/src/gui/creds/webflowcredentials.cpp index 3ff15b26b..70a709470 100644 --- a/src/gui/creds/webflowcredentials.cpp +++ b/src/gui/creds/webflowcredentials.cpp @@ -102,7 +102,7 @@ bool WebFlowCredentials::ready() const { void WebFlowCredentials::fetchFromKeychain() { _wasFetched = true; - // Make sure we get the user fromt he config file + // Make sure we get the user from the config file fetchUser(); if (ready()) { From aa93a04fd69721a0d73810538093a1ec14a64107 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Fri, 23 Aug 2019 11:04:30 +0200 Subject: [PATCH 144/192] fix comment typo in httpcredentials.cpp Signed-off-by: Michael Schuster --- src/libsync/creds/httpcredentials.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libsync/creds/httpcredentials.cpp b/src/libsync/creds/httpcredentials.cpp index 3090bdb30..fbe01331e 100644 --- a/src/libsync/creds/httpcredentials.cpp +++ b/src/libsync/creds/httpcredentials.cpp @@ -173,7 +173,7 @@ void HttpCredentials::fetchFromKeychain() fetchUser(); if (!_ready && !_refreshToken.isEmpty()) { - // This happens if the credentials are still loaded from the keychain, bur we are called + // This happens if the credentials are still loaded from the keychain, but we are called // here because the auth is invalid, so this means we simply need to refresh the credentials refreshAccessToken(); return; From 7add98e9a316e42a28e55a5296fef30f557d2461 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Fri, 23 Aug 2019 11:42:12 +0200 Subject: [PATCH 145/192] UI: don't let Flow2 and OAuth hide the wizard Signed-off-by: Michael Schuster --- src/gui/wizard/flow2authcredspage.cpp | 4 +++- src/gui/wizard/owncloudoauthcredspage.cpp | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gui/wizard/flow2authcredspage.cpp b/src/gui/wizard/flow2authcredspage.cpp index 2c0000ea4..e5914a10b 100644 --- a/src/gui/wizard/flow2authcredspage.cpp +++ b/src/gui/wizard/flow2authcredspage.cpp @@ -71,7 +71,9 @@ void Flow2AuthCredsPage::initializePage() _asyncAuth.reset(new Flow2Auth(ocWizard->account().data(), this)); connect(_asyncAuth.data(), &Flow2Auth::result, this, &Flow2AuthCredsPage::asyncAuthResult, Qt::QueuedConnection); _asyncAuth->start(); - wizard()->hide(); + + // Don't hide the wizard (avoid user confusion)! + //wizard()->hide(); } void OCC::Flow2AuthCredsPage::cleanupPage() diff --git a/src/gui/wizard/owncloudoauthcredspage.cpp b/src/gui/wizard/owncloudoauthcredspage.cpp index a32ccdb87..174aa05c4 100644 --- a/src/gui/wizard/owncloudoauthcredspage.cpp +++ b/src/gui/wizard/owncloudoauthcredspage.cpp @@ -70,7 +70,9 @@ void OwncloudOAuthCredsPage::initializePage() _asyncAuth.reset(new OAuth(ocWizard->account().data(), this)); connect(_asyncAuth.data(), &OAuth::result, this, &OwncloudOAuthCredsPage::asyncAuthResult, Qt::QueuedConnection); _asyncAuth->start(); - wizard()->hide(); + + // Don't hide the wizard (avoid user confusion)! + //wizard()->hide(); } void OCC::OwncloudOAuthCredsPage::cleanupPage() From fd8345ccbe623ebee624477d2abe002bad181298 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Sat, 24 Aug 2019 16:21:44 +0200 Subject: [PATCH 146/192] Login Flow V2: adds re-auth upon logout, improvements - Implements re-auth upon logout -> login - Improves UI and security TODO: - SSL: Client certificate login is possible at the first time only but missing after relaunch Signed-off-by: Michael Schuster --- src/gui/CMakeLists.txt | 2 + src/gui/creds/flow2auth.cpp | 38 ++++--- src/gui/creds/flow2auth.h | 5 +- src/gui/creds/webflowcredentials.cpp | 25 +++-- src/gui/creds/webflowcredentialsdialog.cpp | 49 +++++++-- src/gui/creds/webflowcredentialsdialog.h | 13 ++- src/gui/wizard/flow2authcredspage.cpp | 21 ++-- src/gui/wizard/flow2authcredspage.h | 6 +- src/gui/wizard/flow2authwidget.cpp | 113 +++++++++++++++++++++ src/gui/wizard/flow2authwidget.h | 52 ++++++++++ src/gui/wizard/flow2authwidget.ui | 99 ++++++++++++++++++ 11 files changed, 376 insertions(+), 47 deletions(-) create mode 100644 src/gui/wizard/flow2authwidget.cpp create mode 100644 src/gui/wizard/flow2authwidget.h create mode 100644 src/gui/wizard/flow2authwidget.ui diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 0fb5970ad..5db93a640 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -39,6 +39,7 @@ set(client_UI_SRCS wizard/owncloudhttpcredspage.ui wizard/owncloudoauthcredspage.ui wizard/flow2authcredspage.ui + wizard/flow2authwidget.ui wizard/owncloudsetupnocredspage.ui wizard/owncloudwizardresultpage.ui wizard/webview.ui @@ -114,6 +115,7 @@ set(client_SRCS wizard/owncloudhttpcredspage.cpp wizard/owncloudoauthcredspage.cpp wizard/flow2authcredspage.cpp + wizard/flow2authwidget.cpp wizard/owncloudsetuppage.cpp wizard/owncloudwizardcommon.cpp wizard/owncloudwizard.cpp diff --git a/src/gui/creds/flow2auth.cpp b/src/gui/creds/flow2auth.cpp index 76ff7c4ac..e570e01d4 100644 --- a/src/gui/creds/flow2auth.cpp +++ b/src/gui/creds/flow2auth.cpp @@ -34,9 +34,9 @@ Flow2Auth::~Flow2Auth() void Flow2Auth::start() { - // Note: All startup code is in openBrowser() to allow reinitiate a new request with - // fresh tokens. Opening the same pollEndpoint link twice triggers an expiration - // message by the server (security, intended design). + // Note: All startup code is in openBrowser() to allow reinitiate a new request with + // fresh tokens. Opening the same pollEndpoint link twice triggers an expiration + // message by the server (security, intended design). openBrowser(); } @@ -91,6 +91,7 @@ void Flow2Auth::openBrowser() _pollEndpoint = pollEndpoint; + // Start polling ConfigFile cfg; std::chrono::milliseconds polltime = cfg.remotePollInterval(); qCInfo(lcFlow2auth) << "setting remote poll timer interval to" << polltime.count() << "msec"; @@ -99,10 +100,10 @@ void Flow2Auth::openBrowser() _pollTimer.start(); - if (!QDesktopServices::openUrl(authorisationLink())) { - // TODO: Ask the user to copy and open the link instead of failing here! - - // We cannot open the browser, then we claim we don't support OAuth. + // Try to open Browser + if (!QDesktopServices::openUrl(authorisationLink())) { + // We cannot open the browser, then we claim we don't support Flow2Auth. + // Our UI callee should ask the user to copy and open the link. emit result(NotSupported, QString()); } }); @@ -110,7 +111,7 @@ void Flow2Auth::openBrowser() void Flow2Auth::slotPollTimerTimeout() { - _pollTimer.stop(); + _pollTimer.stop(); // Step 2: Poll QNetworkRequest req; @@ -122,6 +123,7 @@ void Flow2Auth::slotPollTimerTimeout() auto job = _account->sendRequest("POST", _pollEndpoint, req, requestBody); job->setTimeout(qMin(30 * 1000ll, job->timeoutMsec())); + QObject::connect(job, &SimpleNetworkJob::finishedSignal, this, [this](QNetworkReply *reply) { auto jsonData = reply->readAll(); QJsonParseError jsonParseError; @@ -149,15 +151,25 @@ void Flow2Auth::slotPollTimerTimeout() } qCDebug(lcFlow2auth) << "Error when polling for the appPassword" << json << errorReason; - _pollTimer.start(); + // Forget sensitive data + appPassword.clear(); + loginName.clear(); + + // Failed: poll again + _pollTimer.start(); return; } - qCInfo(lcFlow2auth) << "Success getting the appPassword for user: " << loginName << " on server: " << serverUrl; - - _account->setUrl(serverUrl); + // Success + qCInfo(lcFlow2auth) << "Success getting the appPassword for user: " << loginName << ", server: " << serverUrl.toString(); - emit result(LoggedIn, loginName, appPassword); + _account->setUrl(serverUrl); + + emit result(LoggedIn, loginName, appPassword); + + // Forget sensitive data + appPassword.clear(); + loginName.clear(); }); } diff --git a/src/gui/creds/flow2auth.h b/src/gui/creds/flow2auth.h index 188865a0d..b53834a11 100644 --- a/src/gui/creds/flow2auth.h +++ b/src/gui/creds/flow2auth.h @@ -49,10 +49,9 @@ public: signals: /** * The state has changed. - * when logged in, token has the value of the token. + * when logged in, appPassword has the value of the app password. */ - // TODO: Remove refreshToken - void result(Flow2Auth::Result result, const QString &user = QString(), const QString &token = QString(), const QString &refreshToken = QString()); + void result(Flow2Auth::Result result, const QString &user = QString(), const QString &appPassword = QString()); private slots: void slotPollTimerTimeout(); diff --git a/src/gui/creds/webflowcredentials.cpp b/src/gui/creds/webflowcredentials.cpp index 70a709470..ecc0e61d9 100644 --- a/src/gui/creds/webflowcredentials.cpp +++ b/src/gui/creds/webflowcredentials.cpp @@ -114,12 +114,17 @@ void WebFlowCredentials::fetchFromKeychain() { } void WebFlowCredentials::askFromUser() { - _askDialog = new WebFlowCredentialsDialog(); + // LoginFlowV2 > WebViewFlow > OAuth > Shib > Basic + bool useFlow2 = (_account->serverVersionInt() >= Account::makeServerVersion(16, 0, 0)); - QUrl url = _account->url(); - QString path = url.path() + "/index.php/login/flow"; - url.setPath(path); - _askDialog->setUrl(url); + _askDialog = new WebFlowCredentialsDialog(_account, useFlow2); + + if (!useFlow2) { + QUrl url = _account->url(); + QString path = url.path() + "/index.php/login/flow"; + url.setPath(path); + _askDialog->setUrl(url); + } QString msg = tr("You have been logged out of %1 as user %2. Please login again") .arg(_account->displayName(), _user); @@ -142,10 +147,12 @@ void WebFlowCredentials::slotAskFromUserCredentialsProvided(const QString &user, .arg(_user); _askDialog->setError(msg); - QUrl url = _account->url(); - QString path = url.path() + "/index.php/login/flow"; - url.setPath(path); - _askDialog->setUrl(url); + if (!_askDialog->isUsingFlow2()) { + QUrl url = _account->url(); + QString path = url.path() + "/index.php/login/flow"; + url.setPath(path); + _askDialog->setUrl(url); + } return; } diff --git a/src/gui/creds/webflowcredentialsdialog.cpp b/src/gui/creds/webflowcredentialsdialog.cpp index 2d22ba06e..30a327afa 100644 --- a/src/gui/creds/webflowcredentialsdialog.cpp +++ b/src/gui/creds/webflowcredentialsdialog.cpp @@ -3,13 +3,21 @@ #include #include +#include "theme.h" +#include "wizard/owncloudwizardcommon.h" #include "wizard/webview.h" +#include "wizard/flow2authwidget.h" namespace OCC { -WebFlowCredentialsDialog::WebFlowCredentialsDialog(QWidget *parent) - : QDialog(parent) +WebFlowCredentialsDialog::WebFlowCredentialsDialog(Account *account, bool useFlow2, QWidget *parent) + : QDialog(parent), + _useFlow2(useFlow2), + _flow2AuthWidget(nullptr), + _webView(nullptr) { + setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); + _layout = new QVBoxLayout(this); //QString msg = tr("You have been logged out of %1 as user %2, please login again") @@ -17,28 +25,44 @@ WebFlowCredentialsDialog::WebFlowCredentialsDialog(QWidget *parent) _infoLabel = new QLabel(); _layout->addWidget(_infoLabel); - _webView = new WebView(); - _layout->addWidget(_webView); + if (_useFlow2) { + _flow2AuthWidget = new Flow2AuthWidget(account); + _layout->addWidget(_flow2AuthWidget); + + connect(_flow2AuthWidget, &Flow2AuthWidget::urlCatched, this, &WebFlowCredentialsDialog::urlCatched); + } else { + _webView = new WebView(); + _layout->addWidget(_webView); + + connect(_webView, &WebView::urlCatched, this, &WebFlowCredentialsDialog::urlCatched); + } _errorLabel = new QLabel(); _errorLabel->hide(); _layout->addWidget(_errorLabel); - setLayout(_layout); + Theme *theme = Theme::instance(); + WizardCommon::initErrorLabel(_errorLabel); - connect(_webView, &WebView::urlCatched, this, &WebFlowCredentialsDialog::urlCatched); + setLayout(_layout); } void WebFlowCredentialsDialog::closeEvent(QCloseEvent* e) { Q_UNUSED(e); - // Force calling WebView::~WebView() earlier so that _profile and _page are - // deleted in the correct order. - delete _webView; + if (_webView) { + // Force calling WebView::~WebView() earlier so that _profile and _page are + // deleted in the correct order. + delete _webView; + } + + if (_flow2AuthWidget) + delete _flow2AuthWidget; } void WebFlowCredentialsDialog::setUrl(const QUrl &url) { - _webView->setUrl(url); + if (_webView) + _webView->setUrl(url); } void WebFlowCredentialsDialog::setInfo(const QString &msg) { @@ -46,6 +70,11 @@ void WebFlowCredentialsDialog::setInfo(const QString &msg) { } void WebFlowCredentialsDialog::setError(const QString &error) { + if (_useFlow2 && _flow2AuthWidget) { + _flow2AuthWidget->setError(error); + return; + } + if (error.isEmpty()) { _errorLabel->hide(); } else { diff --git a/src/gui/creds/webflowcredentialsdialog.h b/src/gui/creds/webflowcredentialsdialog.h index 9849ee3a4..4e1f21c0d 100644 --- a/src/gui/creds/webflowcredentialsdialog.h +++ b/src/gui/creds/webflowcredentialsdialog.h @@ -4,23 +4,30 @@ #include #include +#include "accountfwd.h" + class QLabel; class QVBoxLayout; namespace OCC { class WebView; +class Flow2AuthWidget; class WebFlowCredentialsDialog : public QDialog { Q_OBJECT public: - WebFlowCredentialsDialog(QWidget *parent = nullptr); + WebFlowCredentialsDialog(Account *account, bool useFlow2, QWidget *parent = nullptr); void setUrl(const QUrl &url); void setInfo(const QString &msg); void setError(const QString &error); + const bool isUsingFlow2() const { + return _useFlow2; + } + protected: void closeEvent(QCloseEvent * e) override; @@ -28,7 +35,11 @@ signals: void urlCatched(const QString user, const QString pass, const QString host); private: + bool _useFlow2; + + Flow2AuthWidget *_flow2AuthWidget; WebView *_webView; + QLabel *_errorLabel; QLabel *_infoLabel; QVBoxLayout *_layout; diff --git a/src/gui/wizard/flow2authcredspage.cpp b/src/gui/wizard/flow2authcredspage.cpp index e5914a10b..91e5415bb 100644 --- a/src/gui/wizard/flow2authcredspage.cpp +++ b/src/gui/wizard/flow2authcredspage.cpp @@ -81,17 +81,25 @@ void OCC::Flow2AuthCredsPage::cleanupPage() // The next or back button was activated, show the wizard again wizard()->show(); _asyncAuth.reset(); + + // Forget sensitive data + _appPassword.clear(); + _user.clear(); } void Flow2AuthCredsPage::asyncAuthResult(Flow2Auth::Result r, const QString &user, - const QString &token, const QString &refreshToken) + const QString &appPassword) { switch (r) { case Flow2Auth::NotSupported: { - /* Flow2Auth not supported (can't open browser), fallback to HTTP credentials */ - OwncloudWizard *ocWizard = qobject_cast(wizard()); + /* Flow2Auth not supported (can't open browser) */ + _ui.errorLabel->setText(tr("Unable to open the Browser, please copy the link to your Browser.")); + _ui.errorLabel->show(); + + /* Don't fallback to HTTP credentials */ + /*OwncloudWizard *ocWizard = qobject_cast(wizard()); ocWizard->back(); - ocWizard->setAuthType(DetermineAuthTypeJob::Basic); + ocWizard->setAuthType(DetermineAuthTypeJob::Basic);*/ break; } case Flow2Auth::Error: @@ -100,9 +108,8 @@ void Flow2AuthCredsPage::asyncAuthResult(Flow2Auth::Result r, const QString &use wizard()->show(); break; case Flow2Auth::LoggedIn: { - _token = token; _user = user; - _refreshToken = refreshToken; + _appPassword = appPassword; OwncloudWizard *ocWizard = qobject_cast(wizard()); Q_ASSERT(ocWizard); emit connectToOCUrl(ocWizard->account()->url().toString()); @@ -125,7 +132,7 @@ AbstractCredentials *Flow2AuthCredsPage::getCredentials() const { OwncloudWizard *ocWizard = qobject_cast(wizard()); Q_ASSERT(ocWizard); - return new HttpCredentialsGui(_user, _token, _refreshToken, + return new HttpCredentialsGui(_user, _appPassword, QString(), ocWizard->_clientSslCertificate, ocWizard->_clientSslKey); } diff --git a/src/gui/wizard/flow2authcredspage.h b/src/gui/wizard/flow2authcredspage.h index 85f1a0a9f..bffcf68b3 100644 --- a/src/gui/wizard/flow2authcredspage.h +++ b/src/gui/wizard/flow2authcredspage.h @@ -46,16 +46,14 @@ public: bool isComplete() const override; public Q_SLOTS: - void asyncAuthResult(Flow2Auth::Result, const QString &user, const QString &token, - const QString &reniewToken); + void asyncAuthResult(Flow2Auth::Result, const QString &user, const QString &appPassword); signals: void connectToOCUrl(const QString &); public: QString _user; - QString _token; - QString _refreshToken; + QString _appPassword; QScopedPointer _asyncAuth; Ui_Flow2AuthCredsPage _ui; }; diff --git a/src/gui/wizard/flow2authwidget.cpp b/src/gui/wizard/flow2authwidget.cpp new file mode 100644 index 000000000..300b2e83d --- /dev/null +++ b/src/gui/wizard/flow2authwidget.cpp @@ -0,0 +1,113 @@ +/* + * Copyright (C) by Michael Schuster + * + * 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; either version 2 of the License, or + * (at your option) any later version. + * + * 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 "flow2authwidget.h" + +#include +#include +#include +#include +#include + +#include +#include + +#include "common/utility.h" +#include "account.h" +#include "theme.h" +#include "wizard/owncloudwizardcommon.h" + +namespace OCC { + +Q_LOGGING_CATEGORY(lcFlow2AuthWidget, "gui.wizard.flow2authwidget", QtInfoMsg) + + +Flow2AuthWidget::Flow2AuthWidget(Account *account, QWidget *parent) + : QWidget(parent), + _account(account), + _ui() +{ + _ui.setupUi(this); + + Theme *theme = Theme::instance(); + _ui.topLabel->hide(); + _ui.bottomLabel->hide(); + QVariant variant = theme->customMedia(Theme::oCSetupTop); + WizardCommon::setupCustomMedia(variant, _ui.topLabel); + variant = theme->customMedia(Theme::oCSetupBottom); + WizardCommon::setupCustomMedia(variant, _ui.bottomLabel); + + WizardCommon::initErrorLabel(_ui.errorLabel); + + connect(_ui.openLinkButton, &QCommandLinkButton::clicked, [this] { + _ui.errorLabel->hide(); + if (_asyncAuth) + _asyncAuth->openBrowser(); + }); + _ui.openLinkButton->setContextMenuPolicy(Qt::CustomContextMenu); + QObject::connect(_ui.openLinkButton, &QWidget::customContextMenuRequested, [this](const QPoint &pos) { + auto menu = new QMenu(_ui.openLinkButton); + menu->addAction(tr("Copy link to clipboard"), this, [this] { + if (_asyncAuth) + QApplication::clipboard()->setText(_asyncAuth->authorisationLink().toString(QUrl::FullyEncoded)); + }); + menu->setAttribute(Qt::WA_DeleteOnClose); + menu->popup(_ui.openLinkButton->mapToGlobal(pos)); + }); + + _asyncAuth.reset(new Flow2Auth(_account, this)); + connect(_asyncAuth.data(), &Flow2Auth::result, this, &Flow2AuthWidget::asyncAuthResult, Qt::QueuedConnection); + _asyncAuth->start(); +} + +void Flow2AuthWidget::asyncAuthResult(Flow2Auth::Result r, const QString &user, + const QString &appPassword) +{ + switch (r) { + case Flow2Auth::NotSupported: + /* Flow2Auth can't open browser */ + _ui.errorLabel->setText(tr("Unable to open the Browser, please copy the link to your Browser.")); + _ui.errorLabel->show(); + break; + case Flow2Auth::Error: + /* Error while getting the access token. (Timeout, or the server did not accept our client credentials */ + _ui.errorLabel->show(); + break; + case Flow2Auth::LoggedIn: { + _user = user; + _appPassword = appPassword; + emit urlCatched(_user, _appPassword, QString()); + break; + } + } +} + +void Flow2AuthWidget::setError(const QString &error) { + if (error.isEmpty()) { + _ui.errorLabel->hide(); + } else { + _ui.errorLabel->setText(error); + _ui.errorLabel->show(); + } +} + +Flow2AuthWidget::~Flow2AuthWidget() { + _asyncAuth.reset(); + + // Forget sensitive data + _appPassword.clear(); + _user.clear(); +} + +} diff --git a/src/gui/wizard/flow2authwidget.h b/src/gui/wizard/flow2authwidget.h new file mode 100644 index 000000000..cf04d9193 --- /dev/null +++ b/src/gui/wizard/flow2authwidget.h @@ -0,0 +1,52 @@ +/* + * Copyright (C) by Michael Schuster + * + * 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; either version 2 of the License, or + * (at your option) any later version. + * + * 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 FLOW2AUTHWIDGET_H +#define FLOW2AUTHWIDGET_H + +#include +#include + +#include "creds/flow2auth.h" + +#include "ui_flow2authwidget.h" + +namespace OCC { + +class Flow2AuthWidget : public QWidget +{ + Q_OBJECT +public: + Flow2AuthWidget(Account *account, QWidget *parent = nullptr); + virtual ~Flow2AuthWidget(); + + void setError(const QString &error); + +public Q_SLOTS: + void asyncAuthResult(Flow2Auth::Result, const QString &user, const QString &appPassword); + +signals: + void urlCatched(const QString user, const QString pass, const QString host); + +private: + Account *_account; + QString _user; + QString _appPassword; + QScopedPointer _asyncAuth; + Ui_Flow2AuthWidget _ui; +}; + +} + +#endif // FLOW2AUTHWIDGET_H diff --git a/src/gui/wizard/flow2authwidget.ui b/src/gui/wizard/flow2authwidget.ui new file mode 100644 index 000000000..e73ae6a1d --- /dev/null +++ b/src/gui/wizard/flow2authwidget.ui @@ -0,0 +1,99 @@ + + + Flow2AuthWidget + + + + 0 + 0 + 500 + 280 + + + + + 0 + 0 + + + + + 500 + 280 + + + + Form + + + + + + TextLabel + + + Qt::RichText + + + Qt::AlignCenter + + + true + + + + + + + Please switch to your browser to proceed. + + + true + + + + + + + An error occurred while connecting. Please try again. + + + Qt::PlainText + + + + + + + Re-open Browser (or right-click to copy link) + + + + + + + Qt::Vertical + + + + 20 + 127 + + + + + + + + TextLabel + + + Qt::RichText + + + + + + + + From 50cd6af394f666065f386d1d55e7d6a90e0d9c9e Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Mon, 26 Aug 2019 20:04:23 +0200 Subject: [PATCH 147/192] Build a webflowcredentials Signed-off-by: Roeland Jago Douma --- src/gui/wizard/flow2authcredspage.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/gui/wizard/flow2authcredspage.cpp b/src/gui/wizard/flow2authcredspage.cpp index 91e5415bb..b52095f0d 100644 --- a/src/gui/wizard/flow2authcredspage.cpp +++ b/src/gui/wizard/flow2authcredspage.cpp @@ -23,8 +23,8 @@ #include "cookiejar.h" #include "wizard/owncloudwizardcommon.h" #include "wizard/owncloudwizard.h" -#include "creds/httpcredentialsgui.h" #include "creds/credentialsfactory.h" +#include "creds/webflowcredentials.h" namespace OCC { @@ -132,8 +132,12 @@ AbstractCredentials *Flow2AuthCredsPage::getCredentials() const { OwncloudWizard *ocWizard = qobject_cast(wizard()); Q_ASSERT(ocWizard); - return new HttpCredentialsGui(_user, _appPassword, QString(), - ocWizard->_clientSslCertificate, ocWizard->_clientSslKey); + return new WebFlowCredentials( + _user, + _appPassword, + ocWizard->_clientSslCertificate, + ocWizard->_clientSslKey + ); } bool Flow2AuthCredsPage::isComplete() const From 302ca0e04e4527d4eb08c78999605cffe7efacaa Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Mon, 26 Aug 2019 20:41:14 +0200 Subject: [PATCH 148/192] Fix some compiler warnings Signed-off-by: Roeland Jago Douma --- src/gui/creds/webflowcredentialsdialog.cpp | 3 +-- src/gui/creds/webflowcredentialsdialog.h | 2 +- src/gui/wizard/owncloudwizard.h | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/gui/creds/webflowcredentialsdialog.cpp b/src/gui/creds/webflowcredentialsdialog.cpp index 30a327afa..9971f8f34 100644 --- a/src/gui/creds/webflowcredentialsdialog.cpp +++ b/src/gui/creds/webflowcredentialsdialog.cpp @@ -41,14 +41,13 @@ WebFlowCredentialsDialog::WebFlowCredentialsDialog(Account *account, bool useFlo _errorLabel->hide(); _layout->addWidget(_errorLabel); - Theme *theme = Theme::instance(); WizardCommon::initErrorLabel(_errorLabel); setLayout(_layout); } void WebFlowCredentialsDialog::closeEvent(QCloseEvent* e) { - Q_UNUSED(e); + Q_UNUSED(e) if (_webView) { // Force calling WebView::~WebView() earlier so that _profile and _page are diff --git a/src/gui/creds/webflowcredentialsdialog.h b/src/gui/creds/webflowcredentialsdialog.h index 4e1f21c0d..a540f0edb 100644 --- a/src/gui/creds/webflowcredentialsdialog.h +++ b/src/gui/creds/webflowcredentialsdialog.h @@ -24,7 +24,7 @@ public: void setInfo(const QString &msg); void setError(const QString &error); - const bool isUsingFlow2() const { + bool isUsingFlow2() const { return _useFlow2; } diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h index 0b7b715a8..c37bfd97e 100644 --- a/src/gui/wizard/owncloudwizard.h +++ b/src/gui/wizard/owncloudwizard.h @@ -104,11 +104,11 @@ private: #ifndef NO_SHIBBOLETH OwncloudShibbolethCredsPage *_shibbolethCredsPage; #endif + Flow2AuthCredsPage *_flow2CredsPage; OwncloudAdvancedSetupPage *_advancedSetupPage; OwncloudWizardResultPage *_resultPage; AbstractCredentialsWizardPage *_credentialsPage; WebViewPage *_webViewPage; - Flow2AuthCredsPage *_flow2CredsPage; QStringList _setupLog; From dbde585049157d5316a9067f7b79562be992dcb1 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Tue, 27 Aug 2019 03:32:21 +0200 Subject: [PATCH 149/192] Adds SSL client cert storage to webflow + Login Flow v2 The previous commit 50cd6af394f666065f386d1d55e7d6a90e0d9c9e - Build a webflowcredentials changed: src/gui/wizard/flow2authcredspage.cpp in line 135 to use WebFlowCredentials instead of HttpCredentials. But the WebFlowCredentials class didn't include code to store and load SSL client certificates and keys from the keychain. This commit migrates the useful stuff from the old HttpCredentials class into WebFlowCredentials. Successfully tested on Windows. Please test on other systems and verify it's safe! :) Signed-off-by: Michael Schuster --- src/gui/creds/webflowcredentials.cpp | 177 +++++++++++++++++++++++++-- src/gui/creds/webflowcredentials.h | 27 +++- 2 files changed, 194 insertions(+), 10 deletions(-) diff --git a/src/gui/creds/webflowcredentials.cpp b/src/gui/creds/webflowcredentials.cpp index ecc0e61d9..b3fb845a8 100644 --- a/src/gui/creds/webflowcredentials.cpp +++ b/src/gui/creds/webflowcredentials.cpp @@ -14,6 +14,7 @@ #include "accessmanager.h" #include "account.h" +#include "configfile.h" #include "theme.h" #include "wizard/webview.h" #include "webflowcredentialsdialog.h" @@ -24,6 +25,12 @@ namespace OCC { Q_LOGGING_CATEGORY(lcWebFlowCredentials, "sync.credentials.webflow", QtInfoMsg) +namespace { + const char userC[] = "user"; + const char clientCertificatePEMC[] = "_clientCertificatePEM"; + const char clientKeyPEMC[] = "_clientKeyPEM"; +} // ns + class WebFlowCredentialsAccessManager : public AccessManager { public: @@ -37,13 +44,21 @@ protected: QNetworkReply *createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData) override { QNetworkRequest req(request); - if (!req.attribute(HttpCredentials::DontAddCredentialsAttribute).toBool()) { + if (!req.attribute(WebFlowCredentials::DontAddCredentialsAttribute).toBool()) { if (_cred && !_cred->password().isEmpty()) { QByteArray credHash = QByteArray(_cred->user().toUtf8() + ":" + _cred->password().toUtf8()).toBase64(); req.setRawHeader("Authorization", "Basic " + credHash); } } + if (_cred && !_cred->_clientSslKey.isNull() && !_cred->_clientSslCertificate.isNull()) { + // SSL configuration + QSslConfiguration sslConfiguration = req.sslConfiguration(); + sslConfiguration.setLocalCertificate(_cred->_clientSslCertificate); + sslConfiguration.setPrivateKey(_cred->_clientSslKey); + req.setSslConfiguration(sslConfiguration); + } + return AccessManager::createRequest(op, req, outgoingData); } @@ -53,10 +68,19 @@ private: QPointer _cred; }; +static void addSettingsToJob(Account *account, QKeychain::Job *job) +{ + Q_UNUSED(account); + auto settings = ConfigFile::settingsWithGroup(Theme::instance()->appName()); + settings->setParent(job); // make the job parent to make setting deleted properly + job->setSettings(settings.release()); +} + WebFlowCredentials::WebFlowCredentials() : _ready(false) , _credentialsValid(false) , _keychainMigration(false) + , _retryOnKeyChainError(false) { } @@ -69,6 +93,7 @@ WebFlowCredentials::WebFlowCredentials(const QString &user, const QString &passw , _ready(true) , _credentialsValid(true) , _keychainMigration(false) + , _retryOnKeyChainError(false) { } @@ -185,17 +210,65 @@ void WebFlowCredentials::persist() { return; } - _account->setCredentialSetting("user", _user); + _account->setCredentialSetting(userC, _user); _account->wantsAccountSaved(_account); - //TODO: Add ssl cert and key storing + // write cert if there is one + if (!_clientSslCertificate.isNull()) { + WritePasswordJob *job = new WritePasswordJob(Theme::instance()->appName()); + addSettingsToJob(_account, job); + job->setInsecureFallback(false); + connect(job, &Job::finished, this, &WebFlowCredentials::slotWriteClientCertPEMJobDone); + job->setKey(keychainKey(_account->url().toString(), _user + clientCertificatePEMC, _account->id())); + job->setBinaryData(_clientSslCertificate.toPem()); + job->start(); + } else { + // no cert, just write credentials + slotWriteClientCertPEMJobDone(); + } +} + +void WebFlowCredentials::slotWriteClientCertPEMJobDone() +{ + // write ssl key if there is one + if (!_clientSslKey.isNull()) { + WritePasswordJob *job = new WritePasswordJob(Theme::instance()->appName()); + addSettingsToJob(_account, job); + job->setInsecureFallback(false); + connect(job, &Job::finished, this, &WebFlowCredentials::slotWriteClientKeyPEMJobDone); + job->setKey(keychainKey(_account->url().toString(), _user + clientKeyPEMC, _account->id())); + job->setBinaryData(_clientSslKey.toPem()); + job->start(); + } else { + // no key, just write credentials + slotWriteClientKeyPEMJobDone(); + } +} + +void WebFlowCredentials::slotWriteClientKeyPEMJobDone() +{ WritePasswordJob *job = new WritePasswordJob(Theme::instance()->appName()); + addSettingsToJob(_account, job); job->setInsecureFallback(false); + connect(job, &Job::finished, this, &WebFlowCredentials::slotWriteJobDone); job->setKey(keychainKey(_account->url().toString(), _user, _account->id())); job->setTextData(_password); job->start(); } +void WebFlowCredentials::slotWriteJobDone(QKeychain::Job *job) +{ + delete job->settings(); + switch (job->error()) { + case NoError: + break; + default: + qCWarning(lcWebFlowCredentials) << "Error while writing password" << job->errorString(); + } + WritePasswordJob *wjob = qobject_cast(job); + wjob->deleteLater(); +} + void WebFlowCredentials::invalidateToken() { // clear the session cookie. _account->clearCookieJar(); @@ -236,7 +309,7 @@ void WebFlowCredentials::setAccount(Account *account) { } QString WebFlowCredentials::fetchUser() { - _user = _account->credentialSetting("user").toString(); + _user = _account->credentialSetting(userC).toString(); return _user; } @@ -267,12 +340,89 @@ void WebFlowCredentials::slotFinished(QNetworkReply *reply) { } void WebFlowCredentials::fetchFromKeychainHelper() { + // Read client cert from keychain + const QString kck = keychainKey( + _account->url().toString(), + _user + clientCertificatePEMC, + _keychainMigration ? QString() : _account->id()); + + ReadPasswordJob *job = new ReadPasswordJob(Theme::instance()->appName()); + addSettingsToJob(_account, job); + job->setInsecureFallback(false); + job->setKey(kck); + connect(job, &Job::finished, this, &WebFlowCredentials::slotReadClientCertPEMJobDone); + job->start(); +} + +void WebFlowCredentials::slotReadClientCertPEMJobDone(QKeychain::Job *incomingJob) +{ +#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) + Q_ASSERT(!incomingJob->insecureFallback()); // If insecureFallback is set, the next test would be pointless + if (_retryOnKeyChainError && (incomingJob->error() == QKeychain::NoBackendAvailable + || incomingJob->error() == QKeychain::OtherError)) { + // Could be that the backend was not yet available. Wait some extra seconds. + // (Issues #4274 and #6522) + // (For kwallet, the error is OtherError instead of NoBackendAvailable, maybe a bug in QtKeychain) + qCInfo(lcWebFlowCredentials) << "Backend unavailable (yet?) Retrying in a few seconds." << incomingJob->errorString(); + QTimer::singleShot(10000, this, &WebFlowCredentials::fetchFromKeychainHelper); + _retryOnKeyChainError = false; + return; + } + _retryOnKeyChainError = false; +#endif + + // Store PEM in memory + ReadPasswordJob *readJob = static_cast(incomingJob); + if (readJob->error() == NoError && readJob->binaryData().length() > 0) { + QList sslCertificateList = QSslCertificate::fromData(readJob->binaryData(), QSsl::Pem); + if (sslCertificateList.length() >= 1) { + _clientSslCertificate = sslCertificateList.at(0); + } + } + + // Load key too + const QString kck = keychainKey( + _account->url().toString(), + _user + clientKeyPEMC, + _keychainMigration ? QString() : _account->id()); + + ReadPasswordJob *job = new ReadPasswordJob(Theme::instance()->appName()); + addSettingsToJob(_account, job); + job->setInsecureFallback(false); + job->setKey(kck); + connect(job, &Job::finished, this, &WebFlowCredentials::slotReadClientKeyPEMJobDone); + job->start(); +} + +void WebFlowCredentials::slotReadClientKeyPEMJobDone(QKeychain::Job *incomingJob) +{ + // Store key in memory + ReadPasswordJob *readJob = static_cast(incomingJob); + + if (readJob->error() == NoError && readJob->binaryData().length() > 0) { + QByteArray clientKeyPEM = readJob->binaryData(); + // FIXME Unfortunately Qt has a bug and we can't just use QSsl::Opaque to let it + // load whatever we have. So we try until it works. + _clientSslKey = QSslKey(clientKeyPEM, QSsl::Rsa); + if (_clientSslKey.isNull()) { + _clientSslKey = QSslKey(clientKeyPEM, QSsl::Dsa); + } + if (_clientSslKey.isNull()) { + _clientSslKey = QSslKey(clientKeyPEM, QSsl::Ec); + } + if (_clientSslKey.isNull()) { + qCWarning(lcWebFlowCredentials) << "Could not load SSL key into Qt!"; + } + } + + // Now fetch the actual server password const QString kck = keychainKey( _account->url().toString(), _user, _keychainMigration ? QString() : _account->id()); ReadPasswordJob *job = new ReadPasswordJob(Theme::instance()->appName()); + addSettingsToJob(_account, job); job->setInsecureFallback(false); job->setKey(kck); connect(job, &Job::finished, this, &WebFlowCredentials::slotReadPasswordJobDone); @@ -290,6 +440,10 @@ void WebFlowCredentials::slotReadPasswordJobDone(Job *incomingJob) { return; } + if (_user.isEmpty()) { + qCWarning(lcWebFlowCredentials) << "Strange: User is empty!"; + } + if (error == QKeychain::NoError) { _password = job->textData(); _ready = true; @@ -309,10 +463,17 @@ void WebFlowCredentials::slotReadPasswordJobDone(Job *incomingJob) { } void WebFlowCredentials::deleteOldKeychainEntries() { - DeletePasswordJob *job = new DeletePasswordJob(Theme::instance()->appName()); - job->setInsecureFallback(false); - job->setKey(keychainKey(_account->url().toString(), _user, QString())); - job->start(); + auto startDeleteJob = [this](QString user) { + DeletePasswordJob *job = new DeletePasswordJob(Theme::instance()->appName()); + addSettingsToJob(_account, job); + job->setInsecureFallback(true); + job->setKey(keychainKey(_account->url().toString(), user, QString())); + job->start(); + }; + + startDeleteJob(_user); + startDeleteJob(_user + clientKeyPEMC); + startDeleteJob(_user + clientCertificatePEMC); } } diff --git a/src/gui/creds/webflowcredentials.h b/src/gui/creds/webflowcredentials.h index 02814919e..197ce8b90 100644 --- a/src/gui/creds/webflowcredentials.h +++ b/src/gui/creds/webflowcredentials.h @@ -3,6 +3,7 @@ #include #include +#include #include "creds/abstractcredentials.h" @@ -22,7 +23,12 @@ class WebFlowCredentialsDialog; class WebFlowCredentials : public AbstractCredentials { Q_OBJECT + friend class WebFlowCredentialsAccessManager; + public: + /// Don't add credentials if this is set on a QNetworkRequest + static constexpr QNetworkRequest::Attribute DontAddCredentialsAttribute = QNetworkRequest::User; + explicit WebFlowCredentials(); WebFlowCredentials(const QString &user, const QString &password, const QSslCertificate &certificate = QSslCertificate(), const QSslKey &key = QSslKey()); @@ -48,11 +54,27 @@ private slots: void slotAuthentication(QNetworkReply *reply, QAuthenticator *authenticator); void slotFinished(QNetworkReply *reply); - void slotReadPasswordJobDone(QKeychain::Job *incomingJob); void slotAskFromUserCredentialsProvided(const QString &user, const QString &pass, const QString &host); -private: + void slotReadClientCertPEMJobDone(QKeychain::Job *incomingJob); + void slotReadClientKeyPEMJobDone(QKeychain::Job *incomingJob); + void slotReadPasswordJobDone(QKeychain::Job *incomingJob); + + void slotWriteClientCertPEMJobDone(); + void slotWriteClientKeyPEMJobDone(); + void slotWriteJobDone(QKeychain::Job *); + +protected: + /** Reads data from keychain locations + * + * Goes through + * slotReadClientCertPEMJobDone to + * slotReadClientCertPEMJobDone to + * slotReadJobDone + */ void fetchFromKeychainHelper(); + + /// Wipes legacy keychain locations void deleteOldKeychainEntries(); QString fetchUser(); @@ -65,6 +87,7 @@ private: bool _ready; bool _credentialsValid; bool _keychainMigration; + bool _retryOnKeyChainError = true; // true if we haven't done yet any reading from keychain WebFlowCredentialsDialog *_askDialog; }; From 5c34f9e2477aceea319831bd81e1145b273dffc2 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 27 Aug 2019 03:04:46 +0000 Subject: [PATCH 150/192] [tx-robot] updated from transifex --- translations/client_bg.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_ca.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_cs.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_da.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_de.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_el.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_en.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_en_GB.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_eo.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_es.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_es_AR.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_es_CL.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_es_CO.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_es_CR.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_es_DO.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_es_EC.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_es_GT.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_es_HN.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_es_MX.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_es_SV.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_et.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_eu.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_fa.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_fi.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_fr.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_gl.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_he.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_hu.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_id.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_is.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_it.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_ja.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_lt_LT.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_lv.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_nb_NO.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_nl.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_pl.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_pt.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_pt_BR.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_ru.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_sk.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_sl.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_sr.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_sv.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_th.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_tr.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_uk.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_zh_CN.ts | 121 +++++++++++++++++++++++++++++++++-- translations/client_zh_TW.ts | 121 +++++++++++++++++++++++++++++++++-- 49 files changed, 5635 insertions(+), 294 deletions(-) diff --git a/translations/client_bg.ts b/translations/client_bg.ts index 3d0d3acdb..845e84e7a 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -115,6 +115,52 @@
+ + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2045,12 +2154,12 @@ It is not advisable to use it. Напред > - + Invalid URL Невалиден URL - + Could not load certificate. Maybe wrong password? @@ -2208,12 +2317,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard %1 - Помощник за свързване - + Skip folders configuration Пропусни настройването на папки @@ -3413,12 +3522,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_ca.ts b/translations/client_ca.ts index 1accd241a..a8e2af1d0 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -115,6 +115,52 @@ Moure cap a la paperera no està implementat en aquesta plataforma + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ Falten dades a la resposta de detecció de fitxers del servidor. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2063,12 +2172,12 @@ No és aconsellable fer-la servir. &Següent > - + Invalid URL L'URL no és vàlid - + Could not load certificate. Maybe wrong password? No s'ha pogut carregar el certificat. Potser la contrasenya és incorrecta? @@ -2226,12 +2335,12 @@ No és aconsellable fer-la servir. OCC::OwncloudWizard - + %1 Connection Wizard Assistent de connexió %1 - + Skip folders configuration Salta la configuració de carpetes @@ -3432,12 +3541,12 @@ No és aconsellable fer-la servir. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Heu tancat la sessió de %1 com a usuari %2. Si us plau, torneu a iniciar la sessió - + Please login with the user: %1 Si us plau, inicieu la sessió amb l’usuari: %1 diff --git a/translations/client_cs.ts b/translations/client_cs.ts index 66f39eb06..e7bc0179f 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -115,6 +115,52 @@ Přesun do koše není na této platformě implementováno + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ Odpověď ze serveru na objevování souboru postrádá data. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2060,12 +2169,12 @@ Nedoporučuje se jí používat. &Následující > - + Invalid URL Neplatná URL adresa - + Could not load certificate. Maybe wrong password? Certifikát není možné načíst. Nejspíš je chybné heslo? @@ -2223,12 +2332,12 @@ Nedoporučuje se jí používat. OCC::OwncloudWizard - + %1 Connection Wizard %1 Průvodce spojením - + Skip folders configuration Přeskočit konfiguraci adresářů @@ -3429,12 +3538,12 @@ Nedoporučuje se jí používat. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Byli jste odhlášeni z %1 jako uživatel %2. Znovu se přihlaste - + Please login with the user: %1 Přihlaste se pomocí uživatele: %1 diff --git a/translations/client_da.ts b/translations/client_da.ts index ce96817a8..f0e30704f 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2040,12 +2149,12 @@ It is not advisable to use it. &Næste > - + Invalid URL Ugyldig URL - + Could not load certificate. Maybe wrong password? @@ -2203,12 +2312,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard - + Skip folders configuration @@ -3407,12 +3516,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_de.ts b/translations/client_de.ts index e6f4dc016..08c789d23 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -115,6 +115,52 @@ Verschieben in den Papierkorb ist auf dieser Plattform nicht möglich + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ Bei der Server-Dateierkennungsantwort fehlen Daten. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2060,12 +2169,12 @@ Es ist nicht ratsam, sie zu benutzen. &Weiter > - + Invalid URL Ungültige URL - + Could not load certificate. Maybe wrong password? Das Zertifikat konnte nicht geladen werden. Vielleicht ein falsches Passwort? @@ -2223,12 +2332,12 @@ Es ist nicht ratsam, sie zu benutzen. OCC::OwncloudWizard - + %1 Connection Wizard %1-Verbindungsassistent - + Skip folders configuration Ordner-Konfiguration überspringen @@ -3429,12 +3538,12 @@ Es ist nicht ratsam, sie zu benutzen. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Sie wurden von %1 als Benutzer %2 abgemeldet. Bitte melden Sie sich erneut an - + Please login with the user: %1 Mit folgendem Benutzer anmelden: %1 diff --git a/translations/client_el.ts b/translations/client_el.ts index 9f19a8fd8..6b47725ff 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2050,12 +2159,12 @@ It is not advisable to use it. &Επόμενο > - + Invalid URL Μη έγκυρη διεύθυνση URL - + Could not load certificate. Maybe wrong password? Δεν ήταν δυνατή η φόρτωση του πιστοποιητικού. Ίσος είναι λάθος ο κωδικός; @@ -2213,12 +2322,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard %1 Οδηγός Σύνδεσης - + Skip folders configuration Παράλειψη διαμόρφωσης φακέλων @@ -3419,12 +3528,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_en.ts b/translations/client_en.ts index a5690a38e..2bdc220c2 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -117,6 +117,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -734,6 +780,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2066,12 +2175,12 @@ It is not advisable to use it. - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2229,12 +2338,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard - + Skip folders configuration @@ -3433,12 +3542,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_en_GB.ts b/translations/client_en_GB.ts index 7e102c178..cc8ca65dd 100644 --- a/translations/client_en_GB.ts +++ b/translations/client_en_GB.ts @@ -115,6 +115,52 @@ Moving to the trash is not implemented on this platform + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ The server file discovery reply is missing data. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2061,12 +2170,12 @@ It is not advisable to use it. &Next > - + Invalid URL Invalid URL - + Could not load certificate. Maybe wrong password? Could not load certificate. Maybe wrong password? @@ -2224,12 +2333,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard %1 Connection Wizard - + Skip folders configuration Skip folders configuration @@ -3430,12 +3539,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 Please login with the user: %1 diff --git a/translations/client_eo.ts b/translations/client_eo.ts index e499b1541..dc07c3087 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -115,6 +115,52 @@ Movi rubujen ankoraŭ ne estas realigita ĉe tiu sistemo + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ La servila respondo pri dosiera malkovro havas mankantajn datumojn. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2060,12 +2169,12 @@ Uzi ĝin ne konsilindas. &Sekva > - + Invalid URL Nevalida retadreso - + Could not load certificate. Maybe wrong password? Ne eblis ŝargi atestilon. Ĉu neĝusta pasvorto? @@ -2223,12 +2332,12 @@ Uzi ĝin ne konsilindas. OCC::OwncloudWizard - + %1 Connection Wizard Asistilo pri konekto %1 - + Skip folders configuration Preterpasi agordon de dosierujoj @@ -3428,12 +3537,12 @@ Uzi ĝin ne konsilindas. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Vi estis elsalutita de %1 kiel uzanto %2. Bv. re-ensaluti. - + Please login with the user: %1 Bv. ensaluti kun la uzanto: %1 diff --git a/translations/client_es.ts b/translations/client_es.ts index 71e3fc04c..8613b9d28 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -115,6 +115,52 @@ Mover a la papelera no está implementado en esta plataforma + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ A la respuesta de descubrimiento de archivos del servidor le faltan datos. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2060,12 +2169,12 @@ No se recomienda usarla. &Siguiente > - + Invalid URL Dirección URL incorrecta - + Could not load certificate. Maybe wrong password? No se ha podido guardar el certificado. ¿Quizás la contraseña sea incorrecta? @@ -2223,12 +2332,12 @@ No se recomienda usarla. OCC::OwncloudWizard - + %1 Connection Wizard Asistente de conexión %1 - + Skip folders configuration Omitir la configuración de carpetas @@ -3429,12 +3538,12 @@ No se recomienda usarla. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Has sido desconectado de %1 como el usuario %2. Por favor, vuelve a entrar - + Please login with the user: %1 Por favor, entra con el usuario: %1 diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index 87acacabc..da0bee2d4 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2040,12 +2149,12 @@ It is not advisable to use it. - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2203,12 +2312,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard %1 Asistente de Conexión - + Skip folders configuration @@ -3407,12 +3516,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_CL.ts b/translations/client_es_CL.ts index 32a35e90d..cd61f1485 100644 --- a/translations/client_es_CL.ts +++ b/translations/client_es_CL.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2051,12 +2160,12 @@ No es recomendable usarlo. &Siguiente> - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2214,12 +2323,12 @@ No es recomendable usarlo. OCC::OwncloudWizard - + %1 Connection Wizard %1 Asistente de Conexión - + Skip folders configuration Omitir las carpetas de configuración @@ -3420,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_CO.ts b/translations/client_es_CO.ts index 8dcf2fcf8..cc20da87b 100644 --- a/translations/client_es_CO.ts +++ b/translations/client_es_CO.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2051,12 +2160,12 @@ No es recomendable usarlo. &Siguiente> - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2214,12 +2323,12 @@ No es recomendable usarlo. OCC::OwncloudWizard - + %1 Connection Wizard %1 Asistente de Conexión - + Skip folders configuration Omitir las carpetas de configuración @@ -3420,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_CR.ts b/translations/client_es_CR.ts index 40d6ffeeb..79c86c3f2 100644 --- a/translations/client_es_CR.ts +++ b/translations/client_es_CR.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2051,12 +2160,12 @@ No es recomendable usarlo. &Siguiente> - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2214,12 +2323,12 @@ No es recomendable usarlo. OCC::OwncloudWizard - + %1 Connection Wizard %1 Asistente de Conexión - + Skip folders configuration Omitir las carpetas de configuración @@ -3420,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_DO.ts b/translations/client_es_DO.ts index 8a4302b39..cb894c791 100644 --- a/translations/client_es_DO.ts +++ b/translations/client_es_DO.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2051,12 +2160,12 @@ No es recomendable usarlo. &Siguiente> - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2214,12 +2323,12 @@ No es recomendable usarlo. OCC::OwncloudWizard - + %1 Connection Wizard %1 Asistente de Conexión - + Skip folders configuration Omitir las carpetas de configuración @@ -3420,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_EC.ts b/translations/client_es_EC.ts index 584fb39c2..0e84dad4c 100644 --- a/translations/client_es_EC.ts +++ b/translations/client_es_EC.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2051,12 +2160,12 @@ No es recomendable usarlo. &Siguiente> - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2214,12 +2323,12 @@ No es recomendable usarlo. OCC::OwncloudWizard - + %1 Connection Wizard %1 Asistente de Conexión - + Skip folders configuration Omitir las carpetas de configuración @@ -3420,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_GT.ts b/translations/client_es_GT.ts index adc111373..eb9b448e9 100644 --- a/translations/client_es_GT.ts +++ b/translations/client_es_GT.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2051,12 +2160,12 @@ No es recomendable usarlo. &Siguiente> - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2214,12 +2323,12 @@ No es recomendable usarlo. OCC::OwncloudWizard - + %1 Connection Wizard %1 Asistente de Conexión - + Skip folders configuration Omitir las carpetas de configuración @@ -3420,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_HN.ts b/translations/client_es_HN.ts index 241bccb47..31d860acd 100644 --- a/translations/client_es_HN.ts +++ b/translations/client_es_HN.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2051,12 +2160,12 @@ No es recomendable usarlo. &Siguiente> - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2214,12 +2323,12 @@ No es recomendable usarlo. OCC::OwncloudWizard - + %1 Connection Wizard %1 Asistente de Conexión - + Skip folders configuration Omitir las carpetas de configuración @@ -3420,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_MX.ts b/translations/client_es_MX.ts index db6494815..578f1bbec 100644 --- a/translations/client_es_MX.ts +++ b/translations/client_es_MX.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2051,12 +2160,12 @@ No es recomendable usarlo. &Siguiente> - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2214,12 +2323,12 @@ No es recomendable usarlo. OCC::OwncloudWizard - + %1 Connection Wizard %1 Asistente de Conexión - + Skip folders configuration Omitir las carpetas de configuración @@ -3420,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_SV.ts b/translations/client_es_SV.ts index 57b12a1bb..a88d4d046 100644 --- a/translations/client_es_SV.ts +++ b/translations/client_es_SV.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2051,12 +2160,12 @@ No es recomendable usarlo. &Siguiente> - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2214,12 +2323,12 @@ No es recomendable usarlo. OCC::OwncloudWizard - + %1 Connection Wizard %1 Asistente de Conexión - + Skip folders configuration Omitir las carpetas de configuración @@ -3420,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_et.ts b/translations/client_et.ts index 4826a066d..e99a491de 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2041,12 +2150,12 @@ Selle kasutamine pole soovitatav. &Edasi > - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2204,12 +2313,12 @@ Selle kasutamine pole soovitatav. OCC::OwncloudWizard - + %1 Connection Wizard %1 seadistamise juhendaja - + Skip folders configuration Jäta kaustade seadistamine vahele @@ -3410,12 +3519,12 @@ Selle kasutamine pole soovitatav. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_eu.ts b/translations/client_eu.ts index e2f4fc824..ee7fe61c6 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -115,6 +115,52 @@ Plataforma honetan ezin da mugitu zakarrontzira + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2061,12 +2170,12 @@ Ez da gomendagarria erabltzea. &Hurrengoa > - + Invalid URL Baliogabeko URLa - + Could not load certificate. Maybe wrong password? Ezin izan da ziurtagira kargatu. Baliteke pasahitza okerra izatea? @@ -2224,12 +2333,12 @@ Ez da gomendagarria erabltzea. OCC::OwncloudWizard - + %1 Connection Wizard %1 Konexio Morroia - + Skip folders configuration Saltatu karpeten ezarpenak @@ -3428,12 +3537,12 @@ Ez da gomendagarria erabltzea. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 Sartu %1 erabiltzaile gisa diff --git a/translations/client_fa.ts b/translations/client_fa.ts index 688ab6374..52976f0ad 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -115,6 +115,52 @@ انتقال فایل به سطل آشغال در این فلتفرم پیاده سازی نشده است + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2048,12 +2157,12 @@ It is not advisable to use it. &بعدی> - + Invalid URL آدرس غیر معتبر - + Could not load certificate. Maybe wrong password? امکان بارگزاری گواهی وجود ندارد، ممکن است رمز عبور اشتباه باشد؟ @@ -2211,12 +2320,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard - + Skip folders configuration از پیکربندی پوشه‌ها بگذرید @@ -3416,12 +3525,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_fi.ts b/translations/client_fi.ts index 6fdd16cdd..e69fa3f99 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2045,12 +2154,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. &Seuraava > - + Invalid URL Virheellinen URL - + Could not load certificate. Maybe wrong password? Varmennetta ei voitu ladata. Kenties salasana oli väärin. @@ -2208,12 +2317,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::OwncloudWizard - + %1 Connection Wizard %1-yhteysavustaja - + Skip folders configuration Ohita kansioiden määritykset @@ -3414,12 +3523,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 Kirjaudu käyttäjänä: %1 diff --git a/translations/client_fr.ts b/translations/client_fr.ts index 4e9906fc4..f37c54f14 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -115,6 +115,52 @@ Mettre à la corbeille n'est pas disponible sur cette plateforme + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ Données manquantes dans la réponse à la découverte du fichier sur le serveur + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2063,12 +2172,12 @@ Il est déconseillé de l'utiliser. &Suivant > - + Invalid URL URL invalide - + Could not load certificate. Maybe wrong password? Impossible de charger le certificat. Vérifiez le mot de passe saisi. @@ -2226,12 +2335,12 @@ Il est déconseillé de l'utiliser. OCC::OwncloudWizard - + %1 Connection Wizard Assistant de Connexion %1 - + Skip folders configuration Ignorer la configuration des dossiers @@ -3433,12 +3542,12 @@ Il est déconseillé de l'utiliser. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Vous avez été déconnecté de %1 en tant qu'utilisateur %2. Veuillez vous reconnecter - + Please login with the user: %1 Veuillez vous connecter avec l’utilisateur : %1 diff --git a/translations/client_gl.ts b/translations/client_gl.ts index 9dd7fb86e..f1de437da 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -115,6 +115,52 @@ Mover ao lixo non está dispoñíbel nesta plataforma + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ Á resposta de descubrimento de ficheiros do servidor fáltanlle datos. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2062,12 +2171,12 @@ Recomendámoslle que non o use. &Seguinte > - + Invalid URL URL incorrecto - + Could not load certificate. Maybe wrong password? Non foi posíbel cargar o certificado. Quizais o contrasinal é incorrecto? @@ -2225,12 +2334,12 @@ Recomendámoslle que non o use. OCC::OwncloudWizard - + %1 Connection Wizard Asistente de conexión %1 - + Skip folders configuration Omitir a configuración dos cartafoles @@ -3431,12 +3540,12 @@ Recomendámoslle que non o use. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Foi desconectado de %1 como o usuario %2. Volva acceder de novo - + Please login with the user: %1 Acceda co usuario: %1 diff --git a/translations/client_he.ts b/translations/client_he.ts index dcf3920eb..b092296bc 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -115,6 +115,52 @@ העברה לסל המחזור לא אפשרית בפלטפורמה זו + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ תגובת גילוי הקבצים של השרת לוקה בחסר. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2042,12 +2151,12 @@ It is not advisable to use it. - + Invalid URL כתובת שגויה - + Could not load certificate. Maybe wrong password? @@ -2205,12 +2314,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard אשף החיבור אל %1 - + Skip folders configuration דילוג על הגדרות תיקיות @@ -3409,12 +3518,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 נא להיכנס עם המשתמש: %1 diff --git a/translations/client_hu.ts b/translations/client_hu.ts index 8645c4ff6..6c8c1996e 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -115,6 +115,52 @@ A kuka áthelyezése nincs megvalósítva ezen a platformon + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ A kiszolgáló fájlkutatási válaszából adatok hiányoznak. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2060,12 +2169,12 @@ Használata nem ajánlott. &Következő > - + Invalid URL Érvénytelen URL - + Could not load certificate. Maybe wrong password? A tanúsítvány nem tölthető be. Lehet, hogy hibás a jelszó? @@ -2223,12 +2332,12 @@ Használata nem ajánlott. OCC::OwncloudWizard - + %1 Connection Wizard %1 kapcsolódási varázsló - + Skip folders configuration Mappák konfigurációjának kihagyása @@ -3429,12 +3538,12 @@ Használata nem ajánlott. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Kijelentkezett a(z) %1 fiókjából, mint %2 felhasználó. Jelentkezzen be újra - + Please login with the user: %1 Jelentkezzen be a következő felhasználóval: %1 diff --git a/translations/client_id.ts b/translations/client_id.ts index 92c1e6a8e..3e099abc4 100644 --- a/translations/client_id.ts +++ b/translations/client_id.ts @@ -115,6 +115,52 @@ Memindahkan tempat sampat tidak diimplementasikan pada platform ini + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ Ada data yang hilang di berkas server deteksi balasan. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2060,12 +2169,12 @@ Tidak disarankan untuk digunakan. &Lanjut> - + Invalid URL URL tidak valid - + Could not load certificate. Maybe wrong password? Tidak dapat memuat sertifikat. Mungkin salah kata sandi? @@ -2223,12 +2332,12 @@ Tidak disarankan untuk digunakan. OCC::OwncloudWizard - + %1 Connection Wizard - + Skip folders configuration @@ -3427,12 +3536,12 @@ Tidak disarankan untuk digunakan. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_is.ts b/translations/client_is.ts index b84f2b2ae..12913dabb 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -738,6 +784,69 @@ skráakerfið eða sameignarmöppur, gætu verið með önnur takmörk. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2055,12 +2164,12 @@ Ekki er mælt með því að hún sé notuð. &Næsta > - + Invalid URL Ógild slóð - + Could not load certificate. Maybe wrong password? Gat ekki hlaðið inn skilríki. Kannski rangt lykilorð? @@ -2219,12 +2328,12 @@ Ekki er mælt með því að hún sé notuð. OCC::OwncloudWizard - + %1 Connection Wizard %1 tengingaleiðarvísir - + Skip folders configuration Sleppa uppsetningu á möppum @@ -3427,12 +3536,12 @@ Ekki er mælt með því að hún sé notuð. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Þú hefur verið skráður út af %1 sem notandinn %2. Skráðu þig aftur inn - + Please login with the user: %1 Skráðu þig inn með notandanafninu: %1 diff --git a/translations/client_it.ts b/translations/client_it.ts index bda3cb3f6..f918a458d 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -115,6 +115,52 @@ Lo spostamento nel cestino non è implementato su questa piattaforma + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ La risposta del rilevamento file del server è dati mancanti. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2062,12 +2171,12 @@ Non è consigliabile utilizzarlo. Ava&nti > - + Invalid URL URL non valido - + Could not load certificate. Maybe wrong password? Impossibile caricare il certificato. Forse la password è errata? @@ -2225,12 +2334,12 @@ Non è consigliabile utilizzarlo. OCC::OwncloudWizard - + %1 Connection Wizard Procedura guidata di connessione di %1 - + Skip folders configuration Salta la configurazione delle cartelle @@ -3431,12 +3540,12 @@ Non è consigliabile utilizzarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Sei stato disconnesso da %1 come utente %2. Accedi nuovamente - + Please login with the user: %1 Accedi con l'utente: %1 diff --git a/translations/client_ja.ts b/translations/client_ja.ts index 93b9ef15d..75463c2db 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -115,6 +115,52 @@ ゴミ箱への移動はこのプラットフォームでは実装されていません + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ サーバーファイルの検出応答にデータがありません。 + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2055,12 +2164,12 @@ It is not advisable to use it. 次(&N) > - + Invalid URL 無効なURL - + Could not load certificate. Maybe wrong password? 証明書を読み込めませんでした。 パスワードが間違っていますか? @@ -2218,12 +2327,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard %1 接続ウィザード - + Skip folders configuration フォルダー設定をスキップ @@ -3424,12 +3533,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again %1 をユーザー %2 としてログアウトしました。 もう一度ログインしてください - + Please login with the user: %1 ユーザーと一緒にログインしてください:%1 diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index 0d4903bdb..9d5cc79a0 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -115,6 +115,52 @@ Perkėlimas į šiukšlinę šioje platformoje nėra įgyvendintas + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -733,6 +779,69 @@ Serverio failo aptikimo atsakyme trūksta duomenų. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2056,12 +2165,12 @@ Patariama jo nenaudoti. &Kitas > - + Invalid URL Neteisingas URL - + Could not load certificate. Maybe wrong password? Nepavyko įkelti liudijimo. Galbūt, neteisingas slaptažodis? @@ -2219,12 +2328,12 @@ Patariama jo nenaudoti. OCC::OwncloudWizard - + %1 Connection Wizard %1 ryšio vediklis - + Skip folders configuration Praleisti aplankų konfigūravimą @@ -3425,12 +3534,12 @@ Patariama jo nenaudoti. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again %1 jus atjungė kaip vartotoją %2. Pabandykite prisijungti dar kartą - + Please login with the user: %1 Prisijunkite vartotoju: %1 diff --git a/translations/client_lv.ts b/translations/client_lv.ts index 97680ae84..1f23eb744 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -115,6 +115,52 @@ Pārvietošana uz atkritni šajā platformā vēl nav ieviesta + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ Servera datņu atklāšanas atbildei nav datu. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2042,12 +2151,12 @@ It is not advisable to use it. - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2205,12 +2314,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard - + Skip folders configuration @@ -3409,12 +3518,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Jūs esat atteicies no %1 kā lietotājs %2. Lūdzu piesakieties atkārtoti - + Please login with the user: %1 Lūdzu piesakieties kā lietotājs: %1 diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index 0780ee491..2cb54b409 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -115,6 +115,52 @@ Flytting til papirkurven er ikke implementert på denne plattformen + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2051,12 +2160,12 @@ Det er ikke tilrådelig å bruke den. &Neste > - + Invalid URL Ugyldig addresse - + Could not load certificate. Maybe wrong password? Sertifikatet kunne ikke lastes. Kanskje feil passord? @@ -2214,12 +2323,12 @@ Det er ikke tilrådelig å bruke den. OCC::OwncloudWizard - + %1 Connection Wizard %1 Veiviser for tilkobling - + Skip folders configuration Hopp over mappekonfigurasjon @@ -3420,12 +3529,12 @@ Det er ikke tilrådelig å bruke den. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_nl.ts b/translations/client_nl.ts index c61a38b78..86b87238a 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -115,6 +115,52 @@ Verplaatsen naar de prullenbak wordt niet ondersteund op dit platform + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ In de reactie van de bestandenontdekker van de server ontbreken gegevens. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2065,12 +2174,12 @@ We adviseren deze site niet te gebruiken. &Volgende > - + Invalid URL Ongeldige URL - + Could not load certificate. Maybe wrong password? Kon certificaat niet laden. Misschien onjuist wachtwoord? @@ -2228,12 +2337,12 @@ We adviseren deze site niet te gebruiken. OCC::OwncloudWizard - + %1 Connection Wizard %1 Verbindingswizard - + Skip folders configuration Sla configuratie van mappen over @@ -3434,12 +3543,12 @@ We adviseren deze site niet te gebruiken. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Je bent uitgelogd van %1 als gebruiker %2. Log opnieuw in - + Please login with the user: %1 Login met gebruiker: %1 diff --git a/translations/client_pl.ts b/translations/client_pl.ts index 07f08ead7..035784dd8 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -115,6 +115,52 @@ Przeniesienie do kosza nie jest możliwe na tej platformie + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ Odpowiedź serwera: Nie można odnaleźć danych + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2061,12 +2170,12 @@ Niezalecane jest jego użycie. Następny - + Invalid URL Błędny adres URL - + Could not load certificate. Maybe wrong password? Nie udało się załadować certyfikatu. Być może hasło jest nieprawidłowe? @@ -2224,12 +2333,12 @@ Niezalecane jest jego użycie. OCC::OwncloudWizard - + %1 Connection Wizard %1 Kreator połączeń - + Skip folders configuration Pomiń konfigurację folderów @@ -3430,12 +3539,12 @@ Niezalecane jest jego użycie. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Zostałeś wylogowany z %1 jako użytkownik %2. Zaloguj się ponownie. - + Please login with the user: %1 Zaloguj się jako użytkownik: %1 diff --git a/translations/client_pt.ts b/translations/client_pt.ts index 6129aad1d..a4992253c 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2050,12 +2159,12 @@ Não é aconselhada a sua utilização. &Seguinte > - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2213,12 +2322,12 @@ Não é aconselhada a sua utilização. OCC::OwncloudWizard - + %1 Connection Wizard Assistente de ligação %1 - + Skip folders configuration Saltar a configuração das pastas @@ -3419,12 +3528,12 @@ Não é aconselhada a sua utilização. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 5bb3c761a..b8ba39883 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -115,6 +115,52 @@ Mover para a lixeira não está implementada nesta plataforma + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ Na resposta de descoberta do arquivo do servidor está faltando dados. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2061,12 +2170,12 @@ Não é aconselhável usá-la. &Próximo > - + Invalid URL URL inválida - + Could not load certificate. Maybe wrong password? Não foi possível carregar o certificado. Senha errada? @@ -2224,12 +2333,12 @@ Não é aconselhável usá-la. OCC::OwncloudWizard - + %1 Connection Wizard Assistente de Conexão %1 - + Skip folders configuration Pular a configuração de pastas @@ -3430,12 +3539,12 @@ Não é aconselhável usá-la. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Você foi deslogado de %1 como usuário %2. Logue-se novamente - + Please login with the user: %1 Por favor, faça o login com o usuário: %1 diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 7b5430160..09072f59a 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -115,6 +115,52 @@ Перемещение в корзину не поддерживается на этой платформе + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ Сервер вернул ответ, не содержащих данных о файле. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2055,12 +2164,12 @@ It is not advisable to use it. &Далее > - + Invalid URL Неверная ссылка - + Could not load certificate. Maybe wrong password? Невозможно загрузить сертификат. Возможно неверный пароль? @@ -2218,12 +2327,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard Мастер подключения %1 - + Skip folders configuration Пропустить настройку папок @@ -3424,12 +3533,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Выполнен выход пользователя %2 из системы %1. Войдите заново - + Please login with the user: %1 Войдите в систему под именем %1 diff --git a/translations/client_sk.ts b/translations/client_sk.ts index 5a31c411e..8393a61b4 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -115,6 +115,52 @@ Presuúvanie do koša nie je na tejto platforme k dispozícii + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ V odpovedi zo servera na objavovanie súboru chýbajú dáta. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2054,12 +2163,12 @@ Nie je vhodné ju používať. &Ďalšia > - + Invalid URL Neplatná URL - + Could not load certificate. Maybe wrong password? Nie je možné načítať certifikát. Možno zlé heslo? @@ -2217,12 +2326,12 @@ Nie je vhodné ju používať. OCC::OwncloudWizard - + %1 Connection Wizard %1 Asistent pripojenia - + Skip folders configuration Preskočiť konfiguráciu priečinkov @@ -3423,12 +3532,12 @@ Nie je vhodné ju používať. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Boli ste odhlásení z %1 ako používateľ %2. Znovu sa prihláste - + Please login with the user: %1 Prihláste sa pomocou používateľa: %1 diff --git a/translations/client_sl.ts b/translations/client_sl.ts index e66206459..9369b6aab 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2050,12 +2159,12 @@ Uporaba ni priporočljiva. &Naslednja > - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2213,12 +2322,12 @@ Uporaba ni priporočljiva. OCC::OwncloudWizard - + %1 Connection Wizard Čarovnik za povezavo %1 - + Skip folders configuration Preskoči nastavitve map @@ -3419,12 +3528,12 @@ Uporaba ni priporočljiva. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_sr.ts b/translations/client_sr.ts index f9427d601..c79ecf3d8 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -115,6 +115,52 @@ Померање у канту није подржано на овој платформи + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ У одговору са сервера за откривање фајлова недостају подаци. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2061,12 +2170,12 @@ It is not advisable to use it. &Следеће > - + Invalid URL Неисправна адреса - + Could not load certificate. Maybe wrong password? Не могу да учитам сертификат. Можда је лозинка погрешна? @@ -2224,12 +2333,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard %1 чаробњак повезивања - + Skip folders configuration Прескочи подешавање фасцикли @@ -3430,12 +3539,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Одјављени сте се са %1 као корисник %2. Пријавите се поново - + Please login with the user: %1 Пријавите се са корисником: %1 diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 59deffd71..3fc90439b 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -115,6 +115,52 @@ Att flytta till papperskorgen är inte implementerat på denna plattform + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2061,12 +2170,12 @@ Det är inte lämpligt använda den. &Nästa > - + Invalid URL Ogiltig URL - + Could not load certificate. Maybe wrong password? Kunde inte ladda certifikatet. Felaktigt lösenord? @@ -2224,12 +2333,12 @@ Det är inte lämpligt använda den. OCC::OwncloudWizard - + %1 Connection Wizard %1 Anslutningsguiden - + Skip folders configuration Hoppa över konfiguration av mappar @@ -3430,12 +3539,12 @@ Det är inte lämpligt använda den. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Du har loggats ut från %1 som användare %2. Logga in igen - + Please login with the user: %1 Logga in som: %1 diff --git a/translations/client_th.ts b/translations/client_th.ts index ae52d0681..17c7de47e 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -115,6 +115,52 @@ + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2050,12 +2159,12 @@ It is not advisable to use it. และถัดไป > - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2213,12 +2322,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard %1 ตัวช่วยสร้างการเชื่อมต่อ - + Skip folders configuration ข้ามการกำหนดค่าโฟลเดอร์ @@ -3418,12 +3527,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_tr.ts b/translations/client_tr.ts index bf9b2eca8..0605ee49f 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -115,6 +115,52 @@ Bu platform üzerinde çöpe taşıma özelliği yok + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ Sunucu dosya tarama yanıtında veri eksik. + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2060,12 +2169,12 @@ Kullanmanız önerilmez. &Sonraki > - + Invalid URL Adres Geçersiz - + Could not load certificate. Maybe wrong password? Sertifika yüklenemedi. Parola yanlış olabilir mi? @@ -2223,12 +2332,12 @@ Kullanmanız önerilmez. OCC::OwncloudWizard - + %1 Connection Wizard %1 Bağlantı Yardımcısı - + Skip folders configuration Klasör yapılandırmasını atla @@ -3429,12 +3538,12 @@ Kullanmanız önerilmez. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again %1 üzerindeki %2 kullanıcısı oturumunuzu kapattınız. Lütfen yeniden oturum açın - + Please login with the user: %1 Lütfen şu kullanıcı ile oturum açın: %1 diff --git a/translations/client_uk.ts b/translations/client_uk.ts index 45e218a48..5d56560c8 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -115,6 +115,52 @@ Ця платформа не дозволяє переміщення до смітника + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2041,12 +2150,12 @@ It is not advisable to use it. &Наступний> - + Invalid URL Недійсна URL адреса - + Could not load certificate. Maybe wrong password? Не вдалося завантажити сертифікат. Можливо був введений неправильний пароль? @@ -2204,12 +2313,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard Майстер з'єднання %1 - + Skip folders configuration Пропустити налаштування теки @@ -3410,12 +3519,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index 3fcc41505..0fdc76c91 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -115,6 +115,52 @@ 当前平台尚未支持移动到回收站的功能 + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ 服务器文件发现的应答缺少数据。 + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2059,12 +2168,12 @@ It is not advisable to use it. &下一步 > - + Invalid URL 无效的链接 - + Could not load certificate. Maybe wrong password? 无法载入证书。是不是密码错了? @@ -2222,12 +2331,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard %1 链接向导 - + Skip folders configuration 跳过文件夹设置 @@ -3428,12 +3537,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again 您已经以用户 %2 的身份从 %1 中注销,请重新登录 - + Please login with the user: %1 请以 %1 用户身份登陆 diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index 51598c21a..93c6fa9ea 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -115,6 +115,52 @@ 移至回收桶功能目前無法使用 + + Flow2AuthCredsPage + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + + + Flow2AuthWidget + + + Form + + + + + Please switch to your browser to proceed. + + + + + An error occurred while connecting. Please try again. + + + + + Re-open Browser (or right-click to copy link) + + + FolderWizardSourcePage @@ -732,6 +778,69 @@ + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + + + + + + The reply from the server did not contain all expected fields + + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + + + + + Login in your browser (Login Flow v2) + + + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + + + + + Unable to open the Browser, please copy the link to your Browser. + + + OCC::Folder @@ -2047,12 +2156,12 @@ It is not advisable to use it. 下一步 (&N) > - + Invalid URL - + Could not load certificate. Maybe wrong password? @@ -2210,12 +2319,12 @@ It is not advisable to use it. OCC::OwncloudWizard - + %1 Connection Wizard %1連線精靈 - + Skip folders configuration 忽略資料夾設定資訊 @@ -3416,12 +3525,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 From d584bedcb664e82c2352c690bff799a66ce13805 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Tue, 27 Aug 2019 09:55:41 +0200 Subject: [PATCH 151/192] Also store the CACertificates of the client side certificate Else authentication will still fail in setups that have a chain of certificates supplied. Signed-off-by: Roeland Jago Douma --- src/gui/creds/webflowcredentials.cpp | 63 +++++++++++++++++++++++++-- src/gui/creds/webflowcredentials.h | 13 +++++- src/gui/wizard/flow2authcredspage.cpp | 3 +- src/gui/wizard/owncloudsetuppage.cpp | 11 ++--- src/gui/wizard/owncloudwizard.h | 1 + 5 files changed, 79 insertions(+), 12 deletions(-) diff --git a/src/gui/creds/webflowcredentials.cpp b/src/gui/creds/webflowcredentials.cpp index b3fb845a8..5a7f78f93 100644 --- a/src/gui/creds/webflowcredentials.cpp +++ b/src/gui/creds/webflowcredentials.cpp @@ -29,6 +29,7 @@ namespace { const char userC[] = "user"; const char clientCertificatePEMC[] = "_clientCertificatePEM"; const char clientKeyPEMC[] = "_clientKeyPEM"; + const char clientCaCertificatesPEMC[] = "_clientCaCertificatesPEM"; } // ns class WebFlowCredentialsAccessManager : public AccessManager @@ -56,6 +57,12 @@ protected: QSslConfiguration sslConfiguration = req.sslConfiguration(); sslConfiguration.setLocalCertificate(_cred->_clientSslCertificate); sslConfiguration.setPrivateKey(_cred->_clientSslKey); + + // Merge client side CA with system CA + auto ca = sslConfiguration.systemCaCertificates(); + ca.append(_cred->_clientSslCaCertificates); + sslConfiguration.setCaCertificates(ca); + req.setSslConfiguration(sslConfiguration); } @@ -70,7 +77,7 @@ private: static void addSettingsToJob(Account *account, QKeychain::Job *job) { - Q_UNUSED(account); + Q_UNUSED(account) auto settings = ConfigFile::settingsWithGroup(Theme::instance()->appName()); settings->setParent(job); // make the job parent to make setting deleted properly job->setSettings(settings.release()); @@ -85,11 +92,12 @@ WebFlowCredentials::WebFlowCredentials() } -WebFlowCredentials::WebFlowCredentials(const QString &user, const QString &password, const QSslCertificate &certificate, const QSslKey &key) +WebFlowCredentials::WebFlowCredentials(const QString &user, const QString &password, const QSslCertificate &certificate, const QSslKey &key, const QList &caCertificates) : _user(user) , _password(password) , _clientSslKey(key) , _clientSslCertificate(certificate) + , _clientSslCaCertificates(caCertificates) , _ready(true) , _credentialsValid(true) , _keychainMigration(false) @@ -163,7 +171,7 @@ void WebFlowCredentials::askFromUser() { } void WebFlowCredentials::slotAskFromUserCredentialsProvided(const QString &user, const QString &pass, const QString &host) { - Q_UNUSED(host); + Q_UNUSED(host) if (_user != user) { qCInfo(lcWebFlowCredentials()) << "Authed with the wrong user!"; @@ -246,6 +254,28 @@ void WebFlowCredentials::slotWriteClientCertPEMJobDone() } void WebFlowCredentials::slotWriteClientKeyPEMJobDone() +{ + // write ca certs if there are any + if (!_clientSslCaCertificates.isEmpty()) { + WritePasswordJob *job = new WritePasswordJob(Theme::instance()->appName()); + addSettingsToJob(_account, job); + job->setInsecureFallback(false); + connect(job, &Job::finished, this, &WebFlowCredentials::slotWriteClientCaCertsPEMJobDone); + job->setKey(keychainKey(_account->url().toString(), _user + clientCaCertificatesPEMC, _account->id())); + + QByteArray certs; + for(auto cert:_clientSslCaCertificates) { + certs += cert.toPem(); + } + + job->setBinaryData(certs); + job->start(); + } else { + slotWriteClientCaCertsPEMJobDone(); + } +} + +void WebFlowCredentials::slotWriteClientCaCertsPEMJobDone() { WritePasswordJob *job = new WritePasswordJob(Theme::instance()->appName()); addSettingsToJob(_account, job); @@ -314,7 +344,7 @@ QString WebFlowCredentials::fetchUser() { } void WebFlowCredentials::slotAuthentication(QNetworkReply *reply, QAuthenticator *authenticator) { - Q_UNUSED(reply); + Q_UNUSED(reply) if (!_ready) { return; @@ -415,6 +445,31 @@ void WebFlowCredentials::slotReadClientKeyPEMJobDone(QKeychain::Job *incomingJob } } + // Now fetch the actual server password + const QString kck = keychainKey( + _account->url().toString(), + _user + clientCaCertificatesPEMC, + _keychainMigration ? QString() : _account->id()); + + ReadPasswordJob *job = new ReadPasswordJob(Theme::instance()->appName()); + addSettingsToJob(_account, job); + job->setInsecureFallback(false); + job->setKey(kck); + connect(job, &Job::finished, this, &WebFlowCredentials::slotReadClientCaCertsPEMJobDone); + job->start(); +} + +void WebFlowCredentials::slotReadClientCaCertsPEMJobDone(QKeychain::Job *incomingJob) { + // Store key in memory + ReadPasswordJob *readJob = static_cast(incomingJob); + + if (readJob->error() == NoError && readJob->binaryData().length() > 0) { + QList sslCertificateList = QSslCertificate::fromData(readJob->binaryData(), QSsl::Pem); + if (sslCertificateList.length() >= 1) { + _clientSslCaCertificates = sslCertificateList; + } + } + // Now fetch the actual server password const QString kck = keychainKey( _account->url().toString(), diff --git a/src/gui/creds/webflowcredentials.h b/src/gui/creds/webflowcredentials.h index 197ce8b90..d9c9551bc 100644 --- a/src/gui/creds/webflowcredentials.h +++ b/src/gui/creds/webflowcredentials.h @@ -30,7 +30,12 @@ public: static constexpr QNetworkRequest::Attribute DontAddCredentialsAttribute = QNetworkRequest::User; explicit WebFlowCredentials(); - WebFlowCredentials(const QString &user, const QString &password, const QSslCertificate &certificate = QSslCertificate(), const QSslKey &key = QSslKey()); + WebFlowCredentials( + const QString &user, + const QString &password, + const QSslCertificate &certificate = QSslCertificate(), + const QSslKey &key = QSslKey(), + const QList &caCertificates = QList()); QString authType() const override; QString user() const override; @@ -58,10 +63,12 @@ private slots: void slotReadClientCertPEMJobDone(QKeychain::Job *incomingJob); void slotReadClientKeyPEMJobDone(QKeychain::Job *incomingJob); + void slotReadClientCaCertsPEMJobDone(QKeychain::Job *incommingJob); void slotReadPasswordJobDone(QKeychain::Job *incomingJob); void slotWriteClientCertPEMJobDone(); void slotWriteClientKeyPEMJobDone(); + void slotWriteClientCaCertsPEMJobDone(); void slotWriteJobDone(QKeychain::Job *); protected: @@ -69,7 +76,8 @@ protected: * * Goes through * slotReadClientCertPEMJobDone to - * slotReadClientCertPEMJobDone to + * slotReadClientKeyPEMJobDone to + * slotReadClientCaCertsPEMJobDone to * slotReadJobDone */ void fetchFromKeychainHelper(); @@ -83,6 +91,7 @@ protected: QString _password; QSslKey _clientSslKey; QSslCertificate _clientSslCertificate; + QList _clientSslCaCertificates; bool _ready; bool _credentialsValid; diff --git a/src/gui/wizard/flow2authcredspage.cpp b/src/gui/wizard/flow2authcredspage.cpp index b52095f0d..a368d6043 100644 --- a/src/gui/wizard/flow2authcredspage.cpp +++ b/src/gui/wizard/flow2authcredspage.cpp @@ -136,7 +136,8 @@ AbstractCredentials *Flow2AuthCredsPage::getCredentials() const _user, _appPassword, ocWizard->_clientSslCertificate, - ocWizard->_clientSslKey + ocWizard->_clientSslKey, + ocWizard->_clientSslCaCertificates ); } diff --git a/src/gui/wizard/owncloudsetuppage.cpp b/src/gui/wizard/owncloudsetuppage.cpp index 8cfa158d4..3a956b0d7 100644 --- a/src/gui/wizard/owncloudsetuppage.cpp +++ b/src/gui/wizard/owncloudsetuppage.cpp @@ -377,12 +377,13 @@ QString subjectInfoHelper(const QSslCertificate &cert, const QByteArray &qa) //called during the validation of the client certificate. void OwncloudSetupPage::slotCertificateAccepted() { - QList clientCaCertificates; QFile certFile(addCertDial->getCertificatePath()); certFile.open(QFile::ReadOnly); - if (QSslCertificate::importPkcs12(&certFile, - &_ocWizard->_clientSslKey, &_ocWizard->_clientSslCertificate, - &clientCaCertificates, + if (QSslCertificate::importPkcs12( + &certFile, + &_ocWizard->_clientSslKey, + &_ocWizard->_clientSslCertificate, + &_ocWizard->_clientSslCaCertificates, addCertDial->getCertificatePasswd().toLocal8Bit())) { AccountPtr acc = _ocWizard->account(); @@ -397,7 +398,7 @@ void OwncloudSetupPage::slotCertificateAccepted() // Be sure to merge the CAs auto ca = sslConfiguration.systemCaCertificates(); - ca.append(clientCaCertificates); + ca.append(_ocWizard->_clientSslCaCertificates); sslConfiguration.setCaCertificates(ca); acc->setSslConfiguration(sslConfiguration); diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h index c37bfd97e..c1d290d4b 100644 --- a/src/gui/wizard/owncloudwizard.h +++ b/src/gui/wizard/owncloudwizard.h @@ -78,6 +78,7 @@ public: // Set from the OwncloudSetupPage, later used from OwncloudHttpCredsPage QSslKey _clientSslKey; QSslCertificate _clientSslCertificate; + QList _clientSslCaCertificates; public slots: void setAuthType(DetermineAuthTypeJob::AuthType type); From 7fc95c4c526a5b42013561e4603fad64471582c6 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 28 Aug 2019 03:10:20 +0000 Subject: [PATCH 152/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/hr_translation | 5 +- translations/client_de.ts | 36 +- translations/client_fr.ts | 26 +- translations/client_hr.ts | 4307 +++++++++++++++++++ translations/client_it.ts | 36 +- translations/client_pl.ts | 36 +- translations/client_tr.ts | 38 +- 7 files changed, 4396 insertions(+), 88 deletions(-) create mode 100644 translations/client_hr.ts diff --git a/.tx/nextcloud.client-desktop/hr_translation b/.tx/nextcloud.client-desktop/hr_translation index 467dd56a6..ad7a34f14 100644 --- a/.tx/nextcloud.client-desktop/hr_translation +++ b/.tx/nextcloud.client-desktop/hr_translation @@ -198,6 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Name[hr]=sinkronizacija računala -Comment[hr]=klijent za sinkronizaciju računala +Icon[hr]=@APPLICATION_ICON_NAME@ +Name[hr]=@APPLICATION_NAME@ klijent za sink. računala +Comment[hr]=@APPLICATION_NAME@ klijent za sinkronizaciju računala GenericName[hr]=Sinkronizacija mapa diff --git a/translations/client_de.ts b/translations/client_de.ts index 08c789d23..5c1fd5a36 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -120,22 +120,22 @@ Form - + Form Please switch to your browser to proceed. - + Um Fortzufahren wechseln Sie bitte zu Ihrem Browser. An error occurred while connecting. Please try again. - + Fehler bei der Verbindungsherstellung. Bitte erneut versuchen. Re-open Browser (or right-click to copy link) - + Öffnen Sie den Browser erneut (oder klicken Sie mit der rechten Maustaste, um den Link zu kopieren) @@ -143,22 +143,22 @@ Form - + Form Please switch to your browser to proceed. - + Bitte wechseln Sie zu Ihrem Browser um fortzufahren. An error occurred while connecting. Please try again. - + Beim Herstellen der Verbindung ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut. Re-open Browser (or right-click to copy link) - + Öffnen Sie den Browser erneut (oder klicken Sie mit der rechten Maustaste, um den Link zu kopieren) @@ -784,25 +784,25 @@ Error returned from the server: <em>%1</em> - + Vom Server zurückgegebener Fehler: <em>%1</em> There was an error accessing the 'token' endpoint: <br><em>%1</em> - + Fehler beim Zugriff auf den 'Token'-Endpunkt: <br><em>%1</em> Could not parse the JSON returned from the server: <br><em>%1</em> - + Der vom Server zurückgegebene JSON-Code konnte nicht verarbeitet werden: <br><em>%1</em> The reply from the server did not contain all expected fields - + Die Antwort des Servers enthielt nicht alle erwarteten Felder @@ -810,22 +810,22 @@ Connect to %1 - + Mit %1 verbinden Login in your browser (Login Flow v2) - + Melden Sie sich in Ihren Browser an (Login Flow v2) Copy link to clipboard - + Link in die Zwischenablage kopieren Unable to open the Browser, please copy the link to your Browser. - + Der Browser kann nicht geöffnet werden. Bitte kopieren Sie den Link in Ihren Browser. @@ -833,12 +833,12 @@ Copy link to clipboard - + Link in die Zwischenablage kopieren Unable to open the Browser, please copy the link to your Browser. - + Der Browser kann nicht geöffnet werden. Bitte kopieren Sie den Link in Ihren Browser. diff --git a/translations/client_fr.ts b/translations/client_fr.ts index f37c54f14..22005e213 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -120,17 +120,17 @@ Form - + Formulaire Please switch to your browser to proceed. - + Merci de basculer vers votre navigateur pour terminer. An error occurred while connecting. Please try again. - + Une erreur s'est produite pendant la connexion. Veuillez ré-essayer. @@ -143,17 +143,17 @@ Form - + Formulaire Please switch to your browser to proceed. - + Merci de basculer vers votre navigateur pour terminer. An error occurred while connecting. Please try again. - + Une erreur s'est produite pendant la connexion. Veuillez ré-essayer. @@ -802,7 +802,7 @@ The reply from the server did not contain all expected fields - + La réponse du serveur ne contient pas tous les champs attendus @@ -810,7 +810,7 @@ Connect to %1 - + Connexion à %1 @@ -820,12 +820,12 @@ Copy link to clipboard - + Copier le lien vers le presse-papier Unable to open the Browser, please copy the link to your Browser. - + Impossible d'ouvrir le navigateur, veuillez copier le lien dans votre navigateur Web. @@ -833,12 +833,12 @@ Copy link to clipboard - + Copier le lien vers le presse-papier Unable to open the Browser, please copy the link to your Browser. - + Impossible d'ouvrir le navigateur, veuillez copier le lien dans votre navigateur Web. @@ -1926,7 +1926,7 @@ Les journaux seront écrits dans %1. The reply from the server did not contain all expected fields - La réponse provenant du serveur ne contienne pas tous les champs attendus + La réponse du serveur ne contient pas tous les champs attendus diff --git a/translations/client_hr.ts b/translations/client_hr.ts new file mode 100644 index 000000000..62cfa505b --- /dev/null +++ b/translations/client_hr.ts @@ -0,0 +1,4307 @@ + + + CloudProviderWrapper + + + %1 (%2, %3) + %1 (%2, %3) + + + + Checking for changes in '%1' + Provjera izmjena u '%1' + + + + Syncing %1 of %2 (%3 left) + Sinkronizacija %1 od %2 (preostalo %3) + + + + Syncing %1 of %2 + Sinkronizacija %1 od %2 + + + + Syncing %1 (%2 left) + Sinkronizacija %1 (preostalo %2) + + + + Syncing %1 + Sinkronizacija %1 + + + + + No recently changed files + Nema nedavno promijenjenih datoteka + + + + Sync paused + Sinkronizacija je pauzirana + + + + Syncing + Sinkronizacija + + + + Open website + Otvori web-mjesto + + + + Recently changed + Nedavno promijenjeno + + + + Pause synchronization + Pauziraj sinkronizaciju + + + + Help + Pomoć + + + + Settings + Postavke + + + + Log out + Odjava + + + + Quit sync client + Zatvori klijent za sinkronizaciju + + + + Dialog + + + Dialog + Dijalog + + + + Label + Oznaka + + + + FileSystem + + + Could not make directories in trash + Neuspješna izrada direktorija u košu za smeće + + + + + Could not move '%1' to '%2' + Nije moguće premjestiti '%1' u '%2' + + + + Moving to the trash is not implemented on this platform + Premještanje u koš za smeće nije implementirano na ovoj platformi + + + + Flow2AuthCredsPage + + + Form + Obrazac + + + + Please switch to your browser to proceed. + Za nastavak prijeđite na preglednik. + + + + An error occurred while connecting. Please try again. + Došlo je do pogreške tijekom povezivanja. Pokušajte ponovno. + + + + Re-open Browser (or right-click to copy link) + Ponovno otvorite preglednik (ili desnom tipkom miša kliknite za kopiranje poveznice) + + + + Flow2AuthWidget + + + Form + Obrazac + + + + Please switch to your browser to proceed. + Za nastavak prijeđite na preglednik. + + + + An error occurred while connecting. Please try again. + Došlo je do pogreške tijekom povezivanja. Pokušajte ponovno. + + + + Re-open Browser (or right-click to copy link) + Ponovno otvorite preglednik (ili desnom tipkom miša kliknite za kopiranje poveznice) + + + + FolderWizardSourcePage + + + Form + Formiraj + + + + Pick a local folder on your computer to sync + Odaberite lokalnu mapu na računalu koju želite sinkronizirati + + + + &Choose... + &Odaberite... + + + + FolderWizardTargetPage + + + Form + Obrazac + + + + Select a remote destination folder + Odaberi udaljenu odredišnu mapu + + + + Create Folder + Stvori mapu + + + + Refresh + Osvježi + + + + Folders + Mape + + + + TextLabel + TextLabel + + + + OCC::AbstractNetworkJob + + + Connection timed out + Vrijeme sesije je isteklo + + + + Unknown error: network reply was deleted + Nepoznata pogreška: odgovor mreže je izbrisan + + + + Server replied "%1 %2" to "%3 %4" + Poslužitelj je odgovorio „%1 %2” na „%3 %4” + + + + OCC::AccountManager + + + End to end encryption mnemonic + Mnemonika cjelovitog šifriranja + + + + To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). + Kako bismo zaštitili vaš kriptografski identitet, šifriramo ga s pomoću mnemonika od 12 riječi iz rječnika. Zapamtite ih i čuvajte na sigurnom. Bit će vam potrebni za dodavanje drugih uređaja na vaš račun (poput mobilnog telefona ili prijenosnog računala). + + + + OCC::AccountSettings + + + Form + Obrazac + + + + ... + ... + + + + Storage space: ... + Prostor za pohranu:... + + + + Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore + Neoznačene mape bit će <b>uklonjene</b> iz vašeg lokalnog datotečnog sustava i više se neće sinkronizirati s ovim računalom + + + + Synchronize all + Sinkroniziraj sve + + + + Synchronize none + Sinkroniziraj ništa + + + + Apply manual changes + Primijeni ručne promjene + + + + Apply + Potvrdi + + + + + + Cancel + Odustani + + + + Connected with <server> as <user> + Povezan s <poslužitelj> kao <korisnik> + + + + No account configured. + Račun nije konfiguriran. + + + + Add new + Dodaj novi + + + + Remove + Ukloni + + + + Account + Račun + + + + This account supports end-to-end encryption + Ovaj račun podržava cjelovito šifriranje + + + + Enable encryption + Omogući šifriranje + + + + Show E2E mnemonic + Pokaži E2E mnemoničku oznaku + + + + Encrypt + Šifriraj + + + + Choose what to sync + Odaberite što sinkronizirati + + + + Force sync now + Sinkroniziraj sada + + + + Restart sync + Ponovno pokreni sinkronizaciju + + + + Remove folder sync connection + Uklonite poveznicu za sinkronizaciju mape + + + + Folder creation failed + Neuspješna izrada mape + + + + <p>Could not create local folder <i>%1</i>. + <p>Nije moguće stvoriti lokalnu mapu <i>%1</i>. + + + + Confirm Folder Sync Connection Removal + Potvrdi uklanjanje poveznice za sinkronizaciju mape + + + + Remove Folder Sync Connection + Uklonite poveznicu za sinkronizaciju mape + + + + Sync Running + Sinkronizacija u tijeku + + + + The syncing operation is running.<br/>Do you want to terminate it? + Sinkronizacija je pokrenuta.<br/>Želite li je prekinuti? + + + + %1 in use + %1 u upotrebi + + + + %1 as <i>%2</i> + %1 kao <i>%2</i> + + + + The server version %1 is old and unsupported! Proceed at your own risk. + Inačica poslužitelja %1 je stara i nepodržana! Nastavite na vlastitu odgovornost. + + + + Connected to %1. + Povezano s %1. + + + + Server %1 is temporarily unavailable. + Poslužitelj %1 privremeno nije dostupan. + + + + Server %1 is currently in maintenance mode. + Poslužitelj %1 trenutno je u načinu održavanja. + + + + Signed out from %1. + Odjavili ste se iz %1. + + + + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. + Dobivanje autorizacije od preglednika. <a href='%1'>Kliknite ovdje</a> za ponovno otvaranje preglednika. + + + + Connecting to %1... + Povezivanje s %1... + + + + No connection to %1 at %2. + Ne postoji veza s %1 na %2. + + + + Log in + Prijava + + + + There are folders that were not synchronized because they are too big: + Ove mape nisu sinkronizirane jer su prevelike: + + + + There are folders that were not synchronized because they are external storages: + Ove mape nisu sinkronizirane jer su vanjski prostori za pohranu: + + + + There are folders that were not synchronized because they are too big or external storages: + Ove mape nisu sinkronizirane jer su prevelike ili su vanjski prostori za pohranu: + + + + Confirm Account Removal + Potvrdi brisanje računa + + + + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> + <p>Želite li zaista ukloniti vezu s računom <i>%1</i>?</p><p><b>Napomena:</b> time <b>nećete</b> izbrisati datoteke.</p> + + + + Remove connection + Ukloni vezu + + + + + Open folder + Otvori mapu + + + + + Log out + Odjava + + + + Resume sync + Nastavi sinkronizaciju + + + + Pause sync + Pauziraj sinkronizaciju + + + + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> + <p>Želite li zaista prekinuti sinkronizaciju mape <i>%1</i>?</p><p><b>Napomena:</b> time <b>nećete</b> izbrisati datoteke.</p> + + + + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. + %1 (%3%) od %2 u upotrebi. Neke mape, uključujući mrežne ili dijeljene mape, mogu imati različita ograničenja. + + + + %1 of %2 in use + %1 od %2 u upotrebi + + + + Currently there is no storage usage information available. + Trenutno nema dostupnih podataka o uporabi pohrane. + + + + No %1 connection configured. + Nije konfigurirana veza %1. + + + + OCC::AccountState + + + Signed out + Odjavljen + + + + Disconnected + Odspojen + + + + Connected + Povezan + + + + Service unavailable + Usluga nedostupna + + + + Maintenance mode + Način održavanja + + + + Network error + Pogreška mreže + + + + Configuration error + Pogreška konfiguracije + + + + Asking Credentials + Traženje vjerodajnica + + + + Unknown account state + Nepoznato stanje računa + + + + OCC::ActivityItemDelegate + + + %1 + %1 + + + + More information + Više informacija + + + + Accept + Prihvati + + + + Join + Pridruži se + + + + Open Browser + Otvori preglednik + + + + OCC::ActivityWidget + + + Form + Obrazac + + + + TextLabel + TextLabel + + + + Accept + Prihvati + + + + Synced + Sinkronizirano + + + + Retry all uploads + Ponovno pokreni sve otpreme + + + + <br/>Account %1 does not have activities enabled. + <br/>Račun %1 nema omogućenih aktivnosti. + + + + OCC::AddCertificateDialog + + + SSL client certificate authentication + Autentifikacija SSL vjerodajnice klijenta + + + + This server probably requires a SSL client certificate. + Ovaj poslužitelj vjerojatno zahtijeva SSL vjerodajnicu klijenta. + + + + Certificate & Key (pkcs12) : + Vjerodajnica i ključ (pkcs12): + + + + Browse... + Pretraži... + + + + Certificate password : + Zaporka vjerodajnice: + + + + Select a certificate + Odaberi vjerodajnicu + + + + Certificate files (*.p12 *.pfx) + Datoteke vjerodajnica (*.p12 *.pfx) + + + + OCC::Application + + + Error accessing the configuration file + Pogreška pri pristupanju konfiguracijskoj datoteci + + + + There was an error while accessing the configuration file at %1. Please make sure the file can be accessed by your user. + Došlo je do pogreške prilikom pristupanja konfiguracijskoj datoteci na %1. Provjerite može li korisnik pristupiti datoteci. + + + + Quit %1 + Zatvori %1 + + + + OCC::AuthenticationDialog + + + Authentication Required + Potrebna autentifikacija + + + + Enter username and password for '%1' at %2. + Unesite korisničko ime i zaporku za ‘%1’ na %2. + + + + &User: + &Korisnik: + + + + &Password: + &Zaporka: + + + + OCC::CleanupPollsJob + + + Error writing metadata to the database + Pogreška pri pisanju metapodataka u bazu podataka + + + + OCC::ClientSideEncryption + + + Please enter your end to end encryption passphrase:<br><br>User: %2<br>Account: %3<br> + Unesite zaporku za cjelovito šifriranje: <br><br>Korisnik: %2<br>Račun: %3<br> + + + + Enter E2E passphrase + Unesite zaporku za E2E + + + + OCC::ConnectionValidator + + + No ownCloud account configured + Nije konfiguriran račun za ownCloud + + + + The configured server for this client is too old + Konfigurirani poslužitelj za ovog klijenta je prestar + + + + Please update to the latest server and restart the client. + Ažurirajte na najnoviji poslužitelj i ponovno pokrenite klijenta. + + + + Authentication error: Either username or password are wrong. + Pogrešna autentifikacija: pogrešno korisničko ime ili zaporka. + + + + timeout + istek vremena + + + + The provided credentials are not correct + Navedene vjerodajnice nisu točne + + + + OCC::DiscoveryMainThread + + + Aborted by the user + Prekinuo korisnik + + + + OCC::DiscoverySingleDirectoryJob + + + The server file discovery reply is missing data. + Nedostaju podaci u odgovoru datoteke poslužitelja. + + + + OCC::Flow2Auth + + + + Error returned from the server: <em>%1</em> + Poslužitelj je vratio pogrešku: <em>%1</em> + + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + Došlo je do pogreške prilikom pristupanja krajnjoj točki ‘token’: <br><em>%1</em> + + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + Nije moguće parsirati JSON koji je vratio poslužitelj: <br><em>%1</em> + + + + + The reply from the server did not contain all expected fields + Odgovor poslužitelja ne sadrži sva očekivana polja + + + + OCC::Flow2AuthCredsPage + + + Connect to %1 + Poveži s %1 + + + + Login in your browser (Login Flow v2) + Prijavi se u svoj preglednik (Login Flow v2) + + + + Copy link to clipboard + Kopiraj poveznicu u međuspremnik + + + + Unable to open the Browser, please copy the link to your Browser. + Nije moguće otvoriti preglednik, kopirajte poveznicu u svoj preglednik. + + + + OCC::Flow2AuthWidget + + + Copy link to clipboard + Kopiraj poveznicu u međuspremnik + + + + Unable to open the Browser, please copy the link to your Browser. + Nije moguće otvoriti preglednik, kopirajte poveznicu u svoj preglednik. + + + + OCC::Folder + + + Local folder %1 does not exist. + Lokalna mapa %1 ne postoji. + + + + %1 should be a folder but is not. + %1 bi trebao biti mapa, ali nije. + + + + %1 is not readable. + %1 nije čitljiva. + + + + %1 has been removed. + %1 names a file. + %1 je uklonjena. + + + + %1 has been downloaded. + %1 names a file. + %1 je preuzeta. + + + + %1 has been updated. + %1 names a file. + %1 je ažurirana. + + + + %1 has been renamed to %2. + %1 and %2 name files. + %1 je preimenovana u %2. + + + + %1 has been moved to %2. + %1 je premještena u %2. + + + + %1 and %n other file(s) have been removed. + %1 i %n drugih datoteka su uklonjene.%1 i %n drugih datoteka su uklonjene.%1 i %n drugih datoteka su uklonjene. + + + + %1 and %n other file(s) have been downloaded. + %1 i %n drugih datoteka su preuzete.%1 i %n drugih datoteka su preuzete.%1 i %n drugih datoteka su preuzete. + + + + %1 and %n other file(s) have been updated. + %1 i %n drugih datoteka su ažurirane.%1 i %n drugih datoteka su ažurirane.%1 i %n drugih datoteka su ažurirane. + + + + %1 has been renamed to %2 and %n other file(s) have been renamed. + %1 je preimenovana u %2 i %n drugih datoteka je preimenovano.%1 je preimenovana u %2 i %n drugih datoteka je preimenovano.%1 je preimenovana u %2 i %n drugih datoteka je preimenovano. + + + + %1 has been moved to %2 and %n other file(s) have been moved. + %1 je premještena u %2 i %n drugih datoteka je premješteno.%1 je premještena u %2 i %n drugih datoteka je premješteno.%1 je premještena u %2 i %n drugih datoteka je premješteno. + + + + %1 has and %n other file(s) have sync conflicts. + Postoji nepodudaranje u sinkronizaciji za %1 i %n drugih datoteka.Postoji nepodudaranje u sinkronizaciji za %1 i %n drugih datoteka.Postoji nepodudaranje u sinkronizaciji za %1 i %n drugih datoteka. + + + + %1 has a sync conflict. Please check the conflict file! + Postoji nepodudaranje u sinkronizaciji za %1. Provjerite datoteku nepodudaranja! + + + + %1 and %n other file(s) could not be synced due to errors. See the log for details. + %1 i %n drugih datoteka nije moguće sinkronizirati zbog pogrešaka. Pojedinosti potražite u zapisu pogreške.%1 i %n drugih datoteka nije moguće sinkronizirati zbog pogrešaka. Pojedinosti potražite u zapisu pogreške.%1 i %n drugih datoteka nije moguće sinkronizirati zbog pogrešaka. Pojedinosti potražite u zapisu pogreške. + + + + %1 could not be synced due to an error. See the log for details. + %1 nije moguće sinkronizirati zbog pogreške. Pojedinosti potražite u zapisu pogreške. + + + + Sync Activity + Aktivnost sinkronizacije + + + + Could not read system exclude file + Nije moguće pročitati datoteku izuzetka iz sustava + + + + A new folder larger than %1 MB has been added: %2. + + Dodana je nova mapa veća od %1 MB: %2. + + + + + A folder from an external storage has been added. + + Dodana je mapa iz vanjskog prostora za pohranu. + + + + + Please go in the settings to select it if you wish to download it. + Idite u postavke kako biste je odabrali ako je želite preuzeti. + + + + The folder %1 was created but was excluded from synchronization previously. Data inside it will not be synchronized. + Mapa %1 je stvorena, ali je prethodno isključena iz sinkronizacije. Podaci unutar nje neće se sinkronizirati. + + + + The file %1 was created but was excluded from synchronization previously. It will not be synchronized. + Datoteka %1 je stvorena, ali je prethodno isključena iz sinkronizacije. Neće se sinkronizirati. + + + + Changes in synchronized folders could not be tracked reliably. + +This means that the synchronization client might not upload local changes immediately and will instead only scan for local changes and upload them occasionally (every two hours by default). + +%1 + Promjene u sinkroniziranim mapama nije moguće pouzdano pratiti. + +To znači da klijent za sinkronizaciju možda neće odmah otpremiti lokalne promjene i umjesto toga će skenirati u potrazi za lokalnim promjenama i povremeno ih otpremati (svaka dva sata prema zadanim postavkama). + +%1 + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + Sve datoteke u mapi za sinkronizaciju '%1' izbrisane su sa poslužitelja. +Ta će se brisanja sinkronizirati s lokalnom mapom za sinkronizaciju, što znači da će takve datoteke biti nedostupne ako nemate ovlasti za vraćanje. +Ako odlučite zadržati datoteke, ponovno će se sinkronizirati s poslužiteljem ako imate potrebne ovlasti. +Ako odlučite izbrisati datoteke, one će vam biti nedostupne ako niste njihov vlasnik. + + + + Download new files? + Preuzmi nove datoteke? + + + + Download new files + Preuzmi nove datoteke + + + + Keep local files + Zadrži lokalne datoteke + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + Sve datoteke u vašoj lokalnoj mapi za sinkronizaciju '%1' su izbrisane. Ova će se brisanja sinkronizirati s vašim poslužiteljem, što znači da će te datoteke biti nedostupne ako ih ne vratite. +Jeste li sigurni da želite sinkronizirati te radnje s poslužiteljem? +Ako ste slučajno odabrali ovu radnju i želite zadržati svoje datoteke, ponovno će se sinkronizirati s poslužitelja. + + + + This sync would reset the files to an earlier time in the sync folder '%1'. +This might be because a backup was restored on the server. +Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? + Ova sinkronizacija vratit će ranije inačice datoteka u mapu za sinkronizaciju '%1'. +To može biti zbog vraćanja sigurnosne kopije na poslužitelj. +Nastavljanje sinkronizacije uzrokovat će zamjenu svih vaših datoteka starijim inačicama istih datoteka. Želite li zadržati najnovije lokalne datoteke kao datoteke nepodudaranja? + + + + Backup detected + Otkrivena je sigurnosna kopija + + + + Normal Synchronisation + Normalna sinkronizacija + + + + Keep Local Files as Conflict + Zadrži lokalne datoteke kao datoteke nepodudaranja + + + + OCC::FolderMan + + + Could not reset folder state + Stanje mape nije moguće vratiti + + + + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. + Pronađen je stari sinkronizacijski dnevnik ‘%1’ ali ga nije moguće ukloniti. Provjerite koristi li ga trenutno neka druga aplikacija. + + + + (backup) + (sigurnosna kopija) + + + + (backup %1) + (sigurnosna kopija %1) + + + + Undefined State. + Nedefinirano stanje. + + + + Waiting to start syncing. + Čeka se početak sinkronizacije. + + + + Preparing for sync. + Priprema za sinkronizaciju. + + + + Sync is running. + Sinkronizacija je pokrenuta. + + + + Sync was successful, unresolved conflicts. + Sinkronizacija je bila uspješna, postoje neriješena nepodudaranja. + + + + Last Sync was successful. + Zadnja sinkronizacija bila je uspješna. + + + + Setup Error. + Pogreška pri postavljanju. + + + + User Abort. + Prekinuo korisnik. + + + + Sync is paused. + Sinkronizacija je pauzirana. + + + + %1 (Sync is paused) + %1 (Sinkronizacija je pauzirana) + + + + No valid folder selected! + Nije odabrana nijedna valjana mapa! + + + + The selected path is not a folder! + Odabran put nije mapa! + + + + You have no permission to write to the selected folder! + Nemate dopuštenje za pisanje u odabranu mapu! + + + + There is already a sync from the server to this local folder. Please pick another local folder! + Već postoji sinkronizacija između poslužitelja i te lokalne mape. Odaberite drugu lokalnu mapu! + + + + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! + Lokalna mapa %1 već sadrži mapu koja se upotrebljava u poveznici za sinkronizaciju mape. Odaberite drugu mapu! + + + + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! + Lokalna mapa %1 već je sadržana u mapi koja se upotrebljava u poveznici za sinkronizaciju mape. Odaberite drugu mapu! + + + + OCC::FolderStatusDelegate + + + Add Folder Sync Connection + Dodaj poveznicu za sinkronizaciju mape + + + + Synchronized with local folder + Sinkronizirano s lokalnom mapom + + + + File + Datoteka + + + + OCC::FolderStatusModel + + + You need to be connected to add a folder + Morate biti povezani kako biste dodali mapu + + + + Click this button to add a folder to synchronize. + Kliknite ovaj gumb kako biste dodali mapu za sinkronizaciju. + + + + + %1 (%2) + Example text: "File.txt (23KB)" + %1 (%2) + + + + Error while loading the list of folders from the server. + Pogreška prilikom učitavanja popisa mapa s poslužitelja. + + + + Signed out + Odjavljen + + + + Fetching folder list from server... + Dohvaćanje popisa mapa s poslužitelja... + + + + There are unresolved conflicts. Click for details. + Postoje neriješena nepodudaranja. Kliknite za pojedinosti. + + + + Reconciling changes + Usklađivanje promjena + + + + , '%1' + Build a list of file names + , '%1' + + + + '%1' + Argument is a file name + '%1' + + + + Syncing %1 + Example text: "Syncing 'foo.txt', 'bar.txt'" + Sinkronizacija %1 + + + + + , + , + + + + download %1/s + Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) + preuzimanje %1/s + + + + upload %1/s + Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) + otpremanje %1/s + + + + Checking for changes in remote '%1' + Provjera za promjene u udaljenom ‘%1’ + + + + Checking for changes in local '%1' + Provjera za promjene u lokalnom ‘%1’ + + + + ↓ %1/s + ↓ %1/s + + + + ↑ %1/s + ↑ %1/s + + + + %1 %2 (%3 of %4) + Example text: "uploading foobar.png (2MB of 2MB)" + %1 %2 (%3 od %4) + + + + %1 %2 + Example text: "uploading foobar.png" + %1 %2 + + + + %5 left, %1 of %2, file %3 of %4 + Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" + %5 preostalo, %1 od %2, datoteka %3 od %4 + + + + %1 of %2, file %3 of %4 + Example text: "12 MB of 345 MB, file 6 of 7" + %1 od %2, datoteka %3 od %4 + + + + file %1 of %2 + datoteka %1 od %2 + + + + Waiting... + Čekanje... + + + + Waiting for %n other folder(s)... + Čeka se %n drugih mapa...Čeka se %n drugih mapa...Čeka se %n drugih mapa... + + + + Preparing to sync... + Priprema za sinkronizaciju... + + + + OCC::FolderWatcherPrivate + + + This problem usually happens when the inotify watches are exhausted. Check the FAQ for details. + Taj se problem obično javlja kada su potrošeni inotify watches. Pojedinosti potražite među najčešće postavljenim pitanjima. + + + + OCC::FolderWizard + + + Add Folder Sync Connection + Dodaj poveznicu za sinkronizaciju mape + + + + Add Sync Connection + Dodaj poveznicu za sinkronizaciju + + + + OCC::FolderWizardLocalPath + + + Click to select a local folder to sync. + Kliknite za odabir lokalne mape za sinkronizaciju. + + + + Enter the path to the local folder. + Unesite put do lokalne mape. + + + + Select the source folder + Odaberi izvornu mapu + + + + OCC::FolderWizardRemotePath + + + Create Remote Folder + Stvori udaljenu mapu + + + + Enter the name of the new folder to be created below '%1': + Unesite naziv nove mape koja će se stvoriti ispod '%1': + + + + Folder was successfully created on %1. + Mapa je uspješno stvorena na %1. + + + + Authentication failed accessing %1 + Neuspješna autentifikacija za pristup %1 + + + + Failed to create the folder on %1. Please check manually. + Neuspješno stvaranje mape na %1. Provjerite ručno. + + + + Failed to list a folder. Error: %1 + Neuspješno popisivanje mape. Pogreška: %1 + + + + Choose this to sync the entire account + Odaberite ovu opciju za sinkronizaciju cijelog računa + + + + This folder is already being synced. + Ova se mapa već sinkronizira. + + + + You are already syncing <i>%1</i>, which is a parent folder of <i>%2</i>. + Već sinkronizirate <i>%1</i>, nadređenu mapu od <i>%2</i>. + + + + OCC::FormatWarningsWizardPage + + + <b>Warning:</b> %1 + <b>Upozorenje:</b> %1 + + + + <b>Warning:</b> + <b>Upozorenje:</ b> + + + + OCC::GETFileJob + + + No E-Tag received from server, check Proxy/Gateway + Nijedna E-oznaka nije primljena s poslužitelja, označite proxy/pristupno računalo + + + + We received a different E-Tag for resuming. Retrying next time. + Primljena je drugačija E-oznaka za nastavak. Ponovni pokušaj sljedeći put. + + + + Server returned wrong content-range + Poslužitelj je vratio pogrešan raspon sadržaja + + + + Connection Timeout + Istek veze + + + + OCC::GeneralSettings + + + Form + Obrazac + + + + Legal notice + Pravna obavijest + + + + General Settings + Opće postavke + + + + For System Tray + Za ladicu sustava + + + + Show Server &Notifications + Prikaži poslužitelj i obavijesti + + + + Advanced + Napredno + + + + Ask for confirmation before synchronizing folders larger than + Zatraži potvrdu prije sinkronizacije mapa većih od + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing external storages + Zatraži potvrdu prije sinkronizacije vanjskih prostora za pohranu + + + + &Launch on System Startup + Pokreni pri pokretanju sustava + + + + Use &Monochrome Icons + Koristi jednobojne ikone + + + + Edit &Ignored Files + Uredi zanemarene datoteke + + + + Show sync folders in &Explorer's Navigation Pane + Prikaži mape za sinkronizaciju u navigacijskom oknu preglednika datoteka + + + + S&how crash reporter + Prikaži alat za izvješćivanje o padu sustava + + + + + About + Informacije + + + + Updates + Ažuriranja + + + + &Restart && Update + Ponovno pokreni i ažuriraj + + + + Server notifications that require attention. + Obavijesti poslužitelja koje zahtijevaju pažnju. + + + + OCC::GetOrCreatePublicLinkShare + + + Sharing error + Pogreška dijeljenja + + + + Could not retrieve or create the public link share. Error: + +%1 + Nije moguće dohvatiti ili stvoriti poveznicu za javno dijeljenje. Pogreška: + +%1 + + + + OCC::HttpCredentialsGui + + + Please enter %1 password:<br><br>User: %2<br>Account: %3<br> + Unesite zaporku %1:<br><br>Korisnik: %2<br>Račun: %3<br> + + + + Reading from keychain failed with error: '%1' + Čitanje s privjeska nije uspjelo, pogreška: '%1' + + + + Enter Password + Unesi zaporku + + + + <a href="%1">Click here</a> to request an app password from the web interface. + <a href="%1">Kliknite ovdje</a> kako biste zatražili zaporku za aplikaciju putem web-sučelja. + + + + OCC::IgnoreListEditor + + + Ignored Files Editor + Uređivač zanemarenih datoteka + + + + Global Ignore Settings + Globalne postavke zanemarivanja + + + + Sync hidden files + Sinkroniziraj skrivene datoteke + + + + Files Ignored by Patterns + Datoteke koje zanemaruju obrasci + + + + Add + Dodaj + + + + Remove all + Ukloni sve + + + + Pattern + Obrazac + + + + Allow Deletion + Dopusti brisanje + + + + Remove + Ukloni + + + + Files or folders matching a pattern will not be synchronized. + +Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. + Datoteke ili mape koje odgovaraju određenom obrascu neće biti sinkronizirane. + +Stavke za koje je dopušteno brisanje bit će izbrisane ako sprječavaju uklanjanje direktorija. To je korisno za metapodatke. + + + + Could not open file + Nije moguće otvoriti datoteku + + + + Cannot write changes to '%1'. + Nije moguće zapisati promjene u '%1'. + + + + Add Ignore Pattern + Dodaj obrazac za zanemarivanje + + + + Add a new ignore pattern: + Dodaj novi obrazac za zanemarivanje: + + + + This entry is provided by the system at '%1' and cannot be modified in this view. + Ovaj unos osigurava sustav na '%1' i ne može se mijenjati u ovom prikazu. + + + + OCC::LegalNotice + + + Dialog + Dijalog + + + + Legal notice + Pravna obavijest + + + + TextLabel + TextLabel + + + + Close + Zatvori + + + + <p>Copyright 2017-2018 Nextcloud GmbH<br />Copyright 2012-2018 ownCloud GmbH</p> + <p>Autorska prava 2017. – 2018. Nextcloud GmbH<br />Autorska prava 2012. – 2018. ownCloud GmbH</p> + + + + <p>Licensed under the GNU General Public License (GPL) Version 2.0 or any later version.</p> + <p>Licencirano pod Općom javnom licencom za GNU (GPL), verzijom 2.0 ili novijom.</p> + + + + OCC::LogBrowser + + + Log Output + Izlaz zapisa + + + + &Search: + &Traži: + + + + &Find + &Pronađi + + + + &Capture debug messages + &Snimi poruke za otklanjanje pogrešaka + + + + Permanently save logs + Trajno spremi zapise + + + + When this option is enabled and no other logging is configured, logs will be written to a temporary folder and expire after a few hours. This setting persists across client restarts. + +Logs will be written to %1 + Kada je ova opcija omogućena i nijedna druga evidencija zapisa nije konfigurirana, zapisi će se spremati u privremenu mapu i brisati nakon nekoliko sati. Ova postavka ostaje aktivna nakon ponovnog pokretanja klijenta. + +Zapisi se zapisuju u %1 + + + + Clear + Izbriši + + + + Clear the log display. + Izbriši prikaz zapisa. + + + + S&ave + Spremi + + + + Save the log file to a file on disk for debugging. + Spremite datoteku zapisa u datoteku na disku radi otklanjanja pogrešaka. + + + + Save log file + Spremi datoteku zapisa + + + + Error + Pogreška + + + + Could not write to log file %1 + Nije moguće pisati u datoteku zapisa %1 + + + + OCC::Logger + + + Error + Pogreška + + + + <nobr>File '%1'<br/>cannot be opened for writing.<br/><br/>The log output can <b>not</b> be saved!</nobr> + <nobr>Datoteka ‘%1’<br/>se ne može otvoriti radi zapisivanja.<br/><br/>Izlaz zapisa <b>ne može</b> se spremiti!</nobr> + + + + OCC::NSISUpdater + + + New Version Available + Dostupna je nova inačica + + + + <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>Dostupna je nova inačica klijenta %1.</p><p><b>%2</b> je dostupan za preuzimanje. Instalirana je inačica %3.</p> + + + + Skip this version + Preskoči ovu inačicu + + + + Skip this time + Preskoči ovaj put + + + + Get update + Dohvati ažuriranje + + + + OCC::NetworkSettings + + + Form + Obrazac + + + + Proxy Settings + Postavke proxyja + + + + No Proxy + Nema proxyja + + + + Use system proxy + Koristi proxy sustava + + + + Specify proxy manually as + Ručno odredi proxy kao + + + + Host + Glavno računalo + + + + : + : + + + + Proxy server requires authentication + Proxy poslužitelj zahtijeva autentifikaciju + + + + Download Bandwidth + Propusnost za preuzimanja + + + + + Limit to + Ograniči na + + + + + KBytes/s + KB/s + + + + + No limit + Nema ograničenja + + + + + Limit to 3/4 of estimated bandwidth + Ograniči na 3/4 procijenjene propusnosti + + + + Upload Bandwidth + Propusnost za otpremanja + + + + + Limit automatically + Ograni automatski + + + + Hostname of proxy server + Naziv računala proxy poslužitelja + + + + Username for proxy server + Korisničko ime za proxy poslužitelj + + + + Password for proxy server + Zaporka za proxy poslužitelj + + + + HTTP(S) proxy + HTTP(S) proxy + + + + SOCKS5 proxy + SOCKS5 proxy + + + + OCC::OAuth + + + Error returned from the server: <em>%1</em> + Poslužitelj je vratio pogrešku: <em>%1</em> + + + + There was an error accessing the 'token' endpoint: <br><em>%1</em> + Došlo je do pogreške prilikom pristupanja krajnjoj točki ‘token’: <br><em>%1</em> + + + + Could not parse the JSON returned from the server: <br><em>%1</em> + Nije moguće parsirati JSON koji je vratio poslužitelj: <br><em>%1</em> + + + + The reply from the server did not contain all expected fields + Odgovor poslužitelja ne sadrži sva očekivana polja + + + + <h1>Login Error</h1><p>%1</p> + <h1>Pogreška pri prijavi</h1><p>%1</p> + + + + <h1>Wrong user</h1><p>You logged-in with user <em>%1</em>, but must login with user <em>%2</em>.<br>Please log out of %3 in another tab, then <a href='%4'>click here</a> and log in as user %2</p> + <h1>Pogrešan korisnik</h1><p>Prijavili ste se kao korisnik <em>%1</em>, ali morate se prijaviti kao korisnik <em>%2</em>.<br>Odjavite se iz %3 u drugoj kartici, a zatim <a href=’%4’>kliknite ovdje</a> i prijavite se kao korisnik %2</p> + + + + OCC::OCUpdater + + + New %1 Update Ready + Novo %1 ažuriranje je spremno + + + + A new update for %1 is about to be installed. The updater may ask +for additional privileges during the process. + Sada će se instalirati novo ažuriranje za %1. Alat za ažuriranje može tražiti +dodatne ovlasti tijekom postupka. + + + + Downloading version %1. Please wait... + Preuzimanje inačice %1. Pričekajte... + + + + Could not download update. Please click <a href='%1'>here</a> to download the update manually. + Nije moguće preuzeti ažuriranje. Kliknite <a href='%1'>ovdje</a> kako biste ručno preuzeli ažuriranje. + + + + Could not check for new updates. + Nije moguće provjeriti ima li novih ažuriranja. + + + + %1 version %2 available. Restart application to start the update. + %1 inačica %2 je dostupna. Ponovno pokrenite aplikaciju kako biste pokrenuli ažuriranje. + + + + New %1 version %2 available. Please use the system's update tool to install it. + Dostupna je %1 inačica %2. Instalirajte je s pomoću alata za ažuriranje sustava. + + + + Checking update server... + Provjera poslužitelja za ažuriranje... + + + + Update status is unknown: Did not check for new updates. + Status ažuriranja je nepoznat: provjera ažuriranja nije izvršena. + + + + No updates available. Your installation is at the latest version. + Nema dostupnih ažuriranja. Instalirana je najnovija inačica. + + + + Update Check + Provjera ažuriranja + + + + OCC::OwncloudAdvancedSetupPage + + + Connect to %1 + Poveži s %1 + + + + Setup local folder options + Mogućnosti postavljanja lokalne mape + + + + Connect... + Povezivanje... + + + + %1 folder '%2' is synced to local folder '%3' + %1 mapa '%2' sinkronizirana je s lokalnom mapom '%3' + + + + Sync the folder '%1' + Sinkroniziraj mapu '%1' + + + + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> + <p><small><strong>Upozorenje:</strong> lokalna mapa nije prazna. Odaberite razlučivost!</small></p> + + + + Free space: %1 + Slobodan prostor: %1 + + + + Local Sync Folder + Mapa za lokalnu sinkronizaciju + + + + + (%1) + (%1) + + + + There isn't enough free space in the local folder! + Nema dovoljno slobodnog prostora u lokalnoj mapi! + + + + OCC::OwncloudConnectionMethodDialog + + + Connection failed + Veza nije uspjela + + + + <html><head/><body><p>Failed to connect to the secure server address specified. How do you wish to proceed?</p></body></html> + <html><head/><body><p>Povezivanje s navedenom adresom sigurnog poslužitelja nije uspjelo. Kako želite nastaviti?</p></body></html> + + + + Select a different URL + Odaberi drugi URL + + + + Retry unencrypted over HTTP (insecure) + Pokušaj ponovo nešifrirano putem HTTP-a (nesigurno) + + + + Configure client-side TLS certificate + Konfiguriraj TLS vjerodajnicu na strani klijenta + + + + <html><head/><body><p>Failed to connect to the secure server address <em>%1</em>. How do you wish to proceed?</p></body></html> + <html><head/><body><p>Povezivanje s adresom sigurnog poslužitelja <em>%1</em> nije uspjelo. Kako želite nastaviti?</p></body></html> + + + + OCC::OwncloudHttpCredsPage + + + &Email + &E-pošta + + + + Connect to %1 + Poveži s %1 + + + + Enter user credentials + Unesi korisničke vjerodajnice + + + + OCC::OwncloudOAuthCredsPage + + + Connect to %1 + Poveži s %1 + + + + Login in your browser + Prijavi se u svoj preglednik + + + + Copy link to clipboard + Kopiraj poveznicu u međuspremnik + + + + OCC::OwncloudSetupPage + + + Connect to %1 + Poveži s %1 + + + + Setup %1 server + Postavi poslužitelj %1 + + + + Keep your data secure and under your control + Čuvajte svoje podatke sigurnim i pod kontrolom + + + + Secure collaboration & file exchange + Sigurna suradnja i razmjena datoteka + + + + Easy-to-use web mail, calendaring & contacts + Jednostavna web-pošta, upravljanje kalendarom i kontaktima + + + + Screensharing, online meetings & web conferences + Dijeljenje zaslona, sastanci na mreži i web konferencije + + + + This url is NOT secure as it is not encrypted. +It is not advisable to use it. + Ovaj URL NIJE siguran jer nije šifriran. +Nije preporučljivo koristiti ga. + + + + This url is secure. You can use it. + Ovaj je URL siguran. Možete ga koristiti. + + + + &Next > + &Sljedeće > + + + + Invalid URL + Neispravan URL + + + + Could not load certificate. Maybe wrong password? + Nije moguće učitati vjerodajnicu. Možda je pogrešna zaporka? + + + + OCC::OwncloudSetupWizard + + + <font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/> + <font color="green">Uspješno povezivanje s %1: %2 inačicom %3 (%4)</font><br/><br/> + + + + Failed to connect to %1 at %2:<br/>%3 + Neuspješno povezivanje s %1 na %2:<br/>%3 + + + + Timeout while trying to connect to %1 at %2. + Istek vremena tijekom povezivanja s %1 na %2. + + + + Trying to connect to %1 at %2... + Pokušaj povezivanja s %1 na %2... + + + + The authenticated request to the server was redirected to '%1'. The URL is bad, the server is misconfigured. + Autorizirani zahtjev poslužitelju preusmjeren je na '%1'. URL je neispravan, poslužitelj je pogrešno konfiguriran. + + + + There was an invalid response to an authenticated webdav request + Došlo je do nevažećeg odgovora na autorizirani zahtjev za webdav + + + + Access forbidden by server. To verify that you have proper access, <a href="%1">click here</a> to access the service with your browser. + Poslužitelj je zabranio pristup. Kako biste provjerili imate li ispravan pristup, <a href="%1">kliknite ovdje</a> kako biste pristupili servisu putem preglednika. + + + + Invalid URL + Neispravan URL + + + + The server reported the following error: + Poslužitelj je prijavio sljedeću pogrešku: + + + + Local sync folder %1 already exists, setting it up for sync.<br/><br/> + Mapa za lokalnu sinkronizaciju %1 već postoji, postavljanje za sinkronizaciju.<br/><br/> + + + + Creating local sync folder %1... + Stvaranje mape za lokalnu sinkronizaciju %1... + + + + ok + uspješno + + + + failed. + neuspješno. + + + + Could not create local folder %1 + Nije moguće stvoriti lokalnu mapu %1 + + + + No remote folder specified! + Nije navedena nijedna udaljena mapa! + + + + Error: %1 + Pogreška: %1 + + + + creating folder on Nextcloud: %1 + stvaranje mape na Nextcloudu: %1 + + + + Remote folder %1 created successfully. + Uspješno je stvorena udaljena mapa %1. + + + + The remote folder %1 already exists. Connecting it for syncing. + Udaljena mapa %1 već postoji. Povezivanje radi sinkronizacije. + + + + + The folder creation resulted in HTTP error code %1 + Stvaranje mape rezultiralo je HTTP šifrom pogreške %1 + + + + The remote folder creation failed because the provided credentials are wrong!<br/>Please go back and check your credentials.</p> + Stvaranje udaljene mape nije uspjelo jer su navedene vjerodajnice pogrešne!<br/>Vratite se i provjerite svoje vjerodajnice.</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“>Stvaranje udaljene mape nije uspjelo vjerojatno zbog pogrešnih unesenih vjerodajnica.</font><br/>Vratite se i provjerite vjerodajnice.</p> + + + + + Remote folder %1 creation failed with error <tt>%2</tt>. + Stvaranje udaljene mape %1 nije uspjelo, pogreška: <tt>%2</tt>. + + + + A sync connection from %1 to remote directory %2 was set up. + Postavljena je sinkronizacijska veza od %1 do udaljenog direktorija %2. + + + + Successfully connected to %1! + Uspješno povezivanje s %1! + + + + Connection to %1 could not be established. Please check again. + Veza s %1 nije uspostavljena. Provjerite opet. + + + + Folder rename failed + Preimenovanje mape nije uspjelo + + + + 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. + Nije moguće ukloniti i izraditi sigurnosnu kopiju mape jer je mapa ili datoteka u njoj otvorena u drugom programu. Zatvorite mapu ili datoteku i pritisnite Pokušaj ponovo ili otkažite postavljanje. + + + + <font color="green"><b>Local sync folder %1 successfully created!</b></font> + <font color=“green“><b>Mapa za lokalnu sinkronizaciju %1 uspješno je stvorena!</b></font> + + + + OCC::OwncloudWizard + + + %1 Connection Wizard + %1 Čarobnjak za povezivanje + + + + Skip folders configuration + Preskoči konfiguraciju mapa + + + + OCC::OwncloudWizardResultPage + + + Everything set up! + Sve je postavljeno! + + + + Open Local Folder + Otvori lokalnu mapu + + + + Open %1 in Browser + Otvori %1 u pregledniku + + + + OCC::PollJob + + + Invalid JSON reply from the poll URL + Neispravan JSON odgovor iz URL-a ankete + + + + OCC::PropagateDirectory + + + Error writing metadata to the database + Pogreška pri pisanju metapodataka u bazu podataka + + + + OCC::PropagateDownloadFile + + + File %1 can not be downloaded because encryption information is missing. + Datoteka %1 ne može se preuzeti jer nedostaju informacije o šifriranju. + + + + File %1 can not be downloaded because of a local file name clash! + Datoteka %1 ne može se preuzeti zbog nepodudaranja naziva lokalne datoteke! + + + + The download would reduce free local disk space below the limit + Preuzimanje bi smanjilo slobodni prostor na lokalnom disku ispod granice + + + + Free space on disk is less than %1 + Slobodan prostor na disku manji je od %1 + + + + File was deleted from server + Datoteka je izbrisana s poslužitelja + + + + The file could not be downloaded completely. + Datoteku nije moguće u potpunosti preuzeti. + + + + The downloaded file is empty despite that the server announced it should have been %1. + Preuzeta datoteka je prazna, unatoč tome što je poslužitelj javio da treba iznositi %1. + + + + File %1 cannot be saved because of a local file name clash! + Datoteka %1 ne može se spremiti zbog nepodudaranja naziva lokalne datoteke! + + + + File has changed since discovery + Datoteka se promijenila od njenog otkrića + + + + Error writing metadata to the database + Pogreška pri pisanju metapodataka u bazu podataka + + + + OCC::PropagateItemJob + + + ; Restoration Failed: %1 + ; Vraćanje nije uspjelo: %1 + + + + A file or folder was removed from a read only share, but restoring failed: %1 + Datoteka ili mapa uklonjena je iz dijeljenja koje je samo za čitanje, ali vraćanje nije uspjelo: %1 + + + + OCC::PropagateLocalMkdir + + + could not delete file %1, error: %2 + nije moguće izbrisati datoteku %1, pogreška: %2 + + + + Attention, possible case sensitivity clash with %1 + Pažnja, moguće nepodudaranje velikih i malih slova s %1 + + + + could not create folder %1 + nije moguće stvoriti mapu %1 + + + + Error writing metadata to the database + Pogreška pri pisanju metapodataka u bazu podataka + + + + OCC::PropagateLocalRemove + + + Error removing '%1': %2; + Pogreška pri uklanjanju ‘%1’: %2; + + + + Could not remove folder '%1' + Nije moguće ukloniti mapu '%1' + + + + Could not remove %1 because of a local file name clash + Nije moguće ukloniti %1 zbog nepodudaranja naziva lokalne datoteke + + + + OCC::PropagateLocalRename + + + File %1 can not be renamed to %2 because of a local file name clash + Datoteka %1 ne može se preimenovati u %2 zbog nepodudaranja naziva lokalne datoteke + + + + + Error writing metadata to the database + Pogreška pri pisanju metapodataka u bazu podataka + + + + OCC::PropagateRemoteDelete + + + Wrong HTTP code returned by server. Expected 204, but received "%1 %2". + Poslužitelj je vratio pogrešnu HTTP šifru. Očekivana je 204, ali je primljena „%1 %2”. + + + + OCC::PropagateRemoteMkdir + + + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". + Poslužitelj je vratio pogrešnu HTTP šifru. Očekivana je 201, ali je primljena „%1 %2”. + + + + Error writing metadata to the database + Pogreška pri pisanju metapodataka u bazu podataka + + + + OCC::PropagateRemoteMove + + + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". + Poslužitelj je vratio pogrešnu HTTP šifru. Očekivana je 201, ali je primljena „%1 %2”. + + + + + Error writing metadata to the database + Pogreška pri pisanju metapodataka u bazu podataka + + + + OCC::PropagateUploadFileCommon + + + File %1 cannot be uploaded because another file with the same name, differing only in case, exists + Datoteka %1 ne može se otpremiti jer postoji druga datoteka s istim nazivom koja se razlikuje samo po velikom/malom slovu + + + + Local file changed during syncing. It will be resumed. + Lokalna datoteka je izmijenjena tijekom sinkronizacije. Sinkroniziranje će se nastaviti. + + + + Local file changed during sync. + Lokalna datoteka je izmijenjena tijekom sinkronizacije. + + + + + Upload of %1 exceeds the quota for the folder + Otpremanje %1 premašuje kvotu za mapu + + + + File Removed (start upload) %1 + Datoteka je uklonjena (početak otpremanja) %1 + + + + Error writing metadata to the database + Pogreška pri pisanju metapodataka u bazu podataka + + + + OCC::PropagateUploadFileNG + + + The local file was removed during sync. + Lokalna datoteka je uklonjena tijekom sinkronizacije. + + + + Local file changed during sync. + Lokalna datoteka je izmijenjena tijekom sinkronizacije. + + + + Unexpected return code from server (%1) + Neočekivana povratna šifra s poslužitelja (%1) + + + + Missing File ID from server + Nedostaje ID datoteke s poslužitelja + + + + Missing ETag from server + Nedostaje E-oznaka s poslužitelja + + + + OCC::PropagateUploadFileV1 + + + Poll URL missing + Nedostaje URL ankete + + + + The local file was removed during sync. + Lokalna datoteka je uklonjena tijekom sinkronizacije. + + + + Local file changed during sync. + Lokalna datoteka je izmijenjena tijekom sinkronizacije. + + + + The server did not acknowledge the last chunk. (No e-tag was present) + Poslužitelj nije potvrdio posljednji komad. (E-oznaka nije bila prisutna) + + + + OCC::ProxyAuthDialog + + + Proxy authentication required + Potrebna je autentifikacija proxy poslužitelja + + + + Username: + Korisničko ime: + + + + Proxy: + Proxy: + + + + The proxy server needs a username and password. + Proxy poslužitelj treba korisničko ime i zaporku. + + + + Password: + Zaporka: + + + + TextLabel + TextLabel + + + + OCC::SelectiveSyncDialog + + + Choose What to Sync + Odaberite što sinkronizirati + + + + OCC::SelectiveSyncWidget + + + Loading ... + Učitavanje... + + + + Deselect remote folders you do not wish to synchronize. + Poništite odabir udaljenih mapa koje ne želite sinkronizirati. + + + + Name + Naziv + + + + Size + Veličina + + + + + No subfolders currently on the server. + Trenutno na poslužitelju nema podmapa. + + + + An error occurred while loading the list of sub folders. + Došlo je do pogreške prilikom učitavanja popisa podmapa. + + + + OCC::ServerNotificationHandler + + + Dismiss + Zanemari + + + + OCC::SettingsDialog + + + Settings + Postavke + + + + Activity + Aktivnost + + + + General + Općenito + + + + Network + Mreža + + + + Account + Račun + + + + OCC::SettingsDialogMac + + + %1 + %1 + + + + Activity + Aktivnost + + + + General + Općenito + + + + Network + Mreža + + + + + Account + Račun + + + + OCC::ShareDialog + + + share label + oznaka za dijeljenje + + + + ownCloud Path: + Put ownCloud: + + + + Icon + Ikona + + + + %1 Sharing + %1 Dijeljenje + + + + %1 + %1 + + + + Folder: %2 + Mapa: %2 + + + + The file can not be shared because it was shared without sharing permission. + Datoteku nije moguće dijeliti jer je dijeljena bez dopuštenja. + + + + OCC::ShareLinkWidget + + + &Share link + &Dijeli poveznicu + + + + Password: + Zaporka: + + + + Expiration date: + Datum isteka: + + + + TextLabel + TextLabel + + + + Delete + Izbriši + + + + Allow Editing + Dopusti uređivanje + + + + Read only + Samo za čitanje + + + + Allow Upload && Editing + Dopusti otpremanje i uređivanje + + + + File Drop (Upload Only) + Povlačenje datoteke (samo za otpremanje) + + + + Password Protect + Zaštita zaporkom + + + + Expiration Date + Datum isteka + + + + Unshare + Prestani dijeliti + + + + Add another link + Dodaj drugu poveznicu + + + + Confirm Link Share Deletion + Potvrdi brisanje dijeljenja poveznicom + + + + <p>Do you really want to delete the public link share <i>%1</i>?</p><p>Note: This action cannot be undone.</p> + <p>Želite li zaista izbrisati dijeljenje javnom poveznicom <i>%1</i>?</p><p>Napomena: ovu radnju ne možete poništiti.</p> + + + + Cancel + Odustani + + + + Public link + Javna poveznica + + + + OCC::ShareUserGroupWidget + + + Share with users or groups ... + Dijelite s korisnicima ili grupama... + + + + Copy link + Kopiraj poveznicu + + + + No results for '%1' + Nema rezultata za ‘%1’ + + + + I shared something with you + Dijelim nešto s vama + + + + OCC::ShareUserLine + + + User name + Korisničko ime + + + + can edit + uređivanje moguće + + + + Can reshare + Ponovno dijeljenje moguće + + + + Unshare + Prestani dijeliti + + + + Can create + Stvaranje moguće + + + + Can change + Mijenjanje moguće + + + + Can delete + Brisanje moguće + + + + OCC::ShibbolethCredentials + + + Login Error + Pogreška pri prijavi + + + + You must sign in as user %1 + Morate se prijaviti kao korisnik %1 + + + + OCC::ShibbolethWebView + + + %1 - Authenticate + %1 - Autentificiraj + + + + SSL Cipher Debug View + Prikaz za otklanjanje pogrešaka SSL Cipher + + + + Reauthentication required + Potrebna je ponovna autentifikacija + + + + Your session has expired. You need to re-login to continue to use the client. + Vaša je sesija istekla. Morate se ponovno prijaviti kako biste nastavili upotrebljavati klijent. + + + + OCC::SocketApi + + + Share with %1 + parameter is Nextcloud + Dijeli s %1 + + + + Context menu share + Dijeljenje kontekstnog izbornika + + + + I shared something with you + Dijelim nešto s vama + + + + + Share... + Dijeli... + + + + + Copy private link to clipboard + Kopiraj privatnu poveznicu u međuspremnik + + + + Send private link by email... + Pošalji privatnu poveznicu e-poštom... + + + + Resharing this file is not allowed + Dijeljenje ove datoteke nije dopušteno + + + + + Copy public link to clipboard + Kopiraj javnu poveznicu u međuspremnik + + + + Open in browser + Otvori u pregledniku + + + + OCC::SslButton + + + <h3>Certificate Details</h3> + <h3>Pojedinosti o vjerodajnici</h3> + + + + Common Name (CN): + Uobičajeno ime (CN): + + + + Subject Alternative Names: + Alternativna imena subjekta: + + + + Organization (O): + Organizacija (O): + + + + Organizational Unit (OU): + Organizacijska jedinica (OU): + + + + State/Province: + Država/regija: + + + + Country: + Država: + + + + Serial: + Serijski: + + + + <h3>Issuer</h3> + <H3>Izdavatelj</ h3> + + + + Issuer: + Izdavatelj: + + + + Issued on: + Izdano: + + + + Expires on: + Datum isteka: + + + + <h3>Fingerprints</h3> + <H3>Otisci prstiju</ h3> + + + + SHA-256: + SHA-256: + + + + SHA-1: + SHA-1: + + + + <p><b>Note:</b> This certificate was manually approved</p> + <p><b>Napomena:</b> Ova vjerodajnica je ručno odobrena</p> + + + + %1 (self-signed) + %1 (samostalno potpisano) + + + + %1 + %1 + + + + This connection is encrypted using %1 bit %2. + + Ova veza je šifrirana s pomoću %1 bit %2. + + + + + No support for SSL session tickets/identifiers + Nema podrške za SSL tickete/identifikatore sesije + + + + Certificate information: + Informacije o vjerodajnici: + + + + This connection is NOT secure as it is not encrypted. + + Ova veza NIJE sigurna jer nije šifrirana. + + + + + OCC::SslErrorDialog + + + Form + Obrazac + + + + Trust this certificate anyway + Svejedno vjeruj ovoj vjerodajnici + + + + Untrusted Certificate + Nepouzdana vjerodajnica + + + + Cannot connect securely to <i>%1</i>: + Nije moguće sigurno se povezati s <i>%1</i>: + + + + with Certificate %1 + s vjerodajnicom %1 + + + + + + &lt;not specified&gt; + &lt;nije navedeno&gt; + + + + + Organization: %1 + Organizacija: %1 + + + + + Unit: %1 + Jedinica: %1 + + + + + Country: %1 + Država: %1 + + + + Fingerprint (MD5): <tt>%1</tt> + Otisak prsta (MD5): <tt>%1</tt> + + + + Fingerprint (SHA1): <tt>%1</tt> + Otisak prsta (SHA1): <tt>%1</tt> + + + + Effective Date: %1 + Datum stupanja na snagu: %1 + + + + Expiration Date: %1 + Datum isteka: %1 + + + + Issuer: %1 + Izdavatelj: %1 + + + + OCC::SyncEngine + + + Success. + Uspjeh. + + + + A network connection timeout happened. + Došlo je do isteka mrežne veze. + + + + A HTTP transmission error happened. + Došlo je do pogreške HTTP prijenosa. + + + + The mounted folder is temporarily not available on the server + Postavljena mapa privremeno nije dostupna na poslužitelju + + + + An error occurred while opening a folder + Došlo je do pogreške prilikom otvaranja mape + + + + Error while reading folder. + Pogreška tijekom čitanja mape. + + + + %1 (skipped due to earlier error, trying again in %2) + %1 (preskočeno zbog prethodne pogreške, pokušajte ponovno za %2) + + + + File/Folder is ignored because it's hidden. + Datoteka/mapa se zanemaruje jer je skrivena. + + + + Folder hierarchy is too deep + Hijerarhija mapa je previše duboka + + + + Conflict: Server version downloaded, local copy renamed and not uploaded. + Nepodudaranje: preuzeta inačica poslužitelja, lokalna kopija preimenovana i nije otpremljena. + + + + Only %1 are available, need at least %2 to start + Placeholders are postfixed with file sizes using Utility::octetsToString() + Dostupno je samo %1, za pokretanje je potrebno najmanje %2 + + + + Unable to open or create the local sync database. Make sure you have write access in the sync folder. + Nije moguće otvoriti ili stvoriti lokalnu sinkronizacijsku bazu podataka. Provjerite imate li pristup pisanju u mapi za sinkronizaciju. + + + + Not allowed because you don't have permission to add parent folder + Nije dopušteno jer nemate dopuštenje za dodavanje nadređene mape + + + + Not allowed because you don't have permission to add files in that folder + Nije dopušteno jer nemate dopuštenje za dodavanje datoteka u tu mapu + + + + Disk space is low: Downloads that would reduce free space below %1 were skipped. + Premalo prostora na disku: preskočena su preuzimanja koja bi smanjila slobodni prostor ispod %1. + + + + There is insufficient space available on the server for some uploads. + Na nekim poslužiteljima nema dovoljno slobodnog prostora za određene otpreme. + + + + CSync unspecified error. + Pogreška u CSyncu. + + + + Aborted by the user + Prekinuo korisnik + + + + Failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. + Nije moguće učitati ili stvoriti lokalnu datoteku dnevnika. Provjerite imate li ovlasti za čitanje i pisanje u mapi za lokalnu sinkronizaciju. + + + + Discovery step failed. + Korak otkrivanja nije uspio. + + + + Permission denied. + Dopuštenje je odbijeno. + + + + File or directory not found: + Datoteka ili direktorij nisu pronađeni: + + + + Tried to create a folder that already exists. + Pokušali ste stvoriti mapu koja već postoji. + + + + No space on %1 server available. + Nema dostupnog prostora na poslužitelju %1. + + + + The service is temporarily unavailable + Servis je privremeno nedostupan + + + + Access is forbidden + Pristup je zabranjen + + + + An internal error number %1 occurred. + Došlo je do pogreške pod internim brojem %1. + + + + Symbolic links are not supported in syncing. + Simboličke poveznice nisu podržane u sinkronizaciji. + + + + File is listed on the ignore list. + Datoteka je navedena na popisu za zanemarivanje. + + + + File names ending with a period are not supported on this file system. + Nazivi datoteka koji završavaju točkom nisu podržani u ovom datotečnom sustavu. + + + + File names containing the character '%1' are not supported on this file system. + Nazivi datoteka koji sadrže znak ‘%1’ nisu podržani u ovom datotečnom sustavu. + + + + The file name is a reserved name on this file system. + Naziv datoteke je rezervirani naziv u ovom datotečnom sustavu. + + + + Filename contains trailing spaces. + Naziv datoteke sadrži završne praznine. + + + + Filename is too long. + Naziv datoteke je predugačak. + + + + The filename cannot be encoded on your file system. + Naziv datoteke ne može se kodirati u vašem datotečnom sustavu. + + + + Unresolved conflict. + Neriješeno nepodudaranje. + + + + Stat failed. + Stat nije uspio. + + + + Filename encoding is not valid + Nevažeće kodiranje naziva datoteke + + + + Invalid characters, please rename "%1" + Nevažeći znakovi, preimenujte „%1” + + + + Unable to read the blacklist from the local database + Nije moguće pročitati crnu listu iz lokalne baze podataka + + + + Unable to read from the sync journal. + Nije moguće čitati iz sinkronizacijskog dnevnika. + + + + Cannot open the sync journal + Nije moguće otvoriti sinkronizacijski dnevnik + + + + File name contains at least one invalid character + Naziv datoteke sadrži barem jedan nevažeći znak + + + + + Ignored because of the "choose what to sync" blacklist + Zanemareno zbog crne liste „odaberi što će se sinkronizirati” + + + + Not allowed because you don't have permission to add subfolders to that folder + Nije dopušteno jer nemate dopuštenje za dodavanje podmapa u tu mapu + + + + Not allowed to upload this file because it is read-only on the server, restoring + Nije dopušteno otpremiti ovu datoteku jer je dostupna samo za čitanje na poslužitelju, vraćanje + + + + + Not allowed to remove, restoring + Nije dopušteno uklanjanje, vraćanje + + + + Local files and share folder removed. + Uklonjene su lokalne datoteke i mapa za dijeljenje. + + + + Move not allowed, item restored + Premještanje nije dopušteno, stavka je vraćena + + + + Move not allowed because %1 is read-only + Premještanje nije dopušteno jer je %1 samo za čitanje + + + + the destination + odredište + + + + the source + izvor + + + + OCC::SyncLogDialog + + + Synchronisation Log + Zapis sinkronizacije + + + + OCC::Systray + + + %1: %2 + %1: %2 + + + + OCC::Theme + + + <p>Version %1. For more information please click <a href='%2'>here</a>.</p> + <p>Inačica %1. Za više informacija, kliknite <a href='%2'>ovdje</a>.</p> + + + + <p>This release was supplied by %1</p> + <p>Ovo izdanje isporučuje %1</p> + + + + OCC::WebEnginePage + + + Invalid certificate detected + Otkrivena je nevažeća vjerodajnica + + + + The host "%1" provided an invalid certificate. Continue? + Računalo „%1” isporučilo je nevažeću vjerodajnicu. Nastaviti? + + + + OCC::WebFlowCredentials + + + You have been logged out of %1 as user %2. Please login again + Odjavljeni ste iz %1 kao korisnik %2. Prijavite se ponovno + + + + Please login with the user: %1 + Prijavite se kao korisnik: %1 + + + + OCC::ownCloudGui + + + Please sign in + Prijavite se + + + + Folder %1: %2 + Mapa %1: %2 + + + + There are no sync folders configured. + Nema konfiguriranih mapa za sinkronizaciju. + + + + Open in browser + Otvori u pregledniku + + + + Log in... + Prijava... + + + + Log out + Odjava + + + + Recent Changes + Nedavne promjene + + + + Managed Folders: + Upravljane mape: + + + + Open folder '%1' + Otvori mapu '%1' + + + + Open %1 in browser + Otvori %1 u pregledniku + + + + Unknown status + Nepoznati status + + + + Settings... + Postavke... + + + + Help + Pomoć + + + + Quit %1 + Zatvori %1 + + + + Disconnected from %1 + Odspojen od %1 + + + + Unsupported Server Version + Nepodržana inačica poslužitelja + + + + The server on account %1 runs an old and unsupported version %2. Using this client with unsupported server versions is untested and potentially dangerous. Proceed at your own risk. + Poslužitelj na računu %1 koristi se starom i nepodržanom inačicom %2. Upotreba ovog klijenta s nepodržanim inačicama poslužitelja nije testirana i potencijalno je opasna. Nastavite na vlastitu odgovornost. + + + + Disconnected + Odspojen + + + + Disconnected from some accounts + Odspojen od nekih računa + + + + Disconnected from accounts: + Odspojen od računa: + + + + Account %1: %2 + Račun %1: %2 + + + + Signed out + Odjavljen + + + + Account synchronization is disabled + Sinkronizacija računa je onemogućena + + + + + Synchronization is paused + Sinkronizacija je pauzirana + + + + Unresolved conflicts + Neriješena nepodudaranja + + + + Error during synchronization + Pogreška tijekom sinkronizacije + + + + No sync folders configured + Nije konfigurirana nijedna mapa za sinkronizaciju + + + + Resume all folders + Nastavi sve mape + + + + Pause all folders + Pauziraj sve mape + + + + Resume all synchronization + Nastavi sve sinkronizacije + + + + Resume synchronization + Nastavi sinkronizaciju + + + + Pause all synchronization + Zaustavi sve sinkronizacije + + + + Pause synchronization + Pauziraj sinkronizaciju + + + + New account... + Novi račun... + + + + View more activity... + Prikaži više aktivnosti... + + + + Crash now + Only shows in debug mode to allow testing the crash handler + Sruši se + + + + Apps + Aplikacije + + + + No items synced recently + Nije sinkronizirana nijedna stavka nedavno + + + + Checking for changes in remote '%1' + Provjera za promjene u udaljenom ‘%1’ + + + + Checking for changes in local '%1' + Provjera za promjene u lokalnom ‘%1’ + + + + Syncing %1 of %2 (%3 left) + Sinkronizacija %1 od %2 (preostalo %3) + + + + Syncing %1 of %2 + Sinkronizacija %1 od %2 + + + + Syncing %1 (%2 left) + Sinkronizacija %1 (preostalo %2) + + + + Syncing %1 + Sinkronizacija %1 + + + + %1 (%2, %3) + %1 (%2, %3) + + + + Up to date + Ažurno + + + + OwncloudAdvancedSetupPage + + + Form + Obrazac + + + + + + + + + + + TextLabel + TextLabel + + + + Server + Poslužitelj + + + + <html><head/><body><p>If this box is checked, existing content in the local folder will be erased to start a clean sync from the server.</p><p>Do not check this if the local content should be uploaded to the servers folder.</p></body></html> + <html><head/><body><p>Ako je ovaj okvir označen, postojeći sadržaj u lokalnoj mapi bit će izbrisan kako bi se pokrenula nova sinkronizacija s poslužitelja.</p><p>Nemojte označavati okvir ako lokalni sadržaj treba otpremiti u mapu poslužitelja.</p></body></html> + + + + Start a &clean sync (Erases the local folder!) + Pokreni novu sinkronizaciju (briše lokalnu mapu!) + + + + Ask for confirmation before synchroni&zing folders larger than + Zatraži potvrdu prije sinkronizacije mapa većih od + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + Zatraži potvrdu prije sinkronizacije vanjskih prostora za pohranu + + + + Choose what to sync + Odaberite što sinkronizirati + + + + &Local Folder + &Lokalna mapa + + + + pbSelectLocalFolder + pbSelectLocalFolder + + + + &Keep local data + &Zadrži lokalne podatke + + + + S&ync everything from server + Sinkroniziraj sve s poslužitelja + + + + Status message + Poruka statusa + + + + OwncloudHttpCredsPage + + + Form + Obrazac + + + + &Username + &Korisničko ime + + + + &Password + &Zaporka + + + + OwncloudOAuthCredsPage + + + Form + Obrazac + + + + Please switch to your browser to proceed. + Za nastavak prijeđite na preglednik. + + + + An error occurred while connecting. Please try again. + Došlo je do pogreške tijekom povezivanja. Pokušajte ponovno. + + + + Re-open Browser + Ponovno otvori preglednik + + + + OwncloudSetupPage + + + Form + Obrazac + + + + + TextLabel + TextLabel + + + + <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> + <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;“>Postavite vlastiti poslužitelj</span></a> + + + + Register with a provider + Registriraj se kod davatelja usluga + + + + Log in + Prijava + + + + Server Address + Adresa poslužitelja + + + + https://... + https://... + + + + Error Label + Oznaka pogreške + + + + OwncloudWizardResultPage + + + Form + Obrazac + + + + TextLabel + TextLabel + + + + Your entire account is synced to the local folder + Cijeli se račun sinkronizira s lokalnom mapom + + + + + PushButton + PushButton + + + + QObject + + + in the future + u budućnosti + + + + %n day ago + Prije %n danaPrije %n danaPrije %n dana + + + + %n days ago + Prije %n danaPrije %n danaPrije %n dana + + + + %n hour ago + Prije %n sataPrije %n sataPrije %n sata + + + + %n hours ago + Prije %n satiPrije %n satiPrije %n sati + + + + now + sada + + + + Less than a minute ago + Prije manje od minute + + + + %n minute ago + Prije %n minutePrije %n minutePrije %n minute + + + + %n minutes ago + Prije %n minutaPrije %n minutaPrije %n minuta + + + + Some time ago + Prije nekog vremena + + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + + + + Utility + + + %L1 GB + %L1 GB + + + + %L1 MB + %L1 MB + + + + %L1 KB + %L1 KB + + + + %L1 B + %L1 B + + + + %n year(s) + %n godine/godina%n godine/godina%n godine/godina + + + + %n month(s) + %n mjeseca/mjeseci%n mjeseca/mjeseci%n mjeseca/mjeseci + + + + %n day(s) + %n dan/dana%n dan/dana%n dan/dana + + + + %n hour(s) + %n sat/sati%n sat/sati%n sat/sati + + + + %n minute(s) + %n minute/minuta%n minute/minuta%n minute/minuta + + + + %n second(s) + %n sekunde/sekundi%n sekunde/sekundi%n sekunde/sekundi + + + + %1 %2 + %1 %2 + + + + ValidateChecksumHeader + + + The checksum header is malformed. + Zaglavlje kontrolnog zbroja pogrešno je oblikovano. + + + + The checksum header contained an unknown checksum type '%1' + Zaglavlje kontrolnog zbroja sadrži nepoznatu vrstu kontrolnog zbroja ‘%1’ + + + + The downloaded file does not match the checksum, it will be resumed. + Preuzeta se datoteka ne podudara s kontrolnim zbrojem, nastavit će se. + + + + WebView + + + Form + Obrazac + + + + main.cpp + + + System Tray not available + Ladica sustava nije dostupna + + + + %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 je tražen na radnoj ladici sustava. Ako upotrebljavate XFCE, slijedite <a href=“http://docs.xfce.org/xfce/xfce4-panel/systray“>ove upute</a>. U suprotnom instalirajte aplikaciju ladice sustava kao što je „trayer” i pokušajte ponovno. + + + + nextcloudTheme::about() + + + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> + <p><small>Izrađeno iz revizije Gita <a href="%1“>%2</a>na %3, %4 s pomoću Qt %5, %6</small></p> + + + + progress + + + Downloaded + Preuzeto + + + + Uploaded + Otpremljeno + + + + Server version downloaded, copied changed local file into conflict file + Preuzeta je inačica poslužitelja, promijenjena lokalna datoteka kopirana u datoteku nepodudaranja + + + + Deleted + Izbrisano + + + + Moved to %1 + Premješteno u %1 + + + + Ignored + Zanemareno + + + + Filesystem access error + Pogreška pristupa datotečnom sustavu + + + + Error + Pogreška + + + + Updated local metadata + Ažurirani lokalni metapodaci + + + + + Unknown + Nepoznato + + + + downloading + preuzimanje + + + + uploading + otpremanje + + + + deleting + brisanje + + + + moving + premještanje + + + + ignoring + zanemarivanje + + + + + error + pogreška + + + + updating local metadata + ažuriranje lokalnih metapodataka + + + + theme + + + Status undefined + Status nije definiran + + + + Waiting to start sync + Čeka se početak sinkronizacije + + + + Sync is running + Sinkronizacija je pokrenuta + + + + Sync Success + Uspješna sinkronizacija + + + + Sync Success, some files were ignored. + Uspješna sinkronizacija, neke su datoteke zanemarene. + + + + Sync Error + Pogreška sinkronizacije + + + + Setup Error + Pogreška pri postavljanju + + + + Preparing to sync + Priprema za sinkronizaciju + + + + Aborting... + Prekidanje... + + + + Sync is paused + Sinkronizacija je pauzirana + + + + utility + + + Could not open browser + Nije moguće otvoriti preglednik + + + + There was an error when launching the browser to go to URL %1. Maybe no default browser is configured? + Došlo je do pogreške prilikom pokretanja preglednika radi otvaranja URL-a %1. Možda nije konfiguriran zadani preglednik? + + + + Could not open email client + Nije moguće otvoriti klijent e-pošte + + + + There was an error when launching the email client to create a new message. Maybe no default email client is configured? + Došlo je do pogreške prilikom pokretanja preglednika radi stvaranja nove poruke. Možda nije konfiguriran zadani klijent e-pošte? + + + \ No newline at end of file diff --git a/translations/client_it.ts b/translations/client_it.ts index f918a458d..b1751bdbe 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -120,22 +120,22 @@ Form - + Modulo Please switch to your browser to proceed. - + Passa al tuo browser per continuare. An error occurred while connecting. Please try again. - + Si è verificato un errore durante la connessione. Prova ancora. Re-open Browser (or right-click to copy link) - + Apri di nuovo il browser (o clic destro per copiare il collegamento) @@ -143,22 +143,22 @@ Form - + Modulo Please switch to your browser to proceed. - + Passa al tuo browser per continuare. An error occurred while connecting. Please try again. - + Si è verificato un errore durante la connessione. Prova ancora. Re-open Browser (or right-click to copy link) - + Apri di nuovo il browser (o clic destro per copiare il collegamento) @@ -784,25 +784,25 @@ Error returned from the server: <em>%1</em> - + Errore restitutito dal server: <em>%1</em> There was an error accessing the 'token' endpoint: <br><em>%1</em> - + Si è verificato un errore durante l'accesso al terminatore dei 'token': <br><em>%1</em> Could not parse the JSON returned from the server: <br><em>%1</em> - + Impossibile elaborare il JSON restituito dal server: <br><em>%1</em> The reply from the server did not contain all expected fields - + La risposta dal server non conteneva tutti i campi attesi @@ -810,22 +810,22 @@ Connect to %1 - + Connetti a %1 Login in your browser (Login Flow v2) - + Accedi tramite il tuo browser (Login Flow v2) Copy link to clipboard - + Copia collegamento negli appunti Unable to open the Browser, please copy the link to your Browser. - + Impossibile aprire il browser, copia il collegamento nel tuo browser. @@ -833,12 +833,12 @@ Copy link to clipboard - + Copia collegamento negli appunti Unable to open the Browser, please copy the link to your Browser. - + Impossibile aprire il browser, copia il collegamento nel tuo browser. diff --git a/translations/client_pl.ts b/translations/client_pl.ts index 035784dd8..54c282f71 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -120,22 +120,22 @@ Form - + Formularz Please switch to your browser to proceed. - + Przejdź do przeglądarki, aby kontynuować. An error occurred while connecting. Please try again. - + Wystąpił błąd podczas łączenia. Proszę spróbować ponownie. Re-open Browser (or right-click to copy link) - + Ponownie otwórz przeglądarkę (lub kliknij prawym przyciskiem myszy, aby skopiować link) @@ -143,22 +143,22 @@ Form - + Formularz Please switch to your browser to proceed. - + Przejdź do przeglądarki, aby kontynuować. An error occurred while connecting. Please try again. - + Wystąpił błąd podczas łączenia. Proszę spróbować ponownie. Re-open Browser (or right-click to copy link) - + Ponownie otwórz przeglądarkę (lub kliknij prawym przyciskiem myszy, aby skopiować link) @@ -784,25 +784,25 @@ Error returned from the server: <em>%1</em> - + Serwer zwrócił błąd: <em>%1</em> There was an error accessing the 'token' endpoint: <br><em>%1</em> - + Wystąpił błąd podczas uzyskiwania dostępu do 'tokena': <br><em>%1</em> Could not parse the JSON returned from the server: <br><em>%1</em> - + Nie można przeanalizować kodu JSON zwróconego z serwera: <br><em>%1</em> The reply from the server did not contain all expected fields - + Odpowiedź z serwera nie zawierała wszystkich oczekiwanych zakresów @@ -810,22 +810,22 @@ Connect to %1 - + Podłącz do %1 Login in your browser (Login Flow v2) - + Zaloguj się w przeglądarce (Login Flow v2) Copy link to clipboard - + Skopiuj link do schowka Unable to open the Browser, please copy the link to your Browser. - + Nie można otworzyć przeglądarki, skopiuj link do swojej przeglądarki. @@ -833,12 +833,12 @@ Copy link to clipboard - + Skopiuj link do schowka Unable to open the Browser, please copy the link to your Browser. - + Nie można otworzyć przeglądarki, skopiuj link do swojej przeglądarki. diff --git a/translations/client_tr.ts b/translations/client_tr.ts index 0605ee49f..99b91ca00 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -120,22 +120,22 @@ Form - + Form Please switch to your browser to proceed. - + Lütfen işlemi yapmak için web tarayıcınıza geçin An error occurred while connecting. Please try again. - + Bağlantı kurulurken bir sorun çıktı. Lütfen yeniden deneyin. Re-open Browser (or right-click to copy link) - + Web tarayıcıyı yeniden açın (ya da bağlantıyı kopyalamak için sağ tıklayın) @@ -143,22 +143,22 @@ Form - + Form Please switch to your browser to proceed. - + Lütfen işlemi yapmak için web tarayıcınıza geçin An error occurred while connecting. Please try again. - + Bağlantı kurulurken bir sorun çıktı. Lütfen yeniden deneyin. Re-open Browser (or right-click to copy link) - + Web tarayıcıyı yeniden açın (ya da bağlantıyı kopyalamak için sağ tıklayın) @@ -784,25 +784,25 @@ Error returned from the server: <em>%1</em> - + Sunucudan hata yanıtı alındı: <em>%1</em> There was an error accessing the 'token' endpoint: <br><em>%1</em> - + 'token' uç noktasına erişilirken bir sorun çıktı: <br><em>%1</em> Could not parse the JSON returned from the server: <br><em>%1</em> - + Sunucudan alınan JSON işlenemedi: <br><em>%1</em> The reply from the server did not contain all expected fields - + Sunucudan alınan yanıtta beklenen tüm alanlar yok @@ -810,22 +810,22 @@ Connect to %1 - + %1 ile bağlantı kur Login in your browser (Login Flow v2) - + Web tarayıcınızda oturum açın (Login Flow v2) Copy link to clipboard - + Bağlantıyı panoya kopyala Unable to open the Browser, please copy the link to your Browser. - + Web tarayıcı açılamadı. Lütfen bağlantıyı kopyalayıp tarayıcınıza yapıştırın. @@ -833,12 +833,12 @@ Copy link to clipboard - + Bağlantıyı panoya kopyala Unable to open the Browser, please copy the link to your Browser. - + Web tarayıcı açılamadı. Lütfen bağlantıyı kopyalayıp tarayıcınıza yapıştırın. @@ -2070,7 +2070,7 @@ güncelleyici başka izinler isteyebilir. Retry unencrypted over HTTP (insecure) - HTTP ile şifrelenmemiş olarak yeniden dene (güvenliksiz) + HTTP ile şifrelenmemiş olarak yeniden dene (güvenli değil) From 57d0a17744aa7d622d86972ecd4ee5e5297edfed Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 29 Aug 2019 03:03:24 +0000 Subject: [PATCH 153/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++-- translations/client_bg.ts | 6 +-- translations/client_ca.ts | 42 +++++++++--------- translations/client_cs.ts | 6 +-- translations/client_da.ts | 6 +-- translations/client_de.ts | 6 +-- translations/client_el.ts | 6 +-- translations/client_en.ts | 6 +-- translations/client_en_GB.ts | 6 +-- translations/client_eo.ts | 6 +-- translations/client_es.ts | 6 +-- translations/client_es_AR.ts | 6 +-- translations/client_es_CL.ts | 6 +-- translations/client_es_CO.ts | 6 +-- translations/client_es_CR.ts | 6 +-- translations/client_es_DO.ts | 6 +-- translations/client_es_EC.ts | 6 +-- translations/client_es_GT.ts | 6 +-- translations/client_es_HN.ts | 6 +-- translations/client_es_MX.ts | 6 +-- translations/client_es_SV.ts | 6 +-- translations/client_et.ts | 6 +-- translations/client_eu.ts | 6 +-- translations/client_fa.ts | 6 +-- translations/client_fi.ts | 6 +-- translations/client_fr.ts | 6 +-- translations/client_gl.ts | 42 +++++++++--------- translations/client_he.ts | 6 +-- translations/client_hr.ts | 6 +-- translations/client_hu.ts | 48 ++++++++++----------- translations/client_id.ts | 6 +-- translations/client_is.ts | 6 +-- translations/client_it.ts | 6 +-- translations/client_ja.ts | 6 +-- translations/client_lt_LT.ts | 6 +-- translations/client_lv.ts | 6 +-- translations/client_nb_NO.ts | 6 +-- translations/client_nl.ts | 6 +-- translations/client_pl.ts | 6 +-- translations/client_pt.ts | 6 +-- translations/client_pt_BR.ts | 42 +++++++++--------- translations/client_ru.ts | 6 +-- translations/client_sk.ts | 6 +-- translations/client_sl.ts | 6 +-- translations/client_sr.ts | 32 +++++++------- translations/client_sv.ts | 6 +-- translations/client_th.ts | 6 +-- translations/client_tr.ts | 6 +-- translations/client_uk.ts | 6 +-- translations/client_zh_CN.ts | 6 +-- translations/client_zh_TW.ts | 6 +-- 51 files changed, 242 insertions(+), 242 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_bg.ts b/translations/client_bg.ts index 845e84e7a..597a1fbdc 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -2159,7 +2159,7 @@ It is not advisable to use it. Невалиден URL - + Could not load certificate. Maybe wrong password? @@ -3522,12 +3522,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_ca.ts b/translations/client_ca.ts index a8e2af1d0..f59e67036 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -120,22 +120,22 @@ Form - + Formulari Please switch to your browser to proceed. - + Si us plau, canvieu al navegador per continuar. An error occurred while connecting. Please try again. - + Hi ha hagut un error mentre es connectava. Si us plau, torneu-ho a provar. Re-open Browser (or right-click to copy link) - + Torneu a obrir el navegador (o feu clic amb el botó dret per copiar l'enllaç) @@ -143,22 +143,22 @@ Form - + Formulari Please switch to your browser to proceed. - + Si us plau, canvieu al vostre navegador per continuar. An error occurred while connecting. Please try again. - + Hi ha hagut un error mentre es connectava. Si us plau, torneu-ho a provar. Re-open Browser (or right-click to copy link) - + Torneu a obrir el navegador (o feu clic amb el botó dret per copiar l'enllaç) @@ -784,25 +784,25 @@ Error returned from the server: <em>%1</em> - + S'ha produït un error des del servidor: <em>%1</em> There was an error accessing the 'token' endpoint: <br><em>%1</em> - + S'ha produït un error en accedir al punt final del "testimoni": <br><em>%1</em> Could not parse the JSON returned from the server: <br><em>%1</em> - + No s'ha pogut analitzar el JSON retornat des del servidor: <br><em>%1</em> The reply from the server did not contain all expected fields - + La resposta del servidor no contenia tots els camps esperats @@ -810,22 +810,22 @@ Connect to %1 - + Connecta a %1 Login in your browser (Login Flow v2) - + Inicieu la sessió al vostre navegador (Flux d'entrada v2) Copy link to clipboard - + Copia l'enllaç al porta-retalls Unable to open the Browser, please copy the link to your Browser. - + No es pot obrir el navegador; si us plau, copieu l'enllaç al navegador. @@ -833,12 +833,12 @@ Copy link to clipboard - + Copia l'enllaç al porta-retalls Unable to open the Browser, please copy the link to your Browser. - + No es pot obrir el navegador; si us plau, copieu l'enllaç al navegador. @@ -2177,7 +2177,7 @@ No és aconsellable fer-la servir. L'URL no és vàlid - + Could not load certificate. Maybe wrong password? No s'ha pogut carregar el certificat. Potser la contrasenya és incorrecta? @@ -3541,12 +3541,12 @@ No és aconsellable fer-la servir. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Heu tancat la sessió de %1 com a usuari %2. Si us plau, torneu a iniciar la sessió - + Please login with the user: %1 Si us plau, inicieu la sessió amb l’usuari: %1 diff --git a/translations/client_cs.ts b/translations/client_cs.ts index e7bc0179f..ee9582d6b 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -2174,7 +2174,7 @@ Nedoporučuje se jí používat. Neplatná URL adresa - + Could not load certificate. Maybe wrong password? Certifikát není možné načíst. Nejspíš je chybné heslo? @@ -3538,12 +3538,12 @@ Nedoporučuje se jí používat. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Byli jste odhlášeni z %1 jako uživatel %2. Znovu se přihlaste - + Please login with the user: %1 Přihlaste se pomocí uživatele: %1 diff --git a/translations/client_da.ts b/translations/client_da.ts index f0e30704f..7755ae718 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -2154,7 +2154,7 @@ It is not advisable to use it. Ugyldig URL - + Could not load certificate. Maybe wrong password? @@ -3516,12 +3516,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_de.ts b/translations/client_de.ts index 5c1fd5a36..2e8e55e87 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -2174,7 +2174,7 @@ Es ist nicht ratsam, sie zu benutzen. Ungültige URL - + Could not load certificate. Maybe wrong password? Das Zertifikat konnte nicht geladen werden. Vielleicht ein falsches Passwort? @@ -3538,12 +3538,12 @@ Es ist nicht ratsam, sie zu benutzen. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Sie wurden von %1 als Benutzer %2 abgemeldet. Bitte melden Sie sich erneut an - + Please login with the user: %1 Mit folgendem Benutzer anmelden: %1 diff --git a/translations/client_el.ts b/translations/client_el.ts index 6b47725ff..795577b11 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -2164,7 +2164,7 @@ It is not advisable to use it. Μη έγκυρη διεύθυνση URL - + Could not load certificate. Maybe wrong password? Δεν ήταν δυνατή η φόρτωση του πιστοποιητικού. Ίσος είναι λάθος ο κωδικός; @@ -3528,12 +3528,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_en.ts b/translations/client_en.ts index 2bdc220c2..60cb4ce2a 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -2180,7 +2180,7 @@ It is not advisable to use it. - + Could not load certificate. Maybe wrong password? @@ -3542,12 +3542,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_en_GB.ts b/translations/client_en_GB.ts index cc8ca65dd..ad6ad9826 100644 --- a/translations/client_en_GB.ts +++ b/translations/client_en_GB.ts @@ -2175,7 +2175,7 @@ It is not advisable to use it. Invalid URL - + Could not load certificate. Maybe wrong password? Could not load certificate. Maybe wrong password? @@ -3539,12 +3539,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 Please login with the user: %1 diff --git a/translations/client_eo.ts b/translations/client_eo.ts index dc07c3087..ba64e1cc4 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -2174,7 +2174,7 @@ Uzi ĝin ne konsilindas. Nevalida retadreso - + Could not load certificate. Maybe wrong password? Ne eblis ŝargi atestilon. Ĉu neĝusta pasvorto? @@ -3537,12 +3537,12 @@ Uzi ĝin ne konsilindas. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Vi estis elsalutita de %1 kiel uzanto %2. Bv. re-ensaluti. - + Please login with the user: %1 Bv. ensaluti kun la uzanto: %1 diff --git a/translations/client_es.ts b/translations/client_es.ts index 8613b9d28..0ec4c8683 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -2174,7 +2174,7 @@ No se recomienda usarla. Dirección URL incorrecta - + Could not load certificate. Maybe wrong password? No se ha podido guardar el certificado. ¿Quizás la contraseña sea incorrecta? @@ -3538,12 +3538,12 @@ No se recomienda usarla. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Has sido desconectado de %1 como el usuario %2. Por favor, vuelve a entrar - + Please login with the user: %1 Por favor, entra con el usuario: %1 diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index da0bee2d4..fdb6e95b6 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -2154,7 +2154,7 @@ It is not advisable to use it. - + Could not load certificate. Maybe wrong password? @@ -3516,12 +3516,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_CL.ts b/translations/client_es_CL.ts index cd61f1485..ef1695b52 100644 --- a/translations/client_es_CL.ts +++ b/translations/client_es_CL.ts @@ -2165,7 +2165,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? @@ -3529,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_CO.ts b/translations/client_es_CO.ts index cc20da87b..26c6f19cf 100644 --- a/translations/client_es_CO.ts +++ b/translations/client_es_CO.ts @@ -2165,7 +2165,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? @@ -3529,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_CR.ts b/translations/client_es_CR.ts index 79c86c3f2..ca5dd9e40 100644 --- a/translations/client_es_CR.ts +++ b/translations/client_es_CR.ts @@ -2165,7 +2165,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? @@ -3529,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_DO.ts b/translations/client_es_DO.ts index cb894c791..1402b51fa 100644 --- a/translations/client_es_DO.ts +++ b/translations/client_es_DO.ts @@ -2165,7 +2165,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? @@ -3529,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_EC.ts b/translations/client_es_EC.ts index 0e84dad4c..6272d5ef1 100644 --- a/translations/client_es_EC.ts +++ b/translations/client_es_EC.ts @@ -2165,7 +2165,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? @@ -3529,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_GT.ts b/translations/client_es_GT.ts index eb9b448e9..c1fd4085f 100644 --- a/translations/client_es_GT.ts +++ b/translations/client_es_GT.ts @@ -2165,7 +2165,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? @@ -3529,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_HN.ts b/translations/client_es_HN.ts index 31d860acd..c7dc73ee4 100644 --- a/translations/client_es_HN.ts +++ b/translations/client_es_HN.ts @@ -2165,7 +2165,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? @@ -3529,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_MX.ts b/translations/client_es_MX.ts index 578f1bbec..379f25fe9 100644 --- a/translations/client_es_MX.ts +++ b/translations/client_es_MX.ts @@ -2165,7 +2165,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? @@ -3529,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_es_SV.ts b/translations/client_es_SV.ts index a88d4d046..a6f2d32e2 100644 --- a/translations/client_es_SV.ts +++ b/translations/client_es_SV.ts @@ -2165,7 +2165,7 @@ No es recomendable usarlo. - + Could not load certificate. Maybe wrong password? @@ -3529,12 +3529,12 @@ No es recomendable usarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_et.ts b/translations/client_et.ts index e99a491de..f8ad88739 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -2155,7 +2155,7 @@ Selle kasutamine pole soovitatav. - + Could not load certificate. Maybe wrong password? @@ -3519,12 +3519,12 @@ Selle kasutamine pole soovitatav. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_eu.ts b/translations/client_eu.ts index ee7fe61c6..0a18b10eb 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -2175,7 +2175,7 @@ Ez da gomendagarria erabltzea. Baliogabeko URLa - + Could not load certificate. Maybe wrong password? Ezin izan da ziurtagira kargatu. Baliteke pasahitza okerra izatea? @@ -3537,12 +3537,12 @@ Ez da gomendagarria erabltzea. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 Sartu %1 erabiltzaile gisa diff --git a/translations/client_fa.ts b/translations/client_fa.ts index 52976f0ad..bb2de2074 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -2162,7 +2162,7 @@ It is not advisable to use it. آدرس غیر معتبر - + Could not load certificate. Maybe wrong password? امکان بارگزاری گواهی وجود ندارد، ممکن است رمز عبور اشتباه باشد؟ @@ -3525,12 +3525,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_fi.ts b/translations/client_fi.ts index e69fa3f99..a18c2f49b 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -2159,7 +2159,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. Virheellinen URL - + Could not load certificate. Maybe wrong password? Varmennetta ei voitu ladata. Kenties salasana oli väärin. @@ -3523,12 +3523,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 Kirjaudu käyttäjänä: %1 diff --git a/translations/client_fr.ts b/translations/client_fr.ts index 22005e213..f70e2ee2d 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -2177,7 +2177,7 @@ Il est déconseillé de l'utiliser. URL invalide - + Could not load certificate. Maybe wrong password? Impossible de charger le certificat. Vérifiez le mot de passe saisi. @@ -3542,12 +3542,12 @@ Il est déconseillé de l'utiliser. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Vous avez été déconnecté de %1 en tant qu'utilisateur %2. Veuillez vous reconnecter - + Please login with the user: %1 Veuillez vous connecter avec l’utilisateur : %1 diff --git a/translations/client_gl.ts b/translations/client_gl.ts index f1de437da..01a0d25c2 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -120,22 +120,22 @@ Form - + Formulario Please switch to your browser to proceed. - + Cambie para o seu navegador para proseguir. An error occurred while connecting. Please try again. - + Produciuse un erro ao conectarse. Ténteo de novo. Re-open Browser (or right-click to copy link) - + Volver abrir o navegador (ou botón dereito para copiar a ligazón) @@ -143,22 +143,22 @@ Form - + Formulario Please switch to your browser to proceed. - + Cambie para o seu navegador para proseguir. An error occurred while connecting. Please try again. - + Produciuse un erro ao conectarse. Ténteo de novo. Re-open Browser (or right-click to copy link) - + Volver abrir o navegador (ou botón dereito para copiar a ligazón) @@ -784,25 +784,25 @@ Error returned from the server: <em>%1</em> - + Erro devolto dende o servidor: <em>%1</em> There was an error accessing the 'token' endpoint: <br><em>%1</em> - + Produciuse un erro ao acceder ao punto final da «marca»: <br><em>%1</em> Could not parse the JSON returned from the server: <br><em>%1</em> - + Non foi posíbel analizar o JSON devolto dende o servidor: <br><em>%1</em> The reply from the server did not contain all expected fields - + A resposta do servidor non contiña todos os campos agardados @@ -810,22 +810,22 @@ Connect to %1 - + Conectar con %1 Login in your browser (Login Flow v2) - + Acceda no seu navegador (Fluxo de acceso v2) Copy link to clipboard - + Copiar a ligazón no portapapeis Unable to open the Browser, please copy the link to your Browser. - + Non foi posíbel abrir o navegador, copie a ligazón ao seu navegador. @@ -833,12 +833,12 @@ Copy link to clipboard - + Copiar a ligazón no portapapeis Unable to open the Browser, please copy the link to your Browser. - + Non foi posíbel abrir o navegador, copie a ligazón ao seu navegador. @@ -2176,7 +2176,7 @@ Recomendámoslle que non o use. URL incorrecto - + Could not load certificate. Maybe wrong password? Non foi posíbel cargar o certificado. Quizais o contrasinal é incorrecto? @@ -3540,12 +3540,12 @@ Recomendámoslle que non o use. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Foi desconectado de %1 como o usuario %2. Volva acceder de novo - + Please login with the user: %1 Acceda co usuario: %1 diff --git a/translations/client_he.ts b/translations/client_he.ts index b092296bc..f48dfeae9 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -2156,7 +2156,7 @@ It is not advisable to use it. כתובת שגויה - + Could not load certificate. Maybe wrong password? @@ -3518,12 +3518,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 נא להיכנס עם המשתמש: %1 diff --git a/translations/client_hr.ts b/translations/client_hr.ts index 62cfa505b..159ea52fe 100644 --- a/translations/client_hr.ts +++ b/translations/client_hr.ts @@ -2175,7 +2175,7 @@ Nije preporučljivo koristiti ga. Neispravan URL - + Could not load certificate. Maybe wrong password? Nije moguće učitati vjerodajnicu. Možda je pogrešna zaporka? @@ -3539,12 +3539,12 @@ Nije preporučljivo koristiti ga. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Odjavljeni ste iz %1 kao korisnik %2. Prijavite se ponovno - + Please login with the user: %1 Prijavite se kao korisnik: %1 diff --git a/translations/client_hu.ts b/translations/client_hu.ts index 6c8c1996e..423ceab69 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -120,22 +120,22 @@ Form - + Űrlap Please switch to your browser to proceed. - + Váltson a böngészőre a folytatáshoz. An error occurred while connecting. Please try again. - + Hiba történt a kapcsolódáskor. Próbálja újra. Re-open Browser (or right-click to copy link) - + Böngésző újranyitása (vagy jobb kattintás a hivatkozás másolásához) @@ -143,22 +143,22 @@ Form - + Űrlap Please switch to your browser to proceed. - + Váltson a böngészőre a folytatáshoz. An error occurred while connecting. Please try again. - + Hiba történt a kapcsolódáskor. Próbálja újra. Re-open Browser (or right-click to copy link) - + Böngésző újranyitása (vagy jobb kattintás a hivatkozás másolásához) @@ -784,25 +784,25 @@ Error returned from the server: <em>%1</em> - + A kiszolgáló hibát adott vissza: <em>%1</em> There was an error accessing the 'token' endpoint: <br><em>%1</em> - + Hiba történt a „token” végpont elérésekor: <br><em>%1</em> Could not parse the JSON returned from the server: <br><em>%1</em> - + A kiszolgálótól visszakapott JSON nem dolgozható fel: <br><em>%1</em> The reply from the server did not contain all expected fields - + A kiszolgáló válasza nem tartalmazta az összes várt mezőt @@ -810,22 +810,22 @@ Connect to %1 - + Kapcsolódás: %1 Login in your browser (Login Flow v2) - + Bejelentkezés böngészőben (Login Flow v2) Copy link to clipboard - + Hivatkozás vágólapra másolása Unable to open the Browser, please copy the link to your Browser. - + A böngésző nem nyitható meg, másolja a hivatkozást a böngészőjébe. @@ -833,12 +833,12 @@ Copy link to clipboard - + Hivatkozás vágólapra másolása Unable to open the Browser, please copy the link to your Browser. - + A böngésző nem nyitható meg, másolja a hivatkozást a böngészőjébe. @@ -2174,7 +2174,7 @@ Használata nem ajánlott. Érvénytelen URL - + Could not load certificate. Maybe wrong password? A tanúsítvány nem tölthető be. Lehet, hogy hibás a jelszó? @@ -2926,7 +2926,7 @@ Használata nem ajánlott. Unshare - + Megosztás visszavonása @@ -3514,7 +3514,7 @@ Használata nem ajánlott. <p>Version %1. For more information please click <a href='%2'>here</a>.</p> - + <p>%1 verzió. További információkért kattintson <a href='%2'>ide</a>.</p> @@ -3538,12 +3538,12 @@ Használata nem ajánlott. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Kijelentkezett a(z) %1 fiókjából, mint %2 felhasználó. Jelentkezzen be újra - + Please login with the user: %1 Jelentkezzen be a következő felhasználóval: %1 @@ -3724,7 +3724,7 @@ Használata nem ajánlott. View more activity... - + Több tevékenység megtekintése… diff --git a/translations/client_id.ts b/translations/client_id.ts index 3e099abc4..47cdbb6a4 100644 --- a/translations/client_id.ts +++ b/translations/client_id.ts @@ -2174,7 +2174,7 @@ Tidak disarankan untuk digunakan. URL tidak valid - + Could not load certificate. Maybe wrong password? Tidak dapat memuat sertifikat. Mungkin salah kata sandi? @@ -3536,12 +3536,12 @@ Tidak disarankan untuk digunakan. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_is.ts b/translations/client_is.ts index 12913dabb..d7f0c9f85 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -2169,7 +2169,7 @@ Ekki er mælt með því að hún sé notuð. Ógild slóð - + Could not load certificate. Maybe wrong password? Gat ekki hlaðið inn skilríki. Kannski rangt lykilorð? @@ -3536,12 +3536,12 @@ Ekki er mælt með því að hún sé notuð. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Þú hefur verið skráður út af %1 sem notandinn %2. Skráðu þig aftur inn - + Please login with the user: %1 Skráðu þig inn með notandanafninu: %1 diff --git a/translations/client_it.ts b/translations/client_it.ts index b1751bdbe..321623425 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -2176,7 +2176,7 @@ Non è consigliabile utilizzarlo. URL non valido - + Could not load certificate. Maybe wrong password? Impossibile caricare il certificato. Forse la password è errata? @@ -3540,12 +3540,12 @@ Non è consigliabile utilizzarlo. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Sei stato disconnesso da %1 come utente %2. Accedi nuovamente - + Please login with the user: %1 Accedi con l'utente: %1 diff --git a/translations/client_ja.ts b/translations/client_ja.ts index 75463c2db..e8dad6827 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -2169,7 +2169,7 @@ It is not advisable to use it. 無効なURL - + Could not load certificate. Maybe wrong password? 証明書を読み込めませんでした。 パスワードが間違っていますか? @@ -3533,12 +3533,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again %1 をユーザー %2 としてログアウトしました。 もう一度ログインしてください - + Please login with the user: %1 ユーザーと一緒にログインしてください:%1 diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index 9d5cc79a0..fffb9bdfb 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -2170,7 +2170,7 @@ Patariama jo nenaudoti. Neteisingas URL - + Could not load certificate. Maybe wrong password? Nepavyko įkelti liudijimo. Galbūt, neteisingas slaptažodis? @@ -3534,12 +3534,12 @@ Patariama jo nenaudoti. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again %1 jus atjungė kaip vartotoją %2. Pabandykite prisijungti dar kartą - + Please login with the user: %1 Prisijunkite vartotoju: %1 diff --git a/translations/client_lv.ts b/translations/client_lv.ts index 1f23eb744..109797d93 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -2156,7 +2156,7 @@ It is not advisable to use it. - + Could not load certificate. Maybe wrong password? @@ -3518,12 +3518,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Jūs esat atteicies no %1 kā lietotājs %2. Lūdzu piesakieties atkārtoti - + Please login with the user: %1 Lūdzu piesakieties kā lietotājs: %1 diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index 2cb54b409..331db7be1 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -2165,7 +2165,7 @@ Det er ikke tilrådelig å bruke den. Ugyldig addresse - + Could not load certificate. Maybe wrong password? Sertifikatet kunne ikke lastes. Kanskje feil passord? @@ -3529,12 +3529,12 @@ Det er ikke tilrådelig å bruke den. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_nl.ts b/translations/client_nl.ts index 86b87238a..d6d3805ce 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -2179,7 +2179,7 @@ We adviseren deze site niet te gebruiken. Ongeldige URL - + Could not load certificate. Maybe wrong password? Kon certificaat niet laden. Misschien onjuist wachtwoord? @@ -3543,12 +3543,12 @@ We adviseren deze site niet te gebruiken. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Je bent uitgelogd van %1 als gebruiker %2. Log opnieuw in - + Please login with the user: %1 Login met gebruiker: %1 diff --git a/translations/client_pl.ts b/translations/client_pl.ts index 54c282f71..dccb93071 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -2175,7 +2175,7 @@ Niezalecane jest jego użycie. Błędny adres URL - + Could not load certificate. Maybe wrong password? Nie udało się załadować certyfikatu. Być może hasło jest nieprawidłowe? @@ -3539,12 +3539,12 @@ Niezalecane jest jego użycie. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Zostałeś wylogowany z %1 jako użytkownik %2. Zaloguj się ponownie. - + Please login with the user: %1 Zaloguj się jako użytkownik: %1 diff --git a/translations/client_pt.ts b/translations/client_pt.ts index a4992253c..e21735ac8 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -2164,7 +2164,7 @@ Não é aconselhada a sua utilização. - + Could not load certificate. Maybe wrong password? @@ -3528,12 +3528,12 @@ Não é aconselhada a sua utilização. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index b8ba39883..db5adeb06 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -120,22 +120,22 @@ Form - + Formato Please switch to your browser to proceed. - + Por favor, mude para o seu navegador para continuar. An error occurred while connecting. Please try again. - + Erro ao conectar. Tente novamente. Re-open Browser (or right-click to copy link) - + Reabra o Navegador (ou clique com o botão direito do mouse para copiar o link) @@ -143,22 +143,22 @@ Form - + Formato Please switch to your browser to proceed. - + Por favor, mude para o seu navegador para continuar. An error occurred while connecting. Please try again. - + Erro ao conectar. Tente novamente. Re-open Browser (or right-click to copy link) - + Reabra o Navegador (ou clique com o botão direito do mouse para copiar o link) @@ -784,25 +784,25 @@ Error returned from the server: <em>%1</em> - + Erro retornado do servidor: <em>%1</em> There was an error accessing the 'token' endpoint: <br><em>%1</em> - + Erro ao acessar o terminal 'token': <br><em>%1</em> Could not parse the JSON returned from the server: <br><em>%1</em> - + Não foi possível analisar o JSON retornado do servidor: <br><em>%1</em> The reply from the server did not contain all expected fields - + A resposta do servidor não continha todos os campos esperados @@ -810,22 +810,22 @@ Connect to %1 - + Conectar ao %1 Login in your browser (Login Flow v2) - + Faça login no seu navegador (Login Flow v2) Copy link to clipboard - + Copiar link para a área de transferência Unable to open the Browser, please copy the link to your Browser. - + Não foi possível abrir o Navegador, copie o link para o seu Navegador. @@ -833,12 +833,12 @@ Copy link to clipboard - + Copiar link para a área de transferência Unable to open the Browser, please copy the link to your Browser. - + Não foi possível abrir o Navegador, copie o link para o seu Navegador. @@ -2175,7 +2175,7 @@ Não é aconselhável usá-la. URL inválida - + Could not load certificate. Maybe wrong password? Não foi possível carregar o certificado. Senha errada? @@ -3539,12 +3539,12 @@ Não é aconselhável usá-la. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Você foi deslogado de %1 como usuário %2. Logue-se novamente - + Please login with the user: %1 Por favor, faça o login com o usuário: %1 diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 09072f59a..6f772791c 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -2169,7 +2169,7 @@ It is not advisable to use it. Неверная ссылка - + Could not load certificate. Maybe wrong password? Невозможно загрузить сертификат. Возможно неверный пароль? @@ -3533,12 +3533,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Выполнен выход пользователя %2 из системы %1. Войдите заново - + Please login with the user: %1 Войдите в систему под именем %1 diff --git a/translations/client_sk.ts b/translations/client_sk.ts index 8393a61b4..deff92367 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -2168,7 +2168,7 @@ Nie je vhodné ju používať. Neplatná URL - + Could not load certificate. Maybe wrong password? Nie je možné načítať certifikát. Možno zlé heslo? @@ -3532,12 +3532,12 @@ Nie je vhodné ju používať. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Boli ste odhlásení z %1 ako používateľ %2. Znovu sa prihláste - + Please login with the user: %1 Prihláste sa pomocou používateľa: %1 diff --git a/translations/client_sl.ts b/translations/client_sl.ts index 9369b6aab..06cc42254 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -2164,7 +2164,7 @@ Uporaba ni priporočljiva. - + Could not load certificate. Maybe wrong password? @@ -3528,12 +3528,12 @@ Uporaba ni priporočljiva. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_sr.ts b/translations/client_sr.ts index c79ecf3d8..d22cc5742 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -120,17 +120,17 @@ Form - + Образац Please switch to your browser to proceed. - + Пребаците се на веб читач да наставите. An error occurred while connecting. Please try again. - + Догодила се грешка при повезивању. Покушајте поново. @@ -143,17 +143,17 @@ Form - + Образац Please switch to your browser to proceed. - + Пребаците се на веб читач да наставите. An error occurred while connecting. Please try again. - + Догодила се грешка при повезивању. Покушајте поново. @@ -784,25 +784,25 @@ Error returned from the server: <em>%1</em> - + Грешка враћена са сервера: <em>%1</em> There was an error accessing the 'token' endpoint: <br><em>%1</em> - + Догодила се грешка при приступању 'token' крајњој тачки: <br><em>%1</em> Could not parse the JSON returned from the server: <br><em>%1</em> - + Не могу да парсирам JSON враћен са сервера: <br><em>%1</em> The reply from the server did not contain all expected fields - + Одговор са сервера није садржао сва очекивана поља @@ -810,7 +810,7 @@ Connect to %1 - + Повежи се са %1 @@ -820,7 +820,7 @@ Copy link to clipboard - + Копирај везу у оставу @@ -833,7 +833,7 @@ Copy link to clipboard - + Копирај везу у оставу @@ -2175,7 +2175,7 @@ It is not advisable to use it. Неисправна адреса - + Could not load certificate. Maybe wrong password? Не могу да учитам сертификат. Можда је лозинка погрешна? @@ -3539,12 +3539,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Одјављени сте се са %1 као корисник %2. Пријавите се поново - + Please login with the user: %1 Пријавите се са корисником: %1 diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 3fc90439b..a4afb5576 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -2175,7 +2175,7 @@ Det är inte lämpligt använda den. Ogiltig URL - + Could not load certificate. Maybe wrong password? Kunde inte ladda certifikatet. Felaktigt lösenord? @@ -3539,12 +3539,12 @@ Det är inte lämpligt använda den. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again Du har loggats ut från %1 som användare %2. Logga in igen - + Please login with the user: %1 Logga in som: %1 diff --git a/translations/client_th.ts b/translations/client_th.ts index 17c7de47e..d2ad65b9e 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -2164,7 +2164,7 @@ It is not advisable to use it. - + Could not load certificate. Maybe wrong password? @@ -3527,12 +3527,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_tr.ts b/translations/client_tr.ts index 99b91ca00..e34d8c48b 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -2174,7 +2174,7 @@ Kullanmanız önerilmez. Adres Geçersiz - + Could not load certificate. Maybe wrong password? Sertifika yüklenemedi. Parola yanlış olabilir mi? @@ -3538,12 +3538,12 @@ Kullanmanız önerilmez. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again %1 üzerindeki %2 kullanıcısı oturumunuzu kapattınız. Lütfen yeniden oturum açın - + Please login with the user: %1 Lütfen şu kullanıcı ile oturum açın: %1 diff --git a/translations/client_uk.ts b/translations/client_uk.ts index 5d56560c8..6626b483e 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -2155,7 +2155,7 @@ It is not advisable to use it. Недійсна URL адреса - + Could not load certificate. Maybe wrong password? Не вдалося завантажити сертифікат. Можливо був введений неправильний пароль? @@ -3519,12 +3519,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index 0fdc76c91..8458235d2 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -2173,7 +2173,7 @@ It is not advisable to use it. 无效的链接 - + Could not load certificate. Maybe wrong password? 无法载入证书。是不是密码错了? @@ -3537,12 +3537,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again 您已经以用户 %2 的身份从 %1 中注销,请重新登录 - + Please login with the user: %1 请以 %1 用户身份登陆 diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index 93c6fa9ea..2798b277e 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -2161,7 +2161,7 @@ It is not advisable to use it. - + Could not load certificate. Maybe wrong password? @@ -3525,12 +3525,12 @@ It is not advisable to use it. OCC::WebFlowCredentials - + You have been logged out of %1 as user %2. Please login again - + Please login with the user: %1 From b52292db92c207aa2d2be6386f66f08b1b77f526 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Fri, 30 Aug 2019 04:56:01 +0200 Subject: [PATCH 154/192] Windows: Workaround for CredWriteW used by QtKeychain Saving all client CA's within one credential may result in: Error: "Credential size exceeds maximum size of 2560" Client CA certificates are now being stored in separate slots within the keychain and are being processed by a queue mechanism. IMPORTANT TODO: forgetSensitiveData(): Invoked by "Log out" & "Remove account" - Remove client CA certs and KEY! (uncomment "//deleteKeychainEntries();" ) Disabled as long as selecting another cert is not supported by the UI. Signed-off-by: Michael Schuster --- src/gui/creds/webflowcredentials.cpp | 156 ++++++++++++++++++++------- src/gui/creds/webflowcredentials.h | 36 +++++-- 2 files changed, 147 insertions(+), 45 deletions(-) diff --git a/src/gui/creds/webflowcredentials.cpp b/src/gui/creds/webflowcredentials.cpp index 5a7f78f93..63d56f513 100644 --- a/src/gui/creds/webflowcredentials.cpp +++ b/src/gui/creds/webflowcredentials.cpp @@ -29,7 +29,7 @@ namespace { const char userC[] = "user"; const char clientCertificatePEMC[] = "_clientCertificatePEM"; const char clientKeyPEMC[] = "_clientKeyPEM"; - const char clientCaCertificatesPEMC[] = "_clientCaCertificatesPEM"; + const char clientCaCertificatePEMC[] = "_clientCaCertificatePEM"; } // ns class WebFlowCredentialsAccessManager : public AccessManager @@ -160,7 +160,7 @@ void WebFlowCredentials::askFromUser() { } QString msg = tr("You have been logged out of %1 as user %2. Please login again") - .arg(_account->displayName(), _user); + .arg(_account->displayName(), _user); _askDialog->setInfo(msg); _askDialog->show(); @@ -177,7 +177,7 @@ void WebFlowCredentials::slotAskFromUserCredentialsProvided(const QString &user, qCInfo(lcWebFlowCredentials()) << "Authed with the wrong user!"; QString msg = tr("Please login with the user: %1") - .arg(_user); + .arg(_user); _askDialog->setError(msg); if (!_askDialog->isUsingFlow2()) { @@ -253,30 +253,71 @@ void WebFlowCredentials::slotWriteClientCertPEMJobDone() } } -void WebFlowCredentials::slotWriteClientKeyPEMJobDone() +void WebFlowCredentials::writeSingleClientCaCertPEM() { - // write ca certs if there are any - if (!_clientSslCaCertificates.isEmpty()) { + // write a ca cert if there is any in the queue + if (!_clientSslCaCertificatesWriteQueue.isEmpty()) { + // grab and remove the first cert from the queue + auto cert = _clientSslCaCertificatesWriteQueue.dequeue(); + + auto index = (_clientSslCaCertificates.count() - _clientSslCaCertificatesWriteQueue.count()) - 1; + + // keep the limit + if (index > (_clientSslCaCertificatesMaxCount - 1)) { + qCWarning(lcWebFlowCredentials) << "Maximum client CA cert count exceeded while writing slot" << QString::number(index) << "), cutting off after " << QString::number(_clientSslCaCertificatesMaxCount) << "certs"; + + _clientSslCaCertificatesWriteQueue.clear(); + + slotWriteClientCaCertsPEMJobDone(nullptr); + return; + } + WritePasswordJob *job = new WritePasswordJob(Theme::instance()->appName()); addSettingsToJob(_account, job); job->setInsecureFallback(false); connect(job, &Job::finished, this, &WebFlowCredentials::slotWriteClientCaCertsPEMJobDone); - job->setKey(keychainKey(_account->url().toString(), _user + clientCaCertificatesPEMC, _account->id())); - - QByteArray certs; - for(auto cert:_clientSslCaCertificates) { - certs += cert.toPem(); - } - - job->setBinaryData(certs); + job->setKey(keychainKey(_account->url().toString(), _user + clientCaCertificatePEMC + QString::number(index), _account->id())); + job->setBinaryData(cert.toPem()); job->start(); } else { - slotWriteClientCaCertsPEMJobDone(); + slotWriteClientCaCertsPEMJobDone(nullptr); } } -void WebFlowCredentials::slotWriteClientCaCertsPEMJobDone() +void WebFlowCredentials::slotWriteClientKeyPEMJobDone() { + _clientSslCaCertificatesWriteQueue.clear(); + + // write ca certs if there are any + if (!_clientSslCaCertificates.isEmpty()) { + // queue the certs to avoid trouble on Windows (Workaround for CredWriteW used by QtKeychain) + _clientSslCaCertificatesWriteQueue.append(_clientSslCaCertificates); + + // first ca cert + writeSingleClientCaCertPEM(); + } else { + slotWriteClientCaCertsPEMJobDone(nullptr); + } +} + +void WebFlowCredentials::slotWriteClientCaCertsPEMJobDone(QKeychain::Job *incomingJob) +{ + // errors / next ca cert? + if (incomingJob && !_clientSslCaCertificates.isEmpty()) { + WritePasswordJob *writeJob = static_cast(incomingJob); + + if (writeJob->error() != NoError) { + qCWarning(lcWebFlowCredentials) << "Error while writing client CA cert" << writeJob->errorString(); + } + + if (!_clientSslCaCertificatesWriteQueue.isEmpty()) { + // next ca cert + writeSingleClientCaCertPEM(); + return; + } + } + + // done storing ca certs, time for the password WritePasswordJob *job = new WritePasswordJob(Theme::instance()->appName()); addSettingsToJob(_account, job); job->setInsecureFallback(false); @@ -311,7 +352,7 @@ void WebFlowCredentials::invalidateToken() { QTimer::singleShot(0, _account, &Account::clearQNAMCache); } -void WebFlowCredentials::forgetSensitiveData(){ +void WebFlowCredentials::forgetSensitiveData() { _password = QString(); _ready = false; @@ -329,6 +370,15 @@ void WebFlowCredentials::forgetSensitiveData(){ job->start(); invalidateToken(); + + /* IMPORTANT + /* TODO: For "Log out" & "Remove account": Remove client CA certs and KEY! + * + * Disabled as long as selecting another cert is not supported by the UI. + * + * Being able to specify a new certificate is important anyway: expiry etc. + */ + //deleteKeychainEntries(); } void WebFlowCredentials::setAccount(Account *account) { @@ -389,7 +439,7 @@ void WebFlowCredentials::slotReadClientCertPEMJobDone(QKeychain::Job *incomingJo #if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) Q_ASSERT(!incomingJob->insecureFallback()); // If insecureFallback is set, the next test would be pointless if (_retryOnKeyChainError && (incomingJob->error() == QKeychain::NoBackendAvailable - || incomingJob->error() == QKeychain::OtherError)) { + || incomingJob->error() == QKeychain::OtherError)) { // Could be that the backend was not yet available. Wait some extra seconds. // (Issues #4274 and #6522) // (For kwallet, the error is OtherError instead of NoBackendAvailable, maybe a bug in QtKeychain) @@ -445,28 +495,53 @@ void WebFlowCredentials::slotReadClientKeyPEMJobDone(QKeychain::Job *incomingJob } } - // Now fetch the actual server password - const QString kck = keychainKey( - _account->url().toString(), - _user + clientCaCertificatesPEMC, - _keychainMigration ? QString() : _account->id()); + // Start fetching client CA certs + _clientSslCaCertificates.clear(); - ReadPasswordJob *job = new ReadPasswordJob(Theme::instance()->appName()); - addSettingsToJob(_account, job); - job->setInsecureFallback(false); - job->setKey(kck); - connect(job, &Job::finished, this, &WebFlowCredentials::slotReadClientCaCertsPEMJobDone); - job->start(); + readSingleClientCaCertPEM(); +} + +void WebFlowCredentials::readSingleClientCaCertPEM() +{ + // try to fetch a client ca cert + if (_clientSslCaCertificates.count() < _clientSslCaCertificatesMaxCount) { + const QString kck = keychainKey( + _account->url().toString(), + _user + clientCaCertificatePEMC + QString::number(_clientSslCaCertificates.count()), + _keychainMigration ? QString() : _account->id()); + + ReadPasswordJob *job = new ReadPasswordJob(Theme::instance()->appName()); + addSettingsToJob(_account, job); + job->setInsecureFallback(false); + job->setKey(kck); + connect(job, &Job::finished, this, &WebFlowCredentials::slotReadClientCaCertsPEMJobDone); + job->start(); + } else { + qCWarning(lcWebFlowCredentials) << "Maximum client CA cert count exceeded while reading, ignoring after " << _clientSslCaCertificatesMaxCount; + + slotReadClientCaCertsPEMJobDone(nullptr); + } } void WebFlowCredentials::slotReadClientCaCertsPEMJobDone(QKeychain::Job *incomingJob) { // Store key in memory ReadPasswordJob *readJob = static_cast(incomingJob); - if (readJob->error() == NoError && readJob->binaryData().length() > 0) { - QList sslCertificateList = QSslCertificate::fromData(readJob->binaryData(), QSsl::Pem); - if (sslCertificateList.length() >= 1) { - _clientSslCaCertificates = sslCertificateList; + if (readJob) { + if (readJob->error() == NoError && readJob->binaryData().length() > 0) { + QList sslCertificateList = QSslCertificate::fromData(readJob->binaryData(), QSsl::Pem); + if (sslCertificateList.length() >= 1) { + _clientSslCaCertificates.append(sslCertificateList.at(0)); + } + + // try next cert + readSingleClientCaCertPEM(); + return; + } else { + if (readJob->error() != QKeychain::Error::EntryNotFound || + (readJob->error() == QKeychain::Error::EntryNotFound) && _clientSslCaCertificates.count() == 0) { + qCWarning(lcWebFlowCredentials) << "Unable to read client CA cert slot " << QString::number(_clientSslCaCertificates.count()) << readJob->errorString(); + } } } @@ -512,23 +587,30 @@ void WebFlowCredentials::slotReadPasswordJobDone(Job *incomingJob) { if (_keychainMigration && _ready) { _keychainMigration = false; persist(); - deleteOldKeychainEntries(); + deleteKeychainEntries(true); qCInfo(lcWebFlowCredentials) << "Migrated old keychain entries"; } } -void WebFlowCredentials::deleteOldKeychainEntries() { - auto startDeleteJob = [this](QString user) { +void WebFlowCredentials::deleteKeychainEntries(bool oldKeychainEntries) +{ + auto startDeleteJob = [this, oldKeychainEntries](QString user) { DeletePasswordJob *job = new DeletePasswordJob(Theme::instance()->appName()); addSettingsToJob(_account, job); job->setInsecureFallback(true); - job->setKey(keychainKey(_account->url().toString(), user, QString())); + job->setKey(keychainKey(_account->url().toString(), + user, + oldKeychainEntries ? QString() : _account->id())); job->start(); }; startDeleteJob(_user); startDeleteJob(_user + clientKeyPEMC); startDeleteJob(_user + clientCertificatePEMC); + + for (auto i = 0; i < _clientSslCaCertificates.count(); i++) { + startDeleteJob(_user + clientCaCertificatePEMC + QString::number(i)); + } } } diff --git a/src/gui/creds/webflowcredentials.h b/src/gui/creds/webflowcredentials.h index d9c9551bc..34c1a84c0 100644 --- a/src/gui/creds/webflowcredentials.h +++ b/src/gui/creds/webflowcredentials.h @@ -4,6 +4,7 @@ #include #include #include +#include #include "creds/abstractcredentials.h" @@ -13,7 +14,7 @@ class QNetworkReply; class QAuthenticator; namespace QKeychain { - class Job; +class Job; } namespace OCC { @@ -31,11 +32,11 @@ public: explicit WebFlowCredentials(); WebFlowCredentials( - const QString &user, - const QString &password, - const QSslCertificate &certificate = QSslCertificate(), - const QSslKey &key = QSslKey(), - const QList &caCertificates = QList()); + const QString &user, + const QString &password, + const QSslCertificate &certificate = QSslCertificate(), + const QSslKey &key = QSslKey(), + const QList &caCertificates = QList()); QString authType() const override; QString user() const override; @@ -68,9 +69,28 @@ private slots: void slotWriteClientCertPEMJobDone(); void slotWriteClientKeyPEMJobDone(); - void slotWriteClientCaCertsPEMJobDone(); + void slotWriteClientCaCertsPEMJobDone(QKeychain::Job *incomingJob); void slotWriteJobDone(QKeychain::Job *); +private: + /* + * Windows: Workaround for CredWriteW used by QtKeychain + * + * Saving all client CA's within one credential may result in: + * Error: "Credential size exceeds maximum size of 2560" + */ + void readSingleClientCaCertPEM(); + void writeSingleClientCaCertPEM(); + + /* + * Since we're limited by Windows limits we just create our own + * limit to avoid evil things happening by endless recursion + * + * Better than storing the count and relying on maybe-hacked values + */ + static constexpr int _clientSslCaCertificatesMaxCount = 10; + QQueue _clientSslCaCertificatesWriteQueue; + protected: /** Reads data from keychain locations * @@ -83,7 +103,7 @@ protected: void fetchFromKeychainHelper(); /// Wipes legacy keychain locations - void deleteOldKeychainEntries(); + void deleteKeychainEntries(bool oldKeychainEntries = false); QString fetchUser(); From 29ff9f403e8db817f0935a7a57ff252afc8e3b77 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Fri, 30 Aug 2019 03:06:24 +0000 Subject: [PATCH 155/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++--- translations/client_cs.ts | 18 +++++------ translations/client_sv.ts | 36 ++++++++++----------- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_cs.ts b/translations/client_cs.ts index ee9582d6b..1247b755b 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -130,7 +130,7 @@ An error occurred while connecting. Please try again. - + Došlo k chybě při připojování. Zkuste to znovu. @@ -148,12 +148,12 @@ Please switch to your browser to proceed. - + Pro pokračování přepněte do vámi používaného webového prohlížeče. An error occurred while connecting. Please try again. - + Došlo k chybě při připojování. Zkuste to znovu. @@ -784,7 +784,7 @@ Error returned from the server: <em>%1</em> - + Chyba vrácená ze serveru: <em>%1</em> @@ -802,7 +802,7 @@ The reply from the server did not contain all expected fields - + Odpověď ze serveru neobsahuje všechny očekávané kolonky @@ -810,7 +810,7 @@ Connect to %1 - + Připojit k %1 @@ -820,12 +820,12 @@ Copy link to clipboard - + Zkopírovat odkaz do schránky Unable to open the Browser, please copy the link to your Browser. - + Nedaří se otevřít prohlížeč, zkopírujte do něj odkaz sami. @@ -833,7 +833,7 @@ Copy link to clipboard - + Zkopírovat odkaz do schránky diff --git a/translations/client_sv.ts b/translations/client_sv.ts index a4afb5576..5ff9c941b 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -120,22 +120,22 @@ Form - + Form Please switch to your browser to proceed. - + Växla till din webbläsare för att fortsätta. An error occurred while connecting. Please try again. - + Ett fel inträffade vid anslutning. Försök igen. Re-open Browser (or right-click to copy link) - + Öppna webbläsaren igen (eller högerklicka för att kopiera länken) @@ -143,22 +143,22 @@ Form - + Form Please switch to your browser to proceed. - + Växla till din webbläsare för att fortsätta. An error occurred while connecting. Please try again. - + Ett fel inträffade vid anslutning. Försök igen. Re-open Browser (or right-click to copy link) - + Öppna webbläsaren igen (eller högerklicka för att kopiera länken) @@ -784,25 +784,25 @@ Error returned from the server: <em>%1</em> - + Fel returnerat från server: <em>%1</em> There was an error accessing the 'token' endpoint: <br><em>%1</em> - + Fel uppstod vid åtkomst till 'token' endpoint: <br><em>%1</em> Could not parse the JSON returned from the server: <br><em>%1</em> - + Kunde inte analysera JSON som returnerades från servern: <br><em>%1</em> The reply from the server did not contain all expected fields - + Svaret från servern innehöll inte alla förväntade fält @@ -810,22 +810,22 @@ Connect to %1 - + Anslut till %1 Login in your browser (Login Flow v2) - + Logga in i din webbläsare (Login Flow v2) Copy link to clipboard - + Kopiera länk till urklipp Unable to open the Browser, please copy the link to your Browser. - + Det går inte att öppna webbläsaren, kopiera länken till din webbläsare. @@ -833,12 +833,12 @@ Copy link to clipboard - + Kopiera länk till urklipp Unable to open the Browser, please copy the link to your Browser. - + Det går inte att öppna webbläsaren, kopiera länken till din webbläsare. From 61884d1adab3091edd39e3f9130f39892f33eb9a Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Fri, 30 Aug 2019 05:35:36 +0200 Subject: [PATCH 156/192] fix indents, add comment Signed-off-by: Michael Schuster --- src/gui/creds/webflowcredentials.cpp | 15 +++++++-------- src/gui/creds/webflowcredentials.h | 12 ++++++------ 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/gui/creds/webflowcredentials.cpp b/src/gui/creds/webflowcredentials.cpp index 63d56f513..b34e6e054 100644 --- a/src/gui/creds/webflowcredentials.cpp +++ b/src/gui/creds/webflowcredentials.cpp @@ -160,7 +160,7 @@ void WebFlowCredentials::askFromUser() { } QString msg = tr("You have been logged out of %1 as user %2. Please login again") - .arg(_account->displayName(), _user); + .arg(_account->displayName(), _user); _askDialog->setInfo(msg); _askDialog->show(); @@ -177,7 +177,7 @@ void WebFlowCredentials::slotAskFromUserCredentialsProvided(const QString &user, qCInfo(lcWebFlowCredentials()) << "Authed with the wrong user!"; QString msg = tr("Please login with the user: %1") - .arg(_user); + .arg(_user); _askDialog->setError(msg); if (!_askDialog->isUsingFlow2()) { @@ -439,7 +439,7 @@ void WebFlowCredentials::slotReadClientCertPEMJobDone(QKeychain::Job *incomingJo #if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) Q_ASSERT(!incomingJob->insecureFallback()); // If insecureFallback is set, the next test would be pointless if (_retryOnKeyChainError && (incomingJob->error() == QKeychain::NoBackendAvailable - || incomingJob->error() == QKeychain::OtherError)) { + || incomingJob->error() == QKeychain::OtherError)) { // Could be that the backend was not yet available. Wait some extra seconds. // (Issues #4274 and #6522) // (For kwallet, the error is OtherError instead of NoBackendAvailable, maybe a bug in QtKeychain) @@ -587,20 +587,19 @@ void WebFlowCredentials::slotReadPasswordJobDone(Job *incomingJob) { if (_keychainMigration && _ready) { _keychainMigration = false; persist(); - deleteKeychainEntries(true); + deleteKeychainEntries(true); // true: delete old entries qCInfo(lcWebFlowCredentials) << "Migrated old keychain entries"; } } -void WebFlowCredentials::deleteKeychainEntries(bool oldKeychainEntries) -{ +void WebFlowCredentials::deleteKeychainEntries(bool oldKeychainEntries) { auto startDeleteJob = [this, oldKeychainEntries](QString user) { DeletePasswordJob *job = new DeletePasswordJob(Theme::instance()->appName()); addSettingsToJob(_account, job); job->setInsecureFallback(true); job->setKey(keychainKey(_account->url().toString(), - user, - oldKeychainEntries ? QString() : _account->id())); + user, + oldKeychainEntries ? QString() : _account->id())); job->start(); }; diff --git a/src/gui/creds/webflowcredentials.h b/src/gui/creds/webflowcredentials.h index 34c1a84c0..0e02568ec 100644 --- a/src/gui/creds/webflowcredentials.h +++ b/src/gui/creds/webflowcredentials.h @@ -14,7 +14,7 @@ class QNetworkReply; class QAuthenticator; namespace QKeychain { -class Job; + class Job; } namespace OCC { @@ -32,11 +32,11 @@ public: explicit WebFlowCredentials(); WebFlowCredentials( - const QString &user, - const QString &password, - const QSslCertificate &certificate = QSslCertificate(), - const QSslKey &key = QSslKey(), - const QList &caCertificates = QList()); + const QString &user, + const QString &password, + const QSslCertificate &certificate = QSslCertificate(), + const QSslKey &key = QSslKey(), + const QList &caCertificates = QList()); QString authType() const override; QString user() const override; From bb9140d075c8ba81d9c8eda1a4f382da9cd4f826 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 31 Aug 2019 03:03:58 +0000 Subject: [PATCH 157/192] [tx-robot] updated from transifex --- translations/client_da.ts | 102 +++++++++++++++++++------------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/translations/client_da.ts b/translations/client_da.ts index 7755ae718..e96c4add9 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -50,37 +50,37 @@ Open website - + Åbn websted Recently changed - + Ændret for nylig Pause synchronization - + Pause synkronisering Help - + Hjælp Settings - + Indstillinger Log out - + Log ud Quit sync client - + Luk synkroniserings-klient @@ -112,7 +112,7 @@ Moving to the trash is not implemented on this platform - + Flytning af filer til skraldespand er ikke implementeret på denne platform @@ -120,22 +120,22 @@ Form - + Formular Please switch to your browser to proceed. - + Venligst skift til din browser for at fortsætte An error occurred while connecting. Please try again. - + Der opstod en fejl under forsøget på at oprette forbindelse. Prøv venligst igen. Re-open Browser (or right-click to copy link) - + Åben browser igen (eller højreklik for at kopiere link) @@ -143,22 +143,22 @@ Form - + Formular Please switch to your browser to proceed. - + Venligst skift til din browser for at fortsætte An error occurred while connecting. Please try again. - + Der opstod en fejl under forsøget på at oprette forbindelse. Prøv venligst igen. Re-open Browser (or right-click to copy link) - + Åben browser igen (eller højreklik for at kopiere link) @@ -171,7 +171,7 @@ Pick a local folder on your computer to sync - + Vælg en lokal mappe på din computer der ønskes synkroniseret @@ -217,17 +217,17 @@ Connection timed out - + Forbindelsen udløb Unknown error: network reply was deleted - + Ukendt fejl: netværkets svar blev slettet Server replied "%1 %2" to "%3 %4" - + Serveren svarede "%1 %2" to "%3 %4" @@ -235,12 +235,12 @@ End to end encryption mnemonic - + End to end krypterings huskeregel To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. Please note these down and keep them safe. They will be needed to add other devices to your account (like your mobile phone or laptop). - + For at beskytte din kryptografiske identitet krypterer vi den vha. en huskeregel med 12 ordbogs opslag. Venligst noter dem ned og opbevar sikkert. De skal bruges for at tilføje andre enheder til din konto (fx mobil eller bærbar). @@ -248,7 +248,7 @@ Form - + Formular @@ -258,12 +258,12 @@ Storage space: ... - + Lagerplads: ... Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - + Fravalgte mapper vil blive <b>fjernet</b> fra dit lokale filsystem og bliver ikke længere synkroniseret til denne computer @@ -320,12 +320,12 @@ This account supports end-to-end encryption - + Denne konto supporterer end-to-end kryptering Enable encryption - + Slå kryptering til @@ -365,7 +365,7 @@ <p>Could not create local folder <i>%1</i>. - + <p>Kunne ikke oprette lokal mappe <i>%1</i>. @@ -385,12 +385,12 @@ The syncing operation is running.<br/>Do you want to terminate it? - + Synkronisering pågår.<br/>Ønsker du at afslutte den? %1 in use - + %1 i brug @@ -400,7 +400,7 @@ The server version %1 is old and unsupported! Proceed at your own risk. - + Server version %1 er gammel og usupporteret! Fortsæt på egen risiko. @@ -410,12 +410,12 @@ Server %1 is temporarily unavailable. - + Serveren %1 er midlertidig utilgængelig. Server %1 is currently in maintenance mode. - + Serveren %1 er i vedligeholdelsestilstand. @@ -435,7 +435,7 @@ No connection to %1 at %2. - + Ingen forbindelse til %1 hos %2. @@ -445,27 +445,27 @@ There are folders that were not synchronized because they are too big: - + Der er mapper som ikke blev synkroniseret fordi de er for store: There are folders that were not synchronized because they are external storages: - + Der er mapper som ikke blev synkroniseret fordi de er eksterne lagre: There are folders that were not synchronized because they are too big or external storages: - + Der er mapper som ikke blev synkroniseret fordi de er for store eller eksterne lagre: Confirm Account Removal - + Bekræft sletning af konto <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + <p>Ønsker du virkelig at fjerne forbindelse til kontoen <i>%1</i>?</p><p><b>Note:</b>Dette sletter <b>ikke</b>nogen filer.</p> @@ -497,12 +497,12 @@ <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + <p>Ønsker du virkelig at stoppe synkronisering af mappen <i>%1</i>?</p><p><b>Note:</b>Dette sletter <b>ikke</b>nogen filer.</p> %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. - + %1 (%3%) af %2 i brug. Nogle mapper, inklusiv netværksdiske eller delte mapper, har muligvis andre begrænsninger. @@ -512,12 +512,12 @@ Currently there is no storage usage information available. - + Der er i øjeblikket ingen informationer om brug af lager tilgængelig. No %1 connection configured. - + Ingen %1 forbindelse konfigureret. @@ -530,7 +530,7 @@ Disconnected - + Frakoblet @@ -560,7 +560,7 @@ Asking Credentials - + Forespørger om brugeroplysninger @@ -621,12 +621,12 @@ Retry all uploads - + Prøv fejlede alle fejlede uploads igen <br/>Account %1 does not have activities enabled. - + <br/>Konto %1 har ikke nogen aktiviteter slået til. @@ -634,17 +634,17 @@ SSL client certificate authentication - + SSL klient certifikat autentifikation This server probably requires a SSL client certificate. - + Denne server kræver sandsynligvis et SSL klient certifikat. Certificate & Key (pkcs12) : - + Certifikat & nøgle (pkcs12) : @@ -672,7 +672,7 @@ Error accessing the configuration file - + Adgang til konfigurationsfilen fejlede From 87bf0d9a7ef7e10828a19d65f53ff85f24b7af1c Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 1 Sep 2019 03:09:08 +0000 Subject: [PATCH 158/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_zh_CN.ts | 20 ++++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index 8458235d2..0e9257be6 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -120,7 +120,7 @@ Form - + 表单 @@ -135,7 +135,7 @@ Re-open Browser (or right-click to copy link) - + 重新打开浏览器(或右击以复制链接) @@ -143,22 +143,22 @@ Form - + 表单 Please switch to your browser to proceed. - + 请切换到您的浏览器以继续。 An error occurred while connecting. Please try again. - + 连接时发生错误。请重试。 Re-open Browser (or right-click to copy link) - + 重新打开浏览器(或右击以复制链接) @@ -784,7 +784,7 @@ Error returned from the server: <em>%1</em> - + 服务器返回错误:<em>%i</em> @@ -802,7 +802,7 @@ The reply from the server did not contain all expected fields - + 从服务器返回的应答没有包含所有预期的字段 @@ -815,12 +815,12 @@ Login in your browser (Login Flow v2) - + 在您的浏览器中登录(Login Flow v2) Copy link to clipboard - + 复制链接到剪贴板 From 8f3bf3313eed5af8d0d89182c35dab0a2701ddd7 Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Sun, 1 Sep 2019 21:57:21 +0200 Subject: [PATCH 159/192] Integrated registry check on windows when hasDarkSystray is called. Return value determines which theme is applied for monochrome variant. Fixes #1276 but only when monochrome option is toggled or nc starts, not automatically when changing windows theme. Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- src/common/utility_win.cpp | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/common/utility_win.cpp b/src/common/utility_win.cpp index e3e4234e8..3706a4605 100644 --- a/src/common/utility_win.cpp +++ b/src/common/utility_win.cpp @@ -87,9 +87,36 @@ void setLaunchOnStartup_private(const QString &appName, const QString &guiName, } } +// TODO: Right now only detection on toggle/startup, not when windows theme is switched while nextcloud is running static inline bool hasDarkSystray_private() { - return true; + bool hasDarkSystray = true; + // Open registry key first, continue only on success (may be legitimately absent in earlier windows versions) + HKEY hKey; + LONG lRes = RegOpenKeyExW(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize", 0, KEY_READ, &hKey); + + // classical windows function - preserve buff size for DWORD, call ExW version, store regkey value in nResult + if (lRes == ERROR_SUCCESS) { + DWORD dwBufferSize(sizeof(DWORD)); + DWORD nResult(0); + + // https://docs.microsoft.com/en-us/windows/win32/api/winreg/nf-winreg-regqueryvalueexw + LONG nError = ::RegQueryValueExW(hKey, + L"SystemUsesLightTheme", + NULL, + NULL, + reinterpret_cast(&nResult), + &dwBufferSize); + + // if RegQuery returned no error and light theme was found, change systray return value + if (nError == ERROR_SUCCESS && nResult == 1) + hasDarkSystray = false; + + return hasDarkSystray; + } else { + // fallback to true if regkey could not be determined + return hasDarkSystray; + } } QVariant Utility::registryGetKeyValue(HKEY hRootKey, const QString &subKey, const QString &valueName) From 812e68857205c80748c86a5099692b4fbe746f4b Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 2 Sep 2019 03:03:47 +0000 Subject: [PATCH 160/192] [tx-robot] updated from transifex --- translations/client_nl.ts | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/translations/client_nl.ts b/translations/client_nl.ts index d6d3805ce..4aaac6079 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -120,22 +120,22 @@ Form - + Formulier Please switch to your browser to proceed. - + Schakel om naar je browser om door te gaan. An error occurred while connecting. Please try again. - + Er trad een verbindingsfout op. Probeer nogmaals. Re-open Browser (or right-click to copy link) - + Heropen Browser (of klik rechts om de link te kopiëren) @@ -143,22 +143,22 @@ Form - + Formulier Please switch to your browser to proceed. - + Schakel om naar je browser om door te gaan. An error occurred while connecting. Please try again. - + Er trad een verbindingsfout op. Probeer nogmaals. Re-open Browser (or right-click to copy link) - + Heropen Browser (of klik rechts om de link te kopiëren) @@ -784,25 +784,25 @@ Error returned from the server: <em>%1</em> - + Fout gemeld door de server: <em>%1</em> There was an error accessing the 'token' endpoint: <br><em>%1</em> - + Er trad een fout op bij het benaderen van het 'token' endpoint: <br><em>%1</em> Could not parse the JSON returned from the server: <br><em>%1</em> - + Kon de van de server ontvangen JSON niet verklaren: <br><em>%1</em> The reply from the server did not contain all expected fields - + Het antwoord van de server bevatte niet alle verwachte velden @@ -810,22 +810,22 @@ Connect to %1 - + Verbinden met %1 Login in your browser (Login Flow v2) - + Login in je browser (Login Flow v2) Copy link to clipboard - + Kopiëren link naar klembord Unable to open the Browser, please copy the link to your Browser. - + Kon de browser niet openen, kopieer de link naar je browser. @@ -833,12 +833,12 @@ Copy link to clipboard - + Kopiëren link naar klembord Unable to open the Browser, please copy the link to your Browser. - + Kon de browser niet openen, kopieer de link naar je browser. From 86f559add45eee0c7fb764d9f63b112951663a25 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 3 Sep 2019 03:04:22 +0000 Subject: [PATCH 161/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++++---- translations/client_sl.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_sl.ts b/translations/client_sl.ts index 06cc42254..86d3a0876 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -3988,7 +3988,7 @@ Uporaba ni priporočljiva. %n hours ago - + pred %n uropred %n uramapred %n uramipred %n urami From ef9c0926622920e4f5aa40b9a30badd3a72e3b56 Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Mon, 2 Sep 2019 07:15:54 +0200 Subject: [PATCH 162/192] Added png export series of new logo based on svg material in promo branch. Decided for new naming sheme too keep old variants in repo untill all changes (also in helper repos like client-building) are done. Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- theme/colored/nc_logo_rnd_nb_1024px.png | Bin 0 -> 95066 bytes theme/colored/nc_logo_rnd_nb_10px.png | Bin 0 -> 1987 bytes theme/colored/nc_logo_rnd_nb_128px.png | Bin 0 -> 9898 bytes theme/colored/nc_logo_rnd_nb_150px.png | Bin 0 -> 11579 bytes theme/colored/nc_logo_rnd_nb_16px.png | Bin 0 -> 1082 bytes theme/colored/nc_logo_rnd_nb_24px.png | Bin 0 -> 2826 bytes theme/colored/nc_logo_rnd_nb_256px.png | Bin 0 -> 21116 bytes theme/colored/nc_logo_rnd_nb_32px.png | Bin 0 -> 2233 bytes theme/colored/nc_logo_rnd_nb_40px.png | Bin 0 -> 3940 bytes theme/colored/nc_logo_rnd_nb_48px.png | Bin 0 -> 4637 bytes theme/colored/nc_logo_rnd_nb_512px.png | Bin 0 -> 44570 bytes theme/colored/nc_logo_rnd_nb_64px.png | Bin 0 -> 4819 bytes theme/colored/nc_logo_rnd_nb_70px.png | Bin 0 -> 5301 bytes 13 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 theme/colored/nc_logo_rnd_nb_1024px.png create mode 100644 theme/colored/nc_logo_rnd_nb_10px.png create mode 100644 theme/colored/nc_logo_rnd_nb_128px.png create mode 100644 theme/colored/nc_logo_rnd_nb_150px.png create mode 100644 theme/colored/nc_logo_rnd_nb_16px.png create mode 100644 theme/colored/nc_logo_rnd_nb_24px.png create mode 100644 theme/colored/nc_logo_rnd_nb_256px.png create mode 100644 theme/colored/nc_logo_rnd_nb_32px.png create mode 100644 theme/colored/nc_logo_rnd_nb_40px.png create mode 100644 theme/colored/nc_logo_rnd_nb_48px.png create mode 100644 theme/colored/nc_logo_rnd_nb_512px.png create mode 100644 theme/colored/nc_logo_rnd_nb_64px.png create mode 100644 theme/colored/nc_logo_rnd_nb_70px.png diff --git a/theme/colored/nc_logo_rnd_nb_1024px.png b/theme/colored/nc_logo_rnd_nb_1024px.png new file mode 100644 index 0000000000000000000000000000000000000000..e6bea6dbbfbcbf9e24c35cd9d1226db55b2b3f9d GIT binary patch literal 95066 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

?>wV&CznH4(t>9@JThou8W@wD_I1DRBSn0lXfZ zilxN+cvRn)d+o7aS1e^FW>~^#pT5Pyr*1b#NJ6Ju&eHhR^K4G2XvrCmYBV!ot7JWm z%e*A3OC58J`gw1Qsq@B+q2|(QUl`-c{5AoV(qJ+au<_yRJ_0aC-khwXwlk_P9#6x6`s#wY9 znt2Q;UVUD=z$D}1GtF$Pfw3xzsbp!yLYEipcdmvU6;-8T;St>n@e?LbrV7^LF|9N9^FrF^)a&Pt_ANXF957m4&ASr*q13pPjLYHG(6inYgoV8i66({%y6bnc#;X+g73mx|icS z!|>qW8^dI6d@-5(A7MR$X7|;0?ZX~#zISO1aHdU~@ROBkC-|{GO2Gw36;AfNwA6ER z4Rh1q+S5`>{<;7Xr6BGX7$98P;AhjG&At1kW%^rO;{SUAw2Ph+iB0&Pd>_fwt2{#Z zMnarMKQx#w+VuG3iDdfYudnjVl|5P03cGHWOmDjF&O;bjzFxd9y*@w~ZhEV^-Wju_ zPyXB4*Wr(KTItSssj}N9?RRXm4=5qB=|45}Ug$%^kcbdN-p2-NLAK_ktQ`eEZ-Trw zf4+A_yQlV@2vO)QZhMV;)P^ewr}rPILhaZ4^OZ}A;E2ibt_x8^HBWo?(*qJf1cB9@ z9F${v?mN9*a!soKpCA z>E@IBD@)*YiC3H4moOkg&DieQ0c*PLMPa$CFc3`za(^UdnQ|HdK$aL?MdU_N5vzMD1Sd6ZhweUbwbm zfm;D*I$3J$h1Uo!0Obn0Oc;25z{w+Yf~%*B3NB)qn&v~(S)739UDF@h3i5JeqqNnX zm~~%FeSf(|LD?>M{YN*O<{8cNC&8>i>uT?KPjYmF#`Aj(uNMpiTLUU3V)0~@#K5-F zE#4yMN$N=mj!>TC1PWaGI%jvIa6(_6z@1C~;&PaR4t%n=JY)G3kR~SG_~cVHK5Dvl z8)wbka5RL}x%T#hlxuVAR8u?2nn zNKW8B@Ki8@o0(g6>l$%xkvw`#^ zX^iR$RDxXb2#|~lX6i17**U$6LJZzBnn>o3PRKekNto@9S|dglV=tM ztN^of^waz;1JROZ;wh(zp7u}e>YltVNuRnQBZj7XmN_bUtNQ7H*ki)#o^?`+T$=Ua zdEVm`wfi?;iJ~nAXqtp9xN{-IkXRB8WZr_^{}beE6y! z>9e0TNAsU>uw|A2^?gt__zD7JEfe)x2(;bNw#w(;10*V4LC@Qs&#@@UKAL=p&ljGW z==fjhf>xLOC9h%tDe{jei}u`oJt)puO*vb^TI`N}amTUOTxJO9cy7?V*-LsiZ|9U}3IB3Lz`Qc3qL2 ziV3W#K>Fztw>~$~OjfTjurB@154iupT7sXkojusWu$t%w2RRv>fi%TOizIhpj_x8ld>+`Xlxj zkYMpmfF|tXmLS0x7?(3tM)ZF9zecLwJeHIV-{9l=yN^m5TgQ~eH@2PkBkTgll{y3; z@MCO3rT3feBzG^}D(L6vm3%-2IRuNZHmBg;0d7)waX$c>?NC9;dDkWwyw+YI*?JH7|MFg8*t!{x#yoqqKq9=StX zzHOXx#*aLHNv=#*P4;GqL_Cm_NfWVsBYYfzyd=s%Dh5q!s3a1Z8EGto%uC>D|G>uObyCNiF^iU&3T{1_P|2lt4Qnc}btZE}LOW0roG?`zsSpgwbe1#>8o7LH-^(G?# zAMHR}s<2m%0y+~He@&*)wHAz6uU#bAD(A=ic3@=J?YMq06G_RHtdX=nEf9Y@E)qmIF=D+^uIHU2&+ zOI1#oq+z@RxYB5fXt>HyDuM&9LWd%t_}7i6uTqTB92ox}OI?s=xIUCP{2x}T*-d(O@Po`@HZKx+Mv&$8=?Er+Z#hVNi~ z245hTtf&3{dP0E229OE)-i1ny8xy~kttYV5Vw9g=Zuy2kMdNEor}oCYg4}i_8zvB= zpz-BA=oALcKIE93MP*%8at#8Pot&z~FxqFGl&pAe_;&5RWatY7E{$;Bn4B_^$AX(B zpH^oStf})T%GjRRO8lJB~Md}Xnj#miHvSSt?6f!{7#%mRi8tulU!4c9Gt*-rXoez z!Z5ia^_O|U=eOq=m@)YJ#ov~oYlbzfCCM{{xE@@SF<%EHGpzK}~; zF=Qw3#?+iIz-EGC4%$b{L>Wd4Xyj1CdqdcmDSW6_{|sc^=M;&wEktHGv;(~XIvsA3 z^TwH?AkT}}ABS0p>o8VJLPNE+yOz!J)ai%o*TFLYpFvx!b}ed-8d#^R0Htv%2Kj~~ z8XCR@MK5_VE*@V<-?%CZ5{{W9R(*TF^$=-w5pq(?tJ9~DT!g_wvDi>6?M57?4whqx zfl_HXg9cS(%grS(8QhqJi_h0zQ3KP^AlIo?ma#?@O>#D=B_%ih;_LoG2 z)e=Oyza=aTKi9qMQLm4fSWa9%kO1HD@D>f(iuU)_%fL|<)~+)6@XuBeoJk87eZ0y{ z1msd*tKd}Je6uEA>Hd8v41E0Y74>sm@CgnI1OJ?|&te`YB0@;tUvMaYC?aus3vEML z7nCa)%X}Oi?jL7`N@cq;YPF*jU|qw7DSv*&{!;yBp_Ks@$q8br?S1|7<%egLLYNGK zEWEJKkeO92Z0%fD0fMd1WX{hvD-Qbtt*JNKYx{4a%1g8Bl+$X*_@MiwBqB5D+tq|BRZjV_Nj!D(h#te!)S~y+$nHXYA(H9cI;^p}(qKWtjRAntd)i zk>1@)mU?#bMXS}3*lR^)m6(yzFpp}PQTo;!y($YQE(73=Q* z7U372Y#3;FoMH$PWO@PFcVXs-&d=ub)@d7`NKWl4Z|P z`rswzif_U{ZMr6+?3i;77X0z$vK{uvP9GCxnA+!l zh3%)}cQTXI^J<_JhSD|t));l#OuJze*?afIiUQr39zT?hIFuJZn2qet=rqTir_=nE zi=#Pj{-SyB0X&@r!8}KEN6=g-roupVcjMv0Zh4n|w>urd#^^$`8lVBQ2(#X1V`M%> zjSvhc`AOGYUF%9*p8etJI8C2PqLYgbpcBt zD~cG$Q*N?2V?HwRnFQSua>$@#HJl=8hdn^0!q34RlklSj$MerG8nSfa+S^xRWuD3l z(C*Au6-g}Z1j#<*XPh_ZG7fMQZAD`;6 z(s5+a;^M?k6D<4;`F*1$RfJDmvb)k~!$#uVKW%;eh@_vj zJP-F0HWLd@lzDFFrLp#nHpb5zv!CaCH4KNlH@`b^TY@r>f-?fzgGBL1e_^bqe}{u! zpa#V&jrQ_Pg*IAQEElydCkv!BdFVA4p*+kdWO#J0Goyh4S^v%EFYO3YQSZxzJIq;- zmL--Ij`8?rqAvByF%{dtLepZz3N><{Q=y;qfk z78}LfLioL?gqsXyn$~8|-kzA=8~q;$IJ?U#>`{XcOF=<__jH@MBuh!97Hf(8{~lAn z$)I~GirJ-L_hui}m5G?lk{?CExqvV1|JVJes`4<=9$^R0**jV{Hy z{ht4e;42yeO5DJtpEbs^otG{PLuni%>y!{CR;Ua6YqY>b1SoTu`%jbPPRg}lE6CW#iIY=5EwXn8tt%=(1TwDihq9x=c%}G4%4)K9?>3dvf#qd@zao3`S zkIeH}gtzBmmpD%=dl&tz{h@GHz{8Kb)f@8eyzT+Mx0OMRi!V3h)Tk>7GIhFQd=HsC zb_n=snOBbggt|i7{XXbS5JGht4D*j{?sXfaDKs58c~sG98y@rV6hq4V)>t0dVzCMD z;mm{7_n?mUlh@%G_B?`8C(WS5_lonM9ch_tq^wUiXvBUl*DC$@@97UkT-s!dOkB>u zaGQ4=#})cl*J!c7&qF1{lmAB5GB-Mfz2w@K*Vi=DeG_n7sFTR9(cPr~20xo{8?|>) z=+>+*j4a#wAJ;RmO8ZzTl6JPQePe-%|5 zp|;A=lUE`VQtl59nky=MA*P%TUTrv9BFR#jx^r?UEup2CWcEN%<>V5ULp*U^biYfX?aLzT`3unFa z#Hc4R>d48sU)jdgyEP)Gt9~Q5)ZVP+h9W_--*gRk{%_J2IrY5QlJ9+d#X>xo9$a!c zIeUkT^cmv1XFI?6fU|-$~m)3h7OvN0l()m%it-Ab`LQ zyK0f5VM}*dIx@&|Jr@3EX;uIC%adTfyBwaP{i&JiSIOBR9BuKiQUSmb2@`(G>5pX) zP^e@qEb+ul-m3=lX2kG{>R^;-W4Ha$d$DW-lmav?#jUh1+C7d{HaOyf8i<`m2f}~) z3veO5@)9e}peL3Jj~RG*kJ)PK%v-0!BxLLeGY|eh_sdY~T`dwD`D$0pw~J$;R+-xI zXA)uE&$9}?6#l(5{n!3?ZA|pt$6IBEzT=m58~6G`VU)Dxyueqf3ki=_y#D9c^34h^ zVkaZFXy_@_x^^Psj)9newJGj?b@C{KZXz-Cy{0OhP2BVFz%=!osRA)HN{0aE z6Bxn27aYESPmylD?u?H-D4h>v)pXysUM(}R2r{Zj&XlA3ZoR3h3=h`na~&O_(7W?`BGMzP!TgGLBHo>> zPnI!qpkph3dSmU`NGjj->ERc};Ma?PY|yTskaZP@S$lg7F}M}Eun4J_S&he$MKHEo zz>u`qak-vH5(fIlWEF`r@>Mcgt|O0!+$InU-#H1zTd0DYWc_b%hc&?tc;;OOjv$JJ zn*MH*4id3`QhTi?V2aBf8=emt^Of)gWC+;84C!foC*`9Dbpw2* zS>?l#-m}6IAfwjrQ6q152R`jq1Z=DHk)M4mt8=Vd7r99rFWe-5hLXpzfh>lz`*S}w zoj>=}FV~d{irahgkvGqVJBVN1-S|9dJX;#Umrlz5H4lp&q1myAX9{V}O{29(@w-P6b5#3uNRk zW+p{civG=xez^PH|MvFjEDbUwyr1v)lsd33|{qm(BS0yXg2>-aQwkvwQJ6&#& z2P3TS_LUBje?u{OczB;by5hmDbyJBR9dXL|p6uPR7}8kYn(Jq874Mrbbi|4!h=BwU zqwxc1qI!qpySFCb<;Fh8MQ&$zy52|h45-zS)MrRVGXt?Ss56KcfMhnSxIk}T#cJ_J z#gH$|ux06MG{d>nm+h+a`E1d_(!94}Vj1`M$ndJ)m=vbHyT=ROLfUYj;X&%8^JeZL z2Zf}g zoVh7h@194=6T96h)Y?)!{sYV4RZO;Vwz2%6b9jPG`%7*gFBl2K#2)IJr62{L!>6{B z5Sryz0%6tFq2(@-PIE(i_G0x1_0XXH@-APeV;-E2+j;<9p)% zzKIb)2Ghszd3r82ofcTkjSI5tLIP#_DBx6pt{#08tD*U29LzZOil z4BBM{`AhoUc&v=aD^ovnvryG+F(IhO%t$v=`E2JpH|X=%)`x!E-)IVa8&t%R9~LBxxHv*C0qC2$oOunOE>C9C;8Xoh9}cOUSiKE1yix0o-Q!p@HY;5m@&D& zdK@p-=V83ApU6mWh&8TNTrnYbPHZRJOy$})tiZz`9R9U+IXpesJ2$0b|Le+5oDzRe zg(nA9ISa{RMxz!gyF_AkI|=5}`=1j2ocu-@HK^UqDXJED_aJfIj{qrdhVSb(zWP*P zq~6y@c-+{}DAHKSMnkiX+sv9sn)O`-xcyOPG@!ll_hJ zelN{U`zro+TyTCx`5ceJ^&J%hSLF}5Or1|bgz200o&saT_vgu8MxIz6o~Kvz&nQ7z z+qt7@^vC{|iL{pu?@lG`0a`I3276gktG7bbVU^DdVi-Yv-VfIu=pz=X?1evauifuJ z_m+Au4SotRxKscBlMwOeb%ZJAcD9#m9rWFprXAyJ0jM<4foxyu={CLqoja(d+4Z}zb_Uv?(%}!W z-_eGjLb1bBRM9C%UU4>iLRun$4H-?{^7&}}W)!`$X4rDH5^uJ>+k$e=-kwUE%#L%! z%#enwOdd+-h`^I{IPrynKr9k-6y()5%^uHCB&w@>qXEc5MuuX-C+JZsrJg#zhG8nb z!)_qN7joAMC*kHbFBbqh?y(rO%y7gQ1Rzw;A`?LQ6&KP%q$k8>kWAvV^17RAl}JRp z0|+*xq`q%W5w^H4`2vYMCix!L-k&G&5lZU)Pay$JraLuLKCdB4`AlP|BI=c5&A5);q463fOC}`s_O!H|isLToPo%O1Bm;W)m&C zg+?_7#-AslrdF3>r*ANI1Y${>{?yr^~6R5{d(QSzlcaVqlpmCWlG4iWSmH$GSIzF^(Z#oyuW5qVrp*am`EX|!P0n0bF)gc`#wxMz4lb@ipw1{}AgBOc z8HyPFzBHr~4bECw*Jr!~BHv#aI1DpfWUq5_BK4k~u4XT*#uw-RS{HKg-6nL#NP*!^ zJCL|euXv$CUkwtuKW;rlf$8*Wb(V1>MpzA6Y6au^WUS1QP<_H9FYUZmjKxMtEcTHN z;G^BE*zOuJO{tV@aKNy@hSzWcql7dUM$zkrzsTDCe=UGg%hJK?=8u$W-0Qzp$f!Bv z1ZW`?Q9ncI*wg7MhXNeu_$g2q%|MY~5ydg{2OyQ$%8<&@h4|v#3>rztJ5AFu96cFq z5-cVNW!182`Q$Q}Y@tY_^C^U*-Ik}IfV6D)2Y}>pr&4$#1y%?|xDtKcNv}|#Y2H7} za>~m_@S+^`s-^D&Ys6b*$xn00M60cj4(-FF2oN!;69= z{Cic9a%oMdk`otd7zR_5Z;B{daw=Q8*hg6T8`}#1wiO%l>Q)_pj;)#{_`J=5YpIV= z^Uv;hn8mU#!&bd3OA1UADtMOjZE&haOZDTdxE!>K>hk=x8Mgr~#A#rUwa{=Laj7}z z%*A634j7NHbxP!b=o23T_u{zL6@(5vP+lAqv5ubvXP8#Gq|i6&qBNlN*qpWNO|<^8?X?&h8g0c--2eBFPoBuNUo}4u zZ0(Vd>fO}ejvC~|JU`>otJMCKtAIJ9Hem9<5h{p_{Cv2uVJDX4rR%U1WYdKr&?66D zrI(tshp4CnEG;&-?c-&eT-7H5YtxD?mJMGVCMdCkuAK8uuta7C2_6UEGWPQ2>)kj4 zNTRQ2#$kI8>%_Ct^2zJv8^+v=w}Z^G0IH^%F%IiCdB4QmX-vZ3Cq$fr6VU@4`6@>5 z*cRFgGA=ze`=Pp9FVDYVa^Ufx!4o9O6>Tv&UrcNgJWI%oby;_pR75Mqd0{H25Nw0w z=5qR<^?7^?@U<|8YXK6`VZ9)N+ z6kBn7M<_hp&8H+-Kh?Y$CQFC@$p|q}Dh*NzLqqr52v@h*IL`Uecy&Fjce@mwV#}M) zxA64QG)lf7W`2(QNWF4IL+QTYx2Nn`dEMFU%OEe3O3;RK8aq zfBUnn6`6}r8bSjVYMSM9`wU%F?nTuwYYX>=0?#9%mWA-6ILoSRh7nW0dLe|N%gpApF-v!6m?{^DCWul zJ8{rJl3IM7n%%V;Uet%cfpjG8K+Y;p5bQo!P5N6f0TylI!B)u(!}TUg#x`vaW$?&= zZK61%7mt>Wq6$I)M=-GiwQSHSTx_NBi9$;PjFYy_gNx|6{2R}JefNOr!FR^BD)#CM ziI&V_rD)V>`A^Rz^B2KmqH4a8*Yfhryfn`16i`9~5900uANMpXOT5_fALhM3C%Gq1 zWK3jq$B@SA=CJ`&lLr?eP16rE7bOy9`nKU;{E~4YNt`yBS_S&lc^%fT-DRgk;=wM3 z6d-!8T2Z}p%viQj<7vTQ+3S8uganSJIg^joUpHrsx%N$;Co7fFq84h#=)07whrYVF z+m*ssMth_~U=99CRiky8sz+)Mmv$Vod|w20$7LyBaxp<_apF))`Y=ME!>Ok@ga-ke zLRc|mp4ix#7n+WUsd0UI@l9o_*6Zb)9YTIL&)cm<>cTw^#nFcD3ic*Tu1s7IRKioC zo~D+Yl`u5bhaeSw_-j#U6@j`-itLU{g7-6qi!|wK&qZ4yE!9$MOTaEbLu%KeWSBWu zqT?6n8?HNbr@t_aYq7}`fcbV<4WXmR5*LsnFYMq{q`H1op-<$@g{~tPfACtAgmF?N zal4$!rbo;Ax(_o~iN}gNYu{I9O$`57 zp)ECcJ*3|7b|Uy$cu_Nn#XCCxu+q}SFG_RwW~mQMU){Ls)We$}q>D*(TeuL(2;V%$ zN-UZXeS=Afyc-I46j$NNrI-SQO@d?C@XaJj*A2xQY*@`jPoac=y=4{Zasw76vhY#0 z7Yk|$_B_RjABJl(*8L3|(!HOG4tl@Og8TfdDTO~z{PV^Tqmz>i1|0O%8y6vAt*SrG zf=GZnT`W8D*8!WBi!W)covshTH;9j!c8TncmypK-+|bkeK<4%qj}-pL(?A&T%HIyOrmI`p4hi;%%2%>;dy zaG@;T*qkjJ72A*Asth*|Df27)TIYP?>QE83DYa}7Ga3^VqH?`Sv--yyv4pHrY~Yn` zNv2=$d5~VS&J3PMU!~Bx0se03OE#l6CE$h$j%l_(_a+6qcr0N#x!d z)F?NG439Hx0^q-7-%POvwzhzL)Bzfh)PI1Dz(tHIk7gr~uE0Y1T%*t^bJBr^Z6cRH zR8Iw)1d$2)?WHxu)*)*y_?}fYxRd@C^=SRAB5uXoAA~brJ+CBMmooLYMH4#QWOboCOglq)t9DrTcu2i zhCeAiyCTVnkswMZ8XXjOCbV?vd9ge^>EWo|Aigh+TB@SU8qg>_;!?qPuY2zn|6!uBrg!JKw}`2d+~B3H3}|kInsvJ7UH`d$ zjpTq6EeP=aG$8@VRs1v>+DKfS$bs4E?KkRSep6lWO83egufkhVvGf)f%5zHgg##p} z{ygNHa8{KMhZhOnyN=l<#-*yllA+(SR4)Za_G3XIGkXCbn7i6cW0$;a7#Lmuaea+s zq4&rG;u4_cc-HSNc>IZ$y>KiDkfQ*Xr~E8%zcPPyOB~857Qud9 zD(!pv9o;A=tgr(EDSvj3-#;^CiJAQFb=>unbb7e4Oi?|ztQkxWxDP0RkYO7!Z_m(l zIk32Ok_6pje~6BhZ+@1cZUst}s&CY~Zp3Dg$SWV*tklR%V`{ zAVhs9G{7@?#3~~Ae5-%U`Vo%uekBH|1)-&T4m?$l=v^y<05McZ6Dl$~GiD3Z;CsS} zrw>@fGwq3@NW)LOh>}^gqRvL%90~sAX?tNQ{qBkIAR6%>`P*LLh9zB9z14GbLu0PP z=gOG06?qbxL=J$;7RU)8#VOu$O;5wM%hwDiMTx|dD} zq!~iLN$#C`gC-fhp&pp*vpW1BfLL|$Ly=5wZ%@usYS-#d=?QoqIerm+b)eDX{0u^G zpo9P{TAnI9oapIwKV9M4FPHjQ7+{wH9b@Nsxt6-M<#cMmV?2=hKv@c4X0WMHz82wr z?k4R6f5gMwnS2kxwQWr{KtyujlUWCV5LTRchg$@sK`6lRS-!5u+h_eWQf8CL=z8dN z5T(P6_a&sf%*6Ud!t&qtWvNpN&FInoWc<$d- zP72x6v?9AwRAqgBwBCc8LReYZCM$SpmeAC2u4(cISqIW=J)UUkX___O9pz3*F8&J< z5`Z^*xLv8YSBT(t_YtxIOr>9_={XLt@45@VMN>}e0n|vrs*4S!mW43cg}!%yI8=kt zK5=~Mj44{<-LbTfL}$41M;3Z=~{t2mS>HWYNM9hTO0Mm4!ta8haBRTIgj*MHz z*!fO_xfWp!7|K=dVm!rqFTn99Mwe1uzykrUlyNE|X7nTe6h8L|LFN4qf+B9oC4Lvy z%^;#dg~};4ePa5o9o}fT2BnXLO7wJY;ZS)#uS76f~o|uPhKDF z%O0M3OM^4Ujfnuht0OMX*v{d?1Ta&}wwJ~LB}2Xm{{4sKks80#uC-en2*;~~ATTQ> z?#*)=xv3!Bwrg_`78d4GcBB7pnhIOIA1}Vzp)2g{JK!$1bG9Zdk#F3PDL@8%)rS`s zd@QtrZgUEY-(5I)v7}DH)|@@>{g;;7ugO>EWMA+db>>J87rHGk`rW2KR9M8&@6gAU z^C|Y2&2nX4737)O?eAW;)s;P#d-PT4_vlMgkAp<13!Oqp>e->pMaKz02#CVWPDza6D|2|7z*WHk~DgT(8#vQGOcP zu#(Z$Vq*?rs0FPdx~j>;zqt)$`L=W~IXr&2*BtsSRw=dm<%luc-p#ptjKMSD2Pu{s zlK2T&9;FkG{=%+4HLO_)(Ze$=9S36Jpi1nCg3E#v1zkKIswtOzql>UlovbdJe3sYc zH6mZ(V?p(Epb|OxOSFB8ViW6hX^00PtNd`AYwVb3wizL+fIH}#W@G6nCh<^M^;BZ( zcGVh|$__TSP8L}7gW>LMaGj~FX8mTT%iAO{*Et#7Yr2|e0L|uPizn%tsxGb(1>e1W z0Zvc2?KOx3;y}hJeHVn1T~2!Gh9uVoyOgQ_8_vY|!Cd1HK5qqBOhJ!c=0%TA^)wp7 zuc|isFL^;rQ&Wj|y$EDq5~pBmqm-3h?QEZd1{cpAPysKY?fMtia{AAk{^wZ9gu2() z3d*~n2!MkFROWmSEMckD0Ei2xQPRnF>c^b(L-6Zt*3{GE@?$Qr#l90cnSrn%+q zKAh_PeDNbf&0*>mp5j!lYjzkHY$oz!$ve>>5dB?1W{qnLh1>O#V4It?msjwT2~@?xsLQIlFKIRk3v z_Y?Dq2V40TaLS*@4Zf=L-Sj`{E!{DSggZi>9BviFQIyB4SfcZftyoff`dK{I>bFF5 z``g%18YK|R!bm#8EU=~zk9uGD_;6r@D~fiXxJHwKhyn#11__O@oObzZUgDU%Kk={F ziGPjSM$qdEHQ5k?C~l6lz!0cm9(fV)|EH!%juDkWI|IYOspzOGU(O_}yn~}>eR=Ii zIOI|SOuZTA`Wr%`vhW>GsR}eD&W%Cb-?x;LMhmJSiDCx5+WaA`gWcXzWaLn0v#(oo zr@Q?BlQ?;AqLU28&rtT2lg>X1ZKnakRlQ$26*g;310U$Q;M*9Wg_T{gFMVdT_Yn`+ z3D&giXplo)&Bh3hjDQ#|hd(6X=rmYHH`rJhyexgc z^fG^|{EjGMHkJO*A*{vHK6+InncxsnApK=3UDVb|2?qMHD>5qaeUiA(e*!%JlTbcY zoqq?6Z{s`TToAJ3x>!*~@IDK#Y8wc?h!y7(Ebtej0{X$Zlm}18Ish>tktu$t2cbI9 z53z>KJyfQ^mFc`Rj!c_C5PcFzG9U$1zt_cI8qe}T)BiDI6V5R~VhMdi$i4N&!@>$F zkocfG(mz$EM^a{g8enF&_QH76i@RY7y_Bm+BYmH9cY9q2)WB}hZtcI3?CArNcfmj>ds66Bh705KAj!enFhD_ANs@+uA50EoSt#5H7Qg zkFr+*^x$i@OkS(7|AZo$K1Zjv!19x+@k%*R1UGoHE6Me|2(}QFXt&=e&SDPTJE40- z_w2NH*7{Oc9Wj*+qVwWs+yNz`{~V2wkLMDx1q$A}2gL*M0%=RD4@HKZV&#MSzA zkVba`?IswtN}|1F+!A{9>7eYh6hWEYztg!r8&ov+HLYk5ein#7yCM;ydN#3;=7j1i zu?*j;G4oMxG?{xN-v9H*%B#5--i(ad1A}z-(t)R_JnUZqjbK3Nvk@sE0sp8){0Le@ z-Zf;vlAFrtU3I`~Nw_*;Pkx_CkF8afC%0a05TuZbKJ1m-)9 zjm-3zIl<`ic(1ebo(fv66Bqw3@N9w}EVc92d-(sfxOvQIZ7wb#)JESOZ}kJ=`0cuV zwu%^R0ti#wIAF8PvS}Kt9see!kR(zqbo|m=LZmx6R7%+?w^SA(QeFL!v*1x%wUa_88M+J$UWLt9nHU0{iQ#N z`g9d3ppMp8K5p(5LaMYRC=$*))4&9M1`C^_;Q(|YF!gyhIM88xqossQUjqQ(ijS#$ zVX~#EL4qsPaUx;Z{S+c6dAhfOD3%-vG=kAjqydQb&dxCBvsKJvcvGs4D4P5&(T>UC z?OR|a#ow6(JRq0LsOt2MuGkQe;iy`CH?=LK?YHhXeb+_~jP06=F;x*ji;b)Crf77! zcwaruA}mW=mufRD2=z5c$j4)(h34Uk0<`Hqtzzj4tYTC@4Wv)WtBHA-b25qiEsu<} zHu-uW17``i%|<)W7yz4O-f=YNz1}NB>By_mWh^=;%EifOAZPzi0M3g~u)N+<)f4$o zQfZ24Kc(p<@bS1F2WDVmfzKAUlKlV+DV49ehEuqbDrAPMvd}>neZ%=Wk+bz4<-RQc zIf+F2>hh--Ne}Tm@jWMEPZl6t4uJ4x)G`6nXr>Ju!kTN=ZO#WEyq@NLCw#tQ!uhCn z2eTpAi9xU1frAJ$e&z02JM*E#Ohq`^oSH6bYL z$p_B%#j!9}!^c)|B*yf_y;z1Kg4-)1_3{01w0pWg2ie;FlH-|j#(f1-bFYjVi zA=L$uJy}@%;eNNzp)ee%SIGwcvz_eAcTNqU!%NdDxD)!3435(mC)&UzW@Br~zo;q5 zN~LaY$U0L14}=PS0KwF8>!7P`q}tk!V_lwWR>*?u#gp%X4bv!PUlSzJae8;QC*`V( zxG$RJcGpErha3~&7H>`PuHuvmT8~@jsqGq@bP}r?x!r}XL4^hb>Gb!{Fxy``NOPKJ z!28`n2qY>f*X$ukUfp|V8QZ24);$t;yn8)TXs<;PX{|Y@gBNURDm)7IU5`GbAB^ zEp2u0=W=MF-dL7@ub}j+aG?Y zZ#sP-NuX}f@0gM2%q}~WHhX`0p=)6KIzUv)hSJ7 z+CHqF+>x{{1{#y2u***Zxqo$a3#{^8L#d*XAd56Y6Ao(39p%2-B>* z(rrH07wBxa^{;*dYFUWz(Fv&B|8;Tr?$cy<$P|2Caj=oz5M{5Z^ltpBm2brvtdr<8 z)6YMZWyQS0-^xsbS2{VDRCgDpOJ~aIw1Gy30{)L<>mq_7AML?SCJn0O#zCSj%TJs4 z3ttsUMR)lI5R*byv&8zb)s_Db1r-xCScu>8Cge|GwDEzzy6F4c*nR{=JjCcx=@yx+ zsmdN}pwa^5e-odYBr$I{?dk_$`w6Y5!?tr1d%YsdJEEf0JU|{ANN3Ya@#&x@-6*xk zfoD_Tn=G^$$7R^zz~Qc=kcb|dd2t#iy-5bWcJQx84T@-td8R55(PQR&RQ%+G?&R&C zP*X9w`LEF{`s@V%q07NCynsNXX!514dE*wM{#}3@yXPlr7HH~Y%VKp_HI+zDaxa6< z+fLtR!k?1#@P;H<7T#{V8jn;*b8{vVyx6hVmod|{%@KLOpUvN+3FX0VZNy12 zd*|L3BQ{I==I4qB6CZ4!emr0;E#Ch@$s_xy8~Y3vs((aDvR#W>U<6o%Tk3&M?m8j3 zGRhraYc&f1nFl=daDyX;>N(XV<_iEJP=J*UKnD>In8Dz~M9}M7YbLxFiOAV;wE-1D z2%>^yC0?s@#H=_(wb!Yk5yDMAyuk@}&sqwAez|0a z9}=f1Qs!VrgQLR5V|SDnzSH_+D_Vgh;4v?Gd^s18y0;tX(SQ=!ljEgU;B*te_gxy= zceYWCe5Z{Hr^D|p>3@bDvzH%cp}h)q<-f)J>xIJfVt;qp878fyaMWAgJcUJIlj^yU?5hJmEB_jwtwG>(=YF2G(AIMBGrkl3}b z++lC~rv~nqQNm72aC@b~X=ZhKchlckq0@D8?%Pb1K?6-QCw0Dr^id>Cv@f)uv^>6$ zk)(r1nXIGJ|DtfB-lyBkrG2*6VRGQHUcny~Ial>MGr_Tci7c=n`^U0^AFbARzp&^wck`M?JYfjVPY{P#18yOph~GyxV`*|0FcL@YpV`4zl@ zmBKUh-~{Nuz0qXKE~Okhxb}1={#^2y`zf)E0?k2!h2Bdpin}3ZilE{=AVQibuzVO3 z#RgJ#(ThEfJhzh+OH$RD(ww%3jXEFku6anHWuAsopue%6YvctK)PoDvq55K2Z?5>f zn~PU)%L0NN?&A$Tpwnt)#2|!$JEzwEfm}^9NF1~mDXGnX3HtXcFdMJ5+kiYXV9JSN z0>l`n-7~t}&B6&dyVb`JUI34O3D=zgs-#%N=lxcU)TIiKdtjn%-7e>`a+3%h6$ou% z+~=_$GpeG`pa=*8_+^>@A5poQ_JHLPMu>;NQs?9kk1Hra1Px?lcyI%K*wW+BzV1X} z(v%CfC8+M!9S1y~Sc$D)({NqezGA&L^ zLH@Fd`0dX*;XWV%9aY7uAVhuD#i4g?C4>ZD?9Bq4VtD1N6b+EkbxpZ`_{nK4hu2`p zNAMrQD>dJ=q3;f~XItMbF^yj6V_q3Ru>PnJl{t z)vJr+rbnUiSE3BHd%s8tP`Ef8R^f&&W!|!|H(B8R8mX$XzjAlAy&9y00Q&|PQweyT zi}apdC_n|dK#{oW`CooTPm^6v+3_()2*w>&=h$E)d`0ud4{&6+w^^XkAeEY3FFr3t zn=kDU?oX|6C(#YMJg+Q$sDZ~11*H*$e_A8e4#9&q9_)`m73TzCQC@!Y()ff$@E?EE z9fUtZ!e;;geKvA3z4(OQ06ihqNJX8u|IB#%NEEcw1ASJ zujR<&^Wm6#<6M^2`8Brn!SW{|YmHOf$N|0s)K0s^54H_d>9=;^OOETX^4UVoA52d} zOxo|}_>-2CVGI?x$N*ntAnEv+Efiw8kNnuLAQIGW`u@ok81`vS{_ZZGY5aBL+4v_S zjkSfJdZv@8CRtvQQJQoeqyx@A~S@z+w zGEZjS3~s(+o;?ZmPBR?x#UL>pbwXe|nv1>@5RCf@P{LqdHmOve@pVSE_3TeVSAS~5 z-Kz0q+%CGr7F`G2w7tzjzq0xjP$(aPoW3s{V6-i6!(@Qd0kCRb!IayL^R&>7n!vb$ zqn!mRE|uMgOxCpNaLpO+zb>;QwK*gsY=DKb-d_51V}13Pqe;m49{%F$$M?7Tte~I^ zKmwm0>unSMwpBHvC|6|kN}!=$mYbVvd+wsM-t*Mg4Hq`|ia>ywd|c(06%OXdw{l~J zIjudp;d*z96+>2S`Jq?jL(khR)IfA+FZvMIqlIvRPpnxHv=iH?YX?4;CYFV5j^F&7 zi}jUTjji|Bb-caYFZA&F<{TAG06ELhc$fbsiT(@hi+_tjd(tIxuxeI70L#mUKAw^w?wPwh61R`P$J2gHAge+( zpkk*!Got1DTS0~G7(BV>(Xw6b!aU>+%xpyDa#CKUbHN|6FrzR{^&V$OyMeNj*F_kW z~(_E}2ihZ&kSDPO~(?Y0B3#anrw*?^@!!IGS&cPd-)2I;bn}>zh1f%N#(`w?Zuit zJ*VM}(Za+u+48IVO)+v%6A+xpQA4N<_HH20PhaR6=w^i5M;f(`hc&g9`;5X^{2C-V z{g0#k`JsAn0tsGqvA#*)jhMt#E)IjVjUCI<6`RQV5j@hW{1mM`H2ByN%}tt4V4ti1x>!65#c2g(Npcrwo_XgEFn9%8WdyR;mBe5 zva|e9En&i0;k^zW`M2u=SDz1n2s-dk(YKTrAK?<;26MrE=rn^?ys8I2P*x=`8wjvR zoE=s2oWsupWiT(P4&nzn3)!x6COU9e!1iap=x#U$Z(7u=-MOTby}c%SPaV)9TJ;fC z@(3Pbjv9Eh$|3)0$3uUM`?uV)x1E~c`838VTfqkgLz5i>c$Qnm}Bw?V9zJDc93lSK6S$+b^05NYgFG zx5JUgZ4)t-LNgIgF_&5}P4(1M@X)ns40~X0-C=b|mWUAC^rHJvC%8P(a&sNX5hhF1E`P&WIP=XB@`O~ z!&h>(@1x&nq|fq>&ngxH6qQ{KR^1KHn&me|_CC={4ut2$C<{cvI^gAUW@26Cl!db^iPuS=%qsV!1QJ{AW^= z=pWB~rgqg6d#ve;*TT4{eWHSyfrBV-#7o}=H|4PS64DTHyvo$yLtSo zGH9}TP32`@tfj?(C4Ubx>7nW6^K-%Jl{-65BAI${aV%BGw~KHVa_!T~Ry$OxsZdi+ z|C4uUto}~ma>tuD>!8ZkSiV#X9L-@E9DqytZ5)dF=)moZ;vGZq$l2{Sm=x_MgvxQ) zL*RIC6J>(a$xqS|KTX*O5-)b_A2FjMa-V>^(Y&<<4dFxSR0^sKW|nPW5FZMAZ0o{y zcVhdo@iBJsSK!vU9_onNmuKS?=0jo!I%cvR6*A$%rCtK@YGGwo?Bnkeps;b0fq)nW zpgO2NZJM#s7Te&0K&Z?+p8y0&Kw>hK?{iai<=A}c0eVExC(~vxuEf&>tOR>5@MW_M z)3pB8%t!o;+`*zkmo6%R9}$yWR!tL_=niVdK=IObOgZE3Nmv4)w16@ST-6Z>BnG}0 z$+$AORltYSyK<4NJzD&~wY8_aP5-J+B2e_bDwo1RK$7NcnS_Ou52}9Iz)`VOcJJ=F zVUp_@PkeX;@kL>i29hLnPggU6Lse_7-D{aFTdKhTU>%N9>5sndkE5FvB)#VB#Jw1! zyz8%(y2F23^tF+eaPaqoZubIGKrYYQIu`Pul@H}s1K|@TTh<_)od8~nIrB}wft};% zf&NePB)zN4FI?G*+Nw4IBsIm`wwFd@$$v+k?|{1CuEJu!Va zlAqTya0U%CuYpb;9pKx0x=j2Xc85RdHlK`=|399-0;;O*`}$nEk(O2@l$35z0Ric5 zq`N~v>LStt0@4lANJ`g5IwV9o1(Z%DB)@%qzyEi}dqc;2aANPZSIjxr-eTFUlO$g{ zUj51W^7WEU{Z~6kdH*~(c_b<`V9VX<$opW~^toCRS&yD}qoWlNAnGa-Tfh@N=6p$a z4g$Dmql&d)RXB*QQo|^`wcQe@g_9#z_Lc7zRA9e?9*}bN&^LJ09Qc!t2D}nbK_7br zn#h(N9J+4X=To_*SSRA-Q8?2L;08L%y+}6K#fCI2>{$xv0zQ0uE+RUWoJ6_?)DlmF z5`rIXNrS$)g>%0LOW(ZBWl%t?ZO*WzjBP!c-c&?O8wlKBBa6+$(7(-7y{zSWr#3Yd zYHYB_*a%at3Ykzde);p$ElVVuYQg4ho-=&7eiPug)>HV7YLm1Q5GSWgs`y1AmDFui zU~x~^D=)M+p)Pib$<97xXU3k^q*(1p)-iD+qPTheYBvAGJ1tkmY9m_uIVUJ?xx`iv?iv6PbI#=-TFO%l)-^pfDuL*xolY{gP0{$l z6nlDMZ^(B=s2tTL8u@C?-r97?s=d%v&g6MSw*|6O9ogdM_akM~1+NS2{_+F&ca;ON z3i{(Wz@_%q=>X_c2C0sWLp8*>{^nJ0^d6*%}(FX(D_;dFm%KChbpwzo&m+46XcQ%-o49BUlFNaK&qP@S2m(iE!Unr^TYg7Z=1bpeECPL8rTLtJuk)bZi9(>)} zT`oIAxvyvl21rz^g^qFw@Paqqrc4q74|F^pehf0o>^eW94m(oJtk>I8tg;J$fkLow z^YKGv9=P@P#nJTMqW9mGdkn4l@)6td?0%-MM1Y;*HWXkUd1nRs!VNFiVOkZIyb6Gn zLK3hz(_{4Sx!vCC1OIg&mOnIPq@7`yl{prDer2}NU&2K5B_jzL@0{Dezil?&^BP(d z;8g~jsgzDj8lwh11YLT6Qz<)SfQ+Sqib9^UR_^TU?7A(TPsM#Wz|RD zW)oB@&h@JR=3Oypcnt*qw&&mC0VJvVrrFO_Om`yc((ARYzV7Lq}@*kEyru754CvIeBq}OO4C?aR(*O1)wFJC0fBGH5H9zSuN1f;ohGBPPW ze<9l+J*dIwv+18^zHKWFoYkf>0RoEroA$S#xS;fpJ&PN}M|lYN)zS~a#p(NcEk9)- ziqh9gFQ|cSfxUECU1k^FH1eJ>F8#>86L9p3`lcyAUC#jDLQiStv;aLtr<;~Ge|~zc z@4Dsn5h5$=11IY@rTWRY3LC%Hz#9k!>MMVXVj^a{n^?U|&p(rD(US5uj@G5l8XxpQ zn>jbU{EZ#~Xqq0)hEf(p2KQ{pBEhZkNrg6c9 z{A+MSQ09vO7*Smr=IDXb7S2D!slH=o#{vbQn0zXo{`eWRS4IFL5dmZ#-cr`kVi(cX zYjf)Txv3ENO2B}Jj!}GwS7r8X=L##203{+_NeXcMTsO6qgi=qHpJav0ql{!HMcJ3( zx^6A_C7l<=r5oFP$*%Wg_Qc0Vl#tCn{5oZ&st2~iaHKkTk(E21rw|W!F9iEpZ9h}O zY>E>BW%WiEi0%@6cp4a0MMJTLPaQG8a*o}LNDANEllbiGqnLvt3DT_F{HdPr%1{R8 z3cpsRysbSzt8cU0E(sELSr58z+e+L#N5u6=NL9@k6W_ldyQ5gsxx-Ij|M=95GVFxP z!QtSz%TlaGUPXU^!!}=u-a?A)V*^* zzCI317d@Oj`vfTLS@yDY@5VrkSenev`XD_z7VnsFl}-bl=Z6(w)AVRI{V|fC>{g%t zj_2B5Z3LEG^-Bt3aG*xCn)iseJfITr3Zrd06_bfSoYErlGco5CsCTo6Pj426SSt^& zVqz9?3LVx#fA9+*$BolQ++Wo=te;d%#|#=um{fA0PO(%&^t90)%?Pw`T6v+|d-shF zy>Pe0fsNYlyez%tsM>x``1hj}^p&^=yys@iSXm<6Y$6%WCtZY&h)Tmb(Cg+lHeN!L zMVZo5AH-OXKipiiKEd{;^j*64^D0Xv)TQ=9*!0<3wxvF$CH}_=eRW=YW#@Q@iTD!J z+mgGKUuOcObJ14n`SI(sD%(?(KEeDxeiM6z2UH@axr&)E89JVz4+N>NRV)~2PZ1+FDbV3%ZZh_d)k5=UCOATQ}mL^Bwl<>3n7J%@$8JJQk=rdgtW(6!8llnXdEPq0OowvM{7b zWw@sOd&r)&*sI`73J(UD3npB$?z&l1r^1GCwV~3kE3DGtr<*Ef8&7;^!>RHLb>+JU zo!0|dZodbyvaUBR%M;YX*rCc8tHXsYQUWE5amiGvTML3BVxLhRMJN2yneSAH-YH0+ z4#QQ-`L44bQFYx4rB-am>kGb{qmUnwmA?yP?oIJEx4fL){{(?gy7zJJqRB7vZNn!g zgfFM<`YD8|WaW9~VM0ENH>_=l_3AS9!zb(?U%>=Sg|D!}qnc5VW?1%Gb4ak^gs}7W zz3GBxMg@fEw7_bAlQ{5M_P zq!LXgD-$ZgC=>dNz#1~HN@JW322+296;IUbzu7X{ADEqeu5?ijS~@ybKWeEaR$D3s z?-XI`LBQJPYS3CbD_5qp#s`CI)V!p-ILh)G9hFeE1zhq9)P1_Xobt+x`J0jZKIg4+ z7@Qhe#}o4su^p(OhG{+j&hlVY<XjKA5PrJ$ovoXV|wjKvZvuWo57l)jHn8?yB(MYbq7Z zGd(-#7^pU{3=iM6&_{@NxMR&@>^@?=oJv&VL+`$dQCY{oy3+hvTiH-?eB(aoH~F`r zJbY!k(&nc?5Nh2SHTFPRTi5nW&oXKGX%V)iJ z&msx$o0|1kE1KFC2Pba#KSkyBSr`|5BYN>XM~=8+2YZdyUV*H@*_g6qXacR!T_j7G zJBlTCbQL&?jFcb7rTULESXYzVz3xh0?+rDghlYzC@Xn9S2%Mj>#aDGoLVOowXquEw zI99L78LCB-S$ZYH(4p|thJf|%XX^$j4xgonD3KGT00M-wu!m#bG&ei0 zfAAyVcn{A;@jEN!8f`8AI6TYIj!hZdVt$2JaI}7emL-&gQ0TJF%Gb|-MNn{LKuFg` zDET=^p)#T$>@6f7Gb%1=F@HjZx{8^BA5f5o27mb}CjImo2}=<%`a-QQ&Dkzp7}`o& z#hsx-VMB9Yk67%+@Q3<9x4TEq>j6 zbhTmVd!Vu1AA4DJM4^)TWn;Mxd1}41^I`W9+Re&1%%F1X4B;9VgoAlFd0bwtn?de! zO1Vz|@@^=DeB);hxP8mB#(K7Q_RYvY-dYhdIu0fR2ar1aW6bdBB*o~*!&(jbk0bNW z^mnd=KQKK>D2P1mQ-E*8zWns3MLWOL4jphw*ibZqQFgJzz?&f17@(kjz-xV*$_^`| zx^~A7y2t5=yYj96+h|^lEH{ST@l&Qn$w}2(C$lY0}tfD_^@6w&rVH(`|OaS@U(D-ha}; z>f7!upaZpb;=xgs4QEo(o`_kQ*)P9>4qVqSq{(CV4O3POs=xmGHyy zIbeL4-=|qkFB6+0XO3sHsej$hE_CD%5_?QME3{!KOYbLrc?r%elU0|=$ojgbnFpV! zEszYZMc0-rkhwnVQ!#T)pg%Agy<#Pb5KLiTxn351H`{tGtM=OTGK)crT&nJ!?e6PJ z73O21)P9g`PE=lQq_O9+Y(Ve)JrreWv@`vgl(7CVMV6#kbiQzIs z#gvoOv;U_B!1?+Mf0yQk`36tSkOpJK;uO*jXx^)E)HSbDw7ROk>Y3*_)SK4uKGbxdlH2CRBV%jO=&34VXPAif( zrfhuP?mIl1(Oi{~{i~0*RUnSV^-#qrC2;eXtFSa>e4))6{y4Q{msi#GQqOmeBC}r?Pcpdj_xXbE9FelKjjO{J3K0=3mL|0` zTOt6-BxHv|&j{@$9X_-v_oKwY?%E_;ZER!TGz^2UKCgr%hkE~b;8yUH#Dt$28Gueg^;#Inz(x1Ma#Y)?h! zXw97R{6u~Kv}%lIr*v9vC5449dGCZ7MiDujJ6$3ypAI<&xDx`OJc?l$FU)QFgwmn# zzCxIT*JtF}w%L+CILq^rP3IkQ(x36dSlrK7P-P9d!UZx|vGkfVCYA7JHElfkj6C>l zYc%r(@E_aHR&Nz#8=Hh_U|+_BE0g1ma@Nuhd0&dI*6fA%S!FmNqIo$Q@!{e9riJK! z=bdZk`x4Bs@P1?2A~)|1F9OpS2)s;N*mZ*N^t`xOYV9Yx*PT^jZTKcaJtUUoyqOb5 zDj)79g>)t88B_|dkGIpk;KBAJ=<6E+-MK`QSY0)TarE?k{*^q~Poz(U#8SH)&*;8v z>A9kYb?=1CWH>HRf5@BI782q#Djc!jf=HDaVlPMJamT^&T6FC){DKKAyK%}>mM6hT)+?J5Dg6Pvo?3YV6y;O1EIqLYa6O+~wxXE_HPUXm}NkJVV( zqqLcy2*i~kIoznrwhw2OHm(1)UG{I6((t!YY;1O&CDJfdY-`N1)VwV@V!I_*Ol@-Z zY47I^dnsL1N9PMOvuaM|5cF>zvpgnM>2cY2RZmC6;^&=$y&^A2rM_T;Hore&HnevDtNNCB8V;gJprlxERxx3EOBbM0 z7zpS2GkQf2b|}>M0w1|GhvZriNoYL_?x>NS?X-Y#5n8`zZEPS7VE>f=p!|MLGe6oDdTp{~*$vh)$kl)-JALpHLL0w;ZB=vvk#cd8i99-+j#T#xLK8me|?k0Oe7;5vQ} zEdFLPI&@*@h@;^QWoA|17aX@fr4looBU;K03>0@x_(N~YzUbR6))K7Bbn@rwGVcnb zuu6HJNuaBz-hK-C=CD)ogAaokeYz~qz?%bmMPo2}jt&%<@6E~VwX_9YS=F9A7bH4* zq_7PV3l|gN+l}9HZ|McFEWrL z!+Te#ARqh&Gcu>7<}Ii=K8I=c&DTIQcSl#zFpXm(FGxLP_&$edqG?gWv_jbvmu}yf z-Y-f|8KAr?Pxd%<(nwtU& zzerxc5I_bmGqeZi(=V-z=kp$x5j*LTf#Vp6u>b51FfN@fc2(>LdL{6m_3iY269E}6 z6)MhEWSb}Kmp#p}=FxVH-A1C`P0z2GfQUfVkd1hpBK=1FUTG|Zh620%I7LrKl zV|$QVx}?9J7ua3j^3t=6+bjE`{Im`uCyx;h`1b7@vkM5DrTSx#sXVO`=*Fk2oc&tAb_>4j9=}rO=mg z#>qLXX$5l_sd*7c?_$O^<05(rsv(bibm=Z-PtPz{4K6RBg_YMW($b%E6wg*E{&WPCs7_{j7F1a>IM4G7l9vZL-5_3BQl&A;soEj{ef zs8=-dsC$RgZ!T2R%Wc`gfeZ`>B~fSy1&A5_vx2lVMQ%E|#7#eRvm2pd_)S*x!Ob3m z)am-yQ@kQ?G#a9~K1CGo*}dnBDp0pM23*$2IXOIh@R-a0!THaF>HTpN>66vKTR*Ih zkr&`JcH@)&g_#*G1|ShfpuU-7V#wpU0>`hlSih0{;LjR#u$^^6S1Rkn~y zgpIBu$~`(Z$XiuzURqkS9!#b4<%Aj<4RIs8i@d*|{ZAVYCoCQM3NI*LSqoIDls z#t;JmzS!<+bBwQ|-JL$*wVO702%oi(R(H$6PG3=$Sjd}BTJY^!Cd3EMY9A(Vo=#ZGC3YNG(dl+toVa+@0VxchA_y5 z8X{7g1YzFJk)oRc0g+lAkq8DkNSeqYHU%Og ztz23uTSMOsiG>!gXW-pD%|V@;ey|jF+h7k^bw)Vay_`W+OL^qjh?zqH%skMMSL`SM zm*|IK$QISSpO;?+>sD{uo$;xzBR5sU?c&i_vKt83KuPOT8JMYR`OkS0;hQQwf0Fn^ z<6|x10q~yAy8TSPog~B&IZ@EaYnj>RRKH=JjY(O=i(Q192x@V z7GNE6WGQ&}j_>_2SZM>gVVDcXlVtFo;l(_Wj6W)!_d2bewt^TUZpoxH_vk>&-16lB zHeIJ4rhYIhr!(PPP5dB=%j{L4!?3@JXa*5)^ zopz&F>R~R+$==-CEw)BGdB>RBVg&oYKb24ll&(JZ-DTj`FQ#~P` z#J=&8jJ@f?3nrMVMMM#dV=?(o>~+cJz1DcBkrLsK9ASpbhw*PE+uKnMoDDkXAZg1Q z$j^Qh?Phyx;;sU&C{yY7`G=p9OrVgxMwF}riCQz;!WJSit~zc`e+BNEQqSvmM#^+m-`4-(Ff)PC zPb?I!ysOm|(wILI(cpM1q;O-fu!!Q?M7pSMwldj{;>tkp+_QDt7FnM2wLXlhYei6N zYvlvH>)RAG*QGy8SVs;&@*o0fEF&6$b~6K2#U4&my^)=Ov&n`kmENL9fq1D?DZ8nE z6nz=h)#0O`fzNqmNMwuLg)$$)w+g3)QBC+)xqrNT;>-v^06V3C{J_cQ($eei476pA zCeJE5(?#BZ@jm_leAcLgXmDklSTE%q&tEd^JzO$k3~UUxgt#Hgna0vhSRh`;UXoVjup-^dpt0!_xgcMd{vX^JI}8H4=F_7 zx8BCbBJvtn11r0ul%-k5PJ!Sd)Zj8zf)1B>*XC>W1 z&OyE`=HcqSkj;}oVnw6_bRQc|s_{;YbPf?+%`*gp%MOQMnlD|<47ETs6trkWL`_9D z`sYP^U5$UrDp&2fVylJ7CNr|LU#u2Z(jyM8*U^}D@7ND8Lf~1}u_x~F%nC7#R2C(C zE2r`Anaw@T7YX`pM&_6$n;FvB9F3;Pr8N+uOq+&ocnGKQrx`;A*zj-Puv9GN!o&M% zg9lJ<4##2Tw}W(kCk5Q=saQFzXA=pvGj0d>7cM>p8}7dhTEd{GqSa4pegF3h{FVOV zrfh$1B6{M?7@*cIAy0)wCI=f=E^a1RW9z4VWt7(lg`rzmB@^@lYYF=cG3)bU{ z2za2s?S}}cR752^rDwj~^Nzv3_}lEP3^H0}tpp~M{3z59KCif9&$ho=XEWsT?vCto z`HWtW2g=A^bI2;F%EMJ^JP?-NhVB#r1^owecp|yTF+yZWR9t>ao&_t&^IY8=-((UF(@FYo*F#i zJhFK<47-Mm$!NR(wt5M&a>Sj7g4#X2pBf2U46LzK?+^JN7SQJRZxwF74>#U8GRJQH zxr2GQe|d3qWy^WekkH?0o2*p(!I<8pAxx7TwOq>aKAJH9f#KS}YsvtB>$~2MXLh#R=X-FlK^KVGPfR13bYM2ub&B_{ zEeiti#PPm!pWG=)(}@(y*w)cO2)+ljOibJTtTh$D1J7Y%$WwS2j7N0Fb*88P42FI z|9h}*BrWXlT%F~FHhp6tk4CF6^vnB=?VmU`L_ zFGtZSzR9oc&)oD1ZB{Qa3&B7=m=TXBqE$A+@-|uaEATx-wew_mKW#C@is>e~p8exy zgqOa+Bm&1hazj~>hl-$bVp=RBBA;oS=I{<*C#-DW0IZIx3ZjnNUj$d*dYS1QW$I^m z(>gO-dR>;w66DtL$A5e$8%HG-H9LGpoKG`J%rYyL!1OSF<{)_)b=es+Q`(k&M}A2O zneEk|E~2hD14Wy(^pdrHftf=ry+RIK-j5Dr4Slkzq%stn2z7K+0I7tuyoz>>=y(z! zbCvU5#}vStRljiH7prH8jc>T%ri;Pe!?l+rZRya%zasFCART)$V1+EvA0y8%H$o4a zz`sZi^86Qp9~|73h>Nhub)&-759AK<=p(05h3TtN*3{aT+?qpo!_ImyRznVwD9l{K zv17AsHueC<^$Nq_k`DDS02$fTPO4Q!(yt@d3bbGyzMi&Ph~^97;1qIhfR)^~%P%z9 zzw^Bm@5N>D*QAm%u8euAyi^<`G(hLG_%=kHKfsjx?rO&}fe-1?4CVM!!*>lN5R+FB zHpIYCItF+d0F}SJ{e5+3si}g9KG0oMqN=3Hc!Z(wcdJm!7o(QmBgBpT$0+{Gd-{{D zj~{;35`v#0$C+R3Za%s$gcHi-u_Ifs%t83u;i$uB@;&5@hIkBj8V^FgcP#{x!XTDd zmN8<@qZ@psb3`w5>t%dzsZd2!Qr~Adt<)p21<7FgGnKU!X>AX=&*9R_6tpN-Z0uLM z9N2KXh=kpQ{;f?c`!92qe_DR3NkMdAU7EFK12gw<*t^7ltAKha9Ka%)+I&YKIdYC;F{N!k7F6hoF$fp=nAtwOnAV1SAjw%Oj_Z+AUjC(01w0X zi`XZBHORHI%0xHmFmfkqfZYC-KoX}3ABO*oaX>&M%iB60~%pK}1Bt z#U{GeDn#cGAm@F8wP5P>!=UJ|jfHHCB4Vr)Af?Hs$?EJ1D?0ifp*P~7-8Al@ri+4z zfkmR5h<(auV{ppRiaAnLBIw;@040H8M9%wqUYS~Q+)w%t*hD~DxHU6IY+C&n|RaSAxh!-bsNf?PhKWIfSmY3~5@Y8Yrz2O;^@-q4FX z$mF7MqD8*jq7zZek^qu7m{}Xq=dgurLJ6_Nt{(##J9{F#*xlv_Ct%=lLwL~@npW$Yw9$Y--8c1e?*{Eqz_PfyFLz)jU8V3(Zvgp@F;=^ zn)pX);BV$i`7O(}2@$Ov!GX|SB{Eab*IrYO9}LX5r*b3M=X7L@9C@8}g(Qp;&KyQ5 zZqs#?u;F3QJ5(DA6VbzA>kF0)W8q=-LDT^m#Ww^yoP0!DC5o#o)g7d?(oLm1wifow%upDhbwM3Y z`c$j;*ZyO(Hd7>@=^jx?g3mUnx7>>o9^T~_y22E=PbbPQ67Hs@g91VI zr{cIP;H-f=pyQNPLA(!Afzl|Y_si(l5!ftXV2ab+iCu&opuh_y7 z<`H7QOKwb~IB8e2rPpoV5J6z}sI&wF(c1FQ+_aiN_PY2W6`dZz1Z5KKonXIlk4Iyp zUYI9rO95pADz7{0W$Kl1@HL7u({Y{1ycCKqWK8v9%?(o<1&{G~Ml#8h?|ve%KfctS zpN?iR#-ch)RW2@hze=k#&_VEC$0q@K(wM{5bv*ms8Q~B0pNb1HwUmI@TJnCa8~Mrq zDI^7@{VT8;->@p!5SCzFlD_3{`eS`#o&B!r)zWBtQ{YBMwp7}?R@3`NkK;J0_Q1bK{$U5@g~{Pqmwx~_}>!|h$DJ4EQYZdyj=-`L8b>&l=g$U&3RKi9r-YX%0x zGz9SpB8Tr;s{^?5i`l&c9DAOn1={EN9mi(%T_p^s@2u>qHM#l4B#T}Dv|?<7b1=MHlE&w<3r4as937Ie_|v%Oz=}Ujwpx4vNt&@FTW2S z^=z@=c2|L8kfoz+`pA}$P+VCU8rSNO4 zgA}bj-+hd_t4tn8=H2}EW!#;e=$y__y{Q5rfy};6Z0krG^}RTz9NzL=w!GX2eXsG&R)kGSCX!$ z=LQc^f7-$5F8BLJ#seDC`ic#whuwv$o;v_%3oZp~7#OJ@kcAA*zp0->uYv%ImlMbk z)f%QPac2@v0@0DucDrdE-0wO{Ay^^!w}!wfGGi@UYnqS;pw^6fx`|l+nl(!TAi#gD zWcLSn4M)qAsq@tA!qyL4d{ySf6tozG+uenPx+`0&MGCyvF_o%9~&aAyrC!=Cn^!< zy*rT?Tr6FOd>9w%xjQtHtjdHm95*!v=X-Hy0cuitBC681yLywQ4PX&^J76KM|CRRO zXY$fK0fc8d{#3K{0%Qx>6to~7Ag{^tw7c$8&jDEFONIypn{OhA8^qs{weUW$8~zu9 zx;T&#S&zejLjjlC*OJs~u-h?|g;6Ezap&K_N^9~O!w%nV-rH3d#fEziKa1WS0?8!u zQaQg`(5+?uu8fki4ugXKC7Iwq=amYEf4f_2^2p9AgTZVR-Sm@ zH>cd>J)oG`IWI~0GB|PS->oLYfR&aHU={ORmEv_UJVlN)uJEFCp$&uHikKx?BmL2g zGx&7u(oKlwj}O>U@84$<*x@|fjI`Orxx914(T)%)O1~>l!5z`E|szj^eq;FpG%dBE)b) z1$#|_P^Yox0ov>@&+kewbl}W#0(rt7XbAgqwJQ>3ztM_rFWs*U@p#Ms=Q+PeD1Y&W zr-f>QO5k7dvQcQv&h?P+`vv(wXK4y8gQjNWB+eG`7q8aT-%CRoG6={72s{8(KFV4f z+DE9wRaNuDC!=pH@g)E^F}{TibRiWhNX^B`S6JUXfc5}_i>fiEaKc6m#6;Dl;|=9E zApZd3EEh9ou3diikK>gqK-r)lOp%4!VX5^8H_%7pOasbFVk}`kv-~av@V!IUMjSX8 zm*VXKVizFZ0pD0}c%WDVZ$rT}sH@;D|1noFMs1~^{6K^62msr)K4)c{FDJ;pL>7x@ zH@PWVdV*}+?b>~oZ1DX-&Hrfu#$A+({IBcWA97rMN5w{1?maEHKYsaV8Q1Q3%Q?_x zG4OZUF_C;cK{H9_CHc!CwY^ntRD?A+Tn1^OiARr!0XzsKKHw}BHTtC*2Df@EXm%ss zN)qUW=6O=kUdZk)er9-65pFefGFaEnw6eWI59z;Qt=PwFn)`K;1Xb+RH*`1|Q$CfQ zS-cTRW>sixXKCF8KeY6Xx@oy`5FP5vh*iv(Q-MBQK?vjj7U%e}P0d>%<{Nj5``I!y zNu%lt5=uWsl$l@O>LE^h+`0AzT>vEP6XZ`9z?3NCk zxyYf&2Ik5lCyOIo-E^#>{2><%=q!RHn{t2qKrD8iTeqzja-ig6hIas^DAEQvGSN)j zz3%?t!HMJ0kxQs<5;erUG|!x-J`rx#F-CFGvc402^OL?qhoFPu$JaNKB+2#YwDPYr z?PY>%BQUTFI7smc&Zhr@;GK9)*#xFpw3M9;qVW=7J=%T%Q$4-|PnN;_H?j)udM)Cz z6&!`Y=#Ecw*7m;FV064G6UhuDBrD;o-CZw@KH-4byh^@&$$*U@BM4xozQ(E8b_pm8 z0%D&E(cQVrrgkRP)6(E@6^Ua&{=I^PIOWy9(i5snB0VO`;q-rwI`3Gcv`19@t#Qg;EfI zvv6=R6$MFYb#=kjD<^|RmuyxAFnAeJgQD9k;EROdd;huMyko;Tau-kRdbE`q0dC*+ zG9y`CcfY2KzuNrgLn8SBB?6x@45{xXuYJ?L?7%c4!v6~My0llyr++#*dw;W#>5ozH zOX2fs`*|;z5VO3xQ3kgDOKhkD1?l!nslX!7L}3m0db>z}cM^rD=hy;!rt0nNl3V30 zHJMIR!2SD5_5RfFs&3q>76Gc&L#&MLvoRNXP+ao?_3?_XDxJnlP?K3h0QbWJH)LoQ zDoPShp001efE!axS@cC68_9V|*LuEc<@nfCA8q=mnc>u*K2JhsMw_DLatAb8znq5ZV_N7$wYSDLEmWS^LcbidSQY9=Vtnfk_WWW+ z(NB{B=H^JYg_j(-cxL$RoE8#>SZJ|(^S8NR5Og#%3In9bzl2R+x4TH__3pCSv$SC| zxPt14-p=H=fEHX9W%jU_abu)a8@x>)f@(-I&Rfq(v6U>H7HzRhTLN|l>ro$my-Baf zTr)jMg&zI@`(T4BHuAh%vM^Nqj#OPZmU7a}WILLWy5<DR33N9`TEfw5g_>ZixI zFBir<=;7>eje5*g*QIL@Q4YF!*b2-4>__mJZIxaFl|YBBl8pF8Z6(8BN4w>NBMHLd z#13UWR*o);frta`rUNAdxy7U0Ap-(bA$8~4+b7~I(2LbPROI~S3D%hBXgq4cNUR&F z9IT+5Y`oKg@xl1OUDUXUg4jU0b@V5*bAXS=Z-0mfQl6)iCcCqI$f}Unx=l{GH|>VBrY9kUPIeLmD^-m0blxlr8+$5^ zqBj^%j9vjgiYQL!r^ivOwGUypDn4LW@*bVG4Q`#5uTPJffJuRcgL8lb8? zYce`2h%$?9^IG*+<~XL@jkJ;UJ-8^;C|;Wlgk!^f0&x-Z%de0lArk*6GLY~0GrUQ& zS4XotvX%~1s;~Vg!;DZjX8j!hOgFhTN4#Fe1o|`VY`g9RX$dxj84ZImU1r?S-g}Lr(1FzvbBW(EiXQv_0B>Umq z(=ZL(K!Vr#bG(386~f9{jtecrB7rJrah~i71|ehd2vwb}YQsW(n<(C&tcZ7M0IPgv|3@y~sl+|8E-HuP|?fqh^98sZ@aS_~IOQ1G- zR=P=_Iyn1UyrrIG#&I2GXg+zT-(uuMi<2DQm2i4G{r6(Dsh$1)+0j?pGt`tMM%&@> z&@waUQuKg^_5lv39nBdruT1w|!jr?2pLjG<^z`V4=@D?c_ky2-Q)l^$lyt$`d! z^>z5xlwkarEAQE&wSm2ppWcIKNB&nQz2I#V4f_@|qDiiV%Y|PMvTIt&4}=2Av~-%M zD!*vBrZ&EBzbO#eb#V+idbfXWFD?}4DVkfeS8X2A0^9w-IAAa&jAo8va{mZ4I*>pM z@@h!K7?%NHo3T))n?bu|h*e8%I@9e(@~!6eSr z^>@6rw;Lh?nO+}HL(olby~+D%^*dc)%y5-^bhV7~X)d)t>~g{h5ViG-;*mhB12rlG z<`=nA^l`*f*mHz)7>Z|kWBC&&k5)|v>k0-=7&Z8~O-V^Jo z1nVE#)1NubR{?XBYrk;Hr(eeZou_5RWi@0r(*>+dx)%+=iZ;vxXC ze!=42-?R*3BlVrw=$1v7IujHVZi7n+>=oSqnZ>k*B{qolo6&aRNy1X;?04_JAa^xm z9=*Qd#4Y6kvYj#7@fEfQuKDQ&`3FFC!EOIrEl}a74&%ZY_0#<2zlji-U?4@9R@P{I z4~SMzrGU?2S`RJDu^x_`O@HuZdCI<$5Z;h&O;XQmJ zjyVaOkDJ4uuOvMC|7y-|{bgdrg_Y#@pS#wL&;$z5=g_3}H`i};V6=gXEI%*!P(;fE z(ppu6Vo|+gH=iI~VYpmIzJ_py@_Ka%M|dKBd!)5yn1&2ZM!$&L7a3Zgcfq&EF5tY1 z`ctFOZ`x2+#($+8D16Fo#>U7_@2|3T$eAb$a>sM74m-ejg{yt9?cp)szTHaYp_X7M zLhL<&d`CGy_;0cRLlSXL>hV?!uz@fcq|!i#3A7hwINb*dWOAi<06Y0JzY`VSCvjgS z+^&-YQuwV0b)e^HxzHf3OnUu($(x`LD}&dbHpGbKNP@hyMz0i04x|9I`+rHiwDkE- z6E{_21U9^&g#;n-fA#Mqh-&-9w9<8^C?+MV+_VUm|N8~aJ_&9?fqW(~xx%Z}MUWWd zf3XjQuRrG9<^WI6qvD2D`DLT1k|HTcaH-Kg%Hbo=w*I30d;q_j=i9|xqqaMoS8O~d)h|!qKRGcTcEu|wZDmwEr(jxamqcE>Q6&vLtD21ZDhilf%PGYbj zQO7+4ToZcud!*6>T+%>`XE;UvL{_)<=WBAHK}Y|iVi6}OME=%Ja!#t0W4ac~ zctPsoU6Xe+2sNS{&A>UH5|Kdl0IQaVUjA<;;*gD3h4n~rJq@J;P~e(R_|T*ec2%Wd z6@Pdc=K|m_Hkxg&MfQ{Fqb}J)^Lp7RNme$N>{HC?j8LA#Z^A+1wSK z8g?oBeaQwcz9OKNS32a*EItLJ3j`Z_Q{RpX(!Npy{PelDm&K@$kqtp{V+G6Zi$JDd z7i>BKfqQ6&iy}(XI2<`Enj{Hhd#)6v~6e9qE4ngrVxrF^VeEi?MoR>c>r|atwmSqP-fu5 zvgH9R#G4IGlj%=?w|5GBuRdVzA5rV004D#=w|ZMxi|n_%%48v*11sJ$=lk!|9q1VE zR04I}LGH~Q=p_p!=f1YoB?rpJ$8JYA7oy$f*{*DbufL#ywEPqu+J*h|ubRGBk#G5x zZfa#8aaaYMo~$djXOy=*jt)RCOTXI0OV;u6ZvS=&pm-cQPAvZAmy1O74DCH^CZlK5 z2t~SDx@|6{Bp06+|4ZovbkxhvmIl&JJCA5z1 z9ALWOuU2OanNFgE3I1Gnpbd>i0wB;Xj6q&^dbf}1Ye4akVJ)(6VoZ8O!MxPaEewFw`C zN(Iem3vAtq^}f&~=(FY08fe%6&bqn&S*dW&DhC@w1?Pi~_pPQsnl$96_mgYT$}@K= zf8Hq5W$jeHQ@Ea_(sW&m3}?Xz0^*@j6($Oi`zzYr=8_ad8sdk~mZ$51Vhr`r6`-kV zCs8B#h-U(L2p~-HWDf>Qk(!}wco2iWVzq^dCRepw zsA1iH0c&z&I>tceNMe)@*6QCszqt0~`QZ?V4t&x^?oHar7U(_l+;6+J2O4En6FGk8 zBYsxRRE~yQ8iXuN8kvSnmI2Txbm{Sx03I{!Njw}#L1mI2rxMj(>7)EZNb1l{b=n>( z#Z~2XhFNry>eJ`2sc&;-o2dj2#J}AS$I!!IHr%fS*$}mFzA8=DlKmexEW2Yf-)9ka z>ITJpZ1%EW?mS$4Df)%#s`TB_XZPijuZurwl3H6HKA(r$-G9nq;#4zsKFoH()F-#19W>TKp0eH@yu@4}b=N%M<-Ejg_mJTPnVY{=DS!b>m925vJ~{m{ z^~@K&u4@u?n8(v;0*zI9;@uh^B@%D>DFIh3`a1R?#%5*{@#MNjpju{~^Lf%rzkSR( zso~Dy!8&Ma+;OBUPS#%VaX%#du>BKcZa&0EGg5ixC76m(RZ>rOTEt+ zA?IzEQ&@UGE~)&N6LBJ)eKl$Wlug55)tR_k5f@{d)dja32IDKWo=q)CRIhJV|KV@Y z4(p)w_H^#bct$Di{mr))on?EyB(K^R{Gftu=r-^Ak2)=-+c7|?C%s~mwH+h#@EiN7 zE&BUen!}~yV2Fba_Dp@C7dJ7SjYcs~4n9`UW~$U{m#kB8r^(T=b~))y;LqkfaT|kz zn>wYDPb)Q1Xfw@U9gJ$1Pc>9IyZ5Dw=gY2=wnLZt#iu<&3e`$q$`hEQAdFsORw)4- zf88IZ)k~F3UzI0;-bTPVgxNj(3|NzJ`#bTE0~H)Y+0&akW3|KPBowtZ;~VH72aP~6)4Jp<$4ebey%#Vcc9E>tooMiRWI6`2M?8jOPV6UM(!&t@$ANk= zc8-t2IXLNB`!VM?Q}d&vw(=9vr99Jw5a8V9+u=C@32w zc7L@XE4{dO9jWQcLC(dZ?z|bj;4{A+dLQy-l3zXI;xt8h@(zGDy2yc6Qi72MB*z#T zglhy>jD$BnEl5z%Hh5ENAA&&vgiFe@GorP=d-t{a2XPo!Wc(w?I0O=xc;}ui(W-KO zT(>vdh%>$;xf{(M}o*XNVChU*IZKmO$T z`RGKj0@+m|VHz_8juL@yLG%@W8bY-*(tFP8vLI2KDXFF@2?8Q0y$;*20 z6B>%-lKb2z0tP)&Z52w|sY!&d(qP5EeSBq;r4oNir4}e@p;vxq@s(5wLYLw;JpT|= zKt8vdQb44^lhc7x>MI*USA8ny%NRKS_6fbW(R}Hz=39*=ns_+n(yzn1(?yusKipvK zy7O|)ob=bV_L<)ihvw7w#>2?QCo>0lfBnbxP7l5Ij24ghX!W215O9gyZ>D`CkU0ba0r=IxvES=7tl}KLe6B!IiHNyI8l#rJMdJ=ysO?kXN3OT_f z^-XPr$gevLINr-bVw7^NQ0PkuydJ}i5*IHXhR@1g%L2`FR85XZy%^#teG zAN#d@Wy?O>p7ll&8_Or;X@TL_S-5yPmg~t)x`c!*)u+m@QvYJ~u;Q?(N7|g%kj0;B zBZ6ePzZ32mDkf;0&D+kPi#a|OwDzdyq(S!IdBS7@)xooJ!if6A&(;n^PellJI@ve|-*bv3yDX{;r7;=<*$SQtj8P_R@{@aIZ2ZxAnrsnL{dNMO1WTOyL4Q z))HlYE*6?AkRLPUbT>awg+{v$JFYfRf3N5(KC#_#^V-2$wB;fX<7B^#!k9@u&Y9|2hfyg@JM{XF9Gs)oWOOEIboeu0qmue353L#lGLH3h)1e;QemI*|<3QBIw$+h2#4kPdo)i`SjSDmGe4A{bii&t(*~0 zOXrZEWlG6Msn*{s7yZ^i{DnS^b=dW!ZhibLA>jvh&Lqf=GEfAq80}>|)t$h%kKcc7 zdi!=JCp37oly{rShDF;IcBlPYrpiZdwvvprO0N(}2VI1bOTBz^g}fStTP)wlJDptm zLM)soYgH@Kk21-%s>_Xa(@OU}s){bHloHkbPbL-|u&EMRtYwvMeY?j7X?noW_t{nO z9+w&Ucri%gnfgvh)Ws*uZ!C2uU9x924DZGlH^rfx|F{veb)YZ64rbBU22kS9&h#0* z_^*`%VB$tjk0)N>QG9Xdno1gz7S=w$M9=|EH)SoC$uXQI=PaIU7F92l$A-1-Bn4@B z04~YNFdI3d3}OBv2cQX1GnLpCfbBzKbH97io3?HwtFax#+?`jZB+ATk^Z1#`nI;N% zEEoX4+yC{V(Bkk(>N5&44j^;lU)hzCF3b?+H}J}MI{M|K9VFM)q$T<`cRsSIhCoX!$!gQZGu5q%G*?CmeNKZKAy}3MiFp1(x1n4v$2AJoarpx1|$f z&-!iEJn(St`j1pn53_3Q#=o~l`QZOa`P9JWZ@Y(tQpK@^7iM_fqJS9QiA{e1CwRyt zO3qAv&q3GI`oT_bRa={u*d!-?Y<^@p5$|(C%$GBtz|Hlv7TxI`nL_o@b<$@ANx&Z% z3-cA+X$AM>=Vv{6`=8GVLEcslyCKS-SnFmxq}#A@t_^7`{#&hT!O zRh(T*4{3hHlvHLA#r;a4I@(SgHa?V^1CJ`Xk?B;FW?f}`Pg`(!vvqG3aO+0J%yW1q zXOchPjhB|c19U_#7_KvF%RFzkVm(Vxptt@2TW)sX=7II?%tCx`$%2=5g?0OZ5lMVa z4@3uF^v@}}u3)X-@%amh`@0@~JngY_)pc zxyC-}uymu~2*qVzSH45EP30QUffau@kASUnG~XwL{?zl+w;J2UwCd`kL~8o^7mU6U zv>ZPUz;X9z(F`TkJ4671ZA6{Hwkj~swQ#JvGc>0EWOCQX3m5=Yo5U-W+*DzdQo^^P ziO9qqRKUruJm7 zdRurGf6+QUIlcDYlzBd0aq)7z>`-F;O3gLvReh7mCe0Gor$zS%%qEI+{Q43JCTQ7& zGJluMazQakof<@okJNP!6`tZ~l=&Rb^(6vth<98}+$fhUXL&__yW?c$59uzf{`+$M zn+@$uKEbpICo4|c?u}vao!ltpM=~1;GFtsE$79C?F5JX+#MCprB4ICB`Jb(eQi&C2Kt{MkNJ*%cK7ZZu;%dDMvPXsKnoZqo zg>EMKxQv2IAZgKOef821iA29%Qu%Vh=y#I+ayrvwlMxc|R)UDEl8eHl&iO&lDsJIn zjb!ZT8ru-hIFyf}mfn;)^&0xDvuZa)+TV6ScytX{oevi|zUXeYLZU;GpVr^;%-%S! zbj_<%KP;mx5lSw#O({-r# z{&bclM{$Z}B+$uy=B$CAL=KrR(!HSCXPSK*rX)y|udg7$yICjq$U>=}BsxX0Y`kCs z=29^6%e9_bdCdgb9`%-c>rq-nyfeKff2e1_hApDFR`N@`y03Yr4VL?Cw=F*TKozETeUh#{)tAyS-)Flo%Oov z{8^5(19qY>rEmC-QXQ7^1wC5=Z)a8L&?GwJTJnK~f&!Vuq~nY^cmdj@yX>^cqoPzr zOPhlu<@cM(3PqRMkxHTpBfPch=5l5DKdpQuUBA$6PTRe3>o88B?Htkjb1Noq9xq_8 z3@_r@q}Kw~q1)p7#8&Vw*0PBFx8lc;@~`v}0E@Hj#zjl87=$KmEs1M5c#r8Z)L3M! zd2?wVQ_HhZrPsC5H&z|7zN-*2wEtF*HcO}M6Vhy$)-6cU>qt%T4PnGCKb9c0jZAz8s$EeG;PK7)e{JuoJWO#y+F7@vg4&I) zCo)K{c=tc>|Hk(r>vachB8~k%$gKZXtk_tFUD;-Af%TF*!FeJA8o#53{VDafO2v(qn>a@9+W#)^Z9w4( z4ZcdX!(&F(9ThZ>7!aKEVeQq@hy3HrM;}g04j1*nw30&NUls4%`}a?IC4Mw#r-=8r z0<7_6`8ZRmS|KN5~!ou{qKyL*q?MLRdk@F5a|D!7GGY8L-#o@V8s32 zFBu-J4Q)8yiK1O7*#8AS25XAr=X(aqkfW+6r~qun>i@OEHTYM(^oOGdtPt--#h{^C zl7FQ%dFCA#*9(%7wwF+2_6I2;LFA4#I~xDmz~UT(?L~0@bT&xoYZ7FNBO>2+W1Hxq ziNtNp@WdOM1P({_S+S{!@5V(?YnIE62no(&7PH9g*c%4IaklC;+!CH4_bJ=oK@uFR z*+-Im7E#vIBuejcaaz?hx&83=J!D6KF~@x7?H}E>8F)~5YhIhij@UF`6{Q-L`hS@%Z~P$1Gz zsvCVRm+nklZdz2^W!h{y|x9xpLUJ9KI0#E zek#^nnFPwib{fPp*vIwkY@Ww@S3gfROmU^|+W#TtiIT`&uu-(8KQE|{Ve+$w`_A!~ zw(Jjv{g&`&*>Segao5ti7P(L1Au5=>w(%soYuz>|({#Xd;yRaNulZPdsZ<;-5orP0 ze%X;gc*VNUHk%U`mg(?d?NNH9Kzd|ibOlnc43GO&hH5G;SR6%yGt0R3H^3N-)o;_QA5_=Gxdz5Gh5Cia!0I?`@H(4!uPY2Xp}nB{($R0k5ke2RXpf; zvp)UN&{`v=Rl?sP;9Y90<;|i!GGEz$<~EM&k#To3#`T{y^?_S_b9MDnx!sf|8U z!ViR(>i&VY5Y55BJd6i3@cVFCS)pWQQ}4=QjS?I7Bd5^!xz+{F8QHuIFCG3)ZE_xt zTR`INhNkLI{wzN6p*J#I`&<8Jl^iQ32>Sk6IklRd_lJt<6Hn*LL4n9)r5JtXQ{cEJ zqw}Ulv!{+iFAi)X+gyY!`j%Ch7NeHGf$QCtD;`jn%`&uh^engGA#)tpNO+&S`E#gI z*Y==hg{x)old|aV;WiKC)uO&w(i_|so2c*w(kL8d(D-uQ8E8_V0a(cKa1Lq#;G^F9 zW^8fHGD!LrbgsD6C`AQQFI@}^>JYKjN|^|1+3#G2Zsf#KMO!`rIZ_(SkEx zDT2);B%@P6)t(98Tbk7KL>1oVGOm$&JKAz(u9C~PY}D1nE4e~l$5$*Rh$1^+-3@)^ zQ%+Na72pts?+y==Paub2cZ~43T41kY{Gvpk?4wTLm-tG{PTDq=6GPRK%gXa(B|_vH ztD^F*xoWiR5Ex%o?dH>m4SetJRPuf5!@a||h`FVl&4}^ML(s|kx7<5hio@~eH0rz? zvu}jiEQo5=?2(DSE#oO&(86AB-OR^hsT)lzwHdk+i%)8Lz;`)g(%qf(hRqdxUxm=L zYonKDYi$+N$GIJod&N+rVfO%uRC3733-0E0wda95d*;CPVXaJy0w0Z#8mY-j9v42% z(#^4W8{swMR_CI=`}vp${y|Wd|l$%#gM{}1>X}@EgQ>lQ; z{hLGC25a%u0Sdc$9;_xI5+3V_Z<)WHXBZ?UwU$>8zU+0iWX6B%17lK$)g;InJt!gF zO-&LLG`YQ%%SRTizEZ(pG_Cfiu%=e#uV0t{Neb?MAph@gu{qCD|Dw0#8?>0vUQ6~M zjOrfznHuIaYxWQx5UBrI>zUa0$sVky+TEbQ&ia(cCM@iIN{zUUQeqf~;j zE`CR=-o^Y^spJz9U--yYCVGq)sQE!WBKoGM@%u}dN{3mH(O>DS2$>sSI@3(0Ls<=! z@FDd-kyxmH_gl;(jlj5HHZUA%x}UNlF1~-uciAD>)Ss?v`(EkDsktbc!bY#z^%fYC zaJxJ2=fc2XJ)$;zQ300B#N;iNqbPHI5+WQC=$bFb{&xBIpko6;9Pj0qE&}Sk(pVlh>y(FBOA?V zn_3l2TJYRObv;)^)#s8Ti0=lK(u`Hb%cUJR^KQmdr!Gggb_I%#mMyu3SHQh3j@TSzzR+z{ z*EQw)o}UHADn~niR36^icg{Jcqa!|nJI#k7;eVr*>SHQuBtu4c!*9l*DyEkbKC=ha zYIRRSqWDiv-zRndq*7}P8la1i2r*z9qIy$3)aB7swpbiJ zBkOzEsyFD@S8~Y5mxB|iug?^4+Y|2=YJs15#0BR65=4eU(JdCgVrrC!LzYnG!n3vy z*KmcOF8+3VuFz!4v>YZ8vK&Z=Ht3ZXPIHO1T$wnzJ9Kfz5aW$~k6Ix0P4A0Bfr9|S z_PD&h2Uzz~Uv;CU_E&(fkKeUyB=^=>uk|x%PJ=vjwGcTQa3ji1u@I6ijPSTk82PLY z=AOh<=ke;+5Nv84STcR)i}_p?*w&f)gHF4BB-r(Zp5hqP0^|7@Yyjo#E8es%tiii6ZvqD`gJ z4;ki%*u#>0xMw;$xz=^gH&Pjs=~jMxeft1ud;iX+^aW)?G}o#OiSHPQ*GK$d0aWfL zH-EPcp43p^+jJp%kygOaz9>Y%c={sj@ixI9gKzazSAH$OV(^CR{siGh++;L*{$W>aSakEa?G)(ax)-BAb?96@GqNXMz_u35W z3m!Dx7yi|B+T9iOxkDq5kOS*phE}(aYYMj2$M`VVluchX{S#w;`IVWg`85uj$<+X& z7j@;{qy9uDI`^?pa~6l5luZ}domXAe{X5m?1(@8r-qqbfzl=y&8abrO3x0P12|*=- z5H(K%gyyh-oUxDJVZn4`P9nX~KUlu~vv=e%=WH12q1lwKx#{}o+W(H^r;)Ed4wp{P z=MQ`>Cf_wOIrzfU$pEa2K%y{jXAc|Cbm;(| z4;*9!o#!k&|X z7AYhF?**ra(iGQD8@eR34Ft~E&X}0A{jO&ff0Naf*+DJ*n3b5;jxVl#ULmurw&+68 z+rfve&HEy;@;>syz(>a2eidzK8uci=%3K)|CPQ#;zQohohKYx)Y`#gwWE<2t?^+Iy zL8VaDmfQN1hn70ftp}5O4D6{p`jgdIh)K|my{8l+pNCIG-)^E(H}EguuKc51(Xxg0 zGBsA~4Odq_Gg;$qIj}jei^YYS_4``&?Qhm)-e4(DzQC5f((2~JUL>YNfV5kFl;W`F zXJHuc#K#~$8Bq{IYD&#v>+%e(grD1dTKAlL;=}VYBZyaK<7(a}h#qZ{rC(%yfow7^ zA0dLB40d?7#s}_Qcf3hVWb*iws-xG!mij)EA3TD-?(izqsIk$p!`L}SZGBNKLgNRm90)`La9CVWy!}?2wL_7NO<0tBof--y&vRk}a%8jqZLK_^D7C+duv! zV}Ae4mnX@afMNfqt5}kn^6dLiHSN+niiuWlzSN46YyNTs(U56jo0v|`^zZm|$HC)m zO{q9)Idz_~vO#R6_Wrq{HFg=#Ei?CzYU@ZC57nlaGDPVi!MSD79<~L>b&`#qETIy) zf*fiEn@5)Z#ua)qrkCIv;*`w54ws6Zt?q|{p+_aIwOZ0;b)W%R>zvP9glJVi=M0~ejthiI{O+F* z?UXtC((K0`lmL=O<$EL5Nszdu+Xu0uuSvdIf#e}P#k+5%1zaux0%kJl5YA$KqlTqf z{jWa%v8`g^**Op9v%#}qn*rfdxGw&7Qz6%L29g{B|D4Ta+(k+HIl=AwheBC8%QE#* zAiNG5Z`R$q(xF*)usc2Tjb2ZASC0mx+e(o$#696R``S3ygoJCa!F;=I(W|4Ce@WW3 zU$Y3SJLXn3ec(}@kF;2u!5)fvzYV0sqRiy<$0=Ps$+-8aQLUi^?HS|jR=R*2Lsq%5?fQ;D%^gdd z=K%WAnfi)Z^c{LyHTnq{em8$&Vd~*xMXMvdewCNRP z@$2l+_50s7Z3angwhhT5yndaG?M?Nw6Z^W`T^iSw845C2FS=mjP{7$z48*;3G=qf+_>ThS>74A88_!mi}|@%E0oSy$Q1JKhnu8;S`k3Y392OlCHYbtz<^7G)T&YJognl%C6wH2+0P3u2U)4M@F(FMcd_vP# zM@RR36xlOP%T;0*)2{IMtW2AyFZ_+KI#KP9jE zZOu#4rC>0T(9IS zlL2_foE5+W51U7RhJmq!fLYq3pINDz`E9GoEM?55Z$)*d!$V=}_%Y(g&vdefZiP`?XMfM% zw14j8{_T26R!Dn{$tDEO(wdxdAH%xHrsGrrC3We`MsTiu)Y|J)FSk4P$mX~Bj=cGl z_c=bKvQT&C#ubm_&;Q{pS|Lzea1VmJMk3CfVHYR$u1vN%q1&|AaE0mj9 z6P+2g^863!O#`%W`J_1xb~VySXSOmp%ILqd`y<+P^Yv0mXPUFv^(%?vw z&RPGD!IgEhnndLp0MfK3o~Iuw-~SWlBO0O@uvso8bKG!!T^N|ynYLlK$1L%V970aq zp~<*^w{;6+i^1ntp-*7#i|&dk68Y7U!x^{32uh# z?E~#4Mr`!>|2jB(WE2?Sxl60VLJq8|700Sh5F_rtuna@v5F0Ys=(D-nG9@z*fDdbR ziv(pu{3o6NZ8u@gIBsl}kve_OMa}`vEJ%4^w`9Nc|EcSzSg1$#WeR0DW_C9ac#)n# z_FrHC7Wn9QDh3*fo)UABKbyhTXppNs@?V;S{l`74VotTXZGV4}&jPu>R7CzM1YH4A zSIlSdkb%H!ygZ@&6HcIOs>x<(pbT!pf8!ocUq*68L2wQ@qP$ry=*q4ZcQehIi}BQd z9j&@Q0CgygLr3h$$_vZkLpIeqMub||1550Hg##an-o#eD2dl9&;NLO+WmlU!dL$ix zpYvafUEhD(dI*>sD0W1Nf%}tW8zvSq4oV`^1q(1OYeYJaNP3B&RY_KT_jwC;)B7j> zgYNg3^*~PKT5H1bw2-Zp6cd<&$3BDN%>oJstZZn{Q~}DaddI0@WOem`v+xxS*3$s4a_I?Eke%DW{Y+5fnFA$mmCO-VB z1O`A}IgOe#U|4C>DE39o=8olhPM72Y(&2DdxDl4L64N4rKCBx+_j}E`x);{svpDwl zo^tXm#-K1&+=2rPPS4a@fVa*+h7a1)pCa^!Go!Xp=KJ^IqmbR&fsZAEUap8I`DD%h z8oXp6*Hvl=N!o&B>P;-Yu>SVi(C&4NMuSG=pm0EdvBWJh8O)XPb-gL}U*E$_#pwop z=84yZnNiJO6{e*eqMd7|Ey_pC3g(P!DCa8={zv3EJo>tHONBrk&@_i;{>5aAd{nsG zOv%DQ5kQxt$!r2##54v~pXM;eDjb%n&#cfZ#9|63F>eOtsiOxXZ~99G(@NwmJ43Jx zg|ptGWto2-mLep9_p^}3K3y~B?0i{X-Ofbo!F!H=MPmm{rW%ikZs~OFwezo-x01A$ z+*=9KBDN2x1q5dqj$QWJfae84X}PjJa1L7aqH-LyF3-!E{J%^1x6F81j_tIp=mau; zibLCGJPtd1240e#UAp&!I3%|JCG%*IJJB|ylC$wcuW7YO8q%~1*BLGX`mSTZo^2IJw*N#@cnF`Q zkHLIERJGsk8*MYXP*k@?1#IA>lxgoD)&i1C8P(bVmxnsH5CW8>FZ0oaxv^#)Rz9*? zSiq?qmt$7F)pR~ex;NPP-R7qC z@a))~LzJ(X^hOJxW^-4YoYQz5vw{-cQw!QjQ9b+pDgA+qn$mFUHh?zE=Q_R5L5(-F z*u^zRL12|3ZHvmVhFuZO7I}5Pysw{Jc&AMTn`)`^uizzK!YnH8IM7t3#COY;l^p&X z6up+Ly!Cq8Y^n!V4uwG4am-(}Lp{_fCi-#4u`598aC}h0pCj|bz@gdTTzJv`+<0BDRR^~&)bPY z3#y0;ui4Hkc`nuRaN)J;d{{O@g}<|X08P!IzBj`*I(*F|VO(Q`MD zF)z-D%O}=S!j=79J0_ z(;L>a-?dt2Y~>FDUOe4dVC(`fJZ+h>(OECczB#MrPiw4ohRh~N4V4@k*Awk_ zy-$s>D3_uUZDjEzU9IrOOJBwgJ%LPjekONLgD%JQEIR8+v^9FmNwx6dRQTGshV-^+ z=YFqLy&a`MQ&K$esZya2kJ(LwSnW(Yzn1WQ*Ux{()7k*ZrA`HGFo-@Nm(G-`uM^B? z(!6`WW&~2A@lH2sVyQbHImPf*goxYt|3~*_W8ltkm%RvuqDiwro$X%!-=;tIecyAW zey~kD7Qx>qydmPF{eM~js|=ZGEX;KA7-C<}QuhyTT=1jvq`jr)#zIzKl))|#g?IF} z&Vps9s%gf=Ta@sB@3K*Uu&TbTdku0WbINOAmcJC#EB^5W3Y-Sa%s_;7hWL4SVv9~#|g z>V0@?6QC^aRen(X#fdnhL7qfvqe6E~NsMsEn^(}=KBM6tJ(VghiV68UC0y02`hh*X zAJ^YO)>0>Ew(uQw&f0@)CH%*@AaFR~6~~ z9rZR3GR>JAFUVWU&XJj*5`?%U>W4Z2<5;TB6pnG|Rn@l-jIefbVt_j|V|S)+bG!dt z)y+U1_%2c_o1Kqaikd+TXlIg`0_c`(UCi>#@_zY{8_{GeZa_m{H2bsl`#lMP} z;wAErsS)7_cmNP$~FA8Zg|l* zHOZ{E-smk#?HRiKr11&WIEhX3alXDt!hz5Wf%r(gs_{I=tEnu9=x7gIR||VODkA&e zD!gQ-4zfc#9iRh$0x7(K)yf(8^;#gsiF*3#AZ`fj+-30tvxKr>fSCNdSKWM&MZ(*_ zSyX9>;+7Lxzu5?Wcd-HQold_9U_vUU<_P#Oms&Ti3*6dxx%L+}*Zb`pHutv%4zoM2 zB@0h`+Z}p*fm^z3@3{k!7~l3h>vQF zU%Rd1Dvn}&ksmPKlLWcNv5F=a#qk{l0a#7 zX0E(vKE3Vv*z!viV|euUB-)FSsDXnOuh=K=c*0I6G-m8CZyfU?rVT^-*o0fKK=mA* zy)4f{ZZLf2Ojfzm(Etgsk+>aiC`9w)j$x`Ka_H&eJ1XiquxS=KI@89TP@6RjQK-92 z;4it~TW(5qu-rnetXOh@_O5cWoUPV;r-W^nvbab56%D)L=D#(W+`MrvL)@gfb^TNv z^x?HucWMwL)&k*KV|Zm)976wV|K5+6!V(Ev&(1ylI@ee1p5D?s3a;E)Ts!+qH)Wp@ zJ!7AVSfpM;`#`sibmsVjxc4gk47R>$Q=GkCQXKMI3BPG9Q^QHl8r+0;#nv%086*Q` z<5pxDp-A92&0iWnzuFaiT1JuLe0@pCe&5mVF^g_OYMV6{U`aThxie@74hT}*6v;|L>82{OoLoBdQnH} zhb#zV5gI(_bj%P(GjCO+zeUJvGX;=)O6|{r9Bb3N43WKJskh>BldLY!Vf5gN@BzW( z@Ac!-&E%~rsgZ^kv&C4qf)Q_4PA|E@fm0zNX2%z0YB!NL=G=B^)#N8~SRu@*nt+eW z$W^*B?)wD7iS3^@=r^0ASH4ahc}y01bG>O)8qYvoN9Q`)2{Be!KA&IrG3L6eE5Da; z|FQ0Tr{9>B&o{}TnO8}+Gg)Z(?3?NV*%5mtMdV`7079{O?R5s+gs7xeH7{Vt!T;!j z^fkV0UZfRnV7J2U12mZ@>wXk4mklot=enAn`?Eu?q!--Bfv2rNNE%H_Iy}AgEbPIz zbjD|43OM98w3YK_q1n&M$_RdCRl;u_-(;hHWmuynBStMCAmi0Hh39|Vcyb+_43Te$ zB8M>3YIn;J(P6h3gBfc7(t2vgm#5+ayasDgOw4F}9qBN=j-0gMnY`Xpood1Ro_+a{ zV6;rcq!GUEj5EU(Mg?`wV0S0Y7%{Hx^HuMMm zFgH%}2H7**QAS4P+#ki~EG5lSGA7cMLFld5c@>2}I}_yiv=dWGs6 z)cIKY#-?J$^1U_R*V$sp;qu;@U{1|yck4V@-NRiV>7OQ1Wa-V4&?0TVH4EBf3_k+3_fahOS0caK4{VG( zYO|!YNd3Mz$L-Yo?)DY>xnk4}jp;x48N6r1a@H|ayi~mwlKf%7w}!g=0xk5IyPtzK5^KyUEcZbkGVog>ir*zHQSJkf3B8cd;$ zGXIq~XWaFqK!?WHbOJqSHVZW+%1t+(HLtelBhEVV>UrM0_QDpCPP9pV*$HD!QoaV{ zZq!&k0J|$qcIa41X%YvH(+jKb*+t=$SJ!Mk3hA`dN|(86r#-y}Y_px)5um8fN!h3F z58Tw`uiS^&rFPHF!a@7*w%P_c&4L&T+?;1dj}(lU)3S3cX8%EU&K@HxubQWl7F5c? zlhhI|O})zyMf8w}j`c`(R6OC=W@Yx?9Q)yQtm^auQJxKNVC4+Ji7lI)*MXxL*S%8U0j{_gGj5sgIAKytm-lA%`cSMZ%PkcW!*G* z3#LzWOA$a=V_aPyjaeoJBC*%MWE%ahqzkJD(T`1|noVvoOR>=)shFF;=qf{z*jFmR z8p%gv+0&`J7~k96aw-8lKAZbe_=a09QQRV&&|Ka?K{erMXW@%`J= zUclAk11e>)6dQ<-X*N(-;PBD*Ep>V9`PTHv74}XbXrrjx$`aFM3pt09Xnp;}&tld( zFxmTx?o8?l29;Pfz{)~?d;|&x!FUUg#gjx@2DtJ@?9dH8yK7&7nL&A9wa_ycq|I|4 zCag)eCx>t>xGyksjsU#94rT=r?c(qk~n=5?8Qg4IEouOBL>^%_^} zu6k7my~}T)>^X}LaKAiz-^vXiL{3~p;>hAd;=kTjS!oS`EMS76qGvz{6_YnLi>$H! zx~7oP=AvEV)0Dk;F??HxG~ZWdS1Zyj=7at%JE={Vof^x?otml{U?5y)YzLHP)-Hy} zQVP>SCxJpV7;$74jb&IV(Uq3(4FRV@${^@$Ui=6$i=yosnJs@_3DVrMQSHI8&y~qd zrpAl13AQ0xv0VW63#rnqDKA%r#*BlSE2u5XXO#|ej4JG z0zU;O(!;Fq(SUT0=>bF+P$>au0xCvj9ua(kS=9_iN*KLf37A>{Sqy_3}|t*G_CzfBOtAt9ST)%A3`mer*QNNpYG67+aDS31csv zfn_)1(Q;30Mz2A@l~ME&FCvVI-kFMr2NvtU8;)wch%lIzxe}>ZIQE+4S81J$ z=I=w8-rjTrzIjT6dmiFTQ#TF5;1|j6^thV*3H+gXwm=H;rW#{E?7qD&6_PW6A}MjF zB;uAnE~mzL+sT7c9S{hvr+%J)8B@sD|@Z zAksKQz@J=pekDD>DV1^;P|tBpGLZog28WaVc^;eZ%{2l?MS7Y^ZlR|7hvtQe1%m`S zsV+qlx=8?$4ddz1BtK(aTE~E|@3g8Nh8v$&$txpKkW^YY*&4WCmNo<39#^d1Adz&M zSNfXRuf|<*(5=c^^^6|MVt^;d{+43+p~n|>2*4kcGy!CUU>R1H>3ZMa?`ll~K^Y63 zEj%&FR;itih9}m$MBoeEI7zZ=Dux`|jS1AH0R|LbPXp-9o&LmfSAsJqf^%dIV4iBA zl&^IAwn}a*BV_NNPWvdPSRcGcbJT2QwuE~T=0j&t^tV5~A>m~eC7Rw-B>1WcaAJ3H z;L|>T*1ES}7`O=eTv=Ql7Un7i1yu(&XD7Dmzjtk@_0?wIk0#?{Xlbe7ld=Oosa)(U z?)}i)2Ms~;%$Rjp#F0{t>(5x%hvCp8KEU=|B=X%!R_Pd|w1c@32m@&|XS6UV;^rX| z63bmk_eXCZr~?WuZwOeM(rq^jXcOU?=tCSon3wTY+@PPQ;0%{0z^Jm?LcWO*odzc!3SlCe%5*H;F zd{qtPy74=sM38vH7u_<@Cj2uew70Tf2g4|C4$%uLMB$3gZHL!RU~K%9A`s*DMjV z2r;zyclOHP8LkuOXgKEVlHlxBqptoN4mVIY;NWG$K-lQg5A}f7emUf;I>h86YOlD7 zv5+^fh;CKWMJo-dG?Gx%i{@IVy3T6G;?V}I0H_e- zYVmSR#yQjLcWF5M{~a063v^zA-5ImXyPofh)qIFqjAjh~*$<2IzL`G$hbiHJW+Y0S z!dT}AE$y49y;=Yq2gO9NCCAF6%RD}c8q9gX(niYV0B<)~2cc^7rc=R!mt|(L!3lgA z$Dj7>LGYEy{&1wyZBU10*5Ibc@u&C12zhs0b`zNjB zS^6e`2((T2V`cxuA~g^MPykTPGyZqUNt`}F`{XVeuoGnU8kI?(v>2D}24VFLhq;#h zuc~??=i}>@tZ2#k$`aZhwVcvJq*Y(X*JbOoA3aSllpU?+oSO>1pXebyFp>5*+G>HBP3Nc1f zEp&fWA(Q-=EnI%#OE$qX+b>UOCi$DZ9T@B79qVV=@7PH4GurzQ=j#I;zTS89+ zcjt^Cvc_?X9u(n!HN@|DpzwfVDqtfdUgm7U7BBk-c)<^~X$r#6m~0c2GQ+ypC{=Jh z@%EjTl)=4_p8&U7B-#>NW(Xsr$STM2&k_PyzvcOTWKw7WS7ww(*?W7lK%kaZHGA(+ zfv1+7ZisK$F1aS&WMQ<3_(KJgZ(jSmX4*IQarri0W`Bp6VDkI~e?ob>|9lHd#&;;^ zZ^Bj@!G0S5?<5(r2&D=jZ;}@-*Hy;ayCHpZ6<8l~4!>|Juo>s>)W&Ks1H8-;#&I@y zkSzDip6WTCKf}gLOSH@ok0Rocj|fIDek>iu<{)1^Z(U(?6TYUi(_>eX_S*uO3g5N! z+rIx(TN3A`{GsgY?qARp}Yl|C*h%Dm3zL^-^yAO0O6<0Jg_M-pZX=ND_INu3-#jIJX0e9t!m z{C8Sftc~Lb#nA$f+X0va1w69p7L!eJ@mXBdL+^@ilB7lW>_p4F-Z;$Xs-iFzo8#t& zc!-GMw0i#sv{E)G#C@{Bf<@%SvRa5^ zQ9gYoy#)UgIu_35S7*ykZ#DnqlnKcC~jn~0s_*NRtb(2|MbC;z`a`9I3-X0 zu7~6!GpmvCOVP)T9>Wrl+g9dANkhUWD%=q8V zsjiTgpB+hApl7perhKR}AdzfabbE@g*{+WEdt){!ko;X6_h~ zYR%Z-CKfdlV~)2|QOK#@78mrL3*iY<8?t!Hgg?x~>_pmm70X0$Dtl`(*_F8dgUiwJ z<)zGVVr`7ns<=hj3OZ99#Y_%hzC4RQpvS&hCY#_1sv9iW_Eoe=-4iu447v=(uycK0 zBxMkvJRB(QWVjbKWnK- zM$gL{kMCE^UQd>r#z2e&J0eavL9On9JDy_urVq&O8FacUy49>LpF$jS zchLMITm*2W{fpSvMb0pm4?C8GpIWY|7;+D1Pn?0KL$kX!2sj7uhuT}@V0NYklS@hP z_5lxQ9hM<(6J=eOvph3x)%MEFNISglib79N^5?MjvWL;~lY%J-=OlXaV zFT%rMu^>)Va-}>VebJ4+33i%owN`n@Y%+R;6zod4kwTY0MFixEzcd#>N~Sr zu)v|#Zyj4R?E+tke6i~io}d)LCXVD)QkVy|MOL#^9v5BkYyH9$DGQKU$?dV>x)ZdOQv8R0kf71agMM_b(ukRxBD15@@L z`xyx+$$*c15NYCq(^ObAIJD9hc~ESV5?<_O`TPCdVk0fLospen&AzLx^)v$ps@0UC z$I#{9usz-7|0JFqBIjiYiYd5BSZeSRgw{p(;0&ZkqGjP#qeD^_Uz$&hO}*>Pg6D1% zTY*1RzBUt-M@J)O%B=yO=jqcOUX|U|(d6ZH12uVfq=HY5|JBSaNI-$eG7c6rut&00E#{U^TICjqc!4FwmW(7AWL;)vDNeK6zBe+~uYK9s<_ z4t8@!bp9EP5{9$Auc&4PQ(uzSpu9hL_8Ptgyp_C{F)~{0nYqh_{*@XtPaY`oo{T|6 z1IW2GEVBLlz$;fT(pcFutC<@)0(GO`pVOAwX#hw< zA@XkV@^9QRwNXNPrg26!7OyO|ZbEONs&PhzaYJ(CVBTN1?~M9I$P3##>q}AzOqn`B z1+tz(Z1n_!Bt#SYTYNohIp_cIJV2ZtCq9$yUds5b&x51E9m^_ClfO$wfV4BaN`$j_O8bQ=FT_r9QJYJAl4%d_SD^^$S_;t*VA5BM+!xbV~{`; zBswwzn2~cm{Odd1dvKbA%2|6GFouB0PY-oHH^>NX*;%RVjlW5$)a00lM;4^E7 zO6}DX+CP=issIoKN^2mp1jw`FpN2hm$u;E~eHh(7)1|>3kLy-Zp_MH~PZ!2Rfd*U3 z`gv3GIh1DV`pcI>E9|v~3wkS%pz+=o|<>JorWcym(re z+&?Msd3g{gR*YPHJP{vK#`gT0`~Z#E%V8cFTbhNdp&t`DkD3*zHg+S4<{bbDRY1qq8qy>*n+V z*vr3hcJ4K?b>R@z4YZfxZqc;;9AEgGC(4koIo76v)BxGO6Cx!limr?9hf;(iUGHoi z#|(pfJ{e^1EU(Y@@U5G>Q>J}Ev_EA)7mh|3rJ`}1b{=sKP;Z_1hr1Uqgk0oqmix3V ze+7iy2y1$OG#avf%d9ofKwdPh5^(m&T~3mg;#4$rf*X4Y;4W#dYx;S0ETWa-zjwlM zj?Jzx5F<41SU*a?O)CGvql6sP$%mO-`$@TC*A+fB!-Yhqahf6*px%O~n<@;u&S^&MTxUeh5Rrmn0T7K73MmP+r^B1m zZIE;Ys6!ZBOtj{w#Ns(r-u89J9$SnOp3}(9irNfn`J57*0ND*3NAfA(i_vVevLUu4 z|3=m{9`i3nhY3*4!qP)S(xH>WiJt^dVcNo%slg~~b z@6CB46*PVI_K2n(G=y*IaeCbUO(ts!AT_}85{)bMJOFJ@v(ctk_+BKDF_T7%&R}Rn zOGV0MFq5K9q`z&^9wUPI@ZyUXQHDEbSqG8z5!5Iuqo1`_IJ}ZT#^jppIgWW@U2~W} zQZMf&HJ7CI5*pVf6fC_C%M)Tx+I97xOFoIg=pF_3l7<@|ab46!>A)uhzCk-LTOkK6 zN2x6#s4X{${9srVP@h|J{^n}0E;#g94s=-ySK-X*1>aj&6sFy(WmCxHb!Yhl^N@tKUr+2PPYgA4XF~wWRe^EeMUeQ_U5*+VSk z%Usc;Tj}+aLLQPBNluZ=`PV)qs)JKHv?%N)6%?T64XO<_G8{CJb10R_u9ggNc&*K) zuKeYXbh1L>7ry|S@rRaTx2S{MK`Wl$QX#39`|n%a%eKg_wuT;S-cEZkX&Ox}lb?BS_tA+r@I~9_ zH=-bFjiFw}tfFBQ?;gQIn0v16MjYAZkP5JuM|$td%^?aN8j6cL)q(UpE>cr~fTj2^ z=jkcdVqM2*a?F*4z6WXs&i3^2#@N`WvDpKgoq!8;b~1D^Xfx>Z5LV^Za?{!-I#g9J zDw5TlEOq3Hsm>Vf(Cg!yP9i4LZ2kt^nU_R!|AVn2w+&+e_;{?HQwgx80Q4s2dPU}} z>~yA(xQjV9*Ba?B7daJMT6HzNRyx#fL>%hw(eru`(_BTRW1_7Ju;`_=e=)9?Q?nU8h}~ z57cmmY)MgxsO0c9HO4+9QksjiKE92whog`GQ05wa8?8VmQ#6#V<8qhhTBTB%w7eu$ zT~%BOZMLL@+S_#4z9!~(CnW*QRE_J2UO5||&6LtW^@|k`u*`{s7lg)nBh%gVaGuSG ztR->L0Zq9%;qw?wNTPa`ib&;w_c;=cuswR+e!sg#V0sLPG$X}@8ULg)retRB09s25 z!kH3d>N9r3Mt zJ>O~lPe0LT&^%N* zHI?u?*qfp7F)C2c=&4b1>5DJ5?E>jD6GOxU^s^Q?Wviwf?djpOSjkecCz=IGl9g8b z_;-3a)lJ2jKt2rcFV;x?aK0(Bcf2Q+W3&T@qAbAN(qtd5v%E_=}iL=gHatV6DkI_245a`r9kQ5t?n9EzlK3Fj$+~nXzhLH+ShWF4Yfz zwBuLki#cW@llfeR3!!1kFWSP`#guPNbl0MC3>bm)iE$E>bm&g^BR^v@=h2_l2r-(C z#EmR3(FWWKR;92m85(r1(iVf+C&@V)Fua9ztz7QAJebthh4N&nt~$AWzn_m=Nj-5b zJ-epu(`oCBMLUFtzWB*~u5;&La+MCDa2{e8JzP3$7k%q-ofFjkvS96|G_LR$aH>xbG6wz>yZIs58sv^A)aTZn6jyG(yM`nx1Me zsP;MeG$Q(mE_|6rY^K=bc;>I2H{J0H%8`E(;BKd(9dbm>> zhzy*WxkexYr>fF&({E*rDDu2=h>IQ;`FWhdP*%i*+k^9rJR$yfX7+xtkPcDdN*os9 z%Ye5eUXS^4fp*>nLg1(J7K-xBvxGkXxvn4=-6Dd#$6|35EdS3(C}9DDKI@sr!XK@N PfXDo}4W`n}{l@ literal 0 HcmV?d00001 diff --git a/theme/colored/nc_logo_rnd_nb_10px.png b/theme/colored/nc_logo_rnd_nb_10px.png new file mode 100644 index 0000000000000000000000000000000000000000..ed6887ae612a8b90b0d0143dbe036b00f7d60e55 GIT binary patch literal 1987 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 literal 0 HcmV?d00001 diff --git a/theme/colored/nc_logo_rnd_nb_150px.png b/theme/colored/nc_logo_rnd_nb_150px.png new file mode 100644 index 0000000000000000000000000000000000000000..cce343d22a3c1a39643bcb9a76e213461f8e5559 GIT binary patch literal 11579 zcmXw9byO7J+eZWu5R?{0P`W|78|m)urMo*6>CUA)mZiH9=|+0#?rxU&&G$X${bP2| z&e`3$Gxy%-`Ba#qyaWc?Co}{E1Pm!jF=gOA`M=}s8{n1imE#5i!mB__QBg%_WeJh5 zQsSZ<-?=$B7+4s;BOp-6xyH51ycYft(ka%QMwarno2}RTW#`c>l$aILVw(^AwQ5uS@273$R+!F2| zw2~@Yer4+I#d@rE6UdI5!{XwVJ^*uq>L97*jDUcS^WX6bAuZ!00>W1WDKTMHkBs9? z&kQ27%(G6lnHl%nC38^x$d42hzcDJkrwH$Pxu)TD9dWsKQBdgi5zM|9x>dQJ zPB<|T>_5fT6v{7eN3uYaM$q^zXnrKkv^IFg`Nm}e#=_C~Iy?JqFL77KzgfmS)Nxuv z*Q3t!P8c75;rscNt47Y7RZMN2L_U6#6=!2~b)8lO=&P|;4X<#82s8ifRa*il$6uw<#0vV{-;v77mr);IpDC^B zMtAzBpz*z0djFU_i*Fy-&uSgr$YdDb;D&1J*@}4g)sX2V;NtgtkGFCI4O1{|h6@j; zjXNCr<106Qhc8vsDU9U8Ie%>X$h+gJKNyL3&U_C;jIv`zkmwf`E3(iCtax|qS@8Le z_-uLexX$zOt-6jk#hK-riUn<8hUYjo0b?za5H;k&qyMAh!iNCow554jQiQpdL%LMB4liUmXU;6@D19&ZM3F(jWFaACfKpSqn)>Z=*;zPD8mO#eNKUHp5tbK7@ zyhRYExlC8oPABR+=Qs0L3C1ApU9t%7uUB*G3*8xsQ|XF~-y2H9V8ek-ujUYUd|VIT z)0OP`D?NwCpTBI%{z{5`$zIweGC~nR*HzGgzYo*_E($IS`E2w&s+op;iMDnqWcH1? zx?$*tN-1)HfPJclmv75Wg7py_`Em6MA4jhBs-nr<@gL>I-Pl)a=v}^-a#S3hzyp6G zuNyr`77-jGMU~8pb$o+Z1r}4SKO!;7+5YirLV^gKsjf*RqPkySmRYx4XkJ2e zvnjc-&Vl~H`8ulH%{R2F0kb}GG?jzWPfH+GwJ8O`zfyHkQJZ1w9Xm@7Mgb<*6$%Q*j&)lEj7cjeCegav1iWYwjO;= z5((jp%j<_VOh@UBL5rnrZ-3*u5fLj~F`y#uax{OJfl2V!cX{f=jMi+=`_`x_eqrq(onC2irdC4Q;2Ri*PF zYAzymwPd39WuvW)OS)^VaQiUSTOW-8p|Zc>v-3~}>TEf0ix>pdzN^T0v(d zE*{1}HTe$5{hzc1HKc%nVUUVbO7DF#>!y5 zgeO6&lz3iP2fk};C+6Ip@pkqm`upMW__YuE-GjqdTFO&*q1w4#!A}a*LtQ;vHN_

(z!Ep1v#0qEf?0n#^ev-DMVD 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 UEb>2r04{=*xV%_}h+)wG09#n}%m4rY literal 0 HcmV?d00001 diff --git a/theme/colored/nc_logo_rnd_nb_16px.png b/theme/colored/nc_logo_rnd_nb_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..8a52d672bd91e8956e3554547fe6b73b9566ecf4 GIT binary patch literal 1082 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 literal 0 HcmV?d00001 diff --git a/theme/colored/nc_logo_rnd_nb_256px.png b/theme/colored/nc_logo_rnd_nb_256px.png new file mode 100644 index 0000000000000000000000000000000000000000..a83201edd12e8932ffd0d3856b563c5a6558c210 GIT binary patch literal 21116 zcmYg&18`jJ8}G(W+Ss;jwLxRswrwrlpOz zN38|}T@+707G|rKrDtu9xl?T0(-OMgm$clCB+YBAA#2q2M|g?kV)UI!W7$177jKit1)CRYCq z&eT2r?XlI1B{N~Z8W*ql1-K`04icKqAP@rDe_vprv8G(`k+NQg^Ihdjk71F{ssiuH}aXF>k+BhiMuxAkN zXz;;03^z=1<9#>L#VI#gQ$n4aYP~gGEb)jQJ_i?`CC~J!coU$1DLJ-UW zViU(7^nv65ZB;AL$Yrje26o^wU<6+g#s#UyYu6rWTH*yH|L!^b{-_oJIteAYUxGM? zdXRlXN`p2wG{Ox~D&8=MQFAcLk$*3zH<~J9?S(V`{j!FDpI6DDH6D{{GRO`p6m6RV zw*g~>U@wbSnj2lJ;<(4H5>$OhYHk;4uSDiX?dNP#Ba zYIv>aE)T#{fbn&9y2;GfxssL(kIOvk;<9jJTBgALQ=& zDT+D%yj}S)jw@rCE-Lt!h_Q2mi0O-1Q=94$Yh&3)h-6h!H3MRFb94U`iM)OH(<~S} z2twv&4Cf(sP-_nKaXZ`-eNE?Y+3ITNx`y?vhrdEe`yo|6?bV3E zJiKKD8O<&0gQ0)_jmWTejvGicINz9 zVbEzZ-Lpt z#0wKp4c=8$$#K_kgl?7_nsS)zmYv|X1rrd|O@MBA4WYtQI6g$MI#kY@dV15D3#9 z4DBCOBbgx?Tq+svnSVfs$k&Y?9|P|ArVp53WAHFxWNAmk@aK55f=!@OFh6L1$u@hD zT0UhP%=31;&4$;}044|`@L8+@il5~073Hq8N@nRkw(RjH-ul0UW&A@G_TrZ{u6k)o zIrY>GJ{^KZ`d$XVfz;IaG&B!V+F5$xQZG74LNPxOg(JzY1-2s_8e_29*ao)e*+5ob zrqToLbIqnTzi5apcw)&72k*ApIwJ%O74bd}=1ay)*{ykCe#==mB*{{N?Pp~|l0)?h zhy`=cwCWKpP6D%dtOWB5C>v#CNgW~UhOw~TP(P1Bk5KLdHN5JS%y?&m8n}jKWmI-c zCVST`taTLvQJi=7xqy2!rbyr;9kGFt05!m}z0uGpsB|8)pOCNwD%ok%7xleO?mt3T z$aGGWgNr0)MwMj7ma_0Vkd*?5dUDTsH$kFf3=cFUkH~{{wD zEHQ9mDRCxH`xFrI<0TT6F@8jgqVn)52Mz`L7gaV=*=N$BQYC^ZpbvZ$cDZ+49ds&q ze^(p*wju3bMVCX9R;vv;Y2#8Hvi<n#HXSJ@P zrnntnXu9nB{nZ32>-^dpS)rJ`uC<4wGBz%FTw1f~5HopAL;b9uG{fSqMQCucv*yw+ zfE+$U@yI0Zu|LUJM{Rk9XtIQ~!co%3&O!dwM`Q<*={{6ST&yK;wCD5`Z7m(%!GwJ@ zE6|~;4gbA6x}oudL0*?0o}%qjK-=vf)Y)40@ypI;&oGrK)Q?lwVpUOe$cf??OJ%GaBG(RE|jvdAvj!i*!hH*%1kUnWyp@diwW`5>y$< zuQJK35KldQTswOZYmHl~mE4~iZ6|8@w}+-)yG9H0C1^F&*f-N!s~xOF`zI11T~KcD zp@EyG*rfH1LFQN5^STHXZhDs(Ed8)KB{O5+O6S!%IS?%YDyvC`uWS#}`fy>hgpSu( z0>7KLrACvdlaeU-=8e)Pl)mrZqn()AWubhQa!oBmY46%m8pV8;C*_7eD-IGT`cv`n zZI=n_#%PxRmS^?s9n7~pN*pvCG>e)!qm_@3`i7)$Bu`cm4RRC_h z&%WgPH6}H=d02}>+tH(Nm>H64E8Cf6h((t1`^LHiY$#tc4+r{8*y6!<1Rn9ACO=*t zeYmBZ4O4bbbh|n4d(hm2!H*h zJX6FSZ0vqh`QlHBv$mtA*jp{RZ(z$InkVIHQetogbyP4KPI2#DZtM79gcOWjI(KSm zvorr-4I<-UA|$NTXCUl;1GRU zw;y$iFVMmmck3`7Kxs!y(A)tIqd0?9K^I$o+TydXa?tpYM<4I8uiL)P zc~FWD=94I}%6hpo%=8hJztk?v4Q3?Gp}pC>010^Xs4ng=3> zI^tpv#ns35(_x>CEjIc`0{;fi^v0vUl3j5R+YV$DW`{R2&uQ+XdYaM>>-H437RFnV4$ z&dlDJ!TMn3_2py5HC^id*Wn1pT|Oe4DL($*69?-J)7bnEC=1s4e6ncMJc>|1?76u- zDs0N!Wf5+oDKUT&jwGL@Y1drSI3ghH^G5|;?*t_|czTfB9DQ51p>b3BJVvI_#0LcQ zv1Y-Q`;ScD9Zpv4B2!$WjDtkCi5`@iyxClBLv!0oW#upPK)LfQY?>Z4RXu2B+j|AD zBSZ8hyXv}64Q!c?XVL96DXdM2yJ_?@7Yz+0fJtAaXo*ZmumhTgV!J+`FSq?^c~t1i zQb=?x7ZqzwdF{Riv!9%)Bw3*E%jinWzne9~vU^2K^JttUxrESzmmO}Id^3c&%-?8k zT_%uJ#D&h;Xx=^OoW4+YeM?Q@rB*7fX3H%!xs!q1GqDn}&hf5qNW6Hmp*GQ`gzAf= zCFQMLCJ0nw26{d8cF&AN9qE#C5oW&vvGrnVO=ur|IvPXLyjq-Tq%GGhPjY3Y(yw~1 zR5aIa5wu4?MVcxwg#k2ws3i09pycl)x*W+9bJec=jC44vMgqJ)vkANWwClj%dCqzF zM}-ym_T(cj5q()`Jd>2c!Si-;K&pbCL^WUkSualPPfL*7w%J}8h(3;_OL8>l>+_j! zc(9k25<{xC)a#2-7l7KJd((Kpj-=R2Yk=QA>>O*%D;OIqp>yWGKt@nfFivvjqzUiX zQIdDiq_uN$F0{EwtC~w)TVg;hF7jGlYt%-7&lG$g()ja^18-V1$yYgAbr_~>z>I!0 zY{72btyn3Y*E$}$X4OL^JKDJkt+Ht1IZ$U9d@9&!$A{#N($u#1 z%B606=O&rEh;_D+;rq-PkqiXa(f!40;>iVax4RPh{P4~9ms>bZ!0_ng%So5}+hcq% zF7B>16xs`y#Yf0I59?uzIZ>yU+cK`4`4PV?si9^M#`5F5mK z*hXxrmke6-4s!M9C;@#l;)2VjG5HWF-eR)naS4D=r|Z9)jeSqt{D9`1QObv;HHzNpl{7Ug0B`wZM=g< z_H%rfzh~`jDvdJgc?9v!HLFZ9LZX7Izo6f~GSg^wGRI+aG3_5ATRpY{7|%Z(Q83go z^HwEw*v*F%(r6^=BiKM^Qp<^c>;E1PxsAN)Tjis}uOIt+>VhERScQ1))xIMbY$*go;HJ7FOpsPbPavIusli{n6n7Q4L(9knd^5nYtqg3{Gw4+Q^_ZWq zW9}L);(QHJQQ>5Q{*DeWFpv$ZsHEw{o$e<`;OKrmbPjCA3vkOudurL-kqY}b{f<6+ z_KJbqtSUpt%9{uuR*;^x-d_;>)bDc&KW+|v&6sms7%d|s=ZLE?w40HV4v@K(0C`g{ z>7o{2&A=IcjG5s?10BjVk_*mEHvLR+bVYX4xM(-)myD1@;bUBZ0r|Sq1U<4N2vQ4*k$$b z&cxj04Al2k*83= z{a`tM7y=#+nqnpt-ldLc2}*_{9g#__984zUx$N&x10RoI7xk@!=Sd)|{h10hwElRh zMMVAqO7!Fj0C5Gz0&1hn5rdFbC;}SEB6o-dP8kRa0Q8ge9929PO zcU~2(=uo*s7sryczrL*xtIFCE}P48K7Wy{!Dk?qw1julmMn&8*mzU0=2 z5I4T3!1bO^Rl*vlLE99f(M+fo84sRnc@vK`qbF`z=YKp&i7Yo~ zP!u0K0(+MjBS033kx^f5(o}k^#i14^*48h?)C5ZJ6zTSO#*t8fbuxj#j}6B%oH!i( z%qnv(BQQUXoar7~q^CtEJ5qvL9pYMU`^fp?cqEt{{y%|8nasUggMCDqz;B{Q=Pcer zcYmh+uqyC6!ji<%Q6DOI0VGm%kDtve4wSemJc?^F$9LGW^z&kmY85mDn;6-cH z3=7Cb!MnFAdv9{9TK=gQ>pE9S%~P%JR5+1iwrN2`K)=bIvCd!1&VqDxZS4H(;My3J zpWmu3gbCGRrbFvxvhFy`@{mei(X@4{AHbV+jV4tgJLBGG1*(}bb3g~%~ zVswF*Yk?Ke#IJ}s8%yB$V<#QOAZ^@@w6iL7fLxrXeif$&RqH9nDe69%gbAI2oHWJk zRyF#5XyIvSa+m`G-1SiWo6Rd|>;67brQnDr3Y@;E^4_C}>wp!)1MhG=g4vY3NF zO(8P<*mmPMGdU0FYa-?gcb#l!w}J!NbU+317ibGa$x@y2_5Sg+=-k2Y>@(>}D{~kd z!0XnPbRqjv;{DkcFo$%u2wpt%UsG(pyeZ~`NRt|7!`om#9mfZhogXm;=AM9NDCoaK zD(I_cEJ?1A%JAv#@aOUK`MBcjdkXfToq=!BchZ$zP?G`jhvh%We+Vx4c#$WgIqpco z;b-H>ZvP6CrPfxD4+kDAju5ao8HRgMuG26u+HXJDJhqZ}o#8d{7s1onI!MyNQWE;F zO^%)~i2;Znyvqvz<=4nLE^IxU$V8vS_rq{wKQC~{-Ma5eirC0h9z|@-6M=ibMLWGb z5vDr48P3iy{j}pCqDly1XVV|-939)g!|Hh{H)j-bsN$V(c z?R>|4iQZgR){^HbiWEH=fa62Y)&Bp|M%3VkKsCRb)Fv#gi*UNjnPL3Z4!wxv1>`|? z9Sy0)c3R%E$bJg$ESC0y&^#i?;FSsVCkTtGCD^_c3{)5`}V~O z!p%Z*^1{AO_b_{NcC+wdA>vcvI18s%FiRB`)T>bkZJ);nWGHU?7cbxrH}R~S^{q+3 z+l2QCLvVkQy6*n?dbz>YtB)L$q{RF7YH8i!cZx7~HSCrRi3ny2b^eD^ot|#bI=Q)q zBItIK8aZ0D^`g|yuhX~tn#kI*H5zNHJ_{EjTAlL&S-i#n6ZY{6uV)D(Woga=SQXal zsty~cQouD>V0g|#+4TH0^lLSqp02!Y#NC^V zb-AtkmTgLyA*OwXQ0g!9iNVxyaM6tsa`{!bV{H^gzy1$VyVps^qJjAIaiim1k=Ei8 zkLTMlcdjR8*V|KTbi1+0#{qgQ;I2(P;_r85U5%CB(Z~Pxtm~V)U_vrThHPSQsoi%J z|1IV9e3yL0g+Se`4XoJ%pT|=Qb}X7V53$6cN4wI!1}VNNLKJki+EWt3w)c~HA+t#k zAxKaCn9$bJ#rZQ`4fA4XCJ)d!@UD1%Ra@I>+FI$N!U(p+-SP|4=wBk-oc!SRyq?zB zTpjM8h39M5n;jR*R?JlI_yqo7Sin2<$mOyK8tZYrCVoyzBErXqf6&#PhP#{yhkLBoKDp52&7wkJ{&eua6IjZ!u~@l#uB_P zoiWyikf{ok!vo`F*gq_St@i z_AQ#!*JKR4=ee(fZ%f7$2{Es+uRpjSCpSE$q5oF&PX3s(Oj+R3@5&3w?zBtI-Sj1M z)Kn!|PG;0onYNKsQ`Bg%Cg!*FEb`-{OYyCp<{<$pX@?<{Ef&T@-&EqGZRs9NwPxDg zYnSK2ZoADhQZTB{M|sEk$85mPQWjJ7zc8NH7~Qw`6c*(9RG){Rl(?)W##y84O!hko zN1TU+MB=0%{dNgoSWGK-3hd+%AtG$ugqO#8u&%$v0-#Rsd(_RA?%mGMtyEW^qtk(a zmp%rX=K98&i2>>MjFsc8`6hi|EuL!Li6??6Uy-kqe|?h;`Ou#YnEz~#>R)9x&&eTF zPxRU*n_-n~x>>Si3s(Pw`BeGu7TN1Jwh-I8#ta>!3{oY(P+^uPZ#oG$cy{t#f3TfB z-3~$UlFg?=$ z@_DTT_g@tnZJi*LD`$7(GB@r>|J>l{|1Af3G&E_sy@($rO5^lEiqa9t&2+fJavV$H zs5wCJc=x zP&n;7AHTqal7;H2qi-KZuXZLnrwjO8++vEX(Xnp^f~SP=+dPscn+Dwg{VZ8oJhV1I~wOY&9nhRp^5{j$;hf~#F;nU7PY_*uOyL+RVn z%yTa-{QB!)B7OPrYt_KMhB{I}8aTZ@v@rViCZ1XrdpPmf1*V{%9E9?fNV?cIc+lCu zcN1-)E&tA`X=}{*j-aobFRwwN@Wz0YQl%rfG5xXo_kc>)ug9vmzr$W9_3G_68)87( zdo!zkWrwpdLprV;BhGoK7gn|4g(znFq8Q;iw4FI2PV{YV7a`lZ*T60l%n%}%5tpnc z^tyxBf@HFqt#eRh^AXq2h6p!(qzq<|r}qmVMcf0_>A$f-pi0VLvf&B5fA;PTg`1X& zv?#RPk1)PLL&NKK6~)7cK>;USj^MLVJ=CQ?n{kC5x}X4pxUR0er@%TeM+YpLrD`?% z!HMX>35TY~(5H(@lD;Z+8|d$Foi{SEhD-I@keh$2(ok$FnOdoZ@-1lUZ>r6gj_SiL zp$%k1xh7MAk7+(>KRQ&%AxR4#lq>p;Y=6_i3uup3?CjS^Y_V=h@uBNqI`4IuI>7c= zS>L-VU41@!dp7{xwxc;-YR50tADSVn_5Wo7+Hz>hw<=a?9L@66rIY?Rx+SEGZJwiO zms2|o)YaYXh>GX5i^{#NLCJbXhh5>vI(~M3{b=$3L*PpS{oN`a0j$JPGDB}~KTQ=w zr|U1PJ-kR5IWF$p`*7S%-r(a=q=C-in7qqPzNV;(8R?d!DhlF{7XK|+lyf4}DT9cR{8Ip_`eU_5Nxp+cJ+zoAD|e@YwD{W`kU&9D3y-X_7wk}s%VJ? zMkaY^>RIX+QIGZ;)1hbvh=TnU`kU$%6l5g4f%h3(?EUme^_QLQ((3*oztZZrMCo8? zamy*!>(km!!W1X~7ku+>W&%n!hE*HDzf*!~-tXUmdxn6;xC`u%LsL8_?u?v=^tIWS z-KGeg_5vCA=I$ko=|7?NCGNE?=DoE}9msT^!o|<9M4{tRkE<+!*x?RYEcAS7Sb-b?f zr)YEUWv|yNp0koiB(aw5qqgU9vP|g5aqJH#hXxaLzvo?`E=O!Y$qGI@P+`3rJ!a%% z>7T>hCT$Vzqj*Pu`cyAz81WX2*CSQ#fg5CF-y%$c-cGuyv%OlJH?@uH!1cY0!uX^V z6y5#9k&(%OZiXEvI#ah}al5tl@;qhkeMnHljxKjye*w`xZEM5-X{}xmmW2|=W?yb) z+eRDUPs++hvj<7<$pQixU?}f~I4RubYcW} zNs3rDP(E4xf34^rc1s8(GokG5B}^0t?cL7R&>#*Mw_T?SO=4;cc>8N0S*R(S)G$2L zKgg5Yp{J210J5YS9i}KLBonY*r2ay&eOzo)K{|$p80nzPvt}N>HZ*-{O}u}%Ibkl z$JNoXQV1?lgTGVIIV_bEaXS;%K3k58i>k*o(xg8g#IE;i-=MCMAdCPbo-e;WI9lT zZYMrjR&3A?R-*~o=khs(uwTd&GFnwUiwMdo9v%w_akE!#Be&r#oe}#sk;)w=AzB^W zgDgzOpqiT%vGK8s(y4STLUQsj#A9qnfrV%-lnooOX2vpJgCLwgG+0}UHl~`ax*x@h z1rP*91$Ss5KmZsXY^WpreW(Ex7)@!jNTblf;Hq=F%i#qwhu=Hx7=ZAHS7p$EshjAx zHE(;!MC5Siw2e8H67aHs<91AxHE)r>^|63QJm`gG&efVO);+!LL6*H5&2t!-?aue? zSTkOQ0`*c+_`O!hzH@bJb>Gag)t6OHpU!<>M}fQ61{JFDS5+3IE(idc93l2VbuwqV z-Tp1Aqc+0?9{P91SW=A3_RfYzg)~lweg3(q6f#PIWF$eE&ivNVexbE;eo_H|WGHy> z6qL}NO_XQMIqMgc;o)aVedTw?52f!%5!#U zfmc%x+_Er2fP#@6iO_oHosq5_zk-w52tzpKrWE)XNafxu0t2ZjXM-(^?)=%YHunXsw}5hi zs0$CcWr%W++`3H-QT1u-p}O8ySwG_(NUeJSCvm#)>sgICa}>A+WUpK~w)})VqAv8? z$aV$OR)<&Zj`BW0{@1E$G&ufM0F^naj{i`eo}!BFdW4$@ay!O4X{Q$Fv7>7mjU0gd zSD3~@_=L;;Mlv+r(jB=`igkcb6U=eT7$qLxK21Q*NJl~(hXrvh<)0D+JqZr56d}*d z+MxS%bw>;;yEeX{{4Evl423k)JTeryOZ;r#-tdC)ccGlLeta7`a zm$jB|ia57cQ=xwXPhMf3Wicb)YRLqDm zB=dB}DHJOBAZ$BO7SCm|kcChCJ&+Icxzdt;rI_Fug8c>V^OgbK)a5R4#ED1i%lrpm zy3+6pgnu<8^19E|672}O?zH*a-#YJo3K~g{RstqS9nK0T_+P6ULoc4?3z@K|)G4in zGN=)aTEKo|JS|M-wrhw=qCfS9$gVfkn$k02CF#zB2+6m^M{GxU>N+Q_VL2l^>V*Gl%VtCkg{|@2lTxsE|8=FLM41e$&3A@ zu=6biKdbV)Ze&olZtiil*e=VHo6!Z7CM^WrF)ugcMejFh0e9-@ zbZ!F&rfbP;r*}Ya($2}*D_XhoYfA&Y^+6#(6S-_F;QHW*x&`~Z1cI(!Uf`2_a;Jfg z;d9oi_wv(`kk@3r!52Wf{(||dHD?&`qs2Zr?icUE`*{8kQkxyk%)`@76qE`sKc}u( z4mmtM&C-K3eRTsF$b7!dtp^T*8FrsR^OZ@D(7?Oet#LMF6d)nbC(=|-U0coehk7IL(;HE{z63eiwO>uMU)hk8I8R*~imbJoN>}a# z75}a%b-eDf*DyT(+qy<1O_%LAM}%^w)~jiO7=qTm;|^2j^>GjHU-0X+A5s*Rm9e}K zK^1aXg)N>7r~nq^qezeVI@beC7~2GoL`CXkOKVJsde9)B*RlZ$4Bm7gauzPs>6y60 zC)~Bk^XJfk0MJ11I$)fuFm=oNO+)bf+<%khuguM(K%(IgO!@M*!ou{y@pImAhj4;G zu>=H1ef|PTS7x`PT|zU750FwfDq%tlX5O8^cHFSns5RKd7T$<%JwqzS$wH9_yY$g) zD>-x41rvOCuvGJ%OhkDYmisp8N0y&{lv0TQ^3ohe2Oc6Z?Z&P;iQ2Kg-z91j#g z)UiAjtH<7CrdTR8D<8x5RKTdN7EP z?ss!*Fla=$^>FWG4b}`Dy${3m?`EsMg37~&eiS$bfc}uerRF;PBzVt_`ryeQ%J_Zi{eb8^mK`%m zv&)2@d~#b3B@`Pw8220<4!0jABmsuD?2AaL+}e_!mlm9CD9d(4&~FEpFV zLM zIIdOgs71Z)>aW`&Po_{LG3qLL6+i@s8E1F z0Aw32u9qDoNOywA&&fY{9ARQNK3q z^x5x0&N^imC$MdX<@deQnjG&_GN6P%wK)ZdZ0*{1AD0zX|k(f>w z6yHJ-Bj+GGh7b>WAUYycfaA=HGMQI-9|Gu&xF9$V`j+F7lPVp($t5OxLuHYV`U67T zaHq2b-M8I?Z+%PifWF=Sly$F(p(S4D&fNR{`af>nS=HVCZ(n-!LZ|uf&oec3rx_#r zZ;44888pAyJzszXusxw$3?6xrM#r#P7RRe zoY`-j1q|@Nt34cabju0_E(d_D$;4oBo*_o43xIeb{z@lC6Q++^V2i1ajqx6m>cBUueRj^55PmYRz*XAc zDN6N&sJj6getQIw|Eu>a;PTzdThq4MsUBpMJ>z4?T)UVD6!X3VV!uRB16(XV4xp>x z11JDp5X%sdp}jemifjoeF+w_pGbFwPhT?$c_i)}%fb$IzrV%O})J5Q!D+2e%5}J6e z;wGSrPguldEkBpjZ5Uq&1*c(n{*|4h5#;+r3|VZNLGwA=kMS4kie7_`GJk_!o- ziJ?IwesBKY$@n3yx7kw<4rck0%@uS=nO$OEq>8>zsqhXN1G@vlQrmCE>Csx!*m)yW zAt2k9Xxn^kfq4&LNv#ulz%DOwlbUa-P~oHC=LD?epFqCI&OhT)II8LfTla%o_XGRv zEQ6k5$)9=R4N*<8JFD-Znfc}!Q3JXl+Li&L1_2u+#k6VyKQv@a(d?QM?JndH?AjMG86Wg&m9a0DP+(MIj8i4>7I<~hA?#x(c_dJLAGozR)qW~ zqN64do8}py8Q0+*4+NX96^M4JUsP-LomIaUy9k&{nE_*b0m@2R1mNym$rNZ+T2W$qkx?EEF$bF${O%j7%S2nJX?NOE z&2ryJu*1ncEPV!Fx1~5c3%2FKx0xH7Bw~c)q=fZKj z+`{qDAu|$e`B@G^bMicUlhX|~&c(J_rEUt05M2nv{C<5pOKSn{J23$WVi19F{a1!` z3m}?w*=Yy`@Q%L&thXaTc~<{))87P7Rs!PIb7ki$JmflRaW@w6z-`XYpNXGV3czJw zRI0+|R1BE0h_AXy`D*PSAZHN1h$_7GI(_*Hb&X7>#WnK-73#9Z4CiWC8SbBw>6Jln zxnDh(@mFcIz9%T#N-j%+;f7~#dA}DUR)Eww%)N&_k1B6Gmw}X>{#(R=$H)oezcWoR zmWtS|uh{of_BIOK=dyP1zut3>N6T=K76)8?Ku8Xf_G_gohHs(_Wd`w=xGM-L?bfcD zGIkW=SWJi%%dj5Ex!Qj*Fszl`M%YoxcPXLA1Y?E z_?LXr>b4;95_!Nh>-f4D2Z*a|?^2lJ^w|OttE{t8>F0|KM+s6a#)qPNwo+>TIh+)E z*lRn3j-*E+u|tECA-gbX`x~WTauUklD)Xgx1WZU@WNCqEkKKl(7>gf~z`V?B2if{< zF`3UrDq&w8DO@+t1fi^mMI)>PX5h!ROIPnHuDKdi=@=~#6T!YI$YjGi(^cV~4a=j3 z1u}%s{a`)`O^d~>9VE$ZCtMD+^odf*S;84p0&W>eS9V7b{yd|BsM3y5r!FsioqB3M z{xJ6KN5oV6*vkoYdTkW>Mzv}ps_F;BvVwY=IjDPDu)k*{64w}b;6m9I6o%}?>+k}a z7UjmLx8sQcuYL#Nz2bQXxvJ|GB=3Tq&}t#*5;gGDzr}0uG3h4wqVQwW1$hNJaPdaR zT$+vT1|2n$+C;X_sD8ZEKX!UCtZL=e!WY6;;FuFvpl!#u{{k`j zKZZQZ$OOt|Nq$jc@D3W&GtNyK<}}jd!VWk~4VeAGwx|MLrbd$LZnh_GSZ8sIWS%8G zaUBcmqEjD?YqFDxasaSS0HC0J6c5C(OMyq`oBw?mXJof9bB{2!oImq7e`Yy<>PcbX z2Wq(?4f^Vn3G<-;&2nTUeWxp>J}3NDU6B|7s^*yx}xGZH>Lk(b_ zF7%^SAJ;mF-PIP>6Eso&oY32>+i@$81O5FPK;jfg-t9_;>^P9-r%jpuHwKfZ)JNj6 zPGoGZ@5W=7>mWs{s=Nz24cyp`QWEKp?MQ?DG(`990`E_H#dZZ~y&3Gqc z9w27Q38eVsXbPd(8BqchgVE~Dj1n|&`RgT)+1lPi+_qf1ee2JE1CgqomYAkRp~IKM z6|Y}_1)F-nLrF;)Vn}seypqAp2a$7#@HSd8$-=@ygRY;7ozKITEW6hh$OJ)m;!eIuu8Thms;2nz=KU7Gz-Jf}54D8qnelWXy>F0Etub@_I$t&q^~$ z+*mVvx)4=#YIhCfE2A~J)L|}zvwi!>HY$P|FUhejmBxX)20}fy8A5c{Lgjp zeE%h?Mq5i8;RODi^<&tSIG;l6wN{Ygx&HJ8v$&5d2WVBQgZD?74NM}3Ua4yRg%;uiS2J5)v-s&eeAEl~0 zIL*a4W>atHlpg$Eg@G)+x~gffmg9P6{IP-G<1~KX?ysJPT{@PDCjK}u%Khsc2+?-6_{+pcXxe8cO`J5ILM&STN24k(oUQ(q+60p<1Xx|8b%6%p zk=;)~nBznGOE8ai*E0@Ka6s25p1OVgy1cAS41*Pn*f#71= zU%D>|IEaNyFzW(2)jy``5DsH0!pRf0t9A4`xs3BQnMu)lrvl9pTVlc`#et}p%^8xc z;8zR->WuBu$$*`3f&U7)03q=gzL`a!r7IJFO)Nt|d9*SW@JUM!!>_&mOq+WKe6o|t z?uOmsz!X5@6VCRNd@Uy8XMdP@=6^S=as;tiKH5Sy8Ag3$VHt_oApQND=2!fb+1K9~ zPEtNVTo#aZOC2ROAOj2Xn9-%KM}_Th{3sNK(TS5*zQ#c|O)vf>J3`3~ax67l^WB0L zG+Mrwk-=mJx00%J(3$-4eZn5-hb&}_Ci`fwk;1WoOKdEfHPj_D{+`%x8{NrKe^VTR z1>=g(+)taD@&`4fYWR0yN33iVhX^xo(7tZBH#6F=G3HzAA-GwO*c!V0ZJ6bJxgtu8#nxE5irU)Ec6JGZOKA zWN~@qU>vxS#0m!u+YMznf#PiaNZb^0m9lml$DNG+QNRe}#+ICL^t^N_*bh>;4PnYi z;+obTF~D4F0R}AFm(j@6RCc>@8X7O>KL6BH3Du{&ZP|94-#J}CN&SzfS!*G`0B;49 zbKNTkT0lMt@xA5H41DkVifl%WoRHb{KkE4x0O7fv{~lf}TG~jt z17YY-FX{gspJR_cX`RTbI9Yf^`LSHBII;pzMPMjz!UJ-T709HgIf9>=y>)5}gQ!kOs;f(swChUuL1FzW36E+t|7k-*>Ij)E4$6K5Q`Et~!-f z*3^y0J$Ofe+t|uv^R!TPdY>V(1TC2vS|$ObBn9h>pEHZ0_NKnTnM_r$E&@(!w5Adw z;LNyf>}Hv|MIQc>2dSx?Y~h!eH7;1)6P91jFVMoLap@E)k5Ws-i3W;ohP38s>sc;U zwksd}DalggB2MN7&-oBkWkVE8SPC5~5-7lrAKtw^5pNr$IADcRpDb~2^nX32=;Lv< zN!p*PXl@h)Ur%d3V@mF+ct?6LE|lEtLga9qseZk4p}t@miUeZ$|Zc-vnm`rA^>cOX8Mz#dMMq||YP z{;Nrv?}!_+Fn`$NA5zV(SezlY1?*wBOPjUPhYzPV(<30pDM$(XljVMaW4Ib9U$Wr# z5YV@)a^Y+_L{rf}%g)mz*-K4SQjkI$+`s(O6Pii>*CgJ%;!gH2Bdl;TAoPhcq~dpy zlns0Q>ruw@ri^XrP;r+~f`FmNIBA}NXcH^S8Z!%)$^<#~SpA+LocuV;zb7JZng??( zaqSXMDs~F6?+?)Lh<=UW4w8+0%{(0js2pqHjyVYQCH%kt3-HcH2>IUAlJ!e+Wq$jm zmyc^fFujrNuE61&+(oB$;1oth2PzqcM%}Qr@*c=YGA3rQPVJ|owiqDIE1jt9fq;RF z2gKldIo0%b&Lq`kAWIy)Yc-JC2MnHgFO^&4XQ=UX28vhMp?8PVYC$ zsX_Ddmk~|Z|2G%T`_9|)UxrPe z^H!7&RQAvT&coVvkT{jG3IC;@2*6o&4lymW4Pb{ZaxQGW#HHl$n zOi5<+#n{ty6kw3~|8#KW@lbZ}duFT|+xuFgl;ti#wU`!JRm6f#J* zkfprHz8j;GrEE<#vW1j&WJ+ZniJI*6JN^DXpXbcyGtYUhbKTc{T{pv1^5!qba%$J+ za%Fp3;DrJMmQ=}1xYpW4T&v$TYX*qT`1nQFfY^+F2Zj3k!rPzM6cshLGYo`oAzZnO zwLddun~B%5&Kg27l%^2iwitNuV5F`0b-%Lln-UNb**i$stXDBBOnY@2YTdLeMROyY zr;I0ZkrA}4>$)J#?0M~QNr>tLlI57En3CSe?Cr}F5f3w^Hl7{6K^$!x3$-uLEPMnZXI}9h-C*y_JIq zO9gerlINp4uMb7JT$qV<{L#`_IimHwwj8p1hi!Ko7PKKd?9rSjIz?cNfgS`9G0PX zElIKgf3}+k0-pKW%#=DtpWr|?&?!_Be}q`jvzmQ`)lf}{?|290x>@}=(#5lt*Pjqn zX@TMzja9RuWnJ@ZmLsmkpA%+p(5Yp#syl4pw8fvoUA52$x2JEsv~BE%sym?xt|nWlxF@uN4VN&2s_z`_1JL^OD*xOV7m^7TIjt#mwiZX zM9BF!%?UUByez{?^wZyck8`>TY^BcJw|?mHu<|pnuwCMXp-vKoJYxtwz)0|(Y5+eUPbH|pVYdfzYq>Y$>E3SzbCOw0rdXj2!=(}79&m)i7DubidkI~% zytXi|NeziphYqa=>AYmV49fo}Nnxyuh5QpH;IsKcNqE8*6SnIv+3JY1LxCHua?q_X z5P7;BxvG6dkrDj|7FBG$>JAmg7W!rrXjp@gk|DZGvS#ko8e_DcrWYH55%Xuw*aO>g z7DDY`tIf`*-CffsVS}F9{VPgeAdO=Es+x0Q10GU)~bg{wv;e71Z|H}0B^9X z*Kd~|c(By;10IKsN=)LeBtjsJ=v?R~lzA<@o9-dL70XiE!z-9CftF0zC-Kq8vu%GD zqYfn-#ZI z_H93QX(L#0!9NiBw6o=xTtU0{l;Mbj12@DPR<^5SWP2OfCH(wA0#Owq;^-ePP@(kn zp&6h;?w#<39FvY`^`QB#<1T0bl79{3rfIC(M}mg0$Wu}t1LXf{rhB{~!N;IVSJ?Yg z$pPBcIRJ$9;nbu#|1aeVb725E6m3XpM%gQiaLU^T7!x9 zhtkuAA3nK35IhhCED!jHD>}PCZA}o6Nw24Y4ALMG1J!xaZJuyxU95BG76iC~ytOKG ziKz-=K=K*Zgl%d@5`X9%j0`fMA_|w6xL|VzPJWyb8cH|3N(D$u%`CJSAC*EP6g{na zlc&B-Z^IKkKQZvtUfXA&Afh{FDymCcFriNwnj^}SE%lW#ZeP#UdvOF5bX=2gQA zXgm>(?MCONlwzDiAahL`ay2D)43a7T1Tw?KvY7__L-8h5G zIURqOT``H}qi0EW&fe_lY5YdX7%;a|(RMy(wN7{$a$N!fYC=vT)eUWNs`0bmKgzV1SNGoqcZNC{ zlWgOVY%}swa;kMt)7?QVqEuxod4Mm``28c)fAMG&`}ckl=|Akkn%{piP9TVFF zdT#!6xR@=^tgXD2gf69TfA+6^z1^vx^P;2vtGL;3>JWg?f9|x&M|AY+<(&niT%_`? zhW<)5D?+RX&C3FGRE0(_2xrbbB!ga;?(XXk+^H}r&;>&GOd@D4Oe~|pK<(657N1WF zaYM+cQSmF#DaWIR2ckufc|LgQfekSW6%gaZ&&y2yl zY%ia7{kXSpki$}zhldM=LQhaf+<3vbzKSI z(x;Z8w+($CkC@0V6m}W_uEhE~KmP;1m$a}pYjwmasf(j{l%uv-%S|fWxLURV;rlLU@-cT5=hs`USU&RUfti6HR*{$C}*d4uHxC)i_%I5gzmYv1gH7TA7RK zUD!8JoBuaYJgmPY3cg24es8dFxgy$dZ{4p}Xx$#jQMY*lNPPm~m z?obn1Aj)Rn&+y>diF-oS-FfvRCFWoyS6~+l7yba4!>-}y!kVGteA!JeCeW#?tjg=| zT_U!b0+0FO(BQ>7au22iJq7R6(!&7CW{vnLU`R^YPyB4-s{rK)hpH#?ZIWeXl_?zk}L1? z-kE!`vLZjY$C3Z}O9$oa~e-^g%TT3VW4KcSUX^G+g!A>rUYt@^G`+B#yNCq+6%edK4jckb&q z9H00(3{LD-Rg1g*r%a1;FxDR4RgZ=b&SI&ba)}un+xd2ogbJEZ-mxrZ9`0}?bnUsy zg+nlgRHL$SZ(2F8jKpspS=05qFz?~wMIH7!@Ff)c!qWz_&r2gA2}yW!N-K9KjY8AP zkYnV~6=%pAr(8%0=}vu9PDhj*?Yz!zt5!Q?r6#n?iLfm6CWMilu4Utu?uA!Tq&A2( zq$N&GS`w`(*$H!A*OA3}yA!vtqHXYcEZjdx&4rrGMdDgRLpP%6&KGJs{UFBOt-{ zl_CgY7u+ld(-g#0%{c1#Brn?ClFG+#dHgSPyQoH?b<0SW>+^-=?syvVv%qH~vqjyL zi3TSw+N~YN@p^E?gTDzKIl1}$QQ)!5s|2zbrf<(tCC;JaScHHKcl2>%8()47H;CK6 z&59j@Ro3@lkB=rf-L582#A=|+TcP()exTu!L}E+=*29k@A?+5b0Vn+XF>-Cf)13k} z-|`^bv4LdiBz(cJL9YK%BqTCC#}$G8)n>a@35)4aciNAkL*uHjdC*F?VX zotF<`SH^>FmBi2f(<+dGs_)$o#DT#E8Y?<>J_<_n43q%VzvexPAs)&yRYw zPrlIp8TEz8n6-`n3FBQP>du587#c@Mqb*4jVB{Bdtd?AQibI8>0$1(bW%qw|qr6*4 Vf?U^)022%$rbZaU27@bc{|DnY`bGc% literal 0 HcmV?d00001 diff --git a/theme/colored/nc_logo_rnd_nb_32px.png b/theme/colored/nc_logo_rnd_nb_32px.png new file mode 100644 index 0000000000000000000000000000000000000000..bdf479dbf637a0d56d3b54cdba65315dff0d45c5 GIT binary patch literal 2233 zcmV;q2uAmbP);HeTGQVr7< z9v7Zmu??5Egqze?o1n^PNAI$}uF0AZU6YX}=l1_^U#&!cU!i(k5Go!W=d~RwHzB{_I3EX&lRt#A2RP3Z z^OyHw;7#<6qSm$tzBM?#C~EO-I9rG2dn0DXzNIpm-b4akj-fsZjaN`JU+CG-IY)O8 zS(UH4gq>aJka*w17fj7(+L4k`5C8xG32;bRa{vGf6951U69E94oEQKA2Hr_TK~z|U zwU=FRRaX_qe|w*OKJLx^OhOV!Lm({)Uj^D?gX2Ss+H4mI&1H>)_)1+i_R_qtOdRbtO6DlAAo-spHsk}fD?4I`|~j?=CN@EcpmsB z&AUh9rXA?)l1azdoAdlF+GpxgB^|{`)}3XgI;0q$oGrTrybFA-bSI|nfNhAU zl@wcyVyH{rnMV0NwJOMN0b7A>rI)}`XIDf?&NW8u`rfhJ)JiE}Ny6sBNUqGv|A>Cz z4m#S?r3gIlYU;11^0QWHAFhn&%d|_d4T1d`qG1Tp&|2;M7(f&&+(n8-rV^5l!cl^- zDY>3;`R@99o?27OvKkwJ^TRp*&^^R24__r+sF?0$kb)lV(<12XS_>SXkJ4>1i@!d# zg4>gJ#qXEK^4#~vX?jNIePnAD@X$=jmSqWk@c9Oo*MvCImtxPy!|d)JB5X=N_<9?+ zCvCJ3zdv@34=;@417BPcp~<$N-6>((Q>3O#iXkVDapH!wDRW3>wKj(Nz^j%e4mj?kJ_-}fh93^cMnzEWYf|Z z0Haxts4a~6Jf4ek6INQihxD|@bb|Cdd6~7X?XZbinmWsr{Q2E33_zzd>rVT$g}#@ zll<^6m-*y+7FYXtzR%gAEZYzDvGSD@^o-_+I|h!DG)66?2zo`PpvikaQQIh)>&X=K zze?Tk1)y_2PRxX52n3MxW^&HB?emQXoW-4Kt(TX&+bnn1&e0 zd;WhN&E`9tK1VQ|E-8s)c2H~_CFoBT$a_KFSBDhfUmltCUTcb5J4&~GF3g|O2IO@O z!Lh6iDRG-^$VG+}jAq@w`YLm9Xwp4V9a4L*rV7XAJD&dsEG~#YFN4Tu00000NkvXX Hu0mjf4)r!g literal 0 HcmV?d00001 diff --git a/theme/colored/nc_logo_rnd_nb_40px.png b/theme/colored/nc_logo_rnd_nb_40px.png new file mode 100644 index 0000000000000000000000000000000000000000..84ac41e00e33e0385ba283f93b103fbd4eb359f4 GIT binary patch literal 3940 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 H?_>V~7-x^i literal 0 HcmV?d00001 diff --git a/theme/colored/nc_logo_rnd_nb_48px.png b/theme/colored/nc_logo_rnd_nb_48px.png new file mode 100644 index 0000000000000000000000000000000000000000..0ae67b48e6d216aa381af62dc2a09f463477243b GIT binary patch literal 4637 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 F{{cB4*CPM` literal 0 HcmV?d00001 diff --git a/theme/colored/nc_logo_rnd_nb_64px.png b/theme/colored/nc_logo_rnd_nb_64px.png new file mode 100644 index 0000000000000000000000000000000000000000..32be410efe7c133308de75e2c10fd34bfff3efa9 GIT binary patch literal 4819 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 literal 0 HcmV?d00001 diff --git a/theme/colored/nc_logo_rnd_nb_70px.png b/theme/colored/nc_logo_rnd_nb_70px.png new file mode 100644 index 0000000000000000000000000000000000000000..b18bdb2dc7d84fc1cd09ec1568bcaa50193c7fcc GIT binary patch literal 5301 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 Hu0mjf^E*4^ literal 0 HcmV?d00001 From e56b1a082b166acabc694202ae3ed1b02b6f4081 Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Tue, 3 Sep 2019 10:56:47 +0200 Subject: [PATCH 163/192] Updated .gitignore to integrate unwanted files when working with VSC or VS2019 Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- .gitignore | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.gitignore b/.gitignore index b16e70a67..27472ed92 100644 --- a/.gitignore +++ b/.gitignore @@ -15,9 +15,18 @@ cscope.* tags t1.cfg +## Ignore Visual Studio Code config & environment files + +.vs/ +.vscode/ + ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. +# CMake integration on VS2019+ + +CMakeSettings.json + # User-specific files *.suo *.user From 2e243e5a38e5d777506c3ab1d2889b8cd9e157ab Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Tue, 3 Sep 2019 17:19:20 +0200 Subject: [PATCH 164/192] deleted old icon files (not sidebar logo files atm) Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- theme/colored/1024-Nextcloud-icon.png | Bin 345325 -> 0 bytes theme/colored/128-Nextcloud-icon.png | Bin 17488 -> 0 bytes theme/colored/16-Nextcloud-icon.png | Bin 850 -> 0 bytes theme/colored/22-Nextcloud-icon.png | Bin 1190 -> 0 bytes theme/colored/256-Nextcloud-icon.png | Bin 52351 -> 0 bytes theme/colored/32-Nextcloud-icon.png | Bin 2056 -> 0 bytes theme/colored/48-Nextcloud-icon.png | Bin 3725 -> 0 bytes theme/colored/512-Nextcloud-icon.png | Bin 137075 -> 0 bytes theme/colored/64-Nextcloud-icon.png | Bin 5731 -> 0 bytes 9 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 theme/colored/1024-Nextcloud-icon.png delete mode 100644 theme/colored/128-Nextcloud-icon.png delete mode 100644 theme/colored/16-Nextcloud-icon.png delete mode 100644 theme/colored/22-Nextcloud-icon.png delete mode 100644 theme/colored/256-Nextcloud-icon.png delete mode 100644 theme/colored/32-Nextcloud-icon.png delete mode 100644 theme/colored/48-Nextcloud-icon.png delete mode 100644 theme/colored/512-Nextcloud-icon.png delete mode 100644 theme/colored/64-Nextcloud-icon.png diff --git a/theme/colored/1024-Nextcloud-icon.png b/theme/colored/1024-Nextcloud-icon.png deleted file mode 100644 index b8c89ee03189351ef87757282810de51de20cfcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345325 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�vLEa>Z! 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 IkTwnaAKgk5UjP6A diff --git a/theme/colored/128-Nextcloud-icon.png b/theme/colored/128-Nextcloud-icon.png deleted file mode 100644 index c97f3680759394f7a0996030f31b4896abcf7188..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17488 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 Eg798TbN~PV diff --git a/theme/colored/256-Nextcloud-icon.png b/theme/colored/256-Nextcloud-icon.png deleted file mode 100644 index 11b0833cac13e067f7425d988d55da98538fab04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52351 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 M07*qoM6N<$f>dmt2LJ#7 diff --git a/theme/colored/32-Nextcloud-icon.png b/theme/colored/32-Nextcloud-icon.png deleted file mode 100644 index 052da904e09659ff49eee37814339469ce29feb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2056 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 diff --git a/theme/colored/512-Nextcloud-icon.png b/theme/colored/512-Nextcloud-icon.png deleted file mode 100644 index 9f40c76cfa593b71380490b9327e77f355620a5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137075 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 z 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 z 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

Y8hwK`2{S3b7?UFj28 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%0Am1D&a8Rt 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 diff --git a/theme/colored/64-Nextcloud-icon.png b/theme/colored/64-Nextcloud-icon.png deleted file mode 100644 index f11f36320d32234c0081a0a6acbf54ab032f6e1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5731 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 V!{9RGvaA3A002ovPDHLkV1g$_D@y Date: Tue, 3 Sep 2019 17:25:05 +0200 Subject: [PATCH 165/192] Updated cmake module to current version (esp. worthy for newer windows versions reg. the sizes) in https://github.com/KDE/extra-cmake-modules/blob/master/modules/ECMAddAppIcon.cmake Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- cmake/modules/ECMAddAppIcon.cmake | 178 ++++++++++++++++++++---------- 1 file changed, 122 insertions(+), 56 deletions(-) diff --git a/cmake/modules/ECMAddAppIcon.cmake b/cmake/modules/ECMAddAppIcon.cmake index 6932584fb..294bd8b20 100644 --- a/cmake/modules/ECMAddAppIcon.cmake +++ b/cmake/modules/ECMAddAppIcon.cmake @@ -8,8 +8,8 @@ # # ecm_add_app_icon( # ICONS [ [...]] -# [SIDEBAR_ICONS [ [...]] # Since 5.4x -# [OUTFILE_BASE ]) # Since 5.4x +# [SIDEBAR_ICONS [ [...]] # Since 5.49 +# [OUTFILE_BASENAME ]) # Since 5.49 # ) # # The given icons, whose names must match the pattern:: @@ -27,20 +27,21 @@ # # ``SIDEBAR_ICONS`` can be used to add Mac OS X sidebar # icons to the generated iconset. They are used when a folder monitored by the -# application is dragged into Finder's sidebar. Since 5.4x. +# application is dragged into Finder's sidebar. Since 5.49. # -# ``OUTFILE_BASE`` will be used as the basename for the icon file. If -# you specify it, the icon file will be called ``.icns`` on Mac OS X -# and ``.ico`` on Windows. If you don't specify it, it defaults -# to ``.``. Since 5.4x. +# ``OUTFILE_BASENAME`` will be used as the basename for the icon file. If +# you specify it, the icon file will be called ``.icns`` on Mac OS X +# and ``.ico`` on Windows. If you don't specify it, it defaults +# to ``.``. Since 5.49. # # # Windows notes # * Icons are compiled into the executable using a resource file. # * Icons may not show up in Windows Explorer if the executable # target does not have the ``WIN32_EXECUTABLE`` property set. -# * The tool png2ico is required. See :find-module:`FindPng2Ico`. -# * Supported sizes: 16, 32, 48, 64, 128. +# * One of the tools png2ico (See :find-module:`FindPng2Ico`) or +# icotool (see :find-module:`FindIcoTool`) is required. +# * Supported sizes: 16, 24, 32, 48, 64, 128, 256, 512 and 1024. # # Mac OS X notes # * The executable target must have the ``MACOSX_BUNDLE`` property set. @@ -101,7 +102,7 @@ include(CMakeParseArguments) function(ecm_add_app_icon appsources) set(options) - set(oneValueArgs OUTFILE_BASE) + set(oneValueArgs OUTFILE_BASENAME) set(multiValueArgs ICONS SIDEBAR_ICONS) cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) @@ -138,9 +139,9 @@ function(ecm_add_app_icon appsources) endif() - _ecm_add_app_icon_categorize_icons("${ARG_ICONS}" "icons" "16;32;48;64;128;256;512;1024") + _ecm_add_app_icon_categorize_icons("${ARG_ICONS}" "icons" "16;24;32;48;64;128;256;512;1024") if(ARG_SIDEBAR_ICONS) - _ecm_add_app_icon_categorize_icons("${ARG_SIDEBAR_ICONS}" "sidebar_icons" "16;18;32;36;64") + _ecm_add_app_icon_categorize_icons("${ARG_SIDEBAR_ICONS}" "sidebar_icons" "16;32;64;128;256") endif() set(mac_icons @@ -151,60 +152,56 @@ function(ecm_add_app_icon appsources) ${icons_at_128px} ${icons_at_256px} ${icons_at_512px} - ${icons_at_1024px} + ${icons_at_1024px}) + set(mac_sidebar_icons # Sidebar Icons: https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/Finder.html#//apple_ref/doc/uid/TP40014214-CH15-SW15 ${sidebar_icons_at_16px} - ${sidebar_icons_at_18px} ${sidebar_icons_at_32px} - ${sidebar_icons_at_36px} - ${sidebar_icons_at_64px}) - if (NOT icons_at_128px) - message(AUTHOR_WARNING "No 128px icon provided; this will not work on Mac OS X") + ${sidebar_icons_at_64px} + ${sidebar_icons_at_128px} + ${sidebar_icons_at_256px}) + + if (NOT (mac_icons OR mac_sidebar_icons)) + message(AUTHOR_WARNING "No icons suitable for use on macOS provided") endif() - set(windows_icons ${icons_at_16px} - ${icons_at_32px} - ${icons_at_48px} - ${icons_at_64px} - ${icons_at_128px} - ${icons_at_256px}) - if (NOT windows_icons) + set(windows_icons_classic ${icons_at_16px} + ${icons_at_24px} + ${icons_at_32px} + ${icons_at_48px} + ${icons_at_64px} + ${icons_at_128px}) + set(windows_icons_modern ${windows_icons_classic} + ${icons_at_256px} + ${icons_at_512px} + ${icons_at_1024px}) + + if (NOT (windows_icons_modern OR windows_icons_classic)) message(AUTHOR_WARNING "No icons suitable for use on Windows provided") endif() - if (ARG_OUTFILE_BASE) - set (_outfilebasename "${ARG_OUTFILE_BASE}") + if (ARG_OUTFILE_BASENAME) + set (_outfilebasename "${ARG_OUTFILE_BASENAME}") else() set (_outfilebasename "${appsources}") endif() set (_outfilename "${CMAKE_CURRENT_BINARY_DIR}/${_outfilebasename}") - if (WIN32 AND windows_icons) + if (WIN32 AND (windows_icons_modern OR windows_icons_classic)) set(saved_CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}") set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_FIND_MODULE_DIR}) find_package(Png2Ico) + find_package(IcoTool) set(CMAKE_MODULE_PATH "${saved_CMAKE_MODULE_PATH}") - if (Png2Ico_FOUND) - if (Png2Ico_HAS_RCFILE_ARGUMENT) - add_custom_command( - OUTPUT "${_outfilename}.rc" "${_outfilename}.ico" - COMMAND Png2Ico::Png2Ico - ARGS - --rcfile "${_outfilename}.rc" - "${_outfilename}.ico" - ${windows_icons} - DEPENDS ${windows_icons} - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" - ) - else() + function(create_windows_icon_and_rc command args deps) add_custom_command( OUTPUT "${_outfilename}.ico" - COMMAND Png2Ico::Png2Ico - ARGS "${_outfilename}.ico" ${windows_icons} - DEPENDS ${windows_icons} + COMMAND ${command} + ARGS ${args} + DEPENDS ${deps} WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" ) # this bit's a little hacky to make the dependency stuff work @@ -216,12 +213,67 @@ function(ecm_add_app_icon appsources) DEPENDS "${_outfilename}.ico" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" ) - endif() + endfunction() + + if (IcoTool_FOUND) + list(APPEND icotool_args "-c" "-o" "${_outfilename}.ico") + + # According to https://stackoverflow.com/a/40851713/2886832 + # Windows always chooses the first icon above 255px, all other ones will be ignored + set(maxSize 0) + foreach(size 256 512 1024) + if(icons_at_${size}px) + set(maxSize "${size}") + endif() + endforeach() + + foreach(size 16 24 32 48 64 128 ${maxSize}) + if(NOT icons_at_${size}px) + continue() + endif() + + set(icotool_icon_arg "") + if(size STREQUAL "${maxSize}") + # maxSize icon needs to be included as raw png + list(APPEND icotool_args "-r") + endif() + + foreach(icon ${icons_at_${size}px}) + list(APPEND icotool_args "${icons_at_${size}px}") + endforeach() + endforeach() + + create_windows_icon_and_rc(IcoTool::IcoTool "${icotool_args}" "${windows_icons_modern}") set(${appsources} "${${appsources}};${_outfilename}.rc" PARENT_SCOPE) + + # standard png2ico has no rcfile argument + elseif(Png2Ico_FOUND AND NOT Png2Ico_HAS_RCFILE_ARGUMENT AND windows_icons_classic) + set(png2ico_args) + list(APPEND png2ico_args "${_outfilename}.ico") + list(APPEND png2ico_args "${windows_icons_classic}") + + create_windows_icon_and_rc(Png2Ico::Png2Ico "${png2ico_args}" "${windows_icons_classic}") + set(${appsources} "${${appsources}};${_outfilename}.rc" PARENT_SCOPE) + + # png2ico from kdewin provides rcfile argument + elseif(Png2Ico_FOUND AND windows_icons_classic) + add_custom_command( + OUTPUT "${_outfilename}.rc" "${_outfilename}.ico" + COMMAND Png2Ico::Png2Ico + ARGS + --rcfile "${_outfilename}.rc" + "${_outfilename}.ico" + ${windows_icons_classic} + DEPENDS ${windows_icons_classic} + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + ) + + set(${appsources} "${${appsources}};${_outfilename}.rc" PARENT_SCOPE) + # else none of the supported tools was found else() - message(WARNING "Unable to find the png2ico utility - application will not have an application icon!") + message(WARNING "Unable to find the png2ico or icotool utilities or icons in matching sizes - application will not have an application icon!") endif() - elseif (APPLE AND mac_icons) + elseif (APPLE AND (mac_icons OR mac_sidebar_icons)) # first generate .iconset directory structure, then convert to .icns format using the Mac OS X "iconutil" utility, # to create retina compatible icon, you need png source files in pixel resolution 16x16, 32x32, 64x64, 128x128, # 256x256, 512x512, 1024x1024 @@ -246,8 +298,11 @@ function(ecm_add_app_icon appsources) WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" ) list(APPEND iconset_icons - "${_outfilename}.iconset/${type}_${sizename}.png") + "${_outfilename}.iconset/${type}_${sizename}.png") endmacro() + + # List of supported sizes and filenames taken from: + # https://developer.apple.com/library/content/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Optimizing/Optimizing.html#//apple_ref/doc/uid/TP40012302-CH7-SW4 foreach(size 16 32 128 256 512) math(EXPR double_size "2 * ${size}") foreach(file ${icons_at_${size}px}) @@ -258,14 +313,25 @@ function(ecm_add_app_icon appsources) endforeach() endforeach() - foreach(size 16 18 32) - math(EXPR double_size "2 * ${size}") - foreach(file ${sidebar_icons_at_${size}px}) - copy_icon("${file}" "${size}x${size}" "sidebar") - endforeach() - foreach(file ${sidebar_icons_at_${double_size}px}) - copy_icon("${file}" "${size}x${size}@2x" "sidebar") - endforeach() + # List of supported sizes and filenames taken from: + # https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/Finder.html#//apple_ref/doc/uid/TP40014214-CH15-SW15 + foreach(file ${sidebar_icons_at_16px}) + copy_icon("${file}" "16x16" "sidebar") + endforeach() + foreach(file ${sidebar_icons_at_32px}) + copy_icon("${file}" "16x16@2x" "sidebar") + endforeach() + foreach(file ${sidebar_icons_at_32px}) + copy_icon("${file}" "18x18" "sidebar") + endforeach() + foreach(file ${sidebar_icons_at_64px}) + copy_icon("${file}" "18x18@2x" "sidebar") + endforeach() + foreach(file ${sidebar_icons_at_128px}) + copy_icon("${file}" "32x32" "sidebar") + endforeach() + foreach(file ${sidebar_icons_at_256px}) + copy_icon("${file}" "32x32@2x" "sidebar") endforeach() # generate .icns icon file From b79a82cc3f99f867e1a6e19f3babef0fa2fde01f Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Tue, 3 Sep 2019 17:54:22 +0200 Subject: [PATCH 166/192] Updated AddAppIconMacro (esp. for new macOS retina guidelines) and corrected filenames to not change pattern in cmake scripts Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- cmake/modules/AddAppIconMacro.cmake | 18 ++++++++++++------ theme/colored/16-Nextcloud-sidebar.png | Bin 260 -> 0 bytes theme/colored/18-Nextcloud-sidebar.png | Bin 295 -> 0 bytes theme/colored/32-Nextcloud-sidebar.png | Bin 421 -> 0 bytes theme/colored/36-Nextcloud-sidebar.png | Bin 482 -> 0 bytes theme/colored/64-Nextcloud-sidebar.png | Bin 766 -> 0 bytes theme/colored/nc_logo_rnd_nb_150px.png | Bin 11579 -> 0 bytes theme/colored/nc_logo_rnd_nb_70px.png | Bin 5301 -> 0 bytes ..._nb_1024px.png => nextcloud-icon-1024.png} | Bin ...nd_nb_10px.png => nextcloud-icon-10px.png} | Bin ...nd_nb_128px.png => nextcloud-icon-128.png} | Bin ...nd_nb_16px.png => nextcloud-icon-16px.png} | Bin ..._rnd_nb_24px.png => nextcloud-icon-24.png} | Bin ...nd_nb_256px.png => nextcloud-icon-256.png} | Bin ..._rnd_nb_32px.png => nextcloud-icon-32.png} | Bin ..._rnd_nb_40px.png => nextcloud-icon-40.png} | Bin ..._rnd_nb_48px.png => nextcloud-icon-48.png} | Bin ...nd_nb_512px.png => nextcloud-icon-512.png} | Bin ..._rnd_nb_64px.png => nextcloud-icon-64.png} | Bin theme/colored/nextcloud-sidebar-128.png | Bin 0 -> 2818 bytes theme/colored/nextcloud-sidebar-16.png | Bin 0 -> 715 bytes theme/colored/nextcloud-sidebar-256.png | Bin 0 -> 6148 bytes theme/colored/nextcloud-sidebar-32.png | Bin 0 -> 968 bytes theme/colored/nextcloud-sidebar-64.png | Bin 0 -> 1560 bytes 24 files changed, 12 insertions(+), 6 deletions(-) delete mode 100644 theme/colored/16-Nextcloud-sidebar.png delete mode 100644 theme/colored/18-Nextcloud-sidebar.png delete mode 100644 theme/colored/32-Nextcloud-sidebar.png delete mode 100644 theme/colored/36-Nextcloud-sidebar.png delete mode 100644 theme/colored/64-Nextcloud-sidebar.png delete mode 100644 theme/colored/nc_logo_rnd_nb_150px.png delete mode 100644 theme/colored/nc_logo_rnd_nb_70px.png rename theme/colored/{nc_logo_rnd_nb_1024px.png => nextcloud-icon-1024.png} (100%) rename theme/colored/{nc_logo_rnd_nb_10px.png => nextcloud-icon-10px.png} (100%) rename theme/colored/{nc_logo_rnd_nb_128px.png => nextcloud-icon-128.png} (100%) rename theme/colored/{nc_logo_rnd_nb_16px.png => nextcloud-icon-16px.png} (100%) rename theme/colored/{nc_logo_rnd_nb_24px.png => nextcloud-icon-24.png} (100%) rename theme/colored/{nc_logo_rnd_nb_256px.png => nextcloud-icon-256.png} (100%) rename theme/colored/{nc_logo_rnd_nb_32px.png => nextcloud-icon-32.png} (100%) rename theme/colored/{nc_logo_rnd_nb_40px.png => nextcloud-icon-40.png} (100%) rename theme/colored/{nc_logo_rnd_nb_48px.png => nextcloud-icon-48.png} (100%) rename theme/colored/{nc_logo_rnd_nb_512px.png => nextcloud-icon-512.png} (100%) rename theme/colored/{nc_logo_rnd_nb_64px.png => nextcloud-icon-64.png} (100%) create mode 100644 theme/colored/nextcloud-sidebar-128.png create mode 100644 theme/colored/nextcloud-sidebar-16.png create mode 100644 theme/colored/nextcloud-sidebar-256.png create mode 100644 theme/colored/nextcloud-sidebar-32.png create mode 100644 theme/colored/nextcloud-sidebar-64.png diff --git a/cmake/modules/AddAppIconMacro.cmake b/cmake/modules/AddAppIconMacro.cmake index 5d9d9d855..4453a287e 100644 --- a/cmake/modules/AddAppIconMacro.cmake +++ b/cmake/modules/AddAppIconMacro.cmake @@ -47,7 +47,13 @@ macro (KDE4_ADD_APP_ICON appsources pattern) endif (fn MATCHES ".*128.*") if (fn MATCHES ".*256.*" ) list (APPEND _icons ${it}) - endif (fn MATCHES ".*256.*") + endif (fn MATCHES ".*256.*") + if (fn MATCHES ".*512.*" ) + list (APPEND _icons ${it}) + endif (fn MATCHES ".*512.*") + if (fn MATCHES ".*1024.*" ) + list (APPEND _icons ${it}) + endif (fn MATCHES ".*1024.*") endforeach (it) if (_icons) add_custom_command(OUTPUT ${_outfilename}.ico ${_outfilename}.rc @@ -104,14 +110,14 @@ macro (KDE4_ADD_APP_ICON appsources pattern) foreach (it ${files}) if (it MATCHES ".*sidebar-16.*") configure_file(${it} ${appsources}.iconset/sidebar_16x16.png COPYONLY) - elseif (it MATCHES ".*sidebar-18.*") - configure_file(${it} ${appsources}.iconset/sidebar_18x18.png COPYONLY) elseif (it MATCHES ".*sidebar-32.*") + configure_file(${it} ${appsources}.iconset/sidebar_18x18.png COPYONLY) configure_file(${it} ${appsources}.iconset/sidebar_16x16@2x.png COPYONLY) - configure_file(${it} ${appsources}.iconset/sidebar_32x32.png COPYONLY) - elseif (it MATCHES ".*sidebar-36.*") - configure_file(${it} ${appsources}.iconset/sidebar_18x18@2x.png COPYONLY) elseif (it MATCHES ".*sidebar-64.*") + configure_file(${it} ${appsources}.iconset/sidebar_18x18@2x.png COPYONLY) + elseif (it MATCHES ".*sidebar-128.*") + configure_file(${it} ${appsources}.iconset/sidebar_32x32.png COPYONLY) + elseif (it MATCHES ".*sidebar-256.*") configure_file(${it} ${appsources}.iconset/sidebar_32x32@2x.png COPYONLY) endif() endforeach (it) diff --git a/theme/colored/16-Nextcloud-sidebar.png b/theme/colored/16-Nextcloud-sidebar.png deleted file mode 100644 index 4b448544ea94fcdcec5545b933772bc07a74282e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XmU+53hE&{o6U4~dV!-nz?x0EtlaLxK=i~-v6(6Se44e-b zIQ19aZ_B=<^E>>2s(8lxU0ZK=$nhvDt;spnf9HnI_tSHxt}Y4>I}%sX&?Iws^I|pO zCJy~|iIaC;mSJxd%YA-&s^ju?u^*y(_bl)~6*=>9#@+q%84sVU#&VK3y85}S Ib4q9e009AJ)c^nh diff --git a/theme/colored/18-Nextcloud-sidebar.png b/theme/colored/18-Nextcloud-sidebar.png deleted file mode 100644 index f52cec6e349ff03d62e008679e1ca84b19b0fcb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmV+?0oeYDP)(RCwC#Q|%4HAQS{A=m?D91~P(f zzzB}e4H&_0P&dF0a09x5Zh%K~Brg?f{O6Bea;3b_qr57$;T!atGv~a=V!;l)YOU`- zcR-O#e#Z!QAG?BqfeCb==l%iqWTLJ3j$$8X<#r*0rukWZ!5Z8x^y*nlh{jTOYc<3OVmBSjs`(Fyu3+SVz@PKc%_>nmFuBUyZ2 znZ6;!`I>tYfro?e0mT3^G3RX}2+y2!8|l&wGak@Lj*!Wuu-$Oz+1%W)iJt6=7mO?g zb>t+yyG^N;qC1uET-Do^rp;Mg(GAEBxW3JMAeHmHvp zT5B7)bRf?lEk3@0e1Uw_b^Y_Ow}4;I6AA189(CH87^7)q#GG72O$q{XJND-2TuQ|9pGnxv0p zV67tUoXWc)_kufCNSCd5n&fvpgtLPSCN+m-qU9;;ePk5ytmB57Y^cIoh>QqN|A?Zw zB1YyE2~6j7EtiUU$5}S-J`G+MD0Ku0KWsIUI zilQirq9}@@DE}M9-xzeB=L&vGG|LOxxhRV3yUa8MeFW=go)N4D+r5{-4`9>>}CdqY@K7pBt(h2^O;ti+pWEmV~5!Z?yo%UvdHIU@C9+KWu5%8JQBl`oRjZl1%s2m16CUA)mZiH9=|+0#?rxU&&G$X${bP2| z&e`3$Gxy%-`Ba#qyaWc?Co}{E1Pm!jF=gOA`M=}s8{n1imE#5i!mB__QBg%_WeJh5 zQsSZ<-?=$B7+4s;BOp-6xyH51ycYft(ka%QMwarno2}RTW#`c>l$aILVw(^AwQ5uS@273$R+!F2| zw2~@Yer4+I#d@rE6UdI5!{XwVJ^*uq>L97*jDUcS^WX6bAuZ!00>W1WDKTMHkBs9? z&kQ27%(G6lnHl%nC38^x$d42hzcDJkrwH$Pxu)TD9dWsKQBdgi5zM|9x>dQJ zPB<|T>_5fT6v{7eN3uYaM$q^zXnrKkv^IFg`Nm}e#=_C~Iy?JqFL77KzgfmS)Nxuv z*Q3t!P8c75;rscNt47Y7RZMN2L_U6#6=!2~b)8lO=&P|;4X<#82s8ifRa*il$6uw<#0vV{-;v77mr);IpDC^B zMtAzBpz*z0djFU_i*Fy-&uSgr$YdDb;D&1J*@}4g)sX2V;NtgtkGFCI4O1{|h6@j; zjXNCr<106Qhc8vsDU9U8Ie%>X$h+gJKNyL3&U_C;jIv`zkmwf`E3(iCtax|qS@8Le z_-uLexX$zOt-6jk#hK-riUn<8hUYjo0b?za5H;k&qyMAh!iNCow554jQiQpdL%LMB4liUmXU;6@D19&ZM3F(jWFaACfKpSqn)>Z=*;zPD8mO#eNKUHp5tbK7@ zyhRYExlC8oPABR+=Qs0L3C1ApU9t%7uUB*G3*8xsQ|XF~-y2H9V8ek-ujUYUd|VIT z)0OP`D?NwCpTBI%{z{5`$zIweGC~nR*HzGgzYo*_E($IS`E2w&s+op;iMDnqWcH1? zx?$*tN-1)HfPJclmv75Wg7py_`Em6MA4jhBs-nr<@gL>I-Pl)a=v}^-a#S3hzyp6G zuNyr`77-jGMU~8pb$o+Z1r}4SKO!;7+5YirLV^gKsjf*RqPkySmRYx4XkJ2e zvnjc-&Vl~H`8ulH%{R2F0kb}GG?jzWPfH+GwJ8O`zfyHkQJZ1w9Xm@7Mgb<*6$%Q*j&)lEj7cjeCegav1iWYwjO;= z5((jp%j<_VOh@UBL5rnrZ-3*u5fLj~F`y#uax{OJfl2V!cX{f=jMi+=`_`x_eqrq(onC2irdC4Q;2Ri*PF zYAzymwPd39WuvW)OS)^VaQiUSTOW-8p|Zc>v-3~}>TEf0ix>pdzN^T0v(d zE*{1}HTe$5{hzc1HKc%nVUUVbO7DF#>!y5 zgeO6&lz3iP2fk};C+6Ip@pkqm`upMW__YuE-GjqdTFO&*q1w4#!A}a*LtQ;vHN_

(z!Ep1v#0qEf?0n#^ev-DMVD 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 UEb>2r04{=*xV%_}h+)wG09#n}%m4rY diff --git a/theme/colored/nc_logo_rnd_nb_70px.png b/theme/colored/nc_logo_rnd_nb_70px.png deleted file mode 100644 index b18bdb2dc7d84fc1cd09ec1568bcaa50193c7fcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5301 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 Hu0mjf^E*4^ diff --git a/theme/colored/nc_logo_rnd_nb_1024px.png b/theme/colored/nextcloud-icon-1024.png similarity index 100% rename from theme/colored/nc_logo_rnd_nb_1024px.png rename to theme/colored/nextcloud-icon-1024.png diff --git a/theme/colored/nc_logo_rnd_nb_10px.png b/theme/colored/nextcloud-icon-10px.png similarity index 100% rename from theme/colored/nc_logo_rnd_nb_10px.png rename to theme/colored/nextcloud-icon-10px.png diff --git a/theme/colored/nc_logo_rnd_nb_128px.png b/theme/colored/nextcloud-icon-128.png similarity index 100% rename from theme/colored/nc_logo_rnd_nb_128px.png rename to theme/colored/nextcloud-icon-128.png diff --git a/theme/colored/nc_logo_rnd_nb_16px.png b/theme/colored/nextcloud-icon-16px.png similarity index 100% rename from theme/colored/nc_logo_rnd_nb_16px.png rename to theme/colored/nextcloud-icon-16px.png diff --git a/theme/colored/nc_logo_rnd_nb_24px.png b/theme/colored/nextcloud-icon-24.png similarity index 100% rename from theme/colored/nc_logo_rnd_nb_24px.png rename to theme/colored/nextcloud-icon-24.png diff --git a/theme/colored/nc_logo_rnd_nb_256px.png b/theme/colored/nextcloud-icon-256.png similarity index 100% rename from theme/colored/nc_logo_rnd_nb_256px.png rename to theme/colored/nextcloud-icon-256.png diff --git a/theme/colored/nc_logo_rnd_nb_32px.png b/theme/colored/nextcloud-icon-32.png similarity index 100% rename from theme/colored/nc_logo_rnd_nb_32px.png rename to theme/colored/nextcloud-icon-32.png diff --git a/theme/colored/nc_logo_rnd_nb_40px.png b/theme/colored/nextcloud-icon-40.png similarity index 100% rename from theme/colored/nc_logo_rnd_nb_40px.png rename to theme/colored/nextcloud-icon-40.png diff --git a/theme/colored/nc_logo_rnd_nb_48px.png b/theme/colored/nextcloud-icon-48.png similarity index 100% rename from theme/colored/nc_logo_rnd_nb_48px.png rename to theme/colored/nextcloud-icon-48.png diff --git a/theme/colored/nc_logo_rnd_nb_512px.png b/theme/colored/nextcloud-icon-512.png similarity index 100% rename from theme/colored/nc_logo_rnd_nb_512px.png rename to theme/colored/nextcloud-icon-512.png diff --git a/theme/colored/nc_logo_rnd_nb_64px.png b/theme/colored/nextcloud-icon-64.png similarity index 100% rename from theme/colored/nc_logo_rnd_nb_64px.png rename to theme/colored/nextcloud-icon-64.png diff --git a/theme/colored/nextcloud-sidebar-128.png b/theme/colored/nextcloud-sidebar-128.png new file mode 100644 index 0000000000000000000000000000000000000000..4ca9fae9b0cad6e7c522b37f1a902c71dfba9e43 GIT binary patch literal 2818 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 literal 0 HcmV?d00001 diff --git a/theme/colored/nextcloud-sidebar-16.png b/theme/colored/nextcloud-sidebar-16.png new file mode 100644 index 0000000000000000000000000000000000000000..4bcc1a54fd7b05d7eca86286b88183456d196427 GIT binary patch literal 715 zcmV;+0yO=JP)!h`ELcM+C9T(a zA)U!-!HIx#VR6Z6f29!{4*Kzg615s(tQXYmUZr1uPB1BZ{i! zgeQfk*K(@KyTTnxG8`2?7w*&Kg2MNv9x3sg$%zvGn5>0@qhM_lb|$JgQpHMAOAE`( zaivpvrFA zDhZP0=o2+B)ngLlqQ_*USU3Csx37A9&{wM75`g*_!}#a{`wkSg4deURFbXGNdxon_ zB|m!vL!Y8=S2WilI5y$px}rt);BpH(pVY7xE=o3WYdj9`XVAI`?YGdhTrd?}pgBH5g{R&HXz%gbqgCjg*8JCsqqBR(?U~XvSH9X-B xuXx7BP<|fe*E3dVEXis;<7p|S{~P<)^$7(){7R(o{|x{D002ovPDHLkV1fbXNHPEb literal 0 HcmV?d00001 diff --git a/theme/colored/nextcloud-sidebar-256.png b/theme/colored/nextcloud-sidebar-256.png new file mode 100644 index 0000000000000000000000000000000000000000..19da6fe9d08e48d0ef14af324e6bea6ed0cb220a GIT binary patch literal 6148 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 XVd<1}rdaAoNd}+|%}}LR9K-(u0%YxR literal 0 HcmV?d00001 diff --git a/theme/colored/nextcloud-sidebar-32.png b/theme/colored/nextcloud-sidebar-32.png new file mode 100644 index 0000000000000000000000000000000000000000..e49a15c838460838093cc893f8a28899f0ff3ac2 GIT binary patch literal 968 zcmV;(12_DMP)!h`ELcM+C9T(a zA)U!-!HIx#VR6Z6f29!{4*Kzg615s(tQXYmUZr1uPB1BZ{i! zgeQfk*K(@KyTTnxG8`2?7w*&Kg2MNv9x3sg$%zvGn5>0@qhM_lb|$JgQpHMAOAE`( zaivpvrFA zDhZP0=o2+B)ngLlqQ_*USU3Csx37A9&{wM75`g*_!}#a{`wkSg4deURFbXGNdxon_ zB|m!vL!Y8=S2WilI5y$px}rt);BpH(pVY7xE=o3WYdj9`XVAI`?YGdhTW}E3_+0@RF!h`ELcM+C9T(a zA)U!-!HIx#VR6Z6f29!{4*Kzg615s(tQXYmUZr1uPB1BZ{i! zgeQfk*K(@KyTTnxG8`2?7w*&Kg2MNv9x3sg$%zvGn5>0@qhM_lb|$JgQpHMAOAE`( zaivpvrFA zDhZP0=o2+B)ngLlqQ_*USU3Csx37A9&{wM75`g*_!}#a{`wkSg4deURFbXGNdxon_ zB|m!vL!Y8=S2WilI5y$px}rt);BpH(pVY7xE=o3WYdj9`XVAI`?YGdhTWc1#O}h6-2aXVG@*W zvIt$3gsBm^am12_bW$-U3O99q&=EQD~fUD_@w zYEYk44_co;)aTU8hFkxjQ0J>Vn!1KtlI94+vj4{QdmD9L*S*p*&qfw}25uEggY z@I(mVi-Npkfz`nMKo>9`*bj84*TxXSp_2IjHmud^iHbY&r~0}&BIAF(daT56r+Rxy z{weC#68|&mq>N98`dX@~j1%hfYW|x~9j9)o2$E%!I;tVY8zsVDwMJJrxd|^=d=oxs zupOmtY*Of>@{3@u|(1Eo$DJO}47VKm$Ch zt|=JX)NJt$y4DuNd|O>PNX@GNf;s{C8R*Q>a0=K;(oCiR3xSb2c1MAez=X{2M}X-e zgu^XPKqv4MaC2tpIM5G_&2jrH)w~aw3@iXf<=CA7rem_=%Hv0Maz@ZBwYP~`{-~A0 zGdbUEBHuoBX2!ou-BVz{3Uyu1z-e`AfuK2Re@#Iz4#5O0ubHb~ol_8FYFbm4b*Mk& z417}|YFABB_YA=V+*&i&&WbqOa(s4o026cU4_4?pP*Zms=>lXhM&vSEn{bOXVs)&PzDD zg@Etcu)S1YDobjO6JYg9^*xJEliq5u4eC2hYF?|3E)%d=?W+i~Uwt~qcZ|hPf$7-e zCVeOCdzJc- Date: Tue, 3 Sep 2019 18:00:51 +0200 Subject: [PATCH 167/192] Updated svg version of nc icon Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- theme/colored/Nextcloud-icon.svg | 71 +------------------------------- 1 file changed, 1 insertion(+), 70 deletions(-) diff --git a/theme/colored/Nextcloud-icon.svg b/theme/colored/Nextcloud-icon.svg index bf7753aa3..24ecc907a 100644 --- a/theme/colored/Nextcloud-icon.svg +++ b/theme/colored/Nextcloud-icon.svg @@ -1,70 +1 @@ - -image/svg+xml \ No newline at end of file + \ No newline at end of file From 8bd85fa71d70bb221facf36c2e6d17d8ba93a578 Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Tue, 3 Sep 2019 18:05:06 +0200 Subject: [PATCH 168/192] Corrected sized icon versions to up2date windows guidelines (see also ECMAddAppIcon.cmake) Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- theme/colored/nextcloud-icon-10px.png | Bin 1987 -> 0 bytes ...cloud-icon-16px.png => nextcloud-icon-16.png} | Bin theme/colored/nextcloud-icon-40.png | Bin 3940 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 theme/colored/nextcloud-icon-10px.png rename theme/colored/{nextcloud-icon-16px.png => nextcloud-icon-16.png} (100%) delete mode 100644 theme/colored/nextcloud-icon-40.png diff --git a/theme/colored/nextcloud-icon-10px.png b/theme/colored/nextcloud-icon-10px.png deleted file mode 100644 index ed6887ae612a8b90b0d0143dbe036b00f7d60e55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1987 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 H?_>V~7-x^i From af831a76539b65eb31e2d786d23f0e69e2b87017 Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Tue, 3 Sep 2019 18:17:46 +0200 Subject: [PATCH 169/192] updated resources for new logo icon files Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- theme.qrc | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/theme.qrc b/theme.qrc index 11641c386..de2a4c39d 100644 --- a/theme.qrc +++ b/theme.qrc @@ -1,12 +1,14 @@ - theme/colored/512-Nextcloud-icon.png - theme/colored/256-Nextcloud-icon.png - theme/colored/128-Nextcloud-icon.png - theme/colored/22-Nextcloud-icon.png - theme/colored/32-Nextcloud-icon.png - theme/colored/48-Nextcloud-icon.png - theme/colored/64-Nextcloud-icon.png + theme/colored/nextcloud-icon-16.png + theme/colored/nextcloud-icon-24.png + theme/colored/nextcloud-icon-32.png + theme/colored/nextcloud-icon-48.png + theme/colored/nextcloud-icon-64.png + theme/colored/nextcloud-icon-128.png + theme/colored/nextcloud-icon-256.png + theme/colored/nextcloud-icon-512.png + theme/colored/nextcloud-icon-1024.png theme/colored/state-error-32.png theme/colored/state-error-64.png theme/colored/state-error-128.png From 7e4323c7deccda6ff6fe94320a68d34982e3037a Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Tue, 3 Sep 2019 18:27:37 +0200 Subject: [PATCH 170/192] Revert-corrected naming of icon files due to limitations by ECMAddAppIcon Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- ...tcloud-icon-1024.png => 1024-nextcloud-icon.png} | Bin ...extcloud-icon-128.png => 128-nextcloud-icon.png} | Bin ...ud-sidebar-128.png => 128-nextcloud-sidebar.png} | Bin ...{nextcloud-icon-16.png => 16-nextcloud-icon.png} | Bin ...loud-sidebar-16.png => 16-nextcloud-sidebar.png} | Bin ...{nextcloud-icon-24.png => 24-nextcloud-icon.png} | Bin ...extcloud-icon-256.png => 256-nextcloud-icon.png} | Bin ...ud-sidebar-256.png => 256-nextcloud-sidebar.png} | Bin ...{nextcloud-icon-32.png => 32-nextcloud-icon.png} | Bin ...loud-sidebar-32.png => 32-nextcloud-sidebar.png} | Bin ...{nextcloud-icon-48.png => 48-nextcloud-icon.png} | Bin ...extcloud-icon-512.png => 512-nextcloud-icon.png} | Bin ...{nextcloud-icon-64.png => 64-nextcloud-icon.png} | Bin ...loud-sidebar-64.png => 64-nextcloud-sidebar.png} | Bin 14 files changed, 0 insertions(+), 0 deletions(-) rename theme/colored/{nextcloud-icon-1024.png => 1024-nextcloud-icon.png} (100%) rename theme/colored/{nextcloud-icon-128.png => 128-nextcloud-icon.png} (100%) rename theme/colored/{nextcloud-sidebar-128.png => 128-nextcloud-sidebar.png} (100%) rename theme/colored/{nextcloud-icon-16.png => 16-nextcloud-icon.png} (100%) rename theme/colored/{nextcloud-sidebar-16.png => 16-nextcloud-sidebar.png} (100%) rename theme/colored/{nextcloud-icon-24.png => 24-nextcloud-icon.png} (100%) rename theme/colored/{nextcloud-icon-256.png => 256-nextcloud-icon.png} (100%) rename theme/colored/{nextcloud-sidebar-256.png => 256-nextcloud-sidebar.png} (100%) rename theme/colored/{nextcloud-icon-32.png => 32-nextcloud-icon.png} (100%) rename theme/colored/{nextcloud-sidebar-32.png => 32-nextcloud-sidebar.png} (100%) rename theme/colored/{nextcloud-icon-48.png => 48-nextcloud-icon.png} (100%) rename theme/colored/{nextcloud-icon-512.png => 512-nextcloud-icon.png} (100%) rename theme/colored/{nextcloud-icon-64.png => 64-nextcloud-icon.png} (100%) rename theme/colored/{nextcloud-sidebar-64.png => 64-nextcloud-sidebar.png} (100%) diff --git a/theme/colored/nextcloud-icon-1024.png b/theme/colored/1024-nextcloud-icon.png similarity index 100% rename from theme/colored/nextcloud-icon-1024.png rename to theme/colored/1024-nextcloud-icon.png diff --git a/theme/colored/nextcloud-icon-128.png b/theme/colored/128-nextcloud-icon.png similarity index 100% rename from theme/colored/nextcloud-icon-128.png rename to theme/colored/128-nextcloud-icon.png diff --git a/theme/colored/nextcloud-sidebar-128.png b/theme/colored/128-nextcloud-sidebar.png similarity index 100% rename from theme/colored/nextcloud-sidebar-128.png rename to theme/colored/128-nextcloud-sidebar.png diff --git a/theme/colored/nextcloud-icon-16.png b/theme/colored/16-nextcloud-icon.png similarity index 100% rename from theme/colored/nextcloud-icon-16.png rename to theme/colored/16-nextcloud-icon.png diff --git a/theme/colored/nextcloud-sidebar-16.png b/theme/colored/16-nextcloud-sidebar.png similarity index 100% rename from theme/colored/nextcloud-sidebar-16.png rename to theme/colored/16-nextcloud-sidebar.png diff --git a/theme/colored/nextcloud-icon-24.png b/theme/colored/24-nextcloud-icon.png similarity index 100% rename from theme/colored/nextcloud-icon-24.png rename to theme/colored/24-nextcloud-icon.png diff --git a/theme/colored/nextcloud-icon-256.png b/theme/colored/256-nextcloud-icon.png similarity index 100% rename from theme/colored/nextcloud-icon-256.png rename to theme/colored/256-nextcloud-icon.png diff --git a/theme/colored/nextcloud-sidebar-256.png b/theme/colored/256-nextcloud-sidebar.png similarity index 100% rename from theme/colored/nextcloud-sidebar-256.png rename to theme/colored/256-nextcloud-sidebar.png diff --git a/theme/colored/nextcloud-icon-32.png b/theme/colored/32-nextcloud-icon.png similarity index 100% rename from theme/colored/nextcloud-icon-32.png rename to theme/colored/32-nextcloud-icon.png diff --git a/theme/colored/nextcloud-sidebar-32.png b/theme/colored/32-nextcloud-sidebar.png similarity index 100% rename from theme/colored/nextcloud-sidebar-32.png rename to theme/colored/32-nextcloud-sidebar.png diff --git a/theme/colored/nextcloud-icon-48.png b/theme/colored/48-nextcloud-icon.png similarity index 100% rename from theme/colored/nextcloud-icon-48.png rename to theme/colored/48-nextcloud-icon.png diff --git a/theme/colored/nextcloud-icon-512.png b/theme/colored/512-nextcloud-icon.png similarity index 100% rename from theme/colored/nextcloud-icon-512.png rename to theme/colored/512-nextcloud-icon.png diff --git a/theme/colored/nextcloud-icon-64.png b/theme/colored/64-nextcloud-icon.png similarity index 100% rename from theme/colored/nextcloud-icon-64.png rename to theme/colored/64-nextcloud-icon.png diff --git a/theme/colored/nextcloud-sidebar-64.png b/theme/colored/64-nextcloud-sidebar.png similarity index 100% rename from theme/colored/nextcloud-sidebar-64.png rename to theme/colored/64-nextcloud-sidebar.png From 88dcbad7901c862769fddb8f3d1afd3c74e7b5cd Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Tue, 3 Sep 2019 19:38:01 +0200 Subject: [PATCH 171/192] Updated theme.qrc to include new icon logo files Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- theme.qrc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/theme.qrc b/theme.qrc index de2a4c39d..14aa4c94b 100644 --- a/theme.qrc +++ b/theme.qrc @@ -1,14 +1,14 @@ - theme/colored/nextcloud-icon-16.png - theme/colored/nextcloud-icon-24.png - theme/colored/nextcloud-icon-32.png - theme/colored/nextcloud-icon-48.png - theme/colored/nextcloud-icon-64.png - theme/colored/nextcloud-icon-128.png - theme/colored/nextcloud-icon-256.png - theme/colored/nextcloud-icon-512.png - theme/colored/nextcloud-icon-1024.png + theme/colored/16-nextcloud-icon.png + theme/colored/24-nextcloud-icon.png + theme/colored/32-nextcloud-icon.png + theme/colored/48-nextcloud-icon.png + theme/colored/64-nextcloud-icon.png + theme/colored/128-nextcloud-icon.png + theme/colored/256-nextcloud-icon.png + theme/colored/512-nextcloud-icon.png + theme/colored/1024-nextcloud-icon.png theme/colored/state-error-32.png theme/colored/state-error-64.png theme/colored/state-error-128.png From fcc84b6dc4d87b93de78e65ffb8f6fae39eaccf8 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 4 Sep 2019 03:07:24 +0000 Subject: [PATCH 172/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++--- translations/client_es.ts | 36 ++++++++++----------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_es.ts b/translations/client_es.ts index 0ec4c8683..1a77f928f 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -120,22 +120,22 @@ Form - + Formulario Please switch to your browser to proceed. - + Por favor, cambie a su navegador para proceder. An error occurred while connecting. Please try again. - + Ha ocurrido un error al conectarse. Por favor, vuelve a intentarlo. Re-open Browser (or right-click to copy link) - + Re abra el navegador (o use el botón derecho para copiar el enlace) @@ -143,22 +143,22 @@ Form - + Formulario Please switch to your browser to proceed. - + Por favor, cambie a su navegador para proceder. An error occurred while connecting. Please try again. - + Se ha producido un error al conectarse. Por favor, inténtelo de nuevo. Re-open Browser (or right-click to copy link) - + Re abra el navegador (o use el botón derecho para copiar el enlace) @@ -784,25 +784,25 @@ Error returned from the server: <em>%1</em> - + Error devuelto por el servidor: <em>%1</em> There was an error accessing the 'token' endpoint: <br><em>%1</em> - + Se encontró un error al acceder al 'token' del punto final: <br><em>%1</em> Could not parse the JSON returned from the server: <br><em>%1</em> - + No se puede procesar el código JSON recibido del servidor: <br><em>%1</em> The reply from the server did not contain all expected fields - + La respuesta del servidor no contiene todos los campos esperados @@ -810,22 +810,22 @@ Connect to %1 - + Conectado a %1 Login in your browser (Login Flow v2) - + Inicia sesión en tu navegador Web (Login Flow v2) Copy link to clipboard - + Copiar enlace al portapapeles Unable to open the Browser, please copy the link to your Browser. - + No se ha podido abrir el navegador, por favor copie el enlace en su navegador. @@ -833,12 +833,12 @@ Copy link to clipboard - + Copiar enlace al portapapeles Unable to open the Browser, please copy the link to your Browser. - + No se ha podido abrir el navegador, por favor copie el enlace en su navegador. From 7ac6df24a3b23fd1faacb63b398d6102fa5c6a76 Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Wed, 4 Sep 2019 16:51:16 +0200 Subject: [PATCH 173/192] Updated ECMAddAppIcon to newest ver fromhttps://github.com/KDE/extra-cmake-modules/blob/master/modules/ECMAddAppIcon.cmake with modifications for nc workflow (incl. png2imagemagick) Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- cmake/modules/ECMAddAppIcon.cmake | 40 +++++++++++++++++-------------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/cmake/modules/ECMAddAppIcon.cmake b/cmake/modules/ECMAddAppIcon.cmake index 294bd8b20..3934491bd 100644 --- a/cmake/modules/ECMAddAppIcon.cmake +++ b/cmake/modules/ECMAddAppIcon.cmake @@ -167,18 +167,17 @@ function(ecm_add_app_icon appsources) endif() - set(windows_icons_classic ${icons_at_16px} - ${icons_at_24px} - ${icons_at_32px} - ${icons_at_48px} - ${icons_at_64px} - ${icons_at_128px}) - set(windows_icons_modern ${windows_icons_classic} - ${icons_at_256px} - ${icons_at_512px} - ${icons_at_1024px}) + set(windows_icons ${icons_at_16px} + ${icons_at_24px} + ${icons_at_32px} + ${icons_at_48px} + ${icons_at_64px} + ${icons_at_128px} + ${icons_at_256px} + ${icons_at_512px} + ${icons_at_1024px}) - if (NOT (windows_icons_modern OR windows_icons_classic)) + if (NOT (windows_icons)) message(AUTHOR_WARNING "No icons suitable for use on Windows provided") endif() @@ -189,7 +188,7 @@ function(ecm_add_app_icon appsources) endif() set (_outfilename "${CMAKE_CURRENT_BINARY_DIR}/${_outfilebasename}") - if (WIN32 AND (windows_icons_modern OR windows_icons_classic)) + if (WIN32 AND windows_icons) set(saved_CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}") set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_FIND_MODULE_DIR}) find_package(Png2Ico) @@ -247,32 +246,37 @@ function(ecm_add_app_icon appsources) set(${appsources} "${${appsources}};${_outfilename}.rc" PARENT_SCOPE) # standard png2ico has no rcfile argument - elseif(Png2Ico_FOUND AND NOT Png2Ico_HAS_RCFILE_ARGUMENT AND windows_icons_classic) + # NOTE: We generally use https://github.com/hiiamok/png2ImageMagickICO + # or similar on windows, which is why we provide resolutions >= 256px here. + # Standard png2ico will fail with this. + elseif(Png2Ico_FOUND AND NOT Png2Ico_HAS_RCFILE_ARGUMENT AND windows_icons) set(png2ico_args) list(APPEND png2ico_args "${_outfilename}.ico") - list(APPEND png2ico_args "${windows_icons_classic}") + list(APPEND png2ico_args "${windows_icons}") + create_windows_icon_and_rc(Png2Ico::Png2Ico "${png2ico_args}" "${windows_icons}") - create_windows_icon_and_rc(Png2Ico::Png2Ico "${png2ico_args}" "${windows_icons_classic}") set(${appsources} "${${appsources}};${_outfilename}.rc" PARENT_SCOPE) # png2ico from kdewin provides rcfile argument - elseif(Png2Ico_FOUND AND windows_icons_classic) + elseif(Png2Ico_FOUND AND windows_icons) add_custom_command( OUTPUT "${_outfilename}.rc" "${_outfilename}.ico" COMMAND Png2Ico::Png2Ico ARGS --rcfile "${_outfilename}.rc" "${_outfilename}.ico" - ${windows_icons_classic} - DEPENDS ${windows_icons_classic} + ${windows_icons} + DEPENDS ${windows_icons} WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" ) set(${appsources} "${${appsources}};${_outfilename}.rc" PARENT_SCOPE) + # else none of the supported tools was found else() message(WARNING "Unable to find the png2ico or icotool utilities or icons in matching sizes - application will not have an application icon!") endif() + elseif (APPLE AND (mac_icons OR mac_sidebar_icons)) # first generate .iconset directory structure, then convert to .icns format using the Mac OS X "iconutil" utility, # to create retina compatible icon, you need png source files in pixel resolution 16x16, 32x32, 64x64, 128x128, From 3e6422a88993ff71abc1cffa89ff3c22ae841374 Mon Sep 17 00:00:00 2001 From: Martin Sucha Date: Sun, 1 Sep 2019 11:11:59 +0200 Subject: [PATCH 174/192] Use newer digest algorithms in TLS error dialog MD5 has been broken for a long time now and SHA1 has been deprecated as well. SHA1 is not used when issuing new publicly trusted certificates since 1 January 2016[1] and there are more and more effective attacks[2][3] against it, so display SHA1 fingerprint only for old certificates to encourage use of safer digests by users. So, we display SHA-256 and SHA-512 fingerprints instead in the common case. [1] https://cabforum.org/wp-content/uploads/CA-Browser-Forum-BR-1.6.5.pdf [2] https://shattered.io/static/shattered.pdf [3] https://eprint.iacr.org/2019/459.pdf Signed-off-by: Martin Sucha --- src/gui/sslerrordialog.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/gui/sslerrordialog.cpp b/src/gui/sslerrordialog.cpp index 8b6350efa..814a7b0af 100644 --- a/src/gui/sslerrordialog.cpp +++ b/src/gui/sslerrordialog.cpp @@ -184,10 +184,15 @@ QString SslErrorDialog::certDiv(QSslCertificate cert) const msg += QL("

"); - QString md5sum = Utility::formatFingerprint(cert.digest(QCryptographicHash::Md5).toHex()); - QString sha1sum = Utility::formatFingerprint(cert.digest(QCryptographicHash::Sha1).toHex()); - msg += tr("Fingerprint (MD5): %1").arg(md5sum) + QL("
"); - msg += tr("Fingerprint (SHA1): %1").arg(sha1sum) + QL("
"); + if (cert.effectiveDate() < QDateTime(QDate(2016, 1, 1), QTime(), Qt::UTC)) { + QString sha1sum = Utility::formatFingerprint(cert.digest(QCryptographicHash::Sha1).toHex()); + msg += tr("Fingerprint (SHA1): %1").arg(sha1sum) + QL("
"); + } + + QString sha256sum = Utility::formatFingerprint(cert.digest(QCryptographicHash::Sha256).toHex()); + QString sha512sum = Utility::formatFingerprint(cert.digest(QCryptographicHash::Sha512).toHex()); + msg += tr("Fingerprint (SHA-256): %1").arg(sha256sum) + QL("
"); + msg += tr("Fingerprint (SHA-512): %1").arg(sha512sum) + QL("
"); msg += QL("
"); msg += tr("Effective Date: %1").arg(cert.effectiveDate().toString()) + QL("
"); msg += tr("Expiration Date: %1").arg(cert.expiryDate().toString()) + QL("

"); From aa37a67729dd91aa4667e33ff1a990e62644c3d6 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Thu, 5 Sep 2019 03:09:38 +0000 Subject: [PATCH 175/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 +- translations/client_bg.ts | 122 -------------- translations/client_ca.ts | 122 -------------- translations/client_cs.ts | 122 -------------- translations/client_da.ts | 122 -------------- translations/client_de.ts | 122 -------------- translations/client_el.ts | 122 -------------- translations/client_en.ts | 122 -------------- translations/client_en_GB.ts | 122 -------------- translations/client_eo.ts | 122 -------------- translations/client_es.ts | 122 -------------- translations/client_es_AR.ts | 122 -------------- translations/client_es_CL.ts | 122 -------------- translations/client_es_CO.ts | 122 -------------- translations/client_es_CR.ts | 122 -------------- translations/client_es_DO.ts | 122 -------------- translations/client_es_EC.ts | 122 -------------- translations/client_es_GT.ts | 122 -------------- translations/client_es_HN.ts | 122 -------------- translations/client_es_MX.ts | 122 -------------- translations/client_es_SV.ts | 122 -------------- translations/client_et.ts | 122 -------------- translations/client_eu.ts | 122 -------------- translations/client_fa.ts | 122 -------------- translations/client_fi.ts | 122 -------------- translations/client_fr.ts | 122 -------------- translations/client_gl.ts | 122 -------------- translations/client_he.ts | 122 -------------- translations/client_hr.ts | 122 -------------- translations/client_hu.ts | 122 -------------- translations/client_id.ts | 122 -------------- translations/client_is.ts | 122 -------------- translations/client_it.ts | 122 -------------- translations/client_ja.ts | 122 -------------- translations/client_lt_LT.ts | 123 -------------- translations/client_lv.ts | 122 -------------- translations/client_nb_NO.ts | 122 -------------- translations/client_nl.ts | 122 -------------- translations/client_pl.ts | 123 -------------- translations/client_pt.ts | 122 -------------- translations/client_pt_BR.ts | 122 -------------- translations/client_ru.ts | 122 -------------- translations/client_sk.ts | 122 -------------- translations/client_sl.ts | 168 +++----------------- translations/client_sr.ts | 122 -------------- translations/client_sv.ts | 122 -------------- translations/client_th.ts | 122 -------------- translations/client_tr.ts | 122 -------------- translations/client_uk.ts | 122 -------------- translations/client_zh_CN.ts | 122 -------------- translations/client_zh_TW.ts | 122 -------------- 51 files changed, 27 insertions(+), 6129 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_bg.ts b/translations/client_bg.ts index 597a1fbdc..ff8cf7f17 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - - - - - TextLabel - - Accept @@ -1424,11 +1394,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - - Legal notice @@ -1639,21 +1604,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1783,11 +1738,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - - Proxy Settings @@ -3135,11 +3085,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - - Trust this certificate anyway @@ -3769,23 +3714,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - - - - - - - - - - - - TextLabel - - Server @@ -3827,11 +3755,6 @@ It is not advisable to use it. &Local Folder Локална папка - - - pbSelectLocalFolder - - &Keep local data @@ -3850,11 +3773,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - - &Username @@ -3868,11 +3786,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - - Please switch to your browser to proceed. @@ -3891,17 +3804,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - - - - - - TextLabel - - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3935,27 +3837,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - - - - - TextLabel - - Your entire account is synced to the local folder Целият профил се синхронизира с локалната папка - - - - PushButton - - QObject @@ -4092,14 +3978,6 @@ It is not advisable to use it. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_ca.ts b/translations/client_ca.ts index f59e67036..bf1fa79d8 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Diàleg - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formulari - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Formulari - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Formulari - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Formulari - - - - TextLabel - TextLabel - Accept @@ -1437,11 +1407,6 @@ Continuar la sincronització com a normal farà que tots els vostres fitxers sig OCC::GeneralSettings - - - Form - Formulari - Legal notice @@ -1654,21 +1619,11 @@ Els elements que poden ser suprimits s'eliminaran si impedeixen que una car OCC::LegalNotice - - - Dialog - Diàleg - Legal notice Avís legal - - - TextLabel - TextLabel - Close @@ -1800,11 +1755,6 @@ Els registres s’escriuran a %1 OCC::NetworkSettings - - - Form - Formulari - Proxy Settings @@ -3154,11 +3104,6 @@ No és aconsellable fer-la servir. OCC::SslErrorDialog - - - Form - Formulari - Trust this certificate anyway @@ -3788,23 +3733,6 @@ No és aconsellable fer-la servir. OwncloudAdvancedSetupPage - - - Form - Formulari - - - - - - - - - - - TextLabel - TextLabel - Server @@ -3846,11 +3774,6 @@ No és aconsellable fer-la servir. &Local Folder Carpeta &local - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3869,11 +3792,6 @@ No és aconsellable fer-la servir. OwncloudHttpCredsPage - - - Form - Formulari - &Username @@ -3887,11 +3805,6 @@ No és aconsellable fer-la servir. OwncloudOAuthCredsPage - - - Form - Formulari - Please switch to your browser to proceed. @@ -3910,17 +3823,6 @@ No és aconsellable fer-la servir. OwncloudSetupPage - - - Form - Formulari - - - - - TextLabel - TextLabel - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3954,27 +3856,11 @@ No és aconsellable fer-la servir. OwncloudWizardResultPage - - - Form - Formulari - - - - TextLabel - TextLabel - Your entire account is synced to the local folder El vostre compte està totalment sincronitzat amb la carpeta local - - - - PushButton - PushButton - QObject @@ -4111,14 +3997,6 @@ No és aconsellable fer-la servir. El fitxer descarregat no coincideix amb la suma de verificació, es reprendrà. - - WebView - - - Form - Formulari - - main.cpp diff --git a/translations/client_cs.ts b/translations/client_cs.ts index 1247b755b..4f2766b7c 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dialog - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formulář - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Formulář - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Formulář - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Formulář - - - - TextLabel - Textový popisek - Accept @@ -1434,11 +1404,6 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st OCC::GeneralSettings - - - Form - Formulář - Legal notice @@ -1651,21 +1616,11 @@ Položky u kterých je povoleno smazání budou vymazány, pokud by bránily ods OCC::LegalNotice - - - Dialog - Dialog - Legal notice Právní upozornění - - - TextLabel - TextovýŠtítek - Close @@ -1797,11 +1752,6 @@ Záznamy událostí budou zapisovány do %1 OCC::NetworkSettings - - - Form - Formulář - Proxy Settings @@ -3151,11 +3101,6 @@ Nedoporučuje se jí používat. OCC::SslErrorDialog - - - Form - Formulář - Trust this certificate anyway @@ -3785,23 +3730,6 @@ Nedoporučuje se jí používat. OwncloudAdvancedSetupPage - - - Form - Formulář - - - - - - - - - - - TextLabel - Textový popisek - Server @@ -3843,11 +3771,6 @@ Nedoporučuje se jí používat. &Local Folder Místní s&ložka - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3866,11 +3789,6 @@ Nedoporučuje se jí používat. OwncloudHttpCredsPage - - - Form - Formulář - &Username @@ -3884,11 +3802,6 @@ Nedoporučuje se jí používat. OwncloudOAuthCredsPage - - - Form - Formulář - Please switch to your browser to proceed. @@ -3907,17 +3820,6 @@ Nedoporučuje se jí používat. OwncloudSetupPage - - - Form - Formulář - - - - - TextLabel - Textový popisek - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3951,27 +3853,11 @@ Nedoporučuje se jí používat. OwncloudWizardResultPage - - - Form - Formulář - - - - TextLabel - Textový popisek - Your entire account is synced to the local folder Celý váš účet je synchronizován do místní složky - - - - PushButton - Tlačítko - QObject @@ -4108,14 +3994,6 @@ Nedoporučuje se jí používat. Stažený soubor neodpovídá kontrolnímu součtu, bude znovu stažen. - - WebView - - - Form - Formulář - - main.cpp diff --git a/translations/client_da.ts b/translations/client_da.ts index e96c4add9..bbc6c954f 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dialog - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formular - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Formular - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Formular - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Formular - - - - TextLabel - Textmærke - Accept @@ -1422,11 +1392,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - - Legal notice @@ -1635,21 +1600,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - Dialog - Legal notice - - - TextLabel - - Close @@ -1779,11 +1734,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - - Proxy Settings @@ -3129,11 +3079,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - - Trust this certificate anyway @@ -3763,23 +3708,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - - - - - - - - - - - - TextLabel - - Server @@ -3821,11 +3749,6 @@ It is not advisable to use it. &Local Folder - - - pbSelectLocalFolder - - &Keep local data @@ -3844,11 +3767,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - - &Username @@ -3862,11 +3780,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - - Please switch to your browser to proceed. @@ -3885,17 +3798,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - - - - - - TextLabel - - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3929,27 +3831,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - - - - - TextLabel - - Your entire account is synced to the local folder - - - - PushButton - - QObject @@ -4086,14 +3972,6 @@ It is not advisable to use it. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_de.ts b/translations/client_de.ts index 2e8e55e87..e721ec057 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dialog - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formular - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Formular - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Formular - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Formular - - - - TextLabel - TextLabel - Accept @@ -1435,11 +1405,6 @@ Wenn diese Synchronisierung fortgesetzt wird, werden Dateien eventuell von älte OCC::GeneralSettings - - - Form - Formular - Legal notice @@ -1652,21 +1617,11 @@ Objekte, bei denen Löschen erlaubt ist, werden gelöscht, wenn diese das Lösch OCC::LegalNotice - - - Dialog - Dialog - Legal notice Impressum - - - TextLabel - TextLabel - Close @@ -1798,11 +1753,6 @@ Protokolle werden in % 1 geschrieben OCC::NetworkSettings - - - Form - Formular - Proxy Settings @@ -3151,11 +3101,6 @@ Es ist nicht ratsam, sie zu benutzen. OCC::SslErrorDialog - - - Form - Formular - Trust this certificate anyway @@ -3785,23 +3730,6 @@ Es ist nicht ratsam, sie zu benutzen. OwncloudAdvancedSetupPage - - - Form - Formular - - - - - - - - - - - TextLabel - TextLabel - Server @@ -3843,11 +3771,6 @@ Es ist nicht ratsam, sie zu benutzen. &Local Folder &Lokaler Ordner - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3866,11 +3789,6 @@ Es ist nicht ratsam, sie zu benutzen. OwncloudHttpCredsPage - - - Form - Formular - &Username @@ -3884,11 +3802,6 @@ Es ist nicht ratsam, sie zu benutzen. OwncloudOAuthCredsPage - - - Form - Formular - Please switch to your browser to proceed. @@ -3907,17 +3820,6 @@ Es ist nicht ratsam, sie zu benutzen. OwncloudSetupPage - - - Form - Formular - - - - - TextLabel - TextLabel - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3951,27 +3853,11 @@ Es ist nicht ratsam, sie zu benutzen. OwncloudWizardResultPage - - - Form - Formular - - - - TextLabel - TextLabel - Your entire account is synced to the local folder Ihr gesamtes Konto wird mit dem lokalen Ordner synchronisiert. - - - - PushButton - Schaltfläche - QObject @@ -4108,14 +3994,6 @@ Es ist nicht ratsam, sie zu benutzen. Die heruntergeladene Datei entspricht nicht der Prüfsumme, das Herunterladen wird wiederaufgenommen. - - WebView - - - Form - Formular - - main.cpp diff --git a/translations/client_el.ts b/translations/client_el.ts index 795577b11..927036878 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Παράθυρο διαλόγου - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Φόρμα - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Φόρμα - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Φόρμα - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Φόρμα - - - - TextLabel - TextLabel - Accept @@ -1428,11 +1398,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - Φόρμα - Legal notice @@ -1643,21 +1608,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - Παράθυρο διαλόγου - Legal notice Νομική ειδοποίηση - - - TextLabel - - Close @@ -1787,11 +1742,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Φόρμα - Proxy Settings @@ -3141,11 +3091,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - Φόρμα - Trust this certificate anyway @@ -3775,23 +3720,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - Φόρμα - - - - - - - - - - - TextLabel - TextLabel - Server @@ -3833,11 +3761,6 @@ It is not advisable to use it. &Local Folder &Τοπικός Φάκελος - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3856,11 +3779,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - Φόρμα - &Username @@ -3874,11 +3792,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - Φόρμα - Please switch to your browser to proceed. @@ -3897,17 +3810,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - Φόρμα - - - - - TextLabel - TextLabel - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3941,27 +3843,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - Φόρμα - - - - TextLabel - TextLabel - Your entire account is synced to the local folder Ολόκληρος ο λογαριασμός σας έχει συγχρονιστεί με τον τοπικό φάκελο - - - - PushButton - PushButton - QObject @@ -4098,14 +3984,6 @@ It is not advisable to use it. - - WebView - - - Form - Φόρμα - - main.cpp diff --git a/translations/client_en.ts b/translations/client_en.ts index 60cb4ce2a..b7536abef 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -87,11 +87,6 @@ Dialog - - - Dialog - - Label @@ -165,11 +160,6 @@ FolderWizardSourcePage - - - Form - - Pick a local folder on your computer to sync @@ -183,11 +173,6 @@ FolderWizardTargetPage - - - Form - - Select a remote destination folder @@ -247,11 +232,6 @@ OCC::AccountSettings - - - Form - - ... @@ -600,16 +580,6 @@ OCC::ActivityWidget - - - Form - - - - - TextLabel - - Accept @@ -1448,11 +1418,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - - Legal notice @@ -1661,21 +1626,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1805,11 +1760,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - - Proxy Settings @@ -3155,11 +3105,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - - Trust this certificate anyway @@ -3789,23 +3734,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - - - - - - - - - - - - TextLabel - - Server @@ -3847,11 +3775,6 @@ It is not advisable to use it. &Local Folder - - - pbSelectLocalFolder - - &Keep local data @@ -3870,11 +3793,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - - &Username @@ -3888,11 +3806,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - - Please switch to your browser to proceed. @@ -3911,17 +3824,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - - - - - - TextLabel - - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3955,27 +3857,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - - - - - TextLabel - - Your entire account is synced to the local folder - - - - PushButton - - QObject @@ -4148,14 +4034,6 @@ It is not advisable to use it. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_en_GB.ts b/translations/client_en_GB.ts index ad6ad9826..2e234e638 100644 --- a/translations/client_en_GB.ts +++ b/translations/client_en_GB.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dialogue - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Form - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Form - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Form - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Form - - - - TextLabel - TextLabel - Accept @@ -1435,11 +1405,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - Form - Legal notice @@ -1652,21 +1617,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - Dialogue - Legal notice Legal notice - - - TextLabel - TextLabel - Close @@ -1798,11 +1753,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Form - Proxy Settings @@ -3152,11 +3102,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - Form - Trust this certificate anyway @@ -3786,23 +3731,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - Form - - - - - - - - - - - TextLabel - TextLabel - Server @@ -3844,11 +3772,6 @@ It is not advisable to use it. &Local Folder &Local Folder - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3867,11 +3790,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - Form - &Username @@ -3885,11 +3803,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - Form - Please switch to your browser to proceed. @@ -3908,17 +3821,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - Form - - - - - TextLabel - TextLabel - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3952,27 +3854,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - Form - - - - TextLabel - TextLabel - Your entire account is synced to the local folder Your entire account is synced to the local folder - - - - PushButton - PushButton - QObject @@ -4109,14 +3995,6 @@ It is not advisable to use it. The downloaded file does not match the checksum, it will be resumed. - - WebView - - - Form - Form - - main.cpp diff --git a/translations/client_eo.ts b/translations/client_eo.ts index ba64e1cc4..0f7c71726 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dialogo - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Elektilo - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Elektilo - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Elektilo - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Elektilo - - - - TextLabel - TextLabel - Accept @@ -1435,11 +1405,6 @@ Se vi plu sinkronigas, la sinkronigo anstataŭigos ĉiujn viajn dosierojn per an OCC::GeneralSettings - - - Form - Elektilo - Legal notice @@ -1652,21 +1617,11 @@ Elementoj, kun opcio „Permesi forigon“ ebligita, estos forigitaj, se ili mal OCC::LegalNotice - - - Dialog - Dialogo - Legal notice Atentigo pri kopirajto - - - TextLabel - TextLabel - Close @@ -1798,11 +1753,6 @@ Protokoloj estos skribataj al %1. OCC::NetworkSettings - - - Form - Elektilo - Proxy Settings @@ -3150,11 +3100,6 @@ Uzi ĝin ne konsilindas. OCC::SslErrorDialog - - - Form - Elektilo - Trust this certificate anyway @@ -3784,23 +3729,6 @@ Uzi ĝin ne konsilindas. OwncloudAdvancedSetupPage - - - Form - Elektilo - - - - - - - - - - - TextLabel - TextLabel - Server @@ -3842,11 +3770,6 @@ Uzi ĝin ne konsilindas. &Local Folder &Loka dosierujo - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3865,11 +3788,6 @@ Uzi ĝin ne konsilindas. OwncloudHttpCredsPage - - - Form - Elektilo - &Username @@ -3883,11 +3801,6 @@ Uzi ĝin ne konsilindas. OwncloudOAuthCredsPage - - - Form - Elektilo - Please switch to your browser to proceed. @@ -3906,17 +3819,6 @@ Uzi ĝin ne konsilindas. OwncloudSetupPage - - - Form - Elektilo - - - - - TextLabel - TextLabel - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3950,27 +3852,11 @@ Uzi ĝin ne konsilindas. OwncloudWizardResultPage - - - Form - Elektilo - - - - TextLabel - TextLabel - Your entire account is synced to the local folder Via tuta konta sinkroniĝas kun la loka dosierujo. - - - - PushButton - PushButton - QObject @@ -4107,14 +3993,6 @@ Uzi ĝin ne konsilindas. La elŝutita dosiero ne kongruas kun la kontrolsumo, ĝi estos re-elŝutita. - - WebView - - - Form - Elektilo - - main.cpp diff --git a/translations/client_es.ts b/translations/client_es.ts index 1a77f928f..cd60d6db6 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Cuadro de diálogo - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formulario - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Formulario - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Formulario - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Formulario - - - - TextLabel - EtiquetaDeTexto - Accept @@ -1435,11 +1405,6 @@ Si continua con la sincronización todos los archivos serán remplazados por su OCC::GeneralSettings - - - Form - Formulario - Legal notice @@ -1652,21 +1617,11 @@ Los elementos cuya eliminación está permitida serán eliminados si impiden que OCC::LegalNotice - - - Dialog - Cuadro de diálogo - Legal notice Aviso legal - - - TextLabel - EtiquetaDeTexto - Close @@ -1798,11 +1753,6 @@ Los registros se guardarán en: %1 OCC::NetworkSettings - - - Form - Formulario - Proxy Settings @@ -3151,11 +3101,6 @@ No se recomienda usarla. OCC::SslErrorDialog - - - Form - Formulario - Trust this certificate anyway @@ -3785,23 +3730,6 @@ No se recomienda usarla. OwncloudAdvancedSetupPage - - - Form - Formulario - - - - - - - - - - - TextLabel - Etiqueta de texto - Server @@ -3843,11 +3771,6 @@ No se recomienda usarla. &Local Folder Carpeta &local - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3866,11 +3789,6 @@ No se recomienda usarla. OwncloudHttpCredsPage - - - Form - Formulario - &Username @@ -3884,11 +3802,6 @@ No se recomienda usarla. OwncloudOAuthCredsPage - - - Form - Formulario - Please switch to your browser to proceed. @@ -3907,17 +3820,6 @@ No se recomienda usarla. OwncloudSetupPage - - - Form - Formulario - - - - - TextLabel - Etiqueta - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3951,27 +3853,11 @@ No se recomienda usarla. OwncloudWizardResultPage - - - Form - Formulario - - - - TextLabel - Texto Etiqueta - Your entire account is synced to the local folder Tu cuenta entera está sincronizada con la carpeta local - - - - PushButton - BotónPulsable - QObject @@ -4108,14 +3994,6 @@ No se recomienda usarla. Al archivo descargado no le coincide el checksum, se volverá a bajar. - - WebView - - - Form - Formulario - - main.cpp diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index fdb6e95b6..cdce7f198 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formulario - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Formulario - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Formulario - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Formulario - - - - TextLabel - EtiquetaDeTexto - Accept @@ -1422,11 +1392,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - Formulario - Legal notice @@ -1635,21 +1600,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1779,11 +1734,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Formulario - Proxy Settings @@ -3129,11 +3079,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - Formulario - Trust this certificate anyway @@ -3763,23 +3708,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - Formulario - - - - - - - - - - - TextLabel - EtiquetaDeTexto - Server @@ -3821,11 +3749,6 @@ It is not advisable to use it. &Local Folder Directorio &local - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3844,11 +3767,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - Formulario - &Username @@ -3862,11 +3780,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - Formulario - Please switch to your browser to proceed. @@ -3885,17 +3798,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - Formulario - - - - - TextLabel - EtiquetaDeTexto - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3930,27 +3832,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - Formulario - - - - TextLabel - Etiqueta - Your entire account is synced to the local folder Tu cuenta completa está sincronizada al directorio local - - - - PushButton - Botón - QObject @@ -4087,14 +3973,6 @@ It is not advisable to use it. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_es_CL.ts b/translations/client_es_CL.ts index ef1695b52..ab15c667e 100644 --- a/translations/client_es_CL.ts +++ b/translations/client_es_CL.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Forma - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Forma - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Forma - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Accept @@ -1429,11 +1399,6 @@ Continuar con la sincronización como normal causará que todos tus archivos sea OCC::GeneralSettings - - - Form - Forma - Legal notice @@ -1644,21 +1609,11 @@ Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un dire OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1788,11 +1743,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Forma - Proxy Settings @@ -3142,11 +3092,6 @@ No es recomendable usarlo. OCC::SslErrorDialog - - - Form - Forma - Trust this certificate anyway @@ -3776,23 +3721,6 @@ No es recomendable usarlo. OwncloudAdvancedSetupPage - - - Form - Forma - - - - - - - - - - - TextLabel - EtiquetaDeTexto - Server @@ -3834,11 +3762,6 @@ No es recomendable usarlo. &Local Folder Carpeta &Local - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3857,11 +3780,6 @@ No es recomendable usarlo. OwncloudHttpCredsPage - - - Form - Forma - &Username @@ -3875,11 +3793,6 @@ No es recomendable usarlo. OwncloudOAuthCredsPage - - - Form - Forma - Please switch to your browser to proceed. @@ -3898,17 +3811,6 @@ No es recomendable usarlo. OwncloudSetupPage - - - Form - Forma - - - - - TextLabel - EtiquetaDeTexto - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3942,27 +3844,11 @@ No es recomendable usarlo. OwncloudWizardResultPage - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Your entire account is synced to the local folder La totalidad de tu cuenta está sincronizada a la carpeta local - - - - PushButton - PushButton - QObject @@ -4099,14 +3985,6 @@ No es recomendable usarlo. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_es_CO.ts b/translations/client_es_CO.ts index 26c6f19cf..521e6a577 100644 --- a/translations/client_es_CO.ts +++ b/translations/client_es_CO.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Forma - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Forma - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Forma - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Accept @@ -1429,11 +1399,6 @@ Continuar con la sincronización como normal causará que todos tus archivos sea OCC::GeneralSettings - - - Form - Forma - Legal notice @@ -1644,21 +1609,11 @@ Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un dire OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1788,11 +1743,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Forma - Proxy Settings @@ -3142,11 +3092,6 @@ No es recomendable usarlo. OCC::SslErrorDialog - - - Form - Forma - Trust this certificate anyway @@ -3776,23 +3721,6 @@ No es recomendable usarlo. OwncloudAdvancedSetupPage - - - Form - Forma - - - - - - - - - - - TextLabel - EtiquetaDeTexto - Server @@ -3834,11 +3762,6 @@ No es recomendable usarlo. &Local Folder Carpeta &Local - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3857,11 +3780,6 @@ No es recomendable usarlo. OwncloudHttpCredsPage - - - Form - Forma - &Username @@ -3875,11 +3793,6 @@ No es recomendable usarlo. OwncloudOAuthCredsPage - - - Form - Forma - Please switch to your browser to proceed. @@ -3898,17 +3811,6 @@ No es recomendable usarlo. OwncloudSetupPage - - - Form - Forma - - - - - TextLabel - EtiquetaDeTexto - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3942,27 +3844,11 @@ No es recomendable usarlo. OwncloudWizardResultPage - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Your entire account is synced to the local folder La totalidad de tu cuenta está sincronizada a la carpeta local - - - - PushButton - PushButton - QObject @@ -4099,14 +3985,6 @@ No es recomendable usarlo. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_es_CR.ts b/translations/client_es_CR.ts index ca5dd9e40..6047084ad 100644 --- a/translations/client_es_CR.ts +++ b/translations/client_es_CR.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Forma - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Forma - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Forma - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Accept @@ -1429,11 +1399,6 @@ Continuar con la sincronización como normal causará que todos tus archivos sea OCC::GeneralSettings - - - Form - Forma - Legal notice @@ -1644,21 +1609,11 @@ Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un dire OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1788,11 +1743,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Forma - Proxy Settings @@ -3142,11 +3092,6 @@ No es recomendable usarlo. OCC::SslErrorDialog - - - Form - Forma - Trust this certificate anyway @@ -3776,23 +3721,6 @@ No es recomendable usarlo. OwncloudAdvancedSetupPage - - - Form - Forma - - - - - - - - - - - TextLabel - EtiquetaDeTexto - Server @@ -3834,11 +3762,6 @@ No es recomendable usarlo. &Local Folder Carpeta &Local - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3857,11 +3780,6 @@ No es recomendable usarlo. OwncloudHttpCredsPage - - - Form - Forma - &Username @@ -3875,11 +3793,6 @@ No es recomendable usarlo. OwncloudOAuthCredsPage - - - Form - Forma - Please switch to your browser to proceed. @@ -3898,17 +3811,6 @@ No es recomendable usarlo. OwncloudSetupPage - - - Form - Forma - - - - - TextLabel - EtiquetaDeTexto - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3942,27 +3844,11 @@ No es recomendable usarlo. OwncloudWizardResultPage - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Your entire account is synced to the local folder La totalidad de tu cuenta está sincronizada a la carpeta local - - - - PushButton - PushButton - QObject @@ -4099,14 +3985,6 @@ No es recomendable usarlo. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_es_DO.ts b/translations/client_es_DO.ts index 1402b51fa..6bf663286 100644 --- a/translations/client_es_DO.ts +++ b/translations/client_es_DO.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Forma - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Forma - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Forma - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Accept @@ -1429,11 +1399,6 @@ Continuar con la sincronización como normal causará que todos tus archivos sea OCC::GeneralSettings - - - Form - Forma - Legal notice @@ -1644,21 +1609,11 @@ Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un dire OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1788,11 +1743,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Forma - Proxy Settings @@ -3142,11 +3092,6 @@ No es recomendable usarlo. OCC::SslErrorDialog - - - Form - Forma - Trust this certificate anyway @@ -3776,23 +3721,6 @@ No es recomendable usarlo. OwncloudAdvancedSetupPage - - - Form - Forma - - - - - - - - - - - TextLabel - EtiquetaDeTexto - Server @@ -3834,11 +3762,6 @@ No es recomendable usarlo. &Local Folder Carpeta &Local - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3857,11 +3780,6 @@ No es recomendable usarlo. OwncloudHttpCredsPage - - - Form - Forma - &Username @@ -3875,11 +3793,6 @@ No es recomendable usarlo. OwncloudOAuthCredsPage - - - Form - Forma - Please switch to your browser to proceed. @@ -3898,17 +3811,6 @@ No es recomendable usarlo. OwncloudSetupPage - - - Form - Forma - - - - - TextLabel - EtiquetaDeTexto - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3942,27 +3844,11 @@ No es recomendable usarlo. OwncloudWizardResultPage - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Your entire account is synced to the local folder La totalidad de tu cuenta está sincronizada a la carpeta local - - - - PushButton - PushButton - QObject @@ -4099,14 +3985,6 @@ No es recomendable usarlo. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_es_EC.ts b/translations/client_es_EC.ts index 6272d5ef1..65d418336 100644 --- a/translations/client_es_EC.ts +++ b/translations/client_es_EC.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Forma - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Forma - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Forma - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Accept @@ -1429,11 +1399,6 @@ Continuar con la sincronización como normal causará que todos tus archivos sea OCC::GeneralSettings - - - Form - Forma - Legal notice @@ -1644,21 +1609,11 @@ Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un dire OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1788,11 +1743,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Forma - Proxy Settings @@ -3142,11 +3092,6 @@ No es recomendable usarlo. OCC::SslErrorDialog - - - Form - Forma - Trust this certificate anyway @@ -3776,23 +3721,6 @@ No es recomendable usarlo. OwncloudAdvancedSetupPage - - - Form - Forma - - - - - - - - - - - TextLabel - EtiquetaDeTexto - Server @@ -3834,11 +3762,6 @@ No es recomendable usarlo. &Local Folder Carpeta &Local - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3857,11 +3780,6 @@ No es recomendable usarlo. OwncloudHttpCredsPage - - - Form - Forma - &Username @@ -3875,11 +3793,6 @@ No es recomendable usarlo. OwncloudOAuthCredsPage - - - Form - Forma - Please switch to your browser to proceed. @@ -3898,17 +3811,6 @@ No es recomendable usarlo. OwncloudSetupPage - - - Form - Forma - - - - - TextLabel - EtiquetaDeTexto - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3942,27 +3844,11 @@ No es recomendable usarlo. OwncloudWizardResultPage - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Your entire account is synced to the local folder La totalidad de tu cuenta está sincronizada a la carpeta local - - - - PushButton - PushButton - QObject @@ -4099,14 +3985,6 @@ No es recomendable usarlo. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_es_GT.ts b/translations/client_es_GT.ts index c1fd4085f..ab3028f30 100644 --- a/translations/client_es_GT.ts +++ b/translations/client_es_GT.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Forma - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Forma - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Forma - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Accept @@ -1429,11 +1399,6 @@ Continuar con la sincronización como normal causará que todos tus archivos sea OCC::GeneralSettings - - - Form - Forma - Legal notice @@ -1644,21 +1609,11 @@ Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un dire OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1788,11 +1743,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Forma - Proxy Settings @@ -3142,11 +3092,6 @@ No es recomendable usarlo. OCC::SslErrorDialog - - - Form - Forma - Trust this certificate anyway @@ -3776,23 +3721,6 @@ No es recomendable usarlo. OwncloudAdvancedSetupPage - - - Form - Forma - - - - - - - - - - - TextLabel - EtiquetaDeTexto - Server @@ -3834,11 +3762,6 @@ No es recomendable usarlo. &Local Folder Carpeta &Local - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3857,11 +3780,6 @@ No es recomendable usarlo. OwncloudHttpCredsPage - - - Form - Forma - &Username @@ -3875,11 +3793,6 @@ No es recomendable usarlo. OwncloudOAuthCredsPage - - - Form - Forma - Please switch to your browser to proceed. @@ -3898,17 +3811,6 @@ No es recomendable usarlo. OwncloudSetupPage - - - Form - Forma - - - - - TextLabel - EtiquetaDeTexto - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3942,27 +3844,11 @@ No es recomendable usarlo. OwncloudWizardResultPage - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Your entire account is synced to the local folder La totalidad de tu cuenta está sincronizada a la carpeta local - - - - PushButton - PushButton - QObject @@ -4099,14 +3985,6 @@ No es recomendable usarlo. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_es_HN.ts b/translations/client_es_HN.ts index c7dc73ee4..903d9ed35 100644 --- a/translations/client_es_HN.ts +++ b/translations/client_es_HN.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Forma - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Forma - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Forma - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Accept @@ -1429,11 +1399,6 @@ Continuar con la sincronización como normal causará que todos tus archivos sea OCC::GeneralSettings - - - Form - Forma - Legal notice @@ -1644,21 +1609,11 @@ Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un dire OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1788,11 +1743,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Forma - Proxy Settings @@ -3142,11 +3092,6 @@ No es recomendable usarlo. OCC::SslErrorDialog - - - Form - Forma - Trust this certificate anyway @@ -3776,23 +3721,6 @@ No es recomendable usarlo. OwncloudAdvancedSetupPage - - - Form - Forma - - - - - - - - - - - TextLabel - EtiquetaDeTexto - Server @@ -3834,11 +3762,6 @@ No es recomendable usarlo. &Local Folder Carpeta &Local - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3857,11 +3780,6 @@ No es recomendable usarlo. OwncloudHttpCredsPage - - - Form - Forma - &Username @@ -3875,11 +3793,6 @@ No es recomendable usarlo. OwncloudOAuthCredsPage - - - Form - Forma - Please switch to your browser to proceed. @@ -3898,17 +3811,6 @@ No es recomendable usarlo. OwncloudSetupPage - - - Form - Forma - - - - - TextLabel - EtiquetaDeTexto - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3942,27 +3844,11 @@ No es recomendable usarlo. OwncloudWizardResultPage - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Your entire account is synced to the local folder La totalidad de tu cuenta está sincronizada a la carpeta local - - - - PushButton - PushButton - QObject @@ -4099,14 +3985,6 @@ No es recomendable usarlo. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_es_MX.ts b/translations/client_es_MX.ts index 379f25fe9..ba2e2e76a 100644 --- a/translations/client_es_MX.ts +++ b/translations/client_es_MX.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Forma - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Forma - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Forma - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Accept @@ -1429,11 +1399,6 @@ Continuar con la sincronización como normal causará que todos tus archivos sea OCC::GeneralSettings - - - Form - Forma - Legal notice @@ -1644,21 +1609,11 @@ Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un dire OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1788,11 +1743,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Forma - Proxy Settings @@ -3142,11 +3092,6 @@ No es recomendable usarlo. OCC::SslErrorDialog - - - Form - Forma - Trust this certificate anyway @@ -3776,23 +3721,6 @@ No es recomendable usarlo. OwncloudAdvancedSetupPage - - - Form - Forma - - - - - - - - - - - TextLabel - EtiquetaDeTexto - Server @@ -3834,11 +3762,6 @@ No es recomendable usarlo. &Local Folder Carpeta &Local - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3857,11 +3780,6 @@ No es recomendable usarlo. OwncloudHttpCredsPage - - - Form - Forma - &Username @@ -3875,11 +3793,6 @@ No es recomendable usarlo. OwncloudOAuthCredsPage - - - Form - Forma - Please switch to your browser to proceed. @@ -3898,17 +3811,6 @@ No es recomendable usarlo. OwncloudSetupPage - - - Form - Forma - - - - - TextLabel - EtiquetaDeTexto - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3942,27 +3844,11 @@ No es recomendable usarlo. OwncloudWizardResultPage - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Your entire account is synced to the local folder La totalidad de tu cuenta está sincronizada a la carpeta local - - - - PushButton - PushButton - QObject @@ -4099,14 +3985,6 @@ No es recomendable usarlo. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_es_SV.ts b/translations/client_es_SV.ts index a6f2d32e2..e77961607 100644 --- a/translations/client_es_SV.ts +++ b/translations/client_es_SV.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Forma - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Forma - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Forma - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Accept @@ -1429,11 +1399,6 @@ Continuar con la sincronización como normal causará que todos tus archivos sea OCC::GeneralSettings - - - Form - Forma - Legal notice @@ -1644,21 +1609,11 @@ Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un dire OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1788,11 +1743,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Forma - Proxy Settings @@ -3142,11 +3092,6 @@ No es recomendable usarlo. OCC::SslErrorDialog - - - Form - Forma - Trust this certificate anyway @@ -3776,23 +3721,6 @@ No es recomendable usarlo. OwncloudAdvancedSetupPage - - - Form - Forma - - - - - - - - - - - TextLabel - EtiquetaDeTexto - Server @@ -3834,11 +3762,6 @@ No es recomendable usarlo. &Local Folder Carpeta &Local - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3857,11 +3780,6 @@ No es recomendable usarlo. OwncloudHttpCredsPage - - - Form - Forma - &Username @@ -3875,11 +3793,6 @@ No es recomendable usarlo. OwncloudOAuthCredsPage - - - Form - Forma - Please switch to your browser to proceed. @@ -3898,17 +3811,6 @@ No es recomendable usarlo. OwncloudSetupPage - - - Form - Forma - - - - - TextLabel - EtiquetaDeTexto - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3942,27 +3844,11 @@ No es recomendable usarlo. OwncloudWizardResultPage - - - Form - Forma - - - - TextLabel - EtiquetaDeTexto - Your entire account is synced to the local folder La totalidad de tu cuenta está sincronizada a la carpeta local - - - - PushButton - PushButton - QObject @@ -4099,14 +3985,6 @@ No es recomendable usarlo. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_et.ts b/translations/client_et.ts index f8ad88739..0cbce95d3 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Vorm - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Vorm - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Vorm - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Vorm - - - - TextLabel - Tekstisilt - Accept @@ -1422,11 +1392,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - Vorm - Legal notice @@ -1635,21 +1600,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1779,11 +1734,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Vorm - Proxy Settings @@ -3132,11 +3082,6 @@ Selle kasutamine pole soovitatav. OCC::SslErrorDialog - - - Form - Vorm - Trust this certificate anyway @@ -3766,23 +3711,6 @@ Selle kasutamine pole soovitatav. OwncloudAdvancedSetupPage - - - Form - Vorm - - - - - - - - - - - TextLabel - Tekstisilt - Server @@ -3824,11 +3752,6 @@ Selle kasutamine pole soovitatav. &Local Folder &Kohalik kataloog - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3847,11 +3770,6 @@ Selle kasutamine pole soovitatav. OwncloudHttpCredsPage - - - Form - Vorm - &Username @@ -3865,11 +3783,6 @@ Selle kasutamine pole soovitatav. OwncloudOAuthCredsPage - - - Form - Vorm - Please switch to your browser to proceed. @@ -3888,17 +3801,6 @@ Selle kasutamine pole soovitatav. OwncloudSetupPage - - - Form - Vorm - - - - - TextLabel - Tekstisilt - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3932,27 +3834,11 @@ Selle kasutamine pole soovitatav. OwncloudWizardResultPage - - - Form - Vorm - - - - TextLabel - TekstiSilt - Your entire account is synced to the local folder Kogu Su konto sünkroniseeriti kohalikku kataloogi - - - - PushButton - Nupp - QObject @@ -4089,14 +3975,6 @@ Selle kasutamine pole soovitatav. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_eu.ts b/translations/client_eu.ts index 0a18b10eb..560b61ae8 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Elkarrizketa - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formularioa - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Formularioa - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Formularioa - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Formularioa - - - - TextLabel - TestuEtiketa - Accept @@ -1436,11 +1406,6 @@ Nahi al duzu zure tokiko fitxategi berrienak gatazkako fitxategi gisa mantentzea OCC::GeneralSettings - - - Form - Formularioa - Legal notice @@ -1653,21 +1618,11 @@ Ezabatzeko baimena duten itemak ezabatuko dira hauek karpeta bat ezabatzea uzten OCC::LegalNotice - - - Dialog - Elkarrizketa - Legal notice Ohar legala - - - TextLabel - TestuEtiketa - Close @@ -1798,11 +1753,6 @@ Erregistroak %1(e)an idatziko dira. OCC::NetworkSettings - - - Form - Formularioa - Proxy Settings @@ -3150,11 +3100,6 @@ Ez da gomendagarria erabltzea. OCC::SslErrorDialog - - - Form - Formularioa - Trust this certificate anyway @@ -3784,23 +3729,6 @@ Ez da gomendagarria erabltzea. OwncloudAdvancedSetupPage - - - Form - Formularioa - - - - - - - - - - - TextLabel - TestuEtiketa - Server @@ -3842,11 +3770,6 @@ Ez da gomendagarria erabltzea. &Local Folder Karpeta &lokala - - - pbSelectLocalFolder - - &Keep local data @@ -3865,11 +3788,6 @@ Ez da gomendagarria erabltzea. OwncloudHttpCredsPage - - - Form - Formularioa - &Username @@ -3883,11 +3801,6 @@ Ez da gomendagarria erabltzea. OwncloudOAuthCredsPage - - - Form - Formularioa - Please switch to your browser to proceed. @@ -3906,17 +3819,6 @@ Ez da gomendagarria erabltzea. OwncloudSetupPage - - - Form - Formularioa - - - - - TextLabel - TestuEtiketa - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3950,27 +3852,11 @@ Ez da gomendagarria erabltzea. OwncloudWizardResultPage - - - Form - Formularioa - - - - TextLabel - TestuEtiketa - Your entire account is synced to the local folder Zure kontu osoa karpeta lokalera sinkronizaturik dago - - - - PushButton - - QObject @@ -4107,14 +3993,6 @@ Ez da gomendagarria erabltzea. - - WebView - - - Form - Inprimakia - - main.cpp diff --git a/translations/client_fa.ts b/translations/client_fa.ts index bb2de2074..dece5db29 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - مکالمه - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - فرم - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - فرم - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - فرم - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - فرم - - - - TextLabel - برچسب متنی - Accept @@ -1428,11 +1398,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - فرم - Legal notice @@ -1642,21 +1607,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - گفتگو - Legal notice - - - TextLabel - برچسب متن - Close @@ -1786,11 +1741,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - فرم - Proxy Settings @@ -3138,11 +3088,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - فرم - Trust this certificate anyway @@ -3772,23 +3717,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - فرم - - - - - - - - - - - TextLabel - برچسب متنی - Server @@ -3830,11 +3758,6 @@ It is not advisable to use it. &Local Folder &پوشه محلی - - - pbSelectLocalFolder - - &Keep local data @@ -3853,11 +3776,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - فرم - &Username @@ -3871,11 +3789,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - فرم - Please switch to your browser to proceed. @@ -3894,17 +3807,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - فرم - - - - - TextLabel - برچسب متنی - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3938,27 +3840,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - فرم - - - - TextLabel - برچسب متنی - Your entire account is synced to the local folder کل حساب شما با پوشه محلی همگام سازی شده است - - - - PushButton - دکمه - QObject @@ -4095,14 +3981,6 @@ It is not advisable to use it. - - WebView - - - Form - فرم - - main.cpp diff --git a/translations/client_fi.ts b/translations/client_fi.ts index a18c2f49b..e496d7f9d 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Lomake - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Lomake - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Lomake - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Lomake - - - - TextLabel - TekstiLeima - Accept @@ -1424,11 +1394,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - Lomake - Legal notice @@ -1639,21 +1604,11 @@ Kohteet, joiden poisto on sallittu, poistetaan, jos ne estävät kansion poistam OCC::LegalNotice - - - Dialog - - Legal notice Lainopillinen huomautus - - - TextLabel - - Close @@ -1783,11 +1738,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Lomake - Proxy Settings @@ -3136,11 +3086,6 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::SslErrorDialog - - - Form - Lomake - Trust this certificate anyway @@ -3770,23 +3715,6 @@ Osoitteen käyttäminen ei ole suositeltavaa. OwncloudAdvancedSetupPage - - - Form - Lomake - - - - - - - - - - - TextLabel - TekstiLeima - Server @@ -3828,11 +3756,6 @@ Osoitteen käyttäminen ei ole suositeltavaa. &Local Folder &Paikallinen kansio - - - pbSelectLocalFolder - - &Keep local data @@ -3851,11 +3774,6 @@ Osoitteen käyttäminen ei ole suositeltavaa. OwncloudHttpCredsPage - - - Form - Lomake - &Username @@ -3869,11 +3787,6 @@ Osoitteen käyttäminen ei ole suositeltavaa. OwncloudOAuthCredsPage - - - Form - Lomake - Please switch to your browser to proceed. @@ -3892,17 +3805,6 @@ Osoitteen käyttäminen ei ole suositeltavaa. OwncloudSetupPage - - - Form - Lomake - - - - - TextLabel - TekstiLeima - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3936,27 +3838,11 @@ Osoitteen käyttäminen ei ole suositeltavaa. OwncloudWizardResultPage - - - Form - Lomake - - - - TextLabel - TekstiLeima - Your entire account is synced to the local folder Koko tilisi on synkronoitu paikalliseen kansioon - - - - PushButton - - QObject @@ -4093,14 +3979,6 @@ Osoitteen käyttäminen ei ole suositeltavaa. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_fr.ts b/translations/client_fr.ts index f70e2ee2d..99abfa78d 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dialogue - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formulaire - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Formulaire - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Formulaire - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Form - - - - TextLabel - TextLabel - Accept @@ -1437,11 +1407,6 @@ Continuer la synchronisation comme d'habitude fera en sorte que tous les fi OCC::GeneralSettings - - - Form - Formulaire - Legal notice @@ -1654,21 +1619,11 @@ L'option "Autoriser suppression" permet de ne pas bloquer la supp OCC::LegalNotice - - - Dialog - Dialogue - Legal notice Notice légale - - - TextLabel - Étiquette de texte - Close @@ -1800,11 +1755,6 @@ Les journaux seront écrits dans %1. OCC::NetworkSettings - - - Form - Formulaire - Proxy Settings @@ -3155,11 +3105,6 @@ Il est déconseillé de l'utiliser. OCC::SslErrorDialog - - - Form - Formulaire - Trust this certificate anyway @@ -3789,23 +3734,6 @@ Il est déconseillé de l'utiliser. OwncloudAdvancedSetupPage - - - Form - Formulaire - - - - - - - - - - - TextLabel - TextLabel - Server @@ -3847,11 +3775,6 @@ Il est déconseillé de l'utiliser. &Local Folder &Dossier local - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3870,11 +3793,6 @@ Il est déconseillé de l'utiliser. OwncloudHttpCredsPage - - - Form - Formulaire - &Username @@ -3888,11 +3806,6 @@ Il est déconseillé de l'utiliser. OwncloudOAuthCredsPage - - - Form - Form - Please switch to your browser to proceed. @@ -3911,17 +3824,6 @@ Il est déconseillé de l'utiliser. OwncloudSetupPage - - - Form - Formulaire - - - - - TextLabel - Zone de texte - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3955,27 +3857,11 @@ Il est déconseillé de l'utiliser. OwncloudWizardResultPage - - - Form - Formulaire - - - - TextLabel - Nom du libellé - Your entire account is synced to the local folder Votre compte est intégralement synchronisé avec le dossier local - - - - PushButton - PushButton - QObject @@ -4112,14 +3998,6 @@ Il est déconseillé de l'utiliser. Le fichier téléchargé ne correspond pas à la somme de contrôle, il va être téléchargé à nouveau. - - WebView - - - Form - Formulaire - - main.cpp diff --git a/translations/client_gl.ts b/translations/client_gl.ts index 01a0d25c2..575af87b0 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dialogo - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formulario - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Formulario - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Formulario - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Formulario - - - - TextLabel - Etiqueta de texto - Accept @@ -1436,11 +1406,6 @@ Continuando a sincronización como normal fará que todos os seus ficheiros sexa OCC::GeneralSettings - - - Form - Formulario - Legal notice @@ -1653,21 +1618,11 @@ Os elementos onde se permite a eliminación eliminaranse se impiden que se elimi OCC::LegalNotice - - - Dialog - Dialogo - Legal notice Aviso legal - - - TextLabel - EtiquetaDeTexto - Close @@ -1799,11 +1754,6 @@ Os rexistros escribiranse en %1 OCC::NetworkSettings - - - Form - Formulario - Proxy Settings @@ -3153,11 +3103,6 @@ Recomendámoslle que non o use. OCC::SslErrorDialog - - - Form - Formulario - Trust this certificate anyway @@ -3787,23 +3732,6 @@ Recomendámoslle que non o use. OwncloudAdvancedSetupPage - - - Form - Formulario - - - - - - - - - - - TextLabel - Etiqueta de texto - Server @@ -3845,11 +3773,6 @@ Recomendámoslle que non o use. &Local Folder Cartafol &local - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3868,11 +3791,6 @@ Recomendámoslle que non o use. OwncloudHttpCredsPage - - - Form - Formulario - &Username @@ -3886,11 +3804,6 @@ Recomendámoslle que non o use. OwncloudOAuthCredsPage - - - Form - Formulario - Please switch to your browser to proceed. @@ -3909,17 +3822,6 @@ Recomendámoslle que non o use. OwncloudSetupPage - - - Form - Formulario - - - - - TextLabel - Etiqueta de texto - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3953,27 +3855,11 @@ Recomendámoslle que non o use. OwncloudWizardResultPage - - - Form - Formulario - - - - TextLabel - Etiqueta de texto - Your entire account is synced to the local folder Toda a súa conta está sincronizada co cartafol local - - - - PushButton - PushButton - QObject @@ -4110,14 +3996,6 @@ Recomendámoslle que non o use. O ficheiro descargado non coincide coa suma de comprobación. Retomase. - - WebView - - - Form - Formulario - - main.cpp diff --git a/translations/client_he.ts b/translations/client_he.ts index f48dfeae9..3fad01b25 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - תיבת דו-שיח - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - טופס - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - טופס - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - טופס - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - טופס - - - - TextLabel - תוית טקסט - Accept @@ -1424,11 +1394,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - טופס - Legal notice @@ -1637,21 +1602,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - - Legal notice הצהרה משפטית - - - TextLabel - - Close @@ -1781,11 +1736,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - - Proxy Settings @@ -3131,11 +3081,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - - Trust this certificate anyway @@ -3765,23 +3710,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - - - - - - - - - - - - TextLabel - - Server @@ -3823,11 +3751,6 @@ It is not advisable to use it. &Local Folder &תיקייה מקומית - - - pbSelectLocalFolder - - &Keep local data @@ -3846,11 +3769,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - - &Username @@ -3864,11 +3782,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - - Please switch to your browser to proceed. @@ -3887,17 +3800,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - - - - - - TextLabel - - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3931,27 +3833,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - - - - - TextLabel - - Your entire account is synced to the local folder כל החשבון שלך מסונכרן לתיקייה הנוכחית - - - - PushButton - - QObject @@ -4088,14 +3974,6 @@ It is not advisable to use it. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_hr.ts b/translations/client_hr.ts index 159ea52fe..ca39e9c29 100644 --- a/translations/client_hr.ts +++ b/translations/client_hr.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dijalog - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formiraj - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Obrazac - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Obrazac - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Obrazac - - - - TextLabel - TextLabel - Accept @@ -1435,11 +1405,6 @@ Nastavljanje sinkronizacije uzrokovat će zamjenu svih vaših datoteka starijim OCC::GeneralSettings - - - Form - Obrazac - Legal notice @@ -1652,21 +1617,11 @@ Stavke za koje je dopušteno brisanje bit će izbrisane ako sprječavaju uklanja OCC::LegalNotice - - - Dialog - Dijalog - Legal notice Pravna obavijest - - - TextLabel - TextLabel - Close @@ -1798,11 +1753,6 @@ Zapisi se zapisuju u %1 OCC::NetworkSettings - - - Form - Obrazac - Proxy Settings @@ -3152,11 +3102,6 @@ Nije preporučljivo koristiti ga. OCC::SslErrorDialog - - - Form - Obrazac - Trust this certificate anyway @@ -3786,23 +3731,6 @@ Nije preporučljivo koristiti ga. OwncloudAdvancedSetupPage - - - Form - Obrazac - - - - - - - - - - - TextLabel - TextLabel - Server @@ -3844,11 +3772,6 @@ Nije preporučljivo koristiti ga. &Local Folder &Lokalna mapa - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3867,11 +3790,6 @@ Nije preporučljivo koristiti ga. OwncloudHttpCredsPage - - - Form - Obrazac - &Username @@ -3885,11 +3803,6 @@ Nije preporučljivo koristiti ga. OwncloudOAuthCredsPage - - - Form - Obrazac - Please switch to your browser to proceed. @@ -3908,17 +3821,6 @@ Nije preporučljivo koristiti ga. OwncloudSetupPage - - - Form - Obrazac - - - - - TextLabel - TextLabel - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3952,27 +3854,11 @@ Nije preporučljivo koristiti ga. OwncloudWizardResultPage - - - Form - Obrazac - - - - TextLabel - TextLabel - Your entire account is synced to the local folder Cijeli se račun sinkronizira s lokalnom mapom - - - - PushButton - PushButton - QObject @@ -4109,14 +3995,6 @@ Nije preporučljivo koristiti ga. Preuzeta se datoteka ne podudara s kontrolnim zbrojem, nastavit će se. - - WebView - - - Form - Obrazac - - main.cpp diff --git a/translations/client_hu.ts b/translations/client_hu.ts index 423ceab69..b0546cbbe 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Párbeszédablak - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Űrlap - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Űrlap - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Űrlap - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Űrlap - - - - TextLabel - Címke - Accept @@ -1435,11 +1405,6 @@ A szinkronizálás folytatásával az összes fájlja felül lesz írva egy rég OCC::GeneralSettings - - - Form - Űrlap - Legal notice @@ -1652,21 +1617,11 @@ Ahol a törlés engedélyezett, ott az elemek törölve lesznek, ha megakadályo OCC::LegalNotice - - - Dialog - Párbeszédablak - Legal notice Jogi nyilatkozat - - - TextLabel - Címke - Close @@ -1798,11 +1753,6 @@ A naplók ide lesznek írva: %1 OCC::NetworkSettings - - - Form - Űrlap - Proxy Settings @@ -3151,11 +3101,6 @@ Használata nem ajánlott. OCC::SslErrorDialog - - - Form - Űrlap - Trust this certificate anyway @@ -3785,23 +3730,6 @@ Használata nem ajánlott. OwncloudAdvancedSetupPage - - - Form - Űrlap - - - - - - - - - - - TextLabel - Címke - Server @@ -3843,11 +3771,6 @@ Használata nem ajánlott. &Local Folder &Helyi mappa - - - pbSelectLocalFolder - Helyi mappa kiválasztása gomb - &Keep local data @@ -3866,11 +3789,6 @@ Használata nem ajánlott. OwncloudHttpCredsPage - - - Form - Űrlap - &Username @@ -3884,11 +3802,6 @@ Használata nem ajánlott. OwncloudOAuthCredsPage - - - Form - Űrlap - Please switch to your browser to proceed. @@ -3907,17 +3820,6 @@ Használata nem ajánlott. OwncloudSetupPage - - - Form - Űrlap - - - - - TextLabel - Címke - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3951,27 +3853,11 @@ Használata nem ajánlott. OwncloudWizardResultPage - - - Form - Űrlap - - - - TextLabel - Címke - Your entire account is synced to the local folder A teljes fiókja szinkronizálásra került a helyi mappába. - - - - PushButton - Nyomógomb - QObject @@ -4108,14 +3994,6 @@ Használata nem ajánlott. A letöltött fájl nem felel meg az ellenőrzőösszegénet, újra le lesz töltve. - - WebView - - - Form - Űrlap - - main.cpp diff --git a/translations/client_id.ts b/translations/client_id.ts index 47cdbb6a4..dee61c4fc 100644 --- a/translations/client_id.ts +++ b/translations/client_id.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dialog - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Form - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Form - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Form - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Form - - - - TextLabel - LabelTeks - Accept @@ -1435,11 +1405,6 @@ Melanjutkan sinkronisasi seperti biasanya akan menyebabkan semua berkas Anda dit OCC::GeneralSettings - - - Form - Form - Legal notice @@ -1652,21 +1617,11 @@ Item dimana penghapusan yang diperbolehkan akan dihapus jika item tsb mencegah s OCC::LegalNotice - - - Dialog - Dialog - Legal notice Pemberitahuan hukum - - - TextLabel - LabelTeks - Close @@ -1797,11 +1752,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Form - Proxy Settings @@ -3149,11 +3099,6 @@ Tidak disarankan untuk digunakan. OCC::SslErrorDialog - - - Form - - Trust this certificate anyway @@ -3783,23 +3728,6 @@ Tidak disarankan untuk digunakan. OwncloudAdvancedSetupPage - - - Form - - - - - - - - - - - - TextLabel - - Server @@ -3841,11 +3769,6 @@ Tidak disarankan untuk digunakan. &Local Folder - - - pbSelectLocalFolder - - &Keep local data @@ -3864,11 +3787,6 @@ Tidak disarankan untuk digunakan. OwncloudHttpCredsPage - - - Form - - &Username @@ -3882,11 +3800,6 @@ Tidak disarankan untuk digunakan. OwncloudOAuthCredsPage - - - Form - - Please switch to your browser to proceed. @@ -3905,17 +3818,6 @@ Tidak disarankan untuk digunakan. OwncloudSetupPage - - - Form - - - - - - TextLabel - - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3949,27 +3851,11 @@ Tidak disarankan untuk digunakan. OwncloudWizardResultPage - - - Form - - - - - TextLabel - - Your entire account is synced to the local folder - - - - PushButton - - QObject @@ -4106,14 +3992,6 @@ Tidak disarankan untuk digunakan. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_is.ts b/translations/client_is.ts index d7f0c9f85..4ccb38815 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Samskiptagluggi - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Eyðublað - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Eyðublað - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Eyðublað - ... @@ -604,16 +584,6 @@ skráakerfið eða sameignarmöppur, gætu verið með önnur takmörk. OCC::ActivityWidget - - - Form - Eyðublað - - - - TextLabel - TextaMerking - Accept @@ -1433,11 +1403,6 @@ Vertu viss um að ekkert annað forrit sé ekki að nota hana. OCC::GeneralSettings - - - Form - Eyðublað - Legal notice @@ -1646,21 +1611,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - Samskiptagluggi - Legal notice Lagaleg atriði - - - TextLabel - TextaMerking - Close @@ -1791,11 +1746,6 @@ niðurhals. Uppsetta útgáfan er %3.</p> OCC::NetworkSettings - - - Form - Eyðublað - Proxy Settings @@ -3149,11 +3099,6 @@ Ekki er mælt með því að hún sé notuð. OCC::SslErrorDialog - - - Form - Eyðublað - Trust this certificate anyway @@ -3783,23 +3728,6 @@ Ekki er mælt með því að hún sé notuð. OwncloudAdvancedSetupPage - - - Form - Eyðublað - - - - - - - - - - - TextLabel - TextaMerking - Server @@ -3841,11 +3769,6 @@ Ekki er mælt með því að hún sé notuð. &Local Folder &Staðvær mappa - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3864,11 +3787,6 @@ Ekki er mælt með því að hún sé notuð. OwncloudHttpCredsPage - - - Form - Eyðublað - &Username @@ -3882,11 +3800,6 @@ Ekki er mælt með því að hún sé notuð. OwncloudOAuthCredsPage - - - Form - Eyðublað - Please switch to your browser to proceed. @@ -3905,17 +3818,6 @@ Ekki er mælt með því að hún sé notuð. OwncloudSetupPage - - - Form - Eyðublað - - - - - TextLabel - TextaMerking - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3949,27 +3851,11 @@ Ekki er mælt með því að hún sé notuð. OwncloudWizardResultPage - - - Form - Eyðublað - - - - TextLabel - TextaMerking - Your entire account is synced to the local folder Allt á notandaaðgangnum þínum er samstillt við staðværu möppuna - - - - PushButton - ÝtiHnappur - QObject @@ -4106,14 +3992,6 @@ Ekki er mælt með því að hún sé notuð. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_it.ts b/translations/client_it.ts index 321623425..497b9c223 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Finestra - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Modulo - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Modulo - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Modulo - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Modulo - - - - TextLabel - EtichettaTesto - Accept @@ -1437,11 +1407,6 @@ Se continui normalmente la sincronizzazione provocherai la sovrascrittura di tut OCC::GeneralSettings - - - Form - Modulo - Legal notice @@ -1654,21 +1619,11 @@ Gli elementi per i quali è consentita l'eliminazione, saranno eliminati se OCC::LegalNotice - - - Dialog - Finestra - Legal notice Avviso legale - - - TextLabel - EtichettaTesto - Close @@ -1800,11 +1755,6 @@ I log saranno scritti in %1 OCC::NetworkSettings - - - Form - Modulo - Proxy Settings @@ -3153,11 +3103,6 @@ Non è consigliabile utilizzarlo. OCC::SslErrorDialog - - - Form - Modulo - Trust this certificate anyway @@ -3787,23 +3732,6 @@ Non è consigliabile utilizzarlo. OwncloudAdvancedSetupPage - - - Form - Modulo - - - - - - - - - - - TextLabel - EtichettaTesto - Server @@ -3845,11 +3773,6 @@ Non è consigliabile utilizzarlo. &Local Folder Carte&lla locale - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3868,11 +3791,6 @@ Non è consigliabile utilizzarlo. OwncloudHttpCredsPage - - - Form - Modulo - &Username @@ -3886,11 +3804,6 @@ Non è consigliabile utilizzarlo. OwncloudOAuthCredsPage - - - Form - Modulo - Please switch to your browser to proceed. @@ -3909,17 +3822,6 @@ Non è consigliabile utilizzarlo. OwncloudSetupPage - - - Form - Modulo - - - - - TextLabel - EtichettaTesto - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3953,27 +3855,11 @@ Non è consigliabile utilizzarlo. OwncloudWizardResultPage - - - Form - Modulo - - - - TextLabel - EtichettaTesto - Your entire account is synced to the local folder L'intero account è sincronizzato con la cartella locale - - - - PushButton - PremiPulsante - QObject @@ -4110,14 +3996,6 @@ Non è consigliabile utilizzarlo. Il file scaricato non verifica il codice di controllo, sarà ripristinato. - - WebView - - - Form - Modulo - - main.cpp diff --git a/translations/client_ja.ts b/translations/client_ja.ts index e8dad6827..faf227a73 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - ダイアログ - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - フォーム - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - フォーム - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - フォーム - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - フォーム - - - - TextLabel - テキストラベル - Accept @@ -1433,11 +1403,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - フォーム - Legal notice @@ -1648,21 +1613,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - ダイアログ - Legal notice 法的通知 - - - TextLabel - テキストラベル - Close @@ -1794,11 +1749,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - フォーム - Proxy Settings @@ -3146,11 +3096,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - フォーム - Trust this certificate anyway @@ -3780,23 +3725,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - フォーム - - - - - - - - - - - TextLabel - テキストラベル - Server @@ -3838,11 +3766,6 @@ It is not advisable to use it. &Local Folder ローカルフォルダー(&L) - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3861,11 +3784,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - フォーム - &Username @@ -3879,11 +3797,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - フォーム - Please switch to your browser to proceed. @@ -3902,17 +3815,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - フォーム - - - - - TextLabel - テキストラベル - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3946,27 +3848,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - フォーム - - - - TextLabel - テキストラベル - Your entire account is synced to the local folder すべてのアカウントはローカルフォルダーと同期されます - - - - PushButton - プッシュボタン - QObject @@ -4103,14 +3989,6 @@ It is not advisable to use it. ダウンロードしたファイルがチェックサムと一致しません。再開されます。 - - WebView - - - Form - フォーム - - main.cpp diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index fffb9bdfb..d3480e2e4 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dialogo langas - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Forma - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Forma - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Forma - ... @@ -598,17 +578,6 @@ OCC::ActivityWidget - - - Form - Forma - - - - TextLabel - TextLabel - - Accept @@ -1432,11 +1401,6 @@ Jei tęsite sinchronizavimą, Jūsų ankstesni failai bus perrašyti senesniais. OCC::GeneralSettings - - - Form - Forma - Legal notice @@ -1649,21 +1613,11 @@ Elementai, kuriuose galimas trynimas, bus ištrinti, jei jie apsaugos direktorij OCC::LegalNotice - - - Dialog - Dialogo langas - Legal notice Teisinis pranešimas - - - TextLabel - TextLabel - Close @@ -1793,11 +1747,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Forma - Proxy Settings @@ -3147,11 +3096,6 @@ Patariama jo nenaudoti. OCC::SslErrorDialog - - - Form - Forma - Trust this certificate anyway @@ -3781,23 +3725,6 @@ Patariama jo nenaudoti. OwncloudAdvancedSetupPage - - - Form - Forma - - - - - - - - - - - TextLabel - TextLabel - Server @@ -3839,11 +3766,6 @@ Patariama jo nenaudoti. &Local Folder Aplankas kompiuteryje - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3862,11 +3784,6 @@ Patariama jo nenaudoti. OwncloudHttpCredsPage - - - Form - Forma - &Username @@ -3880,11 +3797,6 @@ Patariama jo nenaudoti. OwncloudOAuthCredsPage - - - Form - Forma - Please switch to your browser to proceed. @@ -3903,17 +3815,6 @@ Patariama jo nenaudoti. OwncloudSetupPage - - - Form - Forma - - - - - TextLabel - TextLabel - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3947,27 +3848,11 @@ Patariama jo nenaudoti. OwncloudWizardResultPage - - - Form - Forma - - - - TextLabel - TextLabel - Your entire account is synced to the local folder Visa paskyra yra sinchronizuota su kompiuterio aplanku - - - - PushButton - PushButton - QObject @@ -4104,14 +3989,6 @@ Patariama jo nenaudoti. Atsisiųstas failas neatitinka kontrolinės sumos, jis bus pratęstas. - - WebView - - - Form - Forma - - main.cpp diff --git a/translations/client_lv.ts b/translations/client_lv.ts index 109797d93..20b76e773 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dialogs - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Forma - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Forma - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Forma - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - - - - - TextLabel - - Accept @@ -1424,11 +1394,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - - Legal notice @@ -1637,21 +1602,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1781,11 +1736,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - - Proxy Settings @@ -3131,11 +3081,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - Forma - Trust this certificate anyway @@ -3765,23 +3710,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - Forma - - - - - - - - - - - TextLabel - - Server @@ -3823,11 +3751,6 @@ It is not advisable to use it. &Local Folder Lokālā mape - - - pbSelectLocalFolder - - &Keep local data @@ -3846,11 +3769,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - Forma - &Username @@ -3864,11 +3782,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - Forma - Please switch to your browser to proceed. @@ -3887,17 +3800,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - Forma - - - - - TextLabel - TekstaApzīmējums - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3931,27 +3833,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - Forma - - - - TextLabel - TekstaApzīmējums - Your entire account is synced to the local folder Viss jūsu konts ir sinhronizēts ar lokālo mapi - - - - PushButton - Spiedpoga - QObject @@ -4088,14 +3974,6 @@ It is not advisable to use it. Lejupielādētajai datnei nesakrīt kontrolsumma, tā tiks pārrēķināta. - - WebView - - - Form - Forma - - main.cpp diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index 331db7be1..2a3dd9e7b 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dialog - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Skjema - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Skjema - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Skjema - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Skjema - - - - TextLabel - Tekst-etikett - Accept @@ -1427,11 +1397,6 @@ Hvis synkroniseringen fortsetter som normalt, vil alle filene dine bli overskrev OCC::GeneralSettings - - - Form - Skjema - Legal notice @@ -1644,21 +1609,11 @@ Elementer hvor sletting er tillatt, vil bli slettet hvis de forhindrer fjerning OCC::LegalNotice - - - Dialog - Dialog - Legal notice Juridisk varsel - - - TextLabel - Tekst-etikett - Close @@ -1788,11 +1743,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Skjema - Proxy Settings @@ -3142,11 +3092,6 @@ Det er ikke tilrådelig å bruke den. OCC::SslErrorDialog - - - Form - Skjema - Trust this certificate anyway @@ -3776,23 +3721,6 @@ Det er ikke tilrådelig å bruke den. OwncloudAdvancedSetupPage - - - Form - Skjema - - - - - - - - - - - TextLabel - Tekst-etikett - Server @@ -3834,11 +3762,6 @@ Det er ikke tilrådelig å bruke den. &Local Folder &Lokal mappe - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3857,11 +3780,6 @@ Det er ikke tilrådelig å bruke den. OwncloudHttpCredsPage - - - Form - Skjema - &Username @@ -3875,11 +3793,6 @@ Det er ikke tilrådelig å bruke den. OwncloudOAuthCredsPage - - - Form - Skjema - Please switch to your browser to proceed. @@ -3898,17 +3811,6 @@ Det er ikke tilrådelig å bruke den. OwncloudSetupPage - - - Form - Skjema - - - - - TextLabel - Tekst-etikett - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3942,27 +3844,11 @@ Det er ikke tilrådelig å bruke den. OwncloudWizardResultPage - - - Form - Skjema - - - - TextLabel - Tekst-etikett - Your entire account is synced to the local folder Hele kontoen din er synkronisert til den lokale mappen - - - - PushButton - Trykknapp - QObject @@ -4099,14 +3985,6 @@ Det er ikke tilrådelig å bruke den. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_nl.ts b/translations/client_nl.ts index 4aaac6079..a1a78b5ce 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dialoog - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formulier - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Formulier - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Formulier - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Formulier - - - - TextLabel - Tekstlabel - Accept @@ -1435,11 +1405,6 @@ Doorgaan met deze synchronisatie overschrijft al je bestanden door een eerdere v OCC::GeneralSettings - - - Form - Formulier - Legal notice @@ -1656,21 +1621,11 @@ Onderdelen die gewist mogen worden worden verwijderd als ze voorkomen dat een ma OCC::LegalNotice - - - Dialog - Dialoog - Legal notice Juridische bepalingen - - - TextLabel - TextLabel - Close @@ -1802,11 +1757,6 @@ Logs worden geschreven naar %1 OCC::NetworkSettings - - - Form - Formulier - Proxy Settings @@ -3156,11 +3106,6 @@ We adviseren deze site niet te gebruiken. OCC::SslErrorDialog - - - Form - Formulier - Trust this certificate anyway @@ -3790,23 +3735,6 @@ We adviseren deze site niet te gebruiken. OwncloudAdvancedSetupPage - - - Form - Formulier - - - - - - - - - - - TextLabel - TekstLabel - Server @@ -3848,11 +3776,6 @@ We adviseren deze site niet te gebruiken. &Local Folder &Lokale map - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3871,11 +3794,6 @@ We adviseren deze site niet te gebruiken. OwncloudHttpCredsPage - - - Form - Formulier - &Username @@ -3889,11 +3807,6 @@ We adviseren deze site niet te gebruiken. OwncloudOAuthCredsPage - - - Form - Formulier - Please switch to your browser to proceed. @@ -3912,17 +3825,6 @@ We adviseren deze site niet te gebruiken. OwncloudSetupPage - - - Form - Formulier - - - - - TextLabel - Tekstlabel - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3956,27 +3858,11 @@ We adviseren deze site niet te gebruiken. OwncloudWizardResultPage - - - Form - Formulier - - - - TextLabel - Tekstlabel - Your entire account is synced to the local folder Je volledige account is gesynchroniseerd met de lokale map - - - - PushButton - Drukknop - QObject @@ -4113,14 +3999,6 @@ We adviseren deze site niet te gebruiken. Het gedownloade bestand komt niet overeen met het controlegetal. Het wordt opnieuw verwerkt. - - WebView - - - Form - Formulier - - main.cpp diff --git a/translations/client_pl.ts b/translations/client_pl.ts index dccb93071..c67e9f1e7 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dialog - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formularz - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Formularz - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Formularz - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Formularz - - - - TextLabel - Etykieta - Accept @@ -1435,11 +1405,6 @@ Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie Twoje pli OCC::GeneralSettings - - - Form - Formularz - Legal notice @@ -1652,21 +1617,11 @@ Elementy, dla których usuwanie jest dozwolone zostaną usunięte, jeżeli upraw OCC::LegalNotice - - - Dialog - Dialog - Legal notice Nota prawna - - - TextLabel - TextLabel - Close @@ -1798,11 +1753,6 @@ Logi będą zapisane w %1 OCC::NetworkSettings - - - Form - Formularz - Proxy Settings @@ -3152,11 +3102,6 @@ Niezalecane jest jego użycie. OCC::SslErrorDialog - - - Form - Formularz - Trust this certificate anyway @@ -3786,23 +3731,6 @@ Niezalecane jest jego użycie. OwncloudAdvancedSetupPage - - - Form - Formularz - - - - - - - - - - - TextLabel - Etykieta - Server @@ -3844,11 +3772,6 @@ Niezalecane jest jego użycie. &Local Folder &Lokalny folder - - - pbSelectLocalFolder - pbWybierzLokalnyFolder - &Keep local data @@ -3867,11 +3790,6 @@ Niezalecane jest jego użycie. OwncloudHttpCredsPage - - - Form - Formularz - &Username @@ -3885,11 +3803,6 @@ Niezalecane jest jego użycie. OwncloudOAuthCredsPage - - - Form - Formularz - Please switch to your browser to proceed. @@ -3908,17 +3821,6 @@ Niezalecane jest jego użycie. OwncloudSetupPage - - - Form - Formularz - - - - - TextLabel - Etykieta tekstowa - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3952,28 +3854,11 @@ Niezalecane jest jego użycie. OwncloudWizardResultPage - - - Form - Formularz - - - - TextLabel - Etykieta tekstowa - Your entire account is synced to the local folder Twoje całe konto zostało zsynchronizowane z folderem lokalnym - - - - PushButton - -Kliknij - QObject @@ -4110,14 +3995,6 @@ Kliknij W pobranym pliku nie zgadza się suma kontrolna, pobieranie zostanie wznowione. - - WebView - - - Form - Formularz - - main.cpp diff --git a/translations/client_pt.ts b/translations/client_pt.ts index e21735ac8..b163b6a35 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formulário - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Formulário - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Formulário - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Formulário - - - - TextLabel - EtiquetaTexto - Accept @@ -1428,11 +1398,6 @@ Continuando a sincronização fará com que todos os seus ficheiros sejam substi OCC::GeneralSettings - - - Form - Formulário - Legal notice @@ -1643,21 +1608,11 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1787,11 +1742,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Formulário - Proxy Settings @@ -3141,11 +3091,6 @@ Não é aconselhada a sua utilização. OCC::SslErrorDialog - - - Form - Formulário - Trust this certificate anyway @@ -3775,23 +3720,6 @@ Não é aconselhada a sua utilização. OwncloudAdvancedSetupPage - - - Form - Formulário - - - - - - - - - - - TextLabel - TextLabel - Server @@ -3833,11 +3761,6 @@ Não é aconselhada a sua utilização. &Local Folder Pasta Local - - - pbSelectLocalFolder - Seleccione Pasta local - &Keep local data @@ -3856,11 +3779,6 @@ Não é aconselhada a sua utilização. OwncloudHttpCredsPage - - - Form - Formulário - &Username @@ -3874,11 +3792,6 @@ Não é aconselhada a sua utilização. OwncloudOAuthCredsPage - - - Form - Formulário - Please switch to your browser to proceed. @@ -3897,17 +3810,6 @@ Não é aconselhada a sua utilização. OwncloudSetupPage - - - Form - Formulário - - - - - TextLabel - TextLabel - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3941,27 +3843,11 @@ Não é aconselhada a sua utilização. OwncloudWizardResultPage - - - Form - Formulário - - - - TextLabel - TextLabel - Your entire account is synced to the local folder A sua conta está sincronizada na pasta local - - - - PushButton - Botão - QObject @@ -4098,14 +3984,6 @@ Não é aconselhada a sua utilização. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index db5adeb06..99b7cff49 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Diálogo - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formulário - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Formulário - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Formulário - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Formulário - - - - TextLabel - TextLabel - Accept @@ -1435,11 +1405,6 @@ Continuar a sincronização como normal fará com que todos os seus arquivos sej OCC::GeneralSettings - - - Form - Formulário - Legal notice @@ -1652,21 +1617,11 @@ Itens onde a exclusão é permitida serão excluídos se eles evitarem que um di OCC::LegalNotice - - - Dialog - Diálogo - Legal notice Nota legal - - - TextLabel - TextLabel - Close @@ -1798,11 +1753,6 @@ Logs serão gravados em %1 OCC::NetworkSettings - - - Form - Formulário - Proxy Settings @@ -3152,11 +3102,6 @@ Não é aconselhável usá-la. OCC::SslErrorDialog - - - Form - Formulário - Trust this certificate anyway @@ -3786,23 +3731,6 @@ Não é aconselhável usá-la. OwncloudAdvancedSetupPage - - - Form - Formulário - - - - - - - - - - - TextLabel - TextLabel - Server @@ -3844,11 +3772,6 @@ Não é aconselhável usá-la. &Local Folder &Pasta Local - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3867,11 +3790,6 @@ Não é aconselhável usá-la. OwncloudHttpCredsPage - - - Form - Formulário - &Username @@ -3885,11 +3803,6 @@ Não é aconselhável usá-la. OwncloudOAuthCredsPage - - - Form - Formulário - Please switch to your browser to proceed. @@ -3908,17 +3821,6 @@ Não é aconselhável usá-la. OwncloudSetupPage - - - Form - Formulário - - - - - TextLabel - TextLabel - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3952,27 +3854,11 @@ Não é aconselhável usá-la. OwncloudWizardResultPage - - - Form - Formulário - - - - TextLabel - TextLabel - Your entire account is synced to the local folder Toda a sua conta está sincronizada com a pasta local - - - - PushButton - PushButton - QObject @@ -4109,14 +3995,6 @@ Não é aconselhável usá-la. O arquivo baixado não corresponde ao checksum, ele será retomado. - - WebView - - - Form - Formulário - - main.cpp diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 6f772791c..8260aa813 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Диалог - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Форма - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Форма - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Форма - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Форма - - - - TextLabel - TextLabel - Accept @@ -1432,11 +1402,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - Форма - Legal notice @@ -1648,21 +1613,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - Диалог - Legal notice Официальное уведомление - - - TextLabel - TextLabel - Close @@ -1792,11 +1747,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Форма - Proxy Settings @@ -3146,11 +3096,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - Форма - Trust this certificate anyway @@ -3780,23 +3725,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - Форма - - - - - - - - - - - TextLabel - Название - Server @@ -3838,11 +3766,6 @@ It is not advisable to use it. &Local Folder &Локальная папка - - - pbSelectLocalFolder - pbВыбрать локальную папку - &Keep local data @@ -3861,11 +3784,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - Форма - &Username @@ -3879,11 +3797,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - Форма - Please switch to your browser to proceed. @@ -3902,17 +3815,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - Форма - - - - - TextLabel - Обозначение - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3946,27 +3848,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - Форма - - - - TextLabel - Обозначение - Your entire account is synced to the local folder Все объекты на стороне сервера полностью синхронизированы с локальной папкой - - - - PushButton - Клавиша включения - QObject @@ -4103,14 +3989,6 @@ It is not advisable to use it. Скаченный файл не соответствует контрольной сумме, операция будет возобновлена. - - WebView - - - Form - Форма - - main.cpp diff --git a/translations/client_sk.ts b/translations/client_sk.ts index deff92367..049c54515 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dialóg - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formulár - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Formulár - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Formulár - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Formulár - - - - TextLabel - Štítok - Accept @@ -1430,11 +1400,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - Formulár - Legal notice @@ -1647,21 +1612,11 @@ Položky u ktorých je povolené mazanie sa vymažú ak by bránili odstráneniu OCC::LegalNotice - - - Dialog - Dialóg - Legal notice Právne upozornenie - - - TextLabel - TextovýŠtítok - Close @@ -1791,11 +1746,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Formulár - Proxy Settings @@ -3145,11 +3095,6 @@ Nie je vhodné ju používať. OCC::SslErrorDialog - - - Form - Formulár - Trust this certificate anyway @@ -3779,23 +3724,6 @@ Nie je vhodné ju používať. OwncloudAdvancedSetupPage - - - Form - Formulár - - - - - - - - - - - TextLabel - Štítok - Server @@ -3837,11 +3765,6 @@ Nie je vhodné ju používať. &Local Folder &Lokálny priečinok - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3860,11 +3783,6 @@ Nie je vhodné ju používať. OwncloudHttpCredsPage - - - Form - Formulár - &Username @@ -3878,11 +3796,6 @@ Nie je vhodné ju používať. OwncloudOAuthCredsPage - - - Form - Formulár - Please switch to your browser to proceed. @@ -3901,17 +3814,6 @@ Nie je vhodné ju používať. OwncloudSetupPage - - - Form - Formulár - - - - - TextLabel - Štítok - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3945,27 +3847,11 @@ Nie je vhodné ju používať. OwncloudWizardResultPage - - - Form - Formulár - - - - TextLabel - Štítok - Your entire account is synced to the local folder Celý váš účet bol zosynchronizovaný z lokálnym priečinkom - - - - PushButton - Tlačidlo - QObject @@ -4102,14 +3988,6 @@ Nie je vhodné ju používať. Stiahnutý súbor nemá správny kontrolný súčet, bude stiahnutý znovu. - - WebView - - - Form - Formulár - - main.cpp diff --git a/translations/client_sl.ts b/translations/client_sl.ts index 86d3a0876..576fd4307 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -4,22 +4,22 @@ %1 (%2, %3) - + %1 (%2, %3) Checking for changes in '%1' - + Preverjanje sprememb v »%1« Syncing %1 of %2 (%3 left) - + Poteka usklajevanje %1 od %2 (preostaja %3) Syncing %1 of %2 - + Poteka usklajevanje %1 od %2 @@ -45,7 +45,7 @@ Syncing - + Usklajevanje @@ -65,17 +65,17 @@ Help - + Pomoč Settings - + Nastavitve Log out - + Odjava @@ -85,15 +85,10 @@ Dialog - - - Dialog - - Label - + Oznaka @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Obrazec - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Obrazec - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Obrazec - ... @@ -325,7 +305,7 @@ Enable encryption - + Omogoči šifriranje @@ -335,7 +315,7 @@ Encrypt - + Šifriraj @@ -573,17 +553,17 @@ %1 - + %1 More information - + Več podrobnosti Accept - + Sprejmi @@ -593,30 +573,20 @@ Open Browser - + Odpri brskalnik OCC::ActivityWidget - - - Form - Obrazec - - - - TextLabel - Besedilna oznaka - Accept - + Sprejmi Synced - + Usklajeno @@ -1251,12 +1221,12 @@ Z nadaljevanjem usklajevanja bodo vse trenutne datoteke prepisane s starejšimi ↓ %1/s - + ↓ %1/s ↑ %1/s - + ↑ %1/s @@ -1428,15 +1398,10 @@ Z nadaljevanjem usklajevanja bodo vse trenutne datoteke prepisane s starejšimi OCC::GeneralSettings - - - Form - Obrazec - Legal notice - + Pravno obvestilo @@ -1643,25 +1608,15 @@ Predmeti v mapah, ki jih je dovoljeno izbrisati, bodo odstranjeni, če prepreču OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close - + Zapri @@ -1787,11 +1742,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Obrazec - Proxy Settings @@ -2161,7 +2111,7 @@ Uporaba ni priporočljiva. Invalid URL - + Neveljaven naslov URL @@ -2762,7 +2712,7 @@ Uporaba ni priporočljiva. Icon - + Ikona @@ -3141,11 +3091,6 @@ Uporaba ni priporočljiva. OCC::SslErrorDialog - - - Form - Obrazec - Trust this certificate anyway @@ -3775,23 +3720,6 @@ Uporaba ni priporočljiva. OwncloudAdvancedSetupPage - - - Form - Obrazec - - - - - - - - - - - TextLabel - Besedilna oznaka - Server @@ -3833,11 +3761,6 @@ Uporaba ni priporočljiva. &Local Folder &Krajevna mapa - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3856,11 +3779,6 @@ Uporaba ni priporočljiva. OwncloudHttpCredsPage - - - Form - Obrazec - &Username @@ -3874,11 +3792,6 @@ Uporaba ni priporočljiva. OwncloudOAuthCredsPage - - - Form - Obrazec - Please switch to your browser to proceed. @@ -3897,17 +3810,6 @@ Uporaba ni priporočljiva. OwncloudSetupPage - - - Form - Obrazec - - - - - TextLabel - Besedilna oznaka - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3941,27 +3843,11 @@ Uporaba ni priporočljiva. OwncloudWizardResultPage - - - Form - Obrazec - - - - TextLabel - Besedilna oznaka - Your entire account is synced to the local folder Naveden račun je v celoti usklajen s krajevno mapo - - - - PushButton - Potisni gumb - QObject @@ -4098,14 +3984,6 @@ Uporaba ni priporočljiva. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_sr.ts b/translations/client_sr.ts index d22cc5742..12dbb5f87 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Дијалог - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Образац - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Образац - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Образац - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Образац - - - - TextLabel - Текст ознака - Accept @@ -1435,11 +1405,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - Образац - Legal notice @@ -1652,21 +1617,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - Дијалог - Legal notice Правно обавештење - - - TextLabel - Текст ознака - Close @@ -1798,11 +1753,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Образац - Proxy Settings @@ -3152,11 +3102,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - Образац - Trust this certificate anyway @@ -3786,23 +3731,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - Образац - - - - - - - - - - - TextLabel - Текст ознака - Server @@ -3844,11 +3772,6 @@ It is not advisable to use it. &Local Folder &Локална фасцикла - - - pbSelectLocalFolder - Избор локалне фасцикле - &Keep local data @@ -3867,11 +3790,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - Образац - &Username @@ -3885,11 +3803,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - Образац - Please switch to your browser to proceed. @@ -3908,17 +3821,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - Образац - - - - - TextLabel - Текст ознака - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3952,27 +3854,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - Образац - - - - TextLabel - Текст ознака - Your entire account is synced to the local folder Целокупан налог је синхронизован са локалном фасциклом - - - - PushButton - Тастер - QObject @@ -4109,14 +3995,6 @@ It is not advisable to use it. Преузети фајл се не поклапа с контролном сумом. Биће настављено. - - WebView - - - Form - Образац - - main.cpp diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 5ff9c941b..83ab899be 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Dialog - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Formulär - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Formulär - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Form - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Form - - - - TextLabel - Textetikett - Accept @@ -1435,11 +1405,6 @@ Om du fortsätter synkningen kommer alla dina filer återställas med en äldre OCC::GeneralSettings - - - Form - Form - Legal notice @@ -1652,21 +1617,11 @@ Objekt som tillåter radering kommer tas bort om de förhindrar en mapp att tas OCC::LegalNotice - - - Dialog - Dialog - Legal notice Rättsligt meddelande - - - TextLabel - Textetikett - Close @@ -1798,11 +1753,6 @@ Loggar kommer att skrivas till %1 OCC::NetworkSettings - - - Form - Form - Proxy Settings @@ -3152,11 +3102,6 @@ Det är inte lämpligt använda den. OCC::SslErrorDialog - - - Form - Form - Trust this certificate anyway @@ -3786,23 +3731,6 @@ Det är inte lämpligt använda den. OwncloudAdvancedSetupPage - - - Form - Form - - - - - - - - - - - TextLabel - Textetikett - Server @@ -3844,11 +3772,6 @@ Det är inte lämpligt använda den. &Local Folder &Lokal mapp - - - pbSelectLocalFolder - pbVäljLokalMapp - &Keep local data @@ -3867,11 +3790,6 @@ Det är inte lämpligt använda den. OwncloudHttpCredsPage - - - Form - Form - &Username @@ -3885,11 +3803,6 @@ Det är inte lämpligt använda den. OwncloudOAuthCredsPage - - - Form - Form - Please switch to your browser to proceed. @@ -3908,17 +3821,6 @@ Det är inte lämpligt använda den. OwncloudSetupPage - - - Form - Formulär - - - - - TextLabel - Textetikett - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3952,27 +3854,11 @@ Det är inte lämpligt använda den. OwncloudWizardResultPage - - - Form - Formulär - - - - TextLabel - Textetikett - Your entire account is synced to the local folder Hela ditt konto är synkroniserat mot den lokala mappen - - - - PushButton - PushButton - QObject @@ -4109,14 +3995,6 @@ Det är inte lämpligt använda den. Den nedladdade filen stämmer inte med kontrollsumman, den kommer laddas om. - - WebView - - - Form - Formulär - - main.cpp diff --git a/translations/client_th.ts b/translations/client_th.ts index d2ad65b9e..0d1ed422d 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - กล่องโต้ตอบ - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - แบบฟอร์ม - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - แบบฟอร์ม - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - แบบฟอร์ม - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - แบบฟอร์ม - - - - TextLabel - ป้ายข้อความ - Accept @@ -1429,11 +1399,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - แบบฟอร์ม - Legal notice @@ -1644,21 +1609,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - - Legal notice - - - TextLabel - - Close @@ -1788,11 +1743,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - แบบฟอร์ม - Proxy Settings @@ -3139,11 +3089,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - แบบฟอร์ม - Trust this certificate anyway @@ -3774,23 +3719,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - แบบฟอร์ม - - - - - - - - - - - TextLabel - ป้ายข้อความ - Server @@ -3832,11 +3760,6 @@ It is not advisable to use it. &Local Folder และโฟลเดอร์ต้นทาง - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3855,11 +3778,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - แบบฟอร์ม - &Username @@ -3873,11 +3791,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - แบบฟอร์ม - Please switch to your browser to proceed. @@ -3896,17 +3809,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - แบบฟอร์ม - - - - - TextLabel - ป้ายข้อความ - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3940,27 +3842,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - แบบฟอร์ม - - - - TextLabel - ป้ายข้อความ - Your entire account is synced to the local folder ทั้งบัญชีของคุณจะถูกประสานข้อมูลกับโฟลเดอร์ต้นทาง - - - - PushButton - ปุ่มกด - QObject @@ -4097,14 +3983,6 @@ It is not advisable to use it. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_tr.ts b/translations/client_tr.ts index e34d8c48b..bc6929101 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Pencere - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Form - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Form - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Form - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Form - - - - TextLabel - MetinEtiketi - Accept @@ -1434,11 +1404,6 @@ Eşitlemeye normal şekilde devam edilirse tüm dosyalar daha eski bir dosya ile OCC::GeneralSettings - - - Form - Form - Legal notice @@ -1651,21 +1616,11 @@ Silme izni verildiğinde bir klasörün silinmesini engelleyen ögeler silinir. OCC::LegalNotice - - - Dialog - Pencere - Legal notice Yasal bildirim - - - TextLabel - MetinEtiketi - Close @@ -1797,11 +1752,6 @@ Günlükler %1 üzerine yazılacak OCC::NetworkSettings - - - Form - Form - Proxy Settings @@ -3151,11 +3101,6 @@ Kullanmanız önerilmez. OCC::SslErrorDialog - - - Form - Form - Trust this certificate anyway @@ -3785,23 +3730,6 @@ Kullanmanız önerilmez. OwncloudAdvancedSetupPage - - - Form - Form - - - - - - - - - - - TextLabel - MetinEtiketi - Server @@ -3843,11 +3771,6 @@ Kullanmanız önerilmez. &Local Folder &Yerel Klasör - - - pbSelectLocalFolder - pbYerelKlasörüSeçin - &Keep local data @@ -3866,11 +3789,6 @@ Kullanmanız önerilmez. OwncloudHttpCredsPage - - - Form - Form - &Username @@ -3884,11 +3802,6 @@ Kullanmanız önerilmez. OwncloudOAuthCredsPage - - - Form - Form - Please switch to your browser to proceed. @@ -3907,17 +3820,6 @@ Kullanmanız önerilmez. OwncloudSetupPage - - - Form - Form - - - - - TextLabel - MetinEtiketi - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3951,27 +3853,11 @@ Kullanmanız önerilmez. OwncloudWizardResultPage - - - Form - Form - - - - TextLabel - MetinEtiketi - Your entire account is synced to the local folder Tüm hesabınız yerel klasör ile eşitlendi - - - - PushButton - BasBırakDüğme - QObject @@ -4108,14 +3994,6 @@ Kullanmanız önerilmez. İndirilen dosya sağlama değerine uygun değil, yeniden indirilecek. - - WebView - - - Form - Form - - main.cpp diff --git a/translations/client_uk.ts b/translations/client_uk.ts index 6626b483e..6b01b3d9f 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - Діялог - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - Форма - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - Форма - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - Форма - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - Форма - - - - TextLabel - Мітка - Accept @@ -1422,11 +1392,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - Форма - Legal notice @@ -1635,21 +1600,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - Діялог - Legal notice - - - TextLabel - - Close @@ -1779,11 +1734,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - Форма - Proxy Settings @@ -3132,11 +3082,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - Форма - Trust this certificate anyway @@ -3766,23 +3711,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - Форма - - - - - - - - - - - TextLabel - Мітка - Server @@ -3824,11 +3752,6 @@ It is not advisable to use it. &Local Folder &Локальна Тека - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3847,11 +3770,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - Форма - &Username @@ -3865,11 +3783,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - Форма - Please switch to your browser to proceed. @@ -3888,17 +3801,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - Форма - - - - - TextLabel - Мітка - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3932,27 +3834,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - Форма - - - - TextLabel - Мітка - Your entire account is synced to the local folder Ваш запис цілком синхронізовано із локальною текою - - - - PushButton - НатиснітьКнопку - QObject @@ -4089,14 +3975,6 @@ It is not advisable to use it. - - WebView - - - Form - - - main.cpp diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index 0e9257be6..7b0a8b664 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - 对话框 - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - 格式 - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - 格式 - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - 格式 - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - 窗体 - - - - TextLabel - 文本标签 - Accept @@ -1435,11 +1405,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - 窗体 - Legal notice @@ -1652,21 +1617,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - 对话框 - Legal notice 法律提示 - - - TextLabel - 文本标签 - Close @@ -1798,11 +1753,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - 窗体 - Proxy Settings @@ -3150,11 +3100,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - 窗体 - Trust this certificate anyway @@ -3784,23 +3729,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - 窗体 - - - - - - - - - - - TextLabel - 文本标签 - Server @@ -3842,11 +3770,6 @@ It is not advisable to use it. &Local Folder 本地文件夹 - - - pbSelectLocalFolder - pbSelectLocalFolder - &Keep local data @@ -3865,11 +3788,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - 窗体 - &Username @@ -3883,11 +3801,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - 窗体 - Please switch to your browser to proceed. @@ -3906,17 +3819,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - 窗体 - - - - - TextLabel - 文本标签 - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3950,27 +3852,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - 窗体 - - - - TextLabel - 文本标签 - Your entire account is synced to the local folder 您的整个账户将被同步到本地文件夹 - - - - PushButton - 按钮 - QObject @@ -4107,14 +3993,6 @@ It is not advisable to use it. 下载的文件校验信息不匹配,将重新下载。 - - WebView - - - Form - 格式 - - main.cpp diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index 2798b277e..e3503dc19 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -85,11 +85,6 @@ Dialog - - - Dialog - 對話 - Label @@ -163,11 +158,6 @@ FolderWizardSourcePage - - - Form - 表單 - Pick a local folder on your computer to sync @@ -181,11 +171,6 @@ FolderWizardTargetPage - - - Form - 表單 - Select a remote destination folder @@ -245,11 +230,6 @@ OCC::AccountSettings - - - Form - 表單 - ... @@ -598,16 +578,6 @@ OCC::ActivityWidget - - - Form - 表單 - - - - TextLabel - 文字標籤 - Accept @@ -1423,11 +1393,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GeneralSettings - - - Form - 表單 - Legal notice @@ -1640,21 +1605,11 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::LegalNotice - - - Dialog - 對話 - Legal notice 法律提示 - - - TextLabel - 文字標籤 - Close @@ -1784,11 +1739,6 @@ Logs will be written to %1 OCC::NetworkSettings - - - Form - 表單 - Proxy Settings @@ -3138,11 +3088,6 @@ It is not advisable to use it. OCC::SslErrorDialog - - - Form - 表單 - Trust this certificate anyway @@ -3772,23 +3717,6 @@ It is not advisable to use it. OwncloudAdvancedSetupPage - - - Form - 表單 - - - - - - - - - - - TextLabel - 文字標籤 - Server @@ -3830,11 +3758,6 @@ It is not advisable to use it. &Local Folder 本地資料夾 (&L) - - - pbSelectLocalFolder - - &Keep local data @@ -3853,11 +3776,6 @@ It is not advisable to use it. OwncloudHttpCredsPage - - - Form - 表單 - &Username @@ -3871,11 +3789,6 @@ It is not advisable to use it. OwncloudOAuthCredsPage - - - Form - 表單 - Please switch to your browser to proceed. @@ -3894,17 +3807,6 @@ It is not advisable to use it. OwncloudSetupPage - - - Form - 表單 - - - - - TextLabel - 文字標籤 - <a href="https://docs.nextcloud.com/server/15/admin_manual/installation/index.html#installation"><span style=" text-decoration: underline; color:#0000ff;">Host your own server</span></a> @@ -3938,27 +3840,11 @@ It is not advisable to use it. OwncloudWizardResultPage - - - Form - 表單 - - - - TextLabel - 文字標籤 - Your entire account is synced to the local folder 您整個帳號的資料會與本地資料夾同步 - - - - PushButton - 按鈕 - QObject @@ -4095,14 +3981,6 @@ It is not advisable to use it. - - WebView - - - Form - - - main.cpp From 7aefa5afafd31f891f857a358d864ef32f7b439b Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Thu, 5 Sep 2019 20:58:05 +0200 Subject: [PATCH 176/192] Updated CmakeLists for gui part to correct old variable (OUTFILE_BASE[NAME]) that changed by recent update of AddAppIcon modules. Fixes wrong naming of resource pack in build output. Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- src/gui/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 5db93a640..4e9d09ea7 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -249,7 +249,7 @@ if(APPLE) file(GLOB_RECURSE OWNCLOUD_SIDEBAR_ICONS "${theme_dir}/colored/*-${APPLICATION_ICON_NAME}-sidebar*") MESSAGE(STATUS "OWNCLOUD_SIDEBAR_ICONS: ${APPLICATION_ICON_NAME}: ${OWNCLOUD_SIDEBAR_ICONS}") endif() -ecm_add_app_icon(final_src ICONS "${OWNCLOUD_ICONS}" SIDEBAR_ICONS "${OWNCLOUD_SIDEBAR_ICONS}" OUTFILE_BASE "${APPLICATION_ICON_NAME}") +ecm_add_app_icon(final_src ICONS "${OWNCLOUD_ICONS}" SIDEBAR_ICONS "${OWNCLOUD_SIDEBAR_ICONS}" OUTFILE_BASENAME "${APPLICATION_ICON_NAME}") if(UNIX AND NOT APPLE) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE") From e2f7947966158b34d94f470363bfbd78dd6361c6 Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Thu, 5 Sep 2019 19:52:03 +0200 Subject: [PATCH 177/192] Check for possible case failure when building on drone Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- ...4-nextcloud-icon.png => 1024-Nextcloud-icon.png} | Bin ...28-nextcloud-icon.png => 128-Nextcloud-icon.png} | Bin ...tcloud-sidebar.png => 128-Nextcloud-sidebar.png} | Bin ...{16-nextcloud-icon.png => 16-Nextcloud-icon.png} | Bin ...xtcloud-sidebar.png => 16-Nextcloud-sidebar.png} | Bin ...{24-nextcloud-icon.png => 24-Nextcloud-icon.png} | Bin ...56-nextcloud-icon.png => 256-Nextcloud-icon.png} | Bin ...tcloud-sidebar.png => 256-Nextcloud-sidebar.png} | Bin ...{32-nextcloud-icon.png => 32-Nextcloud-icon.png} | Bin ...xtcloud-sidebar.png => 32-Nextcloud-sidebar.png} | Bin ...{48-nextcloud-icon.png => 48-Nextcloud-icon.png} | Bin ...12-nextcloud-icon.png => 512-Nextcloud-icon.png} | Bin ...{64-nextcloud-icon.png => 64-Nextcloud-icon.png} | Bin ...xtcloud-sidebar.png => 64-Nextcloud-sidebar.png} | Bin 14 files changed, 0 insertions(+), 0 deletions(-) rename theme/colored/{1024-nextcloud-icon.png => 1024-Nextcloud-icon.png} (100%) rename theme/colored/{128-nextcloud-icon.png => 128-Nextcloud-icon.png} (100%) rename theme/colored/{128-nextcloud-sidebar.png => 128-Nextcloud-sidebar.png} (100%) rename theme/colored/{16-nextcloud-icon.png => 16-Nextcloud-icon.png} (100%) rename theme/colored/{16-nextcloud-sidebar.png => 16-Nextcloud-sidebar.png} (100%) rename theme/colored/{24-nextcloud-icon.png => 24-Nextcloud-icon.png} (100%) rename theme/colored/{256-nextcloud-icon.png => 256-Nextcloud-icon.png} (100%) rename theme/colored/{256-nextcloud-sidebar.png => 256-Nextcloud-sidebar.png} (100%) rename theme/colored/{32-nextcloud-icon.png => 32-Nextcloud-icon.png} (100%) rename theme/colored/{32-nextcloud-sidebar.png => 32-Nextcloud-sidebar.png} (100%) rename theme/colored/{48-nextcloud-icon.png => 48-Nextcloud-icon.png} (100%) rename theme/colored/{512-nextcloud-icon.png => 512-Nextcloud-icon.png} (100%) rename theme/colored/{64-nextcloud-icon.png => 64-Nextcloud-icon.png} (100%) rename theme/colored/{64-nextcloud-sidebar.png => 64-Nextcloud-sidebar.png} (100%) diff --git a/theme/colored/1024-nextcloud-icon.png b/theme/colored/1024-Nextcloud-icon.png similarity index 100% rename from theme/colored/1024-nextcloud-icon.png rename to theme/colored/1024-Nextcloud-icon.png diff --git a/theme/colored/128-nextcloud-icon.png b/theme/colored/128-Nextcloud-icon.png similarity index 100% rename from theme/colored/128-nextcloud-icon.png rename to theme/colored/128-Nextcloud-icon.png diff --git a/theme/colored/128-nextcloud-sidebar.png b/theme/colored/128-Nextcloud-sidebar.png similarity index 100% rename from theme/colored/128-nextcloud-sidebar.png rename to theme/colored/128-Nextcloud-sidebar.png diff --git a/theme/colored/16-nextcloud-icon.png b/theme/colored/16-Nextcloud-icon.png similarity index 100% rename from theme/colored/16-nextcloud-icon.png rename to theme/colored/16-Nextcloud-icon.png diff --git a/theme/colored/16-nextcloud-sidebar.png b/theme/colored/16-Nextcloud-sidebar.png similarity index 100% rename from theme/colored/16-nextcloud-sidebar.png rename to theme/colored/16-Nextcloud-sidebar.png diff --git a/theme/colored/24-nextcloud-icon.png b/theme/colored/24-Nextcloud-icon.png similarity index 100% rename from theme/colored/24-nextcloud-icon.png rename to theme/colored/24-Nextcloud-icon.png diff --git a/theme/colored/256-nextcloud-icon.png b/theme/colored/256-Nextcloud-icon.png similarity index 100% rename from theme/colored/256-nextcloud-icon.png rename to theme/colored/256-Nextcloud-icon.png diff --git a/theme/colored/256-nextcloud-sidebar.png b/theme/colored/256-Nextcloud-sidebar.png similarity index 100% rename from theme/colored/256-nextcloud-sidebar.png rename to theme/colored/256-Nextcloud-sidebar.png diff --git a/theme/colored/32-nextcloud-icon.png b/theme/colored/32-Nextcloud-icon.png similarity index 100% rename from theme/colored/32-nextcloud-icon.png rename to theme/colored/32-Nextcloud-icon.png diff --git a/theme/colored/32-nextcloud-sidebar.png b/theme/colored/32-Nextcloud-sidebar.png similarity index 100% rename from theme/colored/32-nextcloud-sidebar.png rename to theme/colored/32-Nextcloud-sidebar.png diff --git a/theme/colored/48-nextcloud-icon.png b/theme/colored/48-Nextcloud-icon.png similarity index 100% rename from theme/colored/48-nextcloud-icon.png rename to theme/colored/48-Nextcloud-icon.png diff --git a/theme/colored/512-nextcloud-icon.png b/theme/colored/512-Nextcloud-icon.png similarity index 100% rename from theme/colored/512-nextcloud-icon.png rename to theme/colored/512-Nextcloud-icon.png diff --git a/theme/colored/64-nextcloud-icon.png b/theme/colored/64-Nextcloud-icon.png similarity index 100% rename from theme/colored/64-nextcloud-icon.png rename to theme/colored/64-Nextcloud-icon.png diff --git a/theme/colored/64-nextcloud-sidebar.png b/theme/colored/64-Nextcloud-sidebar.png similarity index 100% rename from theme/colored/64-nextcloud-sidebar.png rename to theme/colored/64-Nextcloud-sidebar.png From 6f5dcfa78b5ba4ec8bab209a473af316a6758a66 Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Thu, 5 Sep 2019 19:59:49 +0200 Subject: [PATCH 178/192] Complementary renaming in theme.qrc Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- theme.qrc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/theme.qrc b/theme.qrc index 14aa4c94b..44d0dfc72 100644 --- a/theme.qrc +++ b/theme.qrc @@ -1,14 +1,14 @@ - theme/colored/16-nextcloud-icon.png - theme/colored/24-nextcloud-icon.png - theme/colored/32-nextcloud-icon.png - theme/colored/48-nextcloud-icon.png - theme/colored/64-nextcloud-icon.png - theme/colored/128-nextcloud-icon.png - theme/colored/256-nextcloud-icon.png - theme/colored/512-nextcloud-icon.png - theme/colored/1024-nextcloud-icon.png + theme/colored/16-Nextcloud-icon.png + theme/colored/24-Nextcloud-icon.png + theme/colored/32-Nextcloud-icon.png + theme/colored/48-Nextcloud-icon.png + theme/colored/64-Nextcloud-icon.png + theme/colored/128-Nextcloud-icon.png + theme/colored/256-Nextcloud-icon.png + theme/colored/512-Nextcloud-icon.png + theme/colored/1024-Nextcloud-icon.png theme/colored/state-error-32.png theme/colored/state-error-64.png theme/colored/state-error-128.png From a6653af44054ffc4fb3afd5e4e67e6b24db38fa2 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Fri, 6 Sep 2019 03:03:36 +0000 Subject: [PATCH 179/192] [tx-robot] updated from transifex --- translations/client_bg.ts | 27 ++++++++++++++++----------- translations/client_ca.ts | 27 ++++++++++++++++----------- translations/client_cs.ts | 27 ++++++++++++++++----------- translations/client_da.ts | 27 ++++++++++++++++----------- translations/client_de.ts | 27 ++++++++++++++++----------- translations/client_el.ts | 27 ++++++++++++++++----------- translations/client_en.ts | 29 +++++++++++++++++------------ translations/client_en_GB.ts | 27 ++++++++++++++++----------- translations/client_eo.ts | 27 ++++++++++++++++----------- translations/client_es.ts | 27 ++++++++++++++++----------- translations/client_es_AR.ts | 31 ++++++++++++++++++------------- translations/client_es_CL.ts | 27 ++++++++++++++++----------- translations/client_es_CO.ts | 27 ++++++++++++++++----------- translations/client_es_CR.ts | 27 ++++++++++++++++----------- translations/client_es_DO.ts | 27 ++++++++++++++++----------- translations/client_es_EC.ts | 27 ++++++++++++++++----------- translations/client_es_GT.ts | 27 ++++++++++++++++----------- translations/client_es_HN.ts | 27 ++++++++++++++++----------- translations/client_es_MX.ts | 27 ++++++++++++++++----------- translations/client_es_SV.ts | 27 ++++++++++++++++----------- translations/client_et.ts | 27 ++++++++++++++++----------- translations/client_eu.ts | 27 ++++++++++++++++----------- translations/client_fa.ts | 27 ++++++++++++++++----------- translations/client_fi.ts | 27 ++++++++++++++++----------- translations/client_fr.ts | 35 ++++++++++++++++++++--------------- translations/client_gl.ts | 27 ++++++++++++++++----------- translations/client_he.ts | 29 +++++++++++++++++------------ translations/client_hr.ts | 27 ++++++++++++++++----------- translations/client_hu.ts | 27 ++++++++++++++++----------- translations/client_id.ts | 29 +++++++++++++++++------------ translations/client_is.ts | 27 ++++++++++++++++----------- translations/client_it.ts | 27 ++++++++++++++++----------- translations/client_ja.ts | 27 ++++++++++++++++----------- translations/client_lt_LT.ts | 27 ++++++++++++++++----------- translations/client_lv.ts | 31 ++++++++++++++++++------------- translations/client_nb_NO.ts | 27 ++++++++++++++++----------- translations/client_nl.ts | 27 ++++++++++++++++----------- translations/client_pl.ts | 27 ++++++++++++++++----------- translations/client_pt.ts | 27 ++++++++++++++++----------- translations/client_pt_BR.ts | 27 ++++++++++++++++----------- translations/client_ru.ts | 27 ++++++++++++++++----------- translations/client_sk.ts | 27 ++++++++++++++++----------- translations/client_sl.ts | 27 ++++++++++++++++----------- translations/client_sr.ts | 27 ++++++++++++++++----------- translations/client_sv.ts | 27 ++++++++++++++++----------- translations/client_th.ts | 27 ++++++++++++++++----------- translations/client_tr.ts | 27 ++++++++++++++++----------- translations/client_uk.ts | 27 ++++++++++++++++----------- translations/client_zh_CN.ts | 27 ++++++++++++++++----------- translations/client_zh_TW.ts | 27 ++++++++++++++++----------- 50 files changed, 811 insertions(+), 561 deletions(-) diff --git a/translations/client_bg.ts b/translations/client_bg.ts index ff8cf7f17..2f90c312f 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -3114,44 +3114,49 @@ It is not advisable to use it. - + Organization: %1 Организация: %1 - + Unit: %1 Отдел: %1 - + Country: %1 Държава: %1 - Fingerprint (MD5): <tt>%1</tt> - Отпечатък (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Отпечатък (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Валиден от: %1 - + Expiration Date: %1 Валиден до: %1 - + Issuer: %1 Издател: %1 diff --git a/translations/client_ca.ts b/translations/client_ca.ts index bf1fa79d8..38c0d3d66 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -3133,44 +3133,49 @@ No és aconsellable fer-la servir. - + Organization: %1 Organització %1 - + Unit: %1 Unitat: %1 - + Country: %1 País: %1 - Fingerprint (MD5): <tt>%1</tt> - Empremta digital (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Empremta digital (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Data d'efectivitat: %1 - + Expiration Date: %1 Data de venciment: %1 - + Issuer: %1 Emissor: %1 diff --git a/translations/client_cs.ts b/translations/client_cs.ts index 4f2766b7c..46e479dbd 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -3130,44 +3130,49 @@ Nedoporučuje se jí používat. - + Organization: %1 Organizace: %1 - + Unit: %1 Jednotka: %1 - + Country: %1 Země: %1 - Fingerprint (MD5): <tt>%1</tt> - Otisk (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Otisk (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Datum účinnosti: %1 - + Expiration Date: %1 Datum skončení platnosti: %1 - + Issuer: %1 Vydavatel: %1 diff --git a/translations/client_da.ts b/translations/client_da.ts index bbc6c954f..36fe5ae2a 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -3108,44 +3108,49 @@ It is not advisable to use it. - + Organization: %1 - + Unit: %1 - + Country: %1 Land: %1 - Fingerprint (MD5): <tt>%1</tt> - - - - Fingerprint (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 - + Expiration Date: %1 Udløbsdato: %1 - + Issuer: %1 diff --git a/translations/client_de.ts b/translations/client_de.ts index e721ec057..e88946ba4 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -3130,44 +3130,49 @@ Es ist nicht ratsam, sie zu benutzen. - + Organization: %1 Organisation: %1 - + Unit: %1 Einheit: %1 - + Country: %1 Land: %1 - Fingerprint (MD5): <tt>%1</tt> - Fingerabdruck (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Fingerabdruck (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Aktuelles Datum: %1 - + Expiration Date: %1 Ablaufdatum: %1 - + Issuer: %1 Aussteller: %1 diff --git a/translations/client_el.ts b/translations/client_el.ts index 927036878..2f76a2bab 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -3120,44 +3120,49 @@ It is not advisable to use it. - + Organization: %1 Οργανισμός: %1 - + Unit: %1 Μονάδα: %1 - + Country: %1 Χώρα: %1 - Fingerprint (MD5): <tt>%1</tt> - Αποτύπωμα (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Αποτύπωμα (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Ημερομηνία Έναρξης: 1% - + Expiration Date: %1 Ημερομηνία Λήξης: %1 - + Issuer: %1 Εκδότης: %1 diff --git a/translations/client_en.ts b/translations/client_en.ts index b7536abef..9a7462169 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -3134,44 +3134,49 @@ It is not advisable to use it. - + Organization: %1 - + Unit: %1 - + Country: %1 - Fingerprint (MD5): <tt>%1</tt> - - - - Fingerprint (SHA1): <tt>%1</tt> - - Effective Date: %1 + + Fingerprint (SHA-256): <tt>%1</tt> - - Expiration Date: %1 + + Fingerprint (SHA-512): <tt>%1</tt> + Effective Date: %1 + + + + + Expiration Date: %1 + + + + Issuer: %1 diff --git a/translations/client_en_GB.ts b/translations/client_en_GB.ts index 2e234e638..8b0804d2b 100644 --- a/translations/client_en_GB.ts +++ b/translations/client_en_GB.ts @@ -3131,44 +3131,49 @@ It is not advisable to use it. - + Organization: %1 Organisation: %1 - + Unit: %1 Unit: %1 - + Country: %1 Country: %1 - Fingerprint (MD5): <tt>%1</tt> - Fingerprint (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Fingerprint (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Effective Date: %1 - + Expiration Date: %1 Expiration Date: %1 - + Issuer: %1 Issuer: %1 diff --git a/translations/client_eo.ts b/translations/client_eo.ts index 0f7c71726..2d54cbf23 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -3129,44 +3129,49 @@ Uzi ĝin ne konsilindas. - + Organization: %1 Organizaĵo: - + Unit: %1 Unuo: %1 - + Country: %1 Lando: %1 - Fingerprint (MD5): <tt>%1</tt> - MD5-fingrospuro: <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> SHA1-fingrospuro: <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Ekvalida dato: %1 - + Expiration Date: %1 Limdato: %1 - + Issuer: %1 Eldonanto: %1 diff --git a/translations/client_es.ts b/translations/client_es.ts index cd60d6db6..b6e2b2e28 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -3130,44 +3130,49 @@ No se recomienda usarla. - + Organization: %1 Organización: %1 - + Unit: %1 Unidad: %1 - + Country: %1 País: %1 - Fingerprint (MD5): <tt>%1</tt> - Huella (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Huella dactilar (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Fecha de vigencia: %1 - + Expiration Date: %1 Fecha de caducidad: %1 - + Issuer: %1 Emisor: %1 diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index cdce7f198..746ebe28c 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -3108,44 +3108,49 @@ It is not advisable to use it. - + Organization: %1 Empresa: %1 - + Unit: %1 Unidad: %1 - + Country: %1 País: %1 - Fingerprint (MD5): <tt>%1</tt> - Huella (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Huella (SHA1): <tt>%1</tt> - - Effective Date: %1 - Desde: %1 + + Fingerprint (SHA-256): <tt>%1</tt> + - - Expiration Date: %1 + + Fingerprint (SHA-512): <tt>%1</tt> + Effective Date: %1 + Desde: %1 + + + + Expiration Date: %1 + + + + Issuer: %1 Generado por: %1 diff --git a/translations/client_es_CL.ts b/translations/client_es_CL.ts index ab15c667e..cd907ec8a 100644 --- a/translations/client_es_CL.ts +++ b/translations/client_es_CL.ts @@ -3121,44 +3121,49 @@ No es recomendable usarlo. - + Organization: %1 Organización: %1 - + Unit: %1 Unidad: %1 - + Country: %1 País: %1 - Fingerprint (MD5): <tt>%1</tt> - Huella (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Huekka (SHA1):<tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Fecha Efectiva: %1 - + Expiration Date: %1 Fecha de Expiración: %1 - + Issuer: %1 Emitido por: %1 diff --git a/translations/client_es_CO.ts b/translations/client_es_CO.ts index 521e6a577..b87e5ce74 100644 --- a/translations/client_es_CO.ts +++ b/translations/client_es_CO.ts @@ -3121,44 +3121,49 @@ No es recomendable usarlo. - + Organization: %1 Organización: %1 - + Unit: %1 Unidad: %1 - + Country: %1 País: %1 - Fingerprint (MD5): <tt>%1</tt> - Huella (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Huekka (SHA1):<tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Fecha Efectiva: %1 - + Expiration Date: %1 Fecha de Expiración: %1 - + Issuer: %1 Emitido por: %1 diff --git a/translations/client_es_CR.ts b/translations/client_es_CR.ts index 6047084ad..031ad60b9 100644 --- a/translations/client_es_CR.ts +++ b/translations/client_es_CR.ts @@ -3121,44 +3121,49 @@ No es recomendable usarlo. - + Organization: %1 Organización: %1 - + Unit: %1 Unidad: %1 - + Country: %1 País: %1 - Fingerprint (MD5): <tt>%1</tt> - Huella (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Huekka (SHA1):<tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Fecha Efectiva: %1 - + Expiration Date: %1 Fecha de Expiración: %1 - + Issuer: %1 Emitido por: %1 diff --git a/translations/client_es_DO.ts b/translations/client_es_DO.ts index 6bf663286..b36c8edc5 100644 --- a/translations/client_es_DO.ts +++ b/translations/client_es_DO.ts @@ -3121,44 +3121,49 @@ No es recomendable usarlo. - + Organization: %1 Organización: %1 - + Unit: %1 Unidad: %1 - + Country: %1 País: %1 - Fingerprint (MD5): <tt>%1</tt> - Huella (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Huekka (SHA1):<tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Fecha Efectiva: %1 - + Expiration Date: %1 Fecha de Expiración: %1 - + Issuer: %1 Emitido por: %1 diff --git a/translations/client_es_EC.ts b/translations/client_es_EC.ts index 65d418336..9c7defb64 100644 --- a/translations/client_es_EC.ts +++ b/translations/client_es_EC.ts @@ -3121,44 +3121,49 @@ No es recomendable usarlo. - + Organization: %1 Organización: %1 - + Unit: %1 Unidad: %1 - + Country: %1 País: %1 - Fingerprint (MD5): <tt>%1</tt> - Huella (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Huekka (SHA1):<tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Fecha Efectiva: %1 - + Expiration Date: %1 Fecha de Expiración: %1 - + Issuer: %1 Emitido por: %1 diff --git a/translations/client_es_GT.ts b/translations/client_es_GT.ts index ab3028f30..53f93628e 100644 --- a/translations/client_es_GT.ts +++ b/translations/client_es_GT.ts @@ -3121,44 +3121,49 @@ No es recomendable usarlo. - + Organization: %1 Organización: %1 - + Unit: %1 Unidad: %1 - + Country: %1 País: %1 - Fingerprint (MD5): <tt>%1</tt> - Huella (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Huekka (SHA1):<tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Fecha Efectiva: %1 - + Expiration Date: %1 Fecha de Expiración: %1 - + Issuer: %1 Emitido por: %1 diff --git a/translations/client_es_HN.ts b/translations/client_es_HN.ts index 903d9ed35..63bfa3402 100644 --- a/translations/client_es_HN.ts +++ b/translations/client_es_HN.ts @@ -3121,44 +3121,49 @@ No es recomendable usarlo. - + Organization: %1 Organización: %1 - + Unit: %1 Unidad: %1 - + Country: %1 País: %1 - Fingerprint (MD5): <tt>%1</tt> - Huella (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Huekka (SHA1):<tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Fecha Efectiva: %1 - + Expiration Date: %1 Fecha de Expiración: %1 - + Issuer: %1 Emitido por: %1 diff --git a/translations/client_es_MX.ts b/translations/client_es_MX.ts index ba2e2e76a..fbfa7a5fb 100644 --- a/translations/client_es_MX.ts +++ b/translations/client_es_MX.ts @@ -3121,44 +3121,49 @@ No es recomendable usarlo. - + Organization: %1 Organización: %1 - + Unit: %1 Unidad: %1 - + Country: %1 País: %1 - Fingerprint (MD5): <tt>%1</tt> - Huella (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Huekka (SHA1):<tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Fecha Efectiva: %1 - + Expiration Date: %1 Fecha de Expiración: %1 - + Issuer: %1 Emitido por: %1 diff --git a/translations/client_es_SV.ts b/translations/client_es_SV.ts index e77961607..72e0a5f77 100644 --- a/translations/client_es_SV.ts +++ b/translations/client_es_SV.ts @@ -3121,44 +3121,49 @@ No es recomendable usarlo. - + Organization: %1 Organización: %1 - + Unit: %1 Unidad: %1 - + Country: %1 País: %1 - Fingerprint (MD5): <tt>%1</tt> - Huella (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Huekka (SHA1):<tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Fecha Efectiva: %1 - + Expiration Date: %1 Fecha de Expiración: %1 - + Issuer: %1 Emitido por: %1 diff --git a/translations/client_et.ts b/translations/client_et.ts index 0cbce95d3..c9b8c9e09 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -3111,44 +3111,49 @@ Selle kasutamine pole soovitatav. - + Organization: %1 Organisatsioon: %1 - + Unit: %1 Ühik: %1 - + Country: %1 Riik: %1 - Fingerprint (MD5): <tt>%1</tt> - Sõrmejälg (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Sõrmejälg (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Efektiivne kuupäev: %1 - + Expiration Date: %1 Aegumise kuupäev: %1 - + Issuer: %1 Esitaja: %1 diff --git a/translations/client_eu.ts b/translations/client_eu.ts index 560b61ae8..4fda65c83 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -3129,44 +3129,49 @@ Ez da gomendagarria erabltzea. - + Organization: %1 Erakundea: %1 - + Unit: %1 Unitatea: %1 - + Country: %1 Herrialdea: %1 - Fingerprint (MD5): <tt>%1</tt> - Hatz-marka (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Hatz-marka (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Balio-data: %1 - + Expiration Date: %1 Iraungitze data: %1 - + Issuer: %1 Jaulkitzailea: %1 diff --git a/translations/client_fa.ts b/translations/client_fa.ts index dece5db29..7e55ccadd 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -3117,44 +3117,49 @@ It is not advisable to use it. - + Organization: %1 سازماندهی : %1 - + Unit: %1 واحد: %1 - + Country: %1 کشور: %1 - Fingerprint (MD5): <tt>%1</tt> - اثر انگشت (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> اثرانگشت (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 تاریخ موثر: %1 - + Expiration Date: %1 تاریخ انقضا: %1 - + Issuer: %1 صادرکننده: %1 diff --git a/translations/client_fi.ts b/translations/client_fi.ts index e496d7f9d..a42c6b9ac 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -3115,44 +3115,49 @@ Osoitteen käyttäminen ei ole suositeltavaa. - + Organization: %1 Organisaatio: %1 - + Unit: %1 Yksikkö: %1 - + Country: %1 Maa: %1 - Fingerprint (MD5): <tt>%1</tt> - Sormenjälki (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Sormenjälki (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Voimassa oleva päivämäärä: %1 - + Expiration Date: %1 Vanhenemispäivä: %1 - + Issuer: %1 Myöntäjä: %1 diff --git a/translations/client_fr.ts b/translations/client_fr.ts index 99abfa78d..8561bea03 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -130,7 +130,7 @@ Re-open Browser (or right-click to copy link) - + Ré-ouvrez le navigateur web (ou copiez le lien par clic droit) @@ -153,7 +153,7 @@ Re-open Browser (or right-click to copy link) - + Ré-ouvrez le navigateur web (ou copiez le lien par clic droit) @@ -754,7 +754,7 @@ Error returned from the server: <em>%1</em> - + Erreur retournée par le serveur : <em>%1</em> @@ -785,7 +785,7 @@ Login in your browser (Login Flow v2) - + Connectez-vous avec votre navigateur web (Login Flow v2) @@ -3134,44 +3134,49 @@ Il est déconseillé de l'utiliser. - + Organization: %1 Organisation : %1 - + Unit: %1 Unité : %1 - + Country: %1 Pays : %1 - Fingerprint (MD5): <tt>%1</tt> - Empreinte (MD5) : <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Empreinte (SHA1) : <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Date de début de validité : %1 - + Expiration Date: %1 Date d'expiration : %1 - + Issuer: %1 Émetteur : %1 diff --git a/translations/client_gl.ts b/translations/client_gl.ts index 575af87b0..dbc53095d 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -3132,44 +3132,49 @@ Recomendámoslle que non o use. - + Organization: %1 Organización: %1 - + Unit: %1 Unidade: %1 - + Country: %1 País: %1 - Fingerprint (MD5): <tt>%1</tt> - Pegada dixital (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Pegada dixital (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Data de aplicación: %1 - + Expiration Date: %1 Data de caducidade: %1 - + Issuer: %1 Emisor: %1 diff --git a/translations/client_he.ts b/translations/client_he.ts index 3fad01b25..888cee645 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -3110,44 +3110,49 @@ It is not advisable to use it. - + Organization: %1 - + Unit: %1 - + Country: %1 - Fingerprint (MD5): <tt>%1</tt> - - - - Fingerprint (SHA1): <tt>%1</tt> - - Effective Date: %1 + + Fingerprint (SHA-256): <tt>%1</tt> - - Expiration Date: %1 + + Fingerprint (SHA-512): <tt>%1</tt> + Effective Date: %1 + + + + + Expiration Date: %1 + + + + Issuer: %1 diff --git a/translations/client_hr.ts b/translations/client_hr.ts index ca39e9c29..826c2f7e9 100644 --- a/translations/client_hr.ts +++ b/translations/client_hr.ts @@ -3131,44 +3131,49 @@ Nije preporučljivo koristiti ga. - + Organization: %1 Organizacija: %1 - + Unit: %1 Jedinica: %1 - + Country: %1 Država: %1 - Fingerprint (MD5): <tt>%1</tt> - Otisak prsta (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Otisak prsta (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Datum stupanja na snagu: %1 - + Expiration Date: %1 Datum isteka: %1 - + Issuer: %1 Izdavatelj: %1 diff --git a/translations/client_hu.ts b/translations/client_hu.ts index b0546cbbe..f6d962195 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -3130,44 +3130,49 @@ Használata nem ajánlott. - + Organization: %1 Szervezet: %1 - + Unit: %1 Egység: %1 - + Country: %1 Ország: %1 - Fingerprint (MD5): <tt>%1</tt> - Ellenőrzőkód (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Ellenőrzőkód (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Érvényességi dátum: %1 - + Expiration Date: %1 Lejárati dátum: %1 - + Issuer: %1 Kibocsátó: %1 diff --git a/translations/client_id.ts b/translations/client_id.ts index dee61c4fc..452a46402 100644 --- a/translations/client_id.ts +++ b/translations/client_id.ts @@ -3128,44 +3128,49 @@ Tidak disarankan untuk digunakan. - + Organization: %1 - + Unit: %1 - + Country: %1 - Fingerprint (MD5): <tt>%1</tt> - - - - Fingerprint (SHA1): <tt>%1</tt> - - Effective Date: %1 + + Fingerprint (SHA-256): <tt>%1</tt> - - Expiration Date: %1 + + Fingerprint (SHA-512): <tt>%1</tt> + Effective Date: %1 + + + + + Expiration Date: %1 + + + + Issuer: %1 diff --git a/translations/client_is.ts b/translations/client_is.ts index 4ccb38815..5156cc813 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -3128,44 +3128,49 @@ Ekki er mælt með því að hún sé notuð. - + Organization: %1 Stofnun/Fyrirtæki/Félag (O): %1 - + Unit: %1 Eining: %1 - + Country: %1 Land: %1 - Fingerprint (MD5): <tt>%1</tt> - Fingrafar (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Fingrafar (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Virkt þann: %1 - + Expiration Date: %1 Gildir til dags: %1 - + Issuer: %1 Útgefandi: %1 diff --git a/translations/client_it.ts b/translations/client_it.ts index 497b9c223..97d344579 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -3132,44 +3132,49 @@ Non è consigliabile utilizzarlo. - + Organization: %1 Organizzazione: %1 - + Unit: %1 Reparto: %1 - + Country: %1 Nazione: %1 - Fingerprint (MD5): <tt>%1</tt> - Impronta digitale (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Impronta digitale (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Data effettiva: %1 - + Expiration Date: %1 Data di scadenza: %1 - + Issuer: %1 Emittente: %1 diff --git a/translations/client_ja.ts b/translations/client_ja.ts index faf227a73..9900d18ce 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -3125,44 +3125,49 @@ It is not advisable to use it. - + Organization: %1 組織名: %1 - + Unit: %1 部門名: %1 - + Country: %1 国: %1 - Fingerprint (MD5): <tt>%1</tt> - Fingerprint (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Fingerprint (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 発効日: %1 - + Expiration Date: %1 有効期限: %1 - + Issuer: %1 発行者: %1 diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index d3480e2e4..bd05c7aa6 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -3125,44 +3125,49 @@ Patariama jo nenaudoti. - + Organization: %1 Organizacija: %1 - + Unit: %1 Vienetas: %1 - + Country: %1 Šalis: %1 - Fingerprint (MD5): <tt>%1</tt> - Kontrolinis kodas (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Kontrolinis kodas (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Įsigalioja nuo: %1 - + Expiration Date: %1 Galioja iki: %1 - + Issuer: %1 Leidėjas: %! diff --git a/translations/client_lv.ts b/translations/client_lv.ts index 20b76e773..a446f7677 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -3110,44 +3110,49 @@ It is not advisable to use it. - + Organization: %1 - + Unit: %1 - + Country: %1 - Fingerprint (MD5): <tt>%1</tt> - - - - Fingerprint (SHA1): <tt>%1</tt> - - Effective Date: %1 + + Fingerprint (SHA-256): <tt>%1</tt> - - Expiration Date: %1 + + Fingerprint (SHA-512): <tt>%1</tt> + Effective Date: %1 + + + + + Expiration Date: %1 + + + + Issuer: %1 @@ -3323,7 +3328,7 @@ It is not advisable to use it. Filename is too long. - Faila nosaukums ir pārāk garš. + Datnes nosaukums ir pārāk garš. diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index 2a3dd9e7b..ac024b3ae 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -3121,44 +3121,49 @@ Det er ikke tilrådelig å bruke den. - + Organization: %1 Organisasjon: %1 - + Unit: %1 Enhet: %1 - + Country: %1 Land: %1 - Fingerprint (MD5): <tt>%1</tt> - Fingeravtrykk (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Fingeravtrykk (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Gyldig fra dato: %1 - + Expiration Date: %1 Utløpsdato: %1 - + Issuer: %1 Utsteder: %1 diff --git a/translations/client_nl.ts b/translations/client_nl.ts index a1a78b5ce..90cb7bc8d 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -3135,44 +3135,49 @@ We adviseren deze site niet te gebruiken. - + Organization: %1 Organisatie: %1 - + Unit: %1 Unit: %1 - + Country: %1 Land: %1 - Fingerprint (MD5): <tt>%1</tt> - Fingerprint (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Fingerprint (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Ingangsdatum: %1 - + Expiration Date: %1 Vervaldatum: %1 - + Issuer: %1 Uitgever: %1 diff --git a/translations/client_pl.ts b/translations/client_pl.ts index c67e9f1e7..d51083e45 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -3131,44 +3131,49 @@ Niezalecane jest jego użycie. - + Organization: %1 Organizacja: %1 - + Unit: %1 Jednostka: %1 - + Country: %1 Kraj: %1 - Fingerprint (MD5): <tt>%1</tt> - Odcisk (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Odcisk (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Data wejścia w życie: %1 - + Expiration Date: %1 Data wygaśnięcia: %1 - + Issuer: %1 Wystawca: %1 diff --git a/translations/client_pt.ts b/translations/client_pt.ts index b163b6a35..7232d05e2 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -3120,44 +3120,49 @@ Não é aconselhada a sua utilização. - + Organization: %1 Organização: %1 - + Unit: %1 Unidade: %1 - + Country: %1 País: %1 - Fingerprint (MD5): <tt>%1</tt> - Chave(MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Chave(SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Data efectiva: %1 - + Expiration Date: %1 Data de Expiração: %1 - + Issuer: %1 Emissor: %1 diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 99b7cff49..9b7dbb0f4 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -3131,44 +3131,49 @@ Não é aconselhável usá-la. - + Organization: %1 Organização: %1 - + Unit: %1 Unidade: %1 - + Country: %1 País: %1 - Fingerprint (MD5): <tt>%1</tt> - Fingerprint (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Fingerprint (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Data Efetiva: %1 - + Expiration Date: %1 Data de Expiração: %1 - + Issuer: %1 Emissor: %1 diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 8260aa813..55d53340b 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -3125,44 +3125,49 @@ It is not advisable to use it. - + Organization: %1 Организация: %1 - + Unit: %1 Подразделение: %1 - + Country: %1 Страна: %1 - Fingerprint (MD5): <tt>%1</tt> - Отпечаток (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Отпечаток (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Дата вступления в силу: %1 - + Expiration Date: %1 Дата окончания: %1 - + Issuer: %1 Издатель: %1 diff --git a/translations/client_sk.ts b/translations/client_sk.ts index 049c54515..c227e6886 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -3124,44 +3124,49 @@ Nie je vhodné ju používať. - + Organization: %1 Organizácia: %1 - + Unit: %1 Jednotka: %1 - + Country: %1 Krajina: %1 - Fingerprint (MD5): <tt>%1</tt> - Odtlačok (MD5 hash): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Odtlačok (SHA1 hash): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Dátum účinnosti: %1 - + Expiration Date: %1 Koniec platnosti: %1 - + Issuer: %1 Vydavateľ: %1 diff --git a/translations/client_sl.ts b/translations/client_sl.ts index 576fd4307..e44ff9105 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -3120,44 +3120,49 @@ Uporaba ni priporočljiva. - + Organization: %1 Ustanova: %1 - + Unit: %1 Enota: %1 - + Country: %1 Država: %1 - Fingerprint (MD5): <tt>%1</tt> - Prstni odtis (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Prstni odtis (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Začetek veljavnosti: %1 - + Expiration Date: %1 Datum preteka: %1 - + Issuer: %1 Izdajatelj: %1 diff --git a/translations/client_sr.ts b/translations/client_sr.ts index 12dbb5f87..88a9be194 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -3131,44 +3131,49 @@ It is not advisable to use it. - + Organization: %1 Организација: %1 - + Unit: %1 Јединица: %1 - + Country: %1 Држава: %1 - Fingerprint (MD5): <tt>%1</tt> - Отисак (МД5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Отисак (СХА1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Важи од: %1 - + Expiration Date: %1 Истиче : %1 - + Issuer: %1 Издавач: %1 diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 83ab899be..bafc84fe0 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -3131,44 +3131,49 @@ Det är inte lämpligt använda den. - + Organization: %1 Organisation: %1 - + Unit: %1 Enhet: %1 - + Country: %1 Land: %1 - Fingerprint (MD5): <tt>%1</tt> - Fingeravtryck (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Fingeravtryck (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Giltigt datum: %1 - + Expiration Date: %1 Utgångsdatum: %1 - + Issuer: %1 Utfärdare: %1 diff --git a/translations/client_th.ts b/translations/client_th.ts index 0d1ed422d..5f9e40876 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -3118,44 +3118,49 @@ It is not advisable to use it. - + Organization: %1 หน่วยงาน: %1 - + Unit: %1 หน่วย: %1 - + Country: %1 ประเทศ: %1 - Fingerprint (MD5): <tt>%1</tt> - ลายนิ้วมือ (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> ลายนิ้วมือ (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 วันที่บังคับใช้: %1 - + Expiration Date: %1 หมดอายุวันที่: %1 - + Issuer: %1 ผู้รับรอง: %1 diff --git a/translations/client_tr.ts b/translations/client_tr.ts index bc6929101..8b751826c 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -3130,44 +3130,49 @@ Kullanmanız önerilmez. - + Organization: %1 Kuruluş: %1 - + Unit: %1 Birim: %1 - + Country: %1 Ülke: %1 - Fingerprint (MD5): <tt>%1</tt> - Parmak izi (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Parmak izi (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Geçerlilik Tarihi: %1 - + Expiration Date: %1 Son Kullanım Tarihi: %1 - + Issuer: %1 Veren: %1 diff --git a/translations/client_uk.ts b/translations/client_uk.ts index 6b01b3d9f..287eb80b1 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -3111,44 +3111,49 @@ It is not advisable to use it. - + Organization: %1 Організація: %1 - + Unit: %1 Підрозділ: %1 - + Country: %1 Країна: %1 - Fingerprint (MD5): <tt>%1</tt> - Відбиток (MD5): <tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> Відбиток (SHA1): <tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 Дата введення в дію: %1 - + Expiration Date: %1 Термін Дії: %1 - + Issuer: %1 Емітент: %1 diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index 7b0a8b664..347f955d3 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -3129,44 +3129,49 @@ It is not advisable to use it. - + Organization: %1 组织:%1 - + Unit: %1 单位:%1 - + Country: %1 国家:%1 - Fingerprint (MD5): <tt>%1</tt> - MD5 指纹:<tt>%1</tt> - - - Fingerprint (SHA1): <tt>%1</tt> SHA1 指纹:<tt>%1</tt> - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 有效日期:%1 - + Expiration Date: %1 过期日期:%1 - + Issuer: %1 签发人:%1 diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index e3503dc19..df3e9aa61 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -3117,44 +3117,49 @@ It is not advisable to use it. - + Organization: %1 組織:%1 - + Unit: %1 單位:%1 - + Country: %1 國家:%1 - Fingerprint (MD5): <tt>%1</tt> - 指紋 (MD5): &lt;tt&gt;%1&lt;/tt&gt; - - - Fingerprint (SHA1): <tt>%1</tt> 指紋 (SHA1): &lt;tt&gt;%1&lt;/tt&gt; - + + Fingerprint (SHA-256): <tt>%1</tt> + + + + + Fingerprint (SHA-512): <tt>%1</tt> + + + + Effective Date: %1 有效日期:%1 - + Expiration Date: %1 到期日: %1 - + Issuer: %1 簽發者: %1 From 429c9afd602d46a1d043e019e132eb843e4cc0d9 Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Fri, 6 Sep 2019 07:44:49 +0200 Subject: [PATCH 180/192] Added files for start menu icon (70 & 150px) on Windows 10 Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- theme/colored/w10startmenu-150.png | Bin 0 -> 10133 bytes theme/colored/w10startmenu-70.png | Bin 0 -> 4058 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 theme/colored/w10startmenu-150.png create mode 100644 theme/colored/w10startmenu-70.png diff --git a/theme/colored/w10startmenu-150.png b/theme/colored/w10startmenu-150.png new file mode 100644 index 0000000000000000000000000000000000000000..30dcfbef6564219b7bb4276671163f6f4aec65a0 GIT binary patch literal 10133 zcmaia1zc3$w*LSE0wPE^h;$F#Aq*uT4MW$^Ff;?wDJ>--AuXi>f^>(plF}vJE&UGu z?!CYJ{`bB2KcAU7bIyvh_S$Q&v-WrI2vrq1Y)mpt5D0{=ATOg1oZsGmAEE)jqDaom zAkc#v8%U zCx<5w2i(Pq6D%Yo#L30Y$<56UaIm|2Il7r5*d1M;-K+RZhYZZs+{MPp%?9pBbFb6X z4DRkGMoSCOY5t)chOqftyQAwrnh!XF^Pa*9=HTM|cXl@$%m0P_p7I~;PS$WYxT`hX z>0b@_Z;$vF`9A~!_x;Zz2vev3iCJ0s|7Le^_;1Z{b%S^Sj`)XD|C>$!e1NN_mlKRr z9p(ymcQJ=SJYbG)&;EGg-Y>$cHVBx#u8fTX%+VF_t{5$tkL&-TLjO0aG~6EUq5*^z z3=sPxbniQ11qV|rn2wEwoAuw?{w65F9IgI?a&Miz`+fInIobg2;r?5j?%y;qS^;h# zu-E98EyfX$MZ+(Z<2zvw5ki-(#9U3xvI-Or%`}N^Mi%>`PsQS z{%Q))al(MCjir~2sT;t>%>@=>=K?-pO>Q1xUS45tepW7SVXnXI`NIv22Mbd-)Bhj; zeN@wk0usu~!tyq*Zg3Z`Kezr0bq$#FUsr!!+S~kzaT=OGJuPf%e(xkPS|=B{g}XV- z;!m>xb$?M^;g)WmrYx@qLIdUy;P}h8|B~^vh5`Ei z_ttU#!#2+QaraN-L^=P%e9=D)|29woxxelK2>{3>oc~HCz{S6k5zG}kE-Bwg4AiSB zdwkUx8@ia=ai&B`G`&&qEPrEbU{)p|^30jB!c4%|vb@jvPOn2zMyFMsRkY-To-9Hg z;mw|x-pD>%(kac_UewN^%)#Vix3xsul1jmPl+vr$DuFg(X)0G1-2p4>tj_=3NMXet zujRLI-kc9kNY75JeqqTd?B|1U=IRnON03;^G=_`Mp7h6JUZ8|tLq`%yU+eVdR47IZ zk{aY%7I@1{eAswGis52;cXy^0_qZ-@(L{qFCQj(M{ z9wU^AqEDf{?d%ABG?^*NxE+!n`8t^NQf3ud>5$?85QMv8K-4tKnCr zL%s{gS?7)G0kN^MLo;X)wS4ujQgZ)x6lrc$J*WKVky#h0x`j4iQ*VH5g1RFKy*A`r zMDlSHPFCl0_?XA4ol=US`aDHo*eBl=t}+e?E9u@u|vl?|GsF~ zmJ1(X~qTZmqwY+t(H4?9SS$WZ_wZl!g;l)^3 z?%|nM8HbLL6aK+d6W<7Zo;2csY*0(?=q87|`Ip7rB3(lctOJF`EiMTX6!U2y`{zUAAu!uB|-*oXC>pT9%OV3eu^4^VZ40t4+5{E0>(Q z?io421Ux5^@2I@1-syA?4d&Hi={^{DVa-vA<}j5LGH6fefk-f95UaJs0WEr}vIS5y z6VI0Hy^2NqFSifAV_b)*Sh?|Y=-L*(JIoMrt9wvyFbNU~q>c|)N0K2#H5NpZq$^yE z`|wGuEn;DkGMe7_)$`&{R?6sWC^*QUMpx^F_tpgSgsR~0`&S<{V;Jxz_LI;DUUH)Z zH_NN{f>;K*wS(n93CNgr;-gwK@hoHY0M=O2^5b)YvhzkaM-&4lGSVW)S8dUo18p-} zGA{^Af+#uMrH@vl$uWm7Z$FY-#81krmDol_LseP`6>vXr70F%yd_-HiRaRC~WyYsO z!TJ77WjViRfC(e%ok|=Ti+}?o5>P$AVFWTLDcA^ za1|X@Z%4CLUSEY@FPwy!oyVf(w)gjlfy#=%j#voff<954bCJEK#Xu&X=>sbuH_da+ zyy`)!{VBOI`W|w>@XC~_38H4;Y29KD3<_YRg0fNO=Cs07wxFwNJ zS_BIwr^hQ2oE}`%pWpRjAw;AH5U0$OHD7=2;BS{iA_+83)^y+WgKZK!Ne)OC7lxBy z`3Bx>@7Bt{$)@z53@la1iRJvX0_C)`nI=4V@VoQJxN5^(ZRn^VHXq9^L#@nc*QIPh) z!35usLt~zp6RD0#`!;TYt#a$CVGU)NniPBf4Fdj+`YDN)YCvKZ*ZZM8@20Kor^X>a zBneOjxyfXZg49Bv-i1_T*2-$CZBS{%k)A+EqK464iJAH=k*GnItRr76ZCG;&B`SR* z$C4pEl2Z-X1D_uI2(4oCP{lsc7~_B0As4W|;WEC;{{Gv5&5G|2PtPn*C&2?&RH6W3 z(Wz+KqDE77|9Z@-P6U%IBB5%82GeGrR3`9ZRTdQ6AZ;@=*xM6yxhkLQl#Z`SgqjNu z?cL%T=R1OAJ)b9_K$(A0m5hx&}&Ka$%8;eO*;;4Eqg&UGPD8u1rJv{D_cT$VY zEtxGaVC>yv<3S=+sxqZvUM|$k1TsF3 zLu19Ou`|;~|1L(B?{APPw5xD<*eJAU^^JOIL-&o*%ZC9!B$IABkN}%KGLJGXEsF58 z2s}=&NP&!E_dU+@Y~n6bf&IYPt*)<<3QD&Y7Bjwz7if&Kk21buXvM?DMa6)y#C}n* z23}+k&V+0};s)zn-uN?o)CA>xXvgrB*D1NKqx!8_Opc^_w0peoWwF1YrT^$0`|6p( zow9yt1m7utbi$jpv5ZK)(g7iC{t`Cso0X;Lj(N8)f=Xo$pH1T-XuejnWlr4NQ%;lm z_H!qe%;fRaJ?aFIDx=-X@P%onsP?b6<=o|jTZ*ATZq+t#v&4lOz*O|vvLa!8M19J5 z${x?KVcm^0G#JSJc7s4_p-g7j=}wTat7?nebSY z$E?XK0b@it#0fa{viXU2$!Wb_qSPX|Hia#_=l@#kwKqZXQ%te5Tq5G3DK)|N)%Dz= z#$*GMjf^?wjq`dTS;1mK^MK?XLU6l&W=KOE%?C}iP1hxp)A;r(Bpj_FUdq^_5WM3W z0c#BpR4%|ZN{5=J^oP~=R^`wgEeM@}qBh(vBiU;;tJ+^a(P4>VV~{q$EEr&-rz{q> z;m!4%gcSX5kxeNj5`6HJd{=g2Oka%vQQh-y)+`z4h1~#K883bWbL012uZExURT1PH z??;7nm2wI;Dw;#mErNjzj=ZJb*H}3kG~+@G#!rF->go5|kJl*)ZFw4LMwaSsF}#kW zzZH8D7lGMBpidz)xSlI;L}owi5;lOonje{Xgf0TL@tORrx3kxJoIK8H}yRJ_4OIJz@$JC zcO=Ru zA~S{Rv?%>Pn^ImitK{M;Qe4zPB;!;h;}COmDI?*vrPJntANU29--%7XQRj@XRW(g| z5+7KAe-T+}|6Hv^DN+?{Pd9%H;fO%LEO0!w{lr_*DC^LkB_$CqHzL4Z_VMeH|4>>_ zG8QH8l&d}!*^wOL?DISHn(XD!y-gI%7cq1XWeB^_$3{2D8gsg~Djf6W6;Vx8Fiv=S zP;Ln1^*xn*eQorGj2qv_W0$Xb^_SFqyB>^WxwV84emadkj&W$Zb{RexaFj$@UJE0v zMMB8id39A*II<>CNMfIe2;!Nrk*vntM&xWA$iLB8F;$5P7ZSzGA7MNG?!GJPx;+w< zWXo+wZhyVp9V+V8k4KcW-a=zU7kQ*_EkWQ>M+BOK#3!Q@e@!~BA{R~|H?kss$<#O3 zBGNa!Kr!;`l1CCrZ^MmhQe7VGUB;SbuIRo}$&z)sh&PyoIVScdZuWZ{<8bMul5F6^ zfVDcB$Q)hrD4J(hd%A}GoNxodmD64W+<<+99|JlQ>&ca+B-Xd@tgm)UFgh;-f@(sr zTD_EE24nVCes%FcsO1Gdyb4F&A;&!E4gksmxST{xRQj%{=gdeDQCVJOP_F8M**QA3 zNar*7FLAaS?NnVYD^rE)Q2KF83Wf+Hcq;xLE~i_ASGAQ7gJZ0QWbj)I*)Lgy97Ujl z1W4d;Q$t`}rbdeU^xdyEaP!$wuLVobrgbIx#i}xvt9G;i`n70{X9y!stcwM&{2d}B zHCNS+=evR9uSyT}N%rE_sic|iROQK<3ajtK+rDYfbZ>2?NbftYlt|k`bT6N=6UBdX zoqWa{E8^+9aI#O;j0^a#kZr1M{MMU`jLO`JcInCLs*g`w=ma>ajt_n;P$?9Wrw{Oa zHQ-$m0d;IUx^ z$DrM&mD$_QB@6X=gW`&B=Z|kY>f!6|>QvSa=H)}Dl4=3>E#CDkAJ8wBq+F|+tMKWg z`Ze7}D8xKI8s4LOaWf~xO4z!O6J5C+IA=eV>6@yrZN6l_t+L-bZ1eeW!IN!RzZf*Z z_w%RUq@wuwURdJ@qq}C>(6GKPm36u93m372oNeLS{RC7V?h?B)?%{=+Bs(H4Rr6%1 zxiF|dA#VNqUh zp22zz^g~S&9_%$(AW1ZT6kB%<^NF7bLS1XkP%R@*(Q@7{*@8Z?=6fybJ^K8kv3hSV z3s1IKOCbIDTJ*ZTpKri^v$t(`CH0I*yN>aI!SkX%TGyT_J`k@+^nLXItlW|5OV-!X za$Tt`$%qvb#Ix5TfbeL@ivY#F782jo5R(_ z?UC83DC;C=xrKxD+KC?Z&2D^<=eZJuuF&ZUKb*(1460?dI+G%BoE0iWIP@(Fc(>tv zQu!o8kI|kK;Yr^2h}EhI$@z<$fW;}M(Zt?jSV1yrTmX z{&adtf+Y*gF;*@MlCS54j#c^(GWxFGYP+1~V*2@;5J0g{I%qI6PC|Y@@$>}VvKf;W zBHL;R=7p<%`lX7uk;(3n$CLd$GbqmjA5LD|`*RZ$eK6&kGndNxDbP;LY5l8|c$l*` z5NChF(Z8*u0iB0Mo4@(X=>uc`0!DUA`)xG={kVFs&D3!8PY!u(9bDf1eYU`JlN66- zwhqSf>)iQCA!?Y0USD$@M^cH{!`sUu-FKGDX$8#Wv=IL)tawt{k!ex?E9s%(+gCQ9v79VyTygR z?quTKRhvL?uoJSH=h>AVY1$Me?uf4T_X?bx4-;7;_9-!~v+CeF{-#$lcS}8dBUhg|-Gf_kbbu2Yo8l~kqRes$%K3ct^B zP%-<+r?-Fj$-Vp};Gg~TjYNB!jW&+D8fdb2plWz*Ur-owP8`XSzIrgJUcoIK$5O~d zpP(3KuwLZs_JymcaN^O`akj%+BDBdW!K}8+}7_pmQ{nH7)FNQ&-QtS8xTzJ#W867^`$0=238R z)eg)$KU99u;?$$)&Y$#mu1Gz9i$SC9={ce6D z8Pl}jJvQhnH(RUXo!A!G>=d06_sR;+ZilBQEMFxYQL{t!Yjo(+#sM>r?x0nxe6}$+ zo$)N@bKbCADAdd$I7UQg(jpUzMq4quMN;T8TrWIWV+*@lBIHKzm;-pR-tAsn_kct$ zeWKBFfoj!dE}^e%i4Pq5#aausu)jTT>h?Jhg4?5j#vV@t-`T5=1O4RN`a5OtUQTTV zB*)8fDL+5yo-b5eG3BeXO*OI9&2OisQaMwqMSgFjZ>A&?EDkMDEy+#Rz%)NHG{g@@ z9mS>G)s%A9xjh5fk=bkNTbyBE2=NzA*Q_!`^iTJTwG3Tt)#a?J)=H!V-#Twc1c{BM z{k*;ewMcOF!OvoWx7nRxO#o5PPBMs1K*7GgkbMQrNqzkJ;uOj6v#$ps*%;F}r-NAh zb;~r%sIFxz9R^!@7T4JftFpoT-gh=$D3DX#yaNZ?6h3r}@4lo+cQ$*YdD&=sdrLb0 z>SiS~Z4zZymf3DN9%rGxEX`7G?WwnGqjI+I8A2*Bbo7bV*tbZ@zR&BAWfNaW?7kEG834g;|oZjeDr#3t=G{a ziJWZkiMO|i3XJm#L*&?#1!ARoOqf_CMW1CuaVJaf5A6IgIsBRrxOs7JtKFnqHbbIa6%Bp z17S?DImaZ#=+P2{_9`tHJJzM zcFBqQW3=E<2`aJ<%cNStuFPDJzo?*W(_CwUEl*VG*qm(BJT9Zyed%n?p<`7EywL#Q zN8O6Y$!J9;PL%BR(b1ueLw|5z%CLSethd$dSC4lVDbrgHAC~cTIdXwMA9Q&iX%BE^t_+Scys1Y3C7+_zhp|^xw-7=kRhl>p2qNey&ju? zm0pe(FItZ7Sc%Q-?Q=zTtK&x=-F0 zY{sNbZ)^5OC^@1G$iqOe2>LhkLln**qy1i72|r5TrRT=6ReH#0Xkj^g_~?h9=+AoQ z*02WcJcfs9JV4^IpBHM?rRjsPpZ&t+)&TqocidiCTcF68a0gs$WuvOP;)-bkmAv$;MIDu82t{zmJO*BQy?tUc-s zI3=oNpv>;GvPfROd<&!^VMZMFQ9{SihPu-%{C}8rl|*W}f6%+07-Dxnbum zLNHS_7@VVIGo?3@(ncX~li7dKCMm8W`%p#tMrMOLj%yLi)rYM!`&IYo#Hvd{-iS=h zc0^JiS zq`F4trfeiIxdlNmJ=KN|{M6vPeT&4Wu}Gf$TG*;^rgZCM6pL%DnnOHP)v=Q{itSUi z#TSTDLhG_Ek0sPXEt&L%=sTu4d~ZKaHK2T>k1f^g>fQ%Yu|@0%1q{-t!{Rqj!>Tyu{sNkBR^s!` zpxCr8O2(;nS`Ru0)bSpW?V!!JS(m)rdn}wOF|p@ZSg09EkMs#8o&I(N$wc6Dm`agl zeD0`PI?LHsj9)WBZh!QM&CH-oAah5;U?n0w?*|Pg?^MjF5RFv`lxXzrTMIR1>d(zx zLnCCzHrdMaNb}2F&ZbqFfYb4Lx`$Jq7r*~q)vkF9vPb17c(E9%hvh)X0N|v=^>ZP) zwyC{chpi2H=2G(;Ivwf%#A5i42j55p(LJ<}w(5!MB*+q39!jSd(n;Tu)t=OkV8;BI zxbo=g8IbzfO4LW`0DKt?8T_aLT7=k|PlfE)R15?JOuwUVw<}@8pE|Tq zdv8hPTEySEsu1)hNx%!sH(-< z>m7TI-u8-$h{$t{V9)Qw3PY8#b&ToGw9OYZ6dD^5>my`GFG;=w35t(Gn0jQjxVfAP zemQM!?89C;OwK^^DLB*G)%aRhipId^t;BV(-E=jp6}OdDXyT^J9Om^Gl3b-jP{WuU z6r@y%n6A&3B6!W5&yMyYNU~bX@+UQOeweZ>Lq9(1xTEbCa$xa9NSI9VN{MJR7!`2v zP)U`~WibxN%}^PC8E7rc49Tr-4@F#O%Q8bj=?MvfI&+9KDIc83w5ysrB!S$*8oCI~ z!Irl$hWS4v%^*N#vthXD*|gMcs67|0R*#YZX<+C&GM(ERg3`hp;{&c^lr3FT+@wf(4# z*|eRG7wupfHQ%EJvJ*zD*IB9r0KCY9BTLAaG({a@n)CpuSV)gbtDeJ|!qkW`WX({E zF3uikdF8b+p{uWk5-KJBVwNl)44}gW);`2*kF%<31}DzJ`UB-TT*(}hEQ>7x6L?=O zRLl}W_H3hke21ItJd^6#HNaoP+BJnU8v>7+-cR(~KgHzn2OM2V6gp_^mP)s7pv96J zC2h*0FL3eGX_DwYm2Oe!LnOWfM`%o_3Gdrk{&8yom)mP@JyxY?)VyBJC;-Ww7@Oge zf9_(;OiVvwV-ire zBp9tRWG~@1#YG)BZ1R2|_L(gPeUx1Vqfvj6OU;UBkxQYsx@r3N-Fp`JGMPKSG67frIcJ@0n9UMgX#$DM|nE4-|~ zY<{{+mVXKIAxmdDj2XW|NAJ8wZ&~?W{JDG~3+7pT2IiP{p9rTExbR;na z<5UEoC@H1wL&;tGyhyy*&fhN=?c9W`OUH`ARyAhy8!pu-cgQ{_H5^l_mL|$g*r5@v zA_2!_4r5b~dPA(zbTwg?07h)0xzyz-(Dnhy#bxjcbH3L$`d@(pbAH_7Rbd~kzv*c8 z?u^y8xMJ6AHsRXyqGPViA^iZ?fOX521Z5BRLnvN|MFo8#9bIXdR{Clgxh!$g%Yi+- zbuDPVh5X^Qi}Z4@pU0_af46aq{|`c|Aoal;$(E_Y(K^c7N40ne2Zj{kO$_?*ws{1u zA(ybJF3#06Xm|(yVL;Q#F@uN5xmU+4g4!UJb(nuGY;(eZC1nV8C__?$eZvK#)pk+3 zm0fZkLS0l^rxJcRZw8ra6{n&-@vD>-j|E*KWdt`-L{zLy{AjuV!x{Tm6q7MTaL! zr!%z%x$q?#o$J0))g*mj^npu(lkRC;DX>9c`+hG#)~NN22QXEm^l!?orGuV{~qV@oy)|oU}nai}lfzEyCyYcri;OqjP zci%QD!gbRL26hPieW+}HvufjS{^mQ4e6BeuZ%8rhW`8Z1m&>FLQTxR#{w`khpIZk0 f?{g;4n>*CmeEkB53QF?*ZaM{sip;HeTGQVr7< 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 Date: Fri, 6 Sep 2019 08:23:48 +0200 Subject: [PATCH 181/192] Renamed files for consistent sheme & use in CMakeLists (/src/gui) Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- src/gui/CMakeLists.txt | 1 + ...tmenu-150.png => 150-Nextcloud-w10startmenu.png} | Bin ...artmenu-70.png => 70-Nextcloud-w10startmenu.png} | Bin 3 files changed, 1 insertion(+) rename theme/colored/{w10startmenu-150.png => 150-Nextcloud-w10startmenu.png} (100%) rename theme/colored/{w10startmenu-70.png => 70-Nextcloud-w10startmenu.png} (100%) diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 5db93a640..9a8a7bc62 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -272,6 +272,7 @@ if(NOT BUILD_OWNCLOUD_OSX_BUNDLE) install(FILES ${client_I18N} DESTINATION ${SHAREDIR}/${APPLICATION_EXECUTABLE}/i18n) else() install(FILES ${client_I18N} DESTINATION i18n) + install(FILES ${visualElements} DESTINATION visualelements) endif() # we may not add MACOSX_BUNDLE here, if not building one diff --git a/theme/colored/w10startmenu-150.png b/theme/colored/150-Nextcloud-w10startmenu.png similarity index 100% rename from theme/colored/w10startmenu-150.png rename to theme/colored/150-Nextcloud-w10startmenu.png diff --git a/theme/colored/w10startmenu-70.png b/theme/colored/70-Nextcloud-w10startmenu.png similarity index 100% rename from theme/colored/w10startmenu-70.png rename to theme/colored/70-Nextcloud-w10startmenu.png From c1dd0079d9bb145555f5f1c16a791d42e32a3da4 Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Fri, 6 Sep 2019 08:35:46 +0200 Subject: [PATCH 182/192] Modified CMakeLists (src/gui/) to install VisualElements logo files in appropiate install output folder Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- src/gui/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 9a8a7bc62..69bd0303d 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -271,8 +271,9 @@ if(NOT BUILD_OWNCLOUD_OSX_BUNDLE) endforeach(_file) install(FILES ${client_I18N} DESTINATION ${SHAREDIR}/${APPLICATION_EXECUTABLE}/i18n) else() + file(GLOB_RECURSE VISUAL_ELEMENTS "${theme_dir}/colored/*-${APPLICATION_ICON_NAME}-w10startmenu*") + install(FILES ${VISUAL_ELEMENTS} DESTINATION visualelements) install(FILES ${client_I18N} DESTINATION i18n) - install(FILES ${visualElements} DESTINATION visualelements) endif() # we may not add MACOSX_BUNDLE here, if not building one From 4ea64bf9ee5a046b8210eed70fd38750405990b2 Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Fri, 6 Sep 2019 09:24:06 +0200 Subject: [PATCH 183/192] Final commit to resolve #22 (at least in desktop repo, final bits have to be set in client-building). Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- src/gui/CMakeLists.txt | 3 ++- theme/nextcloud.VisualElementsManifest.xml | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 theme/nextcloud.VisualElementsManifest.xml diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 69bd0303d..ec21cc848 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -272,7 +272,8 @@ if(NOT BUILD_OWNCLOUD_OSX_BUNDLE) install(FILES ${client_I18N} DESTINATION ${SHAREDIR}/${APPLICATION_EXECUTABLE}/i18n) else() file(GLOB_RECURSE VISUAL_ELEMENTS "${theme_dir}/colored/*-${APPLICATION_ICON_NAME}-w10startmenu*") - install(FILES ${VISUAL_ELEMENTS} DESTINATION visualelements) + install(FILES ${VISUAL_ELEMENTS} DESTINATION bin/visualelements) + install(FILES "${theme_dir}/${APPLICATION_EXECUTABLE}.VisualElementsManifest.xml" DESTINATION bin) install(FILES ${client_I18N} DESTINATION i18n) endif() diff --git a/theme/nextcloud.VisualElementsManifest.xml b/theme/nextcloud.VisualElementsManifest.xml new file mode 100644 index 000000000..acdc31272 --- /dev/null +++ b/theme/nextcloud.VisualElementsManifest.xml @@ -0,0 +1,8 @@ + + + \ No newline at end of file From bbb295fea48ca560d7362ce9dd3eed37f16fc557 Mon Sep 17 00:00:00 2001 From: Martin Sucha Date: Sun, 1 Sep 2019 11:11:59 +0200 Subject: [PATCH 184/192] Use newer digest algorithms in TLS error dialog MD5 has been broken for a long time now and SHA1 has been deprecated as well. SHA1 is not used when issuing new publicly trusted certificates since 1 January 2016[1] and there are more and more effective attacks[2][3] against it, so display SHA1 fingerprint only for old certificates to encourage use of safer digests by users. So, we display SHA-256 and SHA-512 fingerprints instead in the common case. [1] https://cabforum.org/wp-content/uploads/CA-Browser-Forum-BR-1.6.5.pdf [2] https://shattered.io/static/shattered.pdf [3] https://eprint.iacr.org/2019/459.pdf Signed-off-by: Martin Sucha --- src/gui/sslerrordialog.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/gui/sslerrordialog.cpp b/src/gui/sslerrordialog.cpp index 8b6350efa..814a7b0af 100644 --- a/src/gui/sslerrordialog.cpp +++ b/src/gui/sslerrordialog.cpp @@ -184,10 +184,15 @@ QString SslErrorDialog::certDiv(QSslCertificate cert) const msg += QL("

"); - QString md5sum = Utility::formatFingerprint(cert.digest(QCryptographicHash::Md5).toHex()); - QString sha1sum = Utility::formatFingerprint(cert.digest(QCryptographicHash::Sha1).toHex()); - msg += tr("Fingerprint (MD5): %1").arg(md5sum) + QL("
"); - msg += tr("Fingerprint (SHA1): %1").arg(sha1sum) + QL("
"); + if (cert.effectiveDate() < QDateTime(QDate(2016, 1, 1), QTime(), Qt::UTC)) { + QString sha1sum = Utility::formatFingerprint(cert.digest(QCryptographicHash::Sha1).toHex()); + msg += tr("Fingerprint (SHA1): %1").arg(sha1sum) + QL("
"); + } + + QString sha256sum = Utility::formatFingerprint(cert.digest(QCryptographicHash::Sha256).toHex()); + QString sha512sum = Utility::formatFingerprint(cert.digest(QCryptographicHash::Sha512).toHex()); + msg += tr("Fingerprint (SHA-256): %1").arg(sha256sum) + QL("
"); + msg += tr("Fingerprint (SHA-512): %1").arg(sha512sum) + QL("
"); msg += QL("
"); msg += tr("Effective Date: %1").arg(cert.effectiveDate().toString()) + QL("
"); msg += tr("Expiration Date: %1").arg(cert.expiryDate().toString()) + QL("

"); From b792a627e22cec62ae8f788483f5f434ffa29594 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Fri, 6 Sep 2019 14:40:54 +0200 Subject: [PATCH 185/192] Qt5.5 compatiblity patch for login flow V2 + UI improvment Removes the right-click function for the "Re-open browser" buttons because they are not intuitive for the user. Adds a dedicated "Copy link" button. Implements Qt 5.5 fixes based on: https://github.com/nextcloud/desktop/pull/1392 Signed-off-by: Michael Schuster --- src/gui/wizard/flow2authcredspage.cpp | 32 ++++++++++++----------- src/gui/wizard/flow2authcredspage.h | 4 +++ src/gui/wizard/flow2authcredspage.ui | 15 ++++++++++- src/gui/wizard/flow2authwidget.cpp | 32 ++++++++++++----------- src/gui/wizard/flow2authwidget.h | 4 +++ src/gui/wizard/flow2authwidget.ui | 15 ++++++++++- src/gui/wizard/owncloudoauthcredspage.cpp | 32 ++++++++++++----------- src/gui/wizard/owncloudoauthcredspage.h | 4 +++ src/gui/wizard/owncloudoauthcredspage.ui | 13 +++++++++ 9 files changed, 104 insertions(+), 47 deletions(-) diff --git a/src/gui/wizard/flow2authcredspage.cpp b/src/gui/wizard/flow2authcredspage.cpp index a368d6043..165752663 100644 --- a/src/gui/wizard/flow2authcredspage.cpp +++ b/src/gui/wizard/flow2authcredspage.cpp @@ -46,21 +46,8 @@ Flow2AuthCredsPage::Flow2AuthCredsPage() setTitle(WizardCommon::titleTemplate().arg(tr("Connect to %1").arg(Theme::instance()->appNameGUI()))); setSubTitle(WizardCommon::subTitleTemplate().arg(tr("Login in your browser (Login Flow v2)"))); - connect(_ui.openLinkButton, &QCommandLinkButton::clicked, [this] { - _ui.errorLabel->hide(); - if (_asyncAuth) - _asyncAuth->openBrowser(); - }); - _ui.openLinkButton->setContextMenuPolicy(Qt::CustomContextMenu); - QObject::connect(_ui.openLinkButton, &QWidget::customContextMenuRequested, [this](const QPoint &pos) { - auto menu = new QMenu(_ui.openLinkButton); - menu->addAction(tr("Copy link to clipboard"), this, [this] { - if (_asyncAuth) - QApplication::clipboard()->setText(_asyncAuth->authorisationLink().toString(QUrl::FullyEncoded)); - }); - menu->setAttribute(Qt::WA_DeleteOnClose); - menu->popup(_ui.openLinkButton->mapToGlobal(pos)); - }); + connect(_ui.openLinkButton, &QCommandLinkButton::clicked, this, &Flow2AuthCredsPage::slotOpenBrowser); + connect(_ui.copyLinkButton, &QCommandLinkButton::clicked, this, &Flow2AuthCredsPage::slotCopyLinkToClipboard); } void Flow2AuthCredsPage::initializePage() @@ -146,4 +133,19 @@ bool Flow2AuthCredsPage::isComplete() const return false; /* We can never go forward manually */ } +void Flow2AuthCredsPage::slotOpenBrowser() +{ + if (_ui.errorLabel) + _ui.errorLabel->hide(); + + if (_asyncAuth) + _asyncAuth->openBrowser(); +} + +void Flow2AuthCredsPage::slotCopyLinkToClipboard() +{ + if (_asyncAuth) + QApplication::clipboard()->setText(_asyncAuth->authorisationLink().toString(QUrl::FullyEncoded)); +} + } // namespace OCC diff --git a/src/gui/wizard/flow2authcredspage.h b/src/gui/wizard/flow2authcredspage.h index bffcf68b3..f51d7d7f3 100644 --- a/src/gui/wizard/flow2authcredspage.h +++ b/src/gui/wizard/flow2authcredspage.h @@ -56,6 +56,10 @@ public: QString _appPassword; QScopedPointer _asyncAuth; Ui_Flow2AuthCredsPage _ui; + +protected slots: + void slotOpenBrowser(); + void slotCopyLinkToClipboard(); }; } // namespace OCC diff --git a/src/gui/wizard/flow2authcredspage.ui b/src/gui/wizard/flow2authcredspage.ui index 04c1d7217..37d2b8f53 100644 --- a/src/gui/wizard/flow2authcredspage.ui +++ b/src/gui/wizard/flow2authcredspage.ui @@ -53,7 +53,20 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + + + + 50 + false + + + + Copy link diff --git a/src/gui/wizard/flow2authwidget.cpp b/src/gui/wizard/flow2authwidget.cpp index 300b2e83d..c050a54d0 100644 --- a/src/gui/wizard/flow2authwidget.cpp +++ b/src/gui/wizard/flow2authwidget.cpp @@ -50,21 +50,8 @@ Flow2AuthWidget::Flow2AuthWidget(Account *account, QWidget *parent) WizardCommon::initErrorLabel(_ui.errorLabel); - connect(_ui.openLinkButton, &QCommandLinkButton::clicked, [this] { - _ui.errorLabel->hide(); - if (_asyncAuth) - _asyncAuth->openBrowser(); - }); - _ui.openLinkButton->setContextMenuPolicy(Qt::CustomContextMenu); - QObject::connect(_ui.openLinkButton, &QWidget::customContextMenuRequested, [this](const QPoint &pos) { - auto menu = new QMenu(_ui.openLinkButton); - menu->addAction(tr("Copy link to clipboard"), this, [this] { - if (_asyncAuth) - QApplication::clipboard()->setText(_asyncAuth->authorisationLink().toString(QUrl::FullyEncoded)); - }); - menu->setAttribute(Qt::WA_DeleteOnClose); - menu->popup(_ui.openLinkButton->mapToGlobal(pos)); - }); + connect(_ui.openLinkButton, &QCommandLinkButton::clicked, this, &Flow2AuthWidget::slotOpenBrowser); + connect(_ui.copyLinkButton, &QCommandLinkButton::clicked, this, &Flow2AuthWidget::slotCopyLinkToClipboard); _asyncAuth.reset(new Flow2Auth(_account, this)); connect(_asyncAuth.data(), &Flow2Auth::result, this, &Flow2AuthWidget::asyncAuthResult, Qt::QueuedConnection); @@ -110,4 +97,19 @@ Flow2AuthWidget::~Flow2AuthWidget() { _user.clear(); } +void Flow2AuthWidget::slotOpenBrowser() +{ + if (_ui.errorLabel) + _ui.errorLabel->hide(); + + if (_asyncAuth) + _asyncAuth->openBrowser(); } + +void Flow2AuthWidget::slotCopyLinkToClipboard() +{ + if (_asyncAuth) + QApplication::clipboard()->setText(_asyncAuth->authorisationLink().toString(QUrl::FullyEncoded)); +} + +} // namespace OCC diff --git a/src/gui/wizard/flow2authwidget.h b/src/gui/wizard/flow2authwidget.h index cf04d9193..7fe1844c1 100644 --- a/src/gui/wizard/flow2authwidget.h +++ b/src/gui/wizard/flow2authwidget.h @@ -45,6 +45,10 @@ private: QString _appPassword; QScopedPointer _asyncAuth; Ui_Flow2AuthWidget _ui; + +protected slots: + void slotOpenBrowser(); + void slotCopyLinkToClipboard(); }; } diff --git a/src/gui/wizard/flow2authwidget.ui b/src/gui/wizard/flow2authwidget.ui index e73ae6a1d..7de44675f 100644 --- a/src/gui/wizard/flow2authwidget.ui +++ b/src/gui/wizard/flow2authwidget.ui @@ -65,7 +65,20 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + + + + 50 + false + + + + Copy link diff --git a/src/gui/wizard/owncloudoauthcredspage.cpp b/src/gui/wizard/owncloudoauthcredspage.cpp index 174aa05c4..0d4c40ea7 100644 --- a/src/gui/wizard/owncloudoauthcredspage.cpp +++ b/src/gui/wizard/owncloudoauthcredspage.cpp @@ -45,21 +45,8 @@ OwncloudOAuthCredsPage::OwncloudOAuthCredsPage() setTitle(WizardCommon::titleTemplate().arg(tr("Connect to %1").arg(Theme::instance()->appNameGUI()))); setSubTitle(WizardCommon::subTitleTemplate().arg(tr("Login in your browser"))); - connect(_ui.openLinkButton, &QCommandLinkButton::clicked, [this] { - _ui.errorLabel->hide(); - if (_asyncAuth) - _asyncAuth->openBrowser(); - }); - _ui.openLinkButton->setContextMenuPolicy(Qt::CustomContextMenu); - QObject::connect(_ui.openLinkButton, &QWidget::customContextMenuRequested, [this](const QPoint &pos) { - auto menu = new QMenu(_ui.openLinkButton); - menu->addAction(tr("Copy link to clipboard"), this, [this] { - if (_asyncAuth) - QApplication::clipboard()->setText(_asyncAuth->authorisationLink().toString(QUrl::FullyEncoded)); - }); - menu->setAttribute(Qt::WA_DeleteOnClose); - menu->popup(_ui.openLinkButton->mapToGlobal(pos)); - }); + connect(_ui.openLinkButton, &QCommandLinkButton::clicked, this, &OwncloudOAuthCredsPage::slotOpenBrowser); + connect(_ui.copyLinkButton, &QCommandLinkButton::clicked, this, &OwncloudOAuthCredsPage::slotCopyLinkToClipboard); } void OwncloudOAuthCredsPage::initializePage() @@ -133,4 +120,19 @@ bool OwncloudOAuthCredsPage::isComplete() const return false; /* We can never go forward manually */ } +void OwncloudOAuthCredsPage::slotOpenBrowser() +{ + if (_ui.errorLabel) + _ui.errorLabel->hide(); + + if (_asyncAuth) + _asyncAuth->openBrowser(); +} + +void OwncloudOAuthCredsPage::slotCopyLinkToClipboard() +{ + if (_asyncAuth) + QApplication::clipboard()->setText(_asyncAuth->authorisationLink().toString(QUrl::FullyEncoded)); +} + } // namespace OCC diff --git a/src/gui/wizard/owncloudoauthcredspage.h b/src/gui/wizard/owncloudoauthcredspage.h index 32341eb1c..efbc9a69b 100644 --- a/src/gui/wizard/owncloudoauthcredspage.h +++ b/src/gui/wizard/owncloudoauthcredspage.h @@ -57,6 +57,10 @@ public: QString _refreshToken; QScopedPointer _asyncAuth; Ui_OwncloudOAuthCredsPage _ui; + +protected slots: + void slotOpenBrowser(); + void slotCopyLinkToClipboard(); }; } // namespace OCC diff --git a/src/gui/wizard/owncloudoauthcredspage.ui b/src/gui/wizard/owncloudoauthcredspage.ui index 2c3a79ed2..03682cae1 100644 --- a/src/gui/wizard/owncloudoauthcredspage.ui +++ b/src/gui/wizard/owncloudoauthcredspage.ui @@ -57,6 +57,19 @@ + + + + + 50 + false + + + + Copy link + + + From 8b2c47cdcb4d1956aad1f642dbbc8d481aee3f07 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Fri, 6 Sep 2019 17:05:18 +0200 Subject: [PATCH 186/192] Remove old Qt 5.5 patch for Xenial Signed-off-by: Michael Schuster --- .../post-patches/qt5.5-compat.patch | 40 ------------------- 1 file changed, 40 deletions(-) diff --git a/admin/linux/debian/debian.xenial/post-patches/qt5.5-compat.patch b/admin/linux/debian/debian.xenial/post-patches/qt5.5-compat.patch index f6475205c..70c71d462 100644 --- a/admin/linux/debian/debian.xenial/post-patches/qt5.5-compat.patch +++ b/admin/linux/debian/debian.xenial/post-patches/qt5.5-compat.patch @@ -1,43 +1,3 @@ ---- nextcloud-client-2.4.0.orig/src/gui/wizard/owncloudoauthcredspage.cpp -+++ nextcloud-client-2.4.0/src/gui/wizard/owncloudoauthcredspage.cpp -@@ -53,10 +53,8 @@ OwncloudOAuthCredsPage::OwncloudOAuthCredsPage() - _ui.openLinkButton->setContextMenuPolicy(Qt::CustomContextMenu); - QObject::connect(_ui.openLinkButton, &QWidget::customContextMenuRequested, [this](const QPoint &pos) { - auto menu = new QMenu(_ui.openLinkButton); -- menu->addAction(tr("Copy link to clipboard"), this, [this] { -- if (_asyncAuth) -- QApplication::clipboard()->setText(_asyncAuth->authorisationLink().toString(QUrl::FullyEncoded)); -- }); -+ auto action = menu->addAction(tr("Copy link to clipboard")); -+ connect(action, &QAction::triggered, this, &OwncloudOAuthCredsPage::copyLinkToClipboard); - menu->setAttribute(Qt::WA_DeleteOnClose); - menu->popup(_ui.openLinkButton->mapToGlobal(pos)); - }); -@@ -131,4 +129,11 @@ bool OwncloudOAuthCredsPage::isComplete() const - return false; /* We can never go forward manually */ - } - -+void OwncloudOAuthCredsPage::copyLinkToClipboard() -+{ -+ if (_asyncAuth) -+ QApplication::clipboard()->setText(_asyncAuth->authorisationLink().toString(QUrl::FullyEncoded)); -+} -+ -+ - } // namespace OCC ---- nextcloud-client-2.4.0.orig/src/gui/wizard/owncloudoauthcredspage.h -+++ nextcloud-client-2.4.0/src/gui/wizard/owncloudoauthcredspage.h -@@ -57,6 +57,10 @@ public: - QString _refreshToken; - QScopedPointer _asyncAuth; - Ui_OwncloudOAuthCredsPage _ui; -+ -+protected slots: -+ void copyLinkToClipboard(); -+ - }; - - } // namespace OCC --- nextcloud-client-2.5.3.orig/src/3rdparty/kmessagewidget/kmessagewidget.cpp 2019-07-26 18:40:34.949349387 +0000 +++ nextcloud-client-2.5.3/src/3rdparty/kmessagewidget/kmessagewidget.cpp 2019-07-26 18:41:39.866478051 +0000 @@ -105,6 +105,9 @@ From c835c394913b345c8d3c77af0c2b5c3d26975819 Mon Sep 17 00:00:00 2001 From: Camila San Date: Fri, 6 Sep 2019 18:20:52 +0200 Subject: [PATCH 187/192] Bump master version to 2.7. Signed-off-by: Camila San --- VERSION.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION.cmake b/VERSION.cmake index b08e6f944..8f780835c 100644 --- a/VERSION.cmake +++ b/VERSION.cmake @@ -1,6 +1,6 @@ set( MIRALL_VERSION_MAJOR 2 ) -set( MIRALL_VERSION_MINOR 5 ) -set( MIRALL_VERSION_PATCH 3 ) +set( MIRALL_VERSION_MINOR 7 ) +set( MIRALL_VERSION_PATCH 0 ) set( MIRALL_VERSION_YEAR 2019 ) set( MIRALL_SOVERSION 0 ) From 819a006a170243232f09182fd31bc6e7c3aa9bc4 Mon Sep 17 00:00:00 2001 From: Michael Schuster Date: Sat, 7 Sep 2019 02:00:49 +0200 Subject: [PATCH 188/192] Replace old NSI Windows setup wizard graphics New UI resources based on current https://github.com/nextcloud/promo New: - Icon based on https://github.com/nextcloud/desktop/pull/1401 - Wizard image & header image (dotted background replaces old cloud background) Signed-off-by: Michael Schuster --- admin/win/nsi/installer.ico | Bin 4286 -> 259992 bytes admin/win/nsi/page_header.bmp | Bin 9390 -> 25818 bytes admin/win/nsi/welcome.bmp | Bin 154542 -> 154542 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/admin/win/nsi/installer.ico b/admin/win/nsi/installer.ico index d7d4a81a15759ca17ff6a4af91c94b9173155d56..1d1c1800575ce379bb609550a4be5c4cfd837c8f 100644 GIT binary patch literal 259992 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 literal 4286 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 bdSmboeG@bcs^s7NWk diff --git a/admin/win/nsi/page_header.bmp b/admin/win/nsi/page_header.bmp index e43824425685f9e6dff232b374d8eed1a3ea575b..0a0a74715125139b5c0d2305d408a265f0a8ae24 100644 GIT binary patch literal 25818 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 literal 9390 zcmeHMX>?6j6#gPXBSh7#XlRMCsA@~4iXw`rQd1*AloC^^p+OT8Lllu9WFRuVo2r^x zs#>b5UCkge5Shp%k&tu6u7pd6*IUAnHh8 zL?7*k=wtl}=7{keh?wJp2!j!GVhCbS3`MN>aKZ@O^BIYIzN2ve)EM0N`w(${V-e>+ z4i5sx6DHt6;6%g+O(IN2e6S_r6;qL*_!J4kG$e$~Kw^j$5`UbD#51#y^wS(9ot=y1 za|@7s-Wm@t*x=zsTf$;Iy0nC_6pwzfBP>J8<&{XevI?nJ?2-E08l+xbi?pljkoNm} zq+Q#H^glNfwjllbR%G08K*nF&@%W}A9{;@)nYVTkoRRsD3t=}hZ|_0Y?Y+qQcOStO zPyRnda6@*eJF>%$AUpghaw0tOG}4FQi)T@OcoywX2taO3AR!33vB3ld^6rHo@BSI& z#hpd|gP)Nff1Ypw`3VEGCqowyKm+hT7`q zgmTo?R1hjrS6fA>MqOPE>g#GzUtdS4=j&EJ$Q_V7Aa_9SfZPGO19AtNq5}rzpKWpV zJ^90TbBEH?baNSoAG-+3;X1i>GpWmLyRs;5>>Jc93VYvAvn)Xfn$Qdivk1~IOAzSo zrOAh>#VW`BE-S{0FNYWqAeH5{ap{r`$0R3slvtOs#n&$T9aoKQr|&XbST;y|jAvTy z-NZ_EzSoMmhQqdrzE>CKjz1#Rd2EV)FH@6sk`Vh?-V#{IeZ?%5?36$rS^*e+#Vzr$ zmfpDaHVikYDN$kQ>dym{)D=Hau$baa*lCczQI)RF)`@MUp(F_7X7a#N&E)fVaFK-; zdAcS`hh7J7E~Ri>y;IaY?8-iUUenZQbC^Xv8&=+GC*DB8>s3vf?!2i?PdGT3GLH1% zHa{%ZR`^^s=RSfahaBPoOKqO6{LL(VkU38`TxDCJb$e0plDv}HU#wn6dsq z3h?#3MoP9-EQ*djw9^|ar#4Gd>siE2o2M(E@8y2Ic)EV#_Q~|#*3RFTMfnI6f8*@U z8|a|T)0HpoR=ZxOe0}ybNDIQ3+WBXw=60LWWKU-vu+rw~%I_}j?k88yx93Yu@aAXM zqphYu%e|}&-xIu;)AsXMp5m5&H%*!jJ!>wYI#?~>_7|EGQ+UvBnu^D*g_Xm>d(Lt4 z7W{V1mR9j-ekQ3nXB(^O);k)!Poy&E?C=x39cQykxCw@ln#L@(lch9m)d=cjwXohz zOYzJpYa+wiK<}!J5O{~*&sB9D9n**}H3h|V-f>k`zKc3Eg=XV4Og>tEfGv4<`-v|< jT{JF*-dKhmJJAc0Jme0@9gsU9cR=od+yS`*njLrnHb0y6 diff --git a/admin/win/nsi/welcome.bmp b/admin/win/nsi/welcome.bmp index a3c8b45c0ff02442a360dd7d77a5e739203504ba..519ea636fa90a9301b41e9d5ad11ba4da848d88c 100644 GIT binary patch literal 154542 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 LZuZG1q2&Jpc>|1$ From 2121e7116e7ea1dd27f0704787dfa5e51b23aaff Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 7 Sep 2019 03:06:08 +0000 Subject: [PATCH 189/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 +- translations/client_bg.ts | 212 +++++++++--------- translations/client_ca.ts | 212 +++++++++--------- translations/client_cs.ts | 208 +++++++++--------- translations/client_da.ts | 200 +++++++++-------- translations/client_de.ts | 216 ++++++++++--------- translations/client_el.ts | 208 +++++++++--------- translations/client_en.ts | 188 ++++++++-------- translations/client_en_GB.ts | 208 +++++++++--------- translations/client_eo.ts | 208 +++++++++--------- translations/client_es.ts | 212 +++++++++--------- translations/client_es_AR.ts | 196 +++++++++-------- translations/client_es_CL.ts | 218 ++++++++++--------- translations/client_es_CO.ts | 218 ++++++++++--------- translations/client_es_CR.ts | 218 ++++++++++--------- translations/client_es_DO.ts | 218 ++++++++++--------- translations/client_es_EC.ts | 218 ++++++++++--------- translations/client_es_GT.ts | 218 ++++++++++--------- translations/client_es_HN.ts | 218 ++++++++++--------- translations/client_es_MX.ts | 218 ++++++++++--------- translations/client_es_SV.ts | 218 ++++++++++--------- translations/client_et.ts | 214 ++++++++++--------- translations/client_eu.ts | 208 +++++++++--------- translations/client_fa.ts | 207 +++++++++--------- translations/client_fi.ts | 206 +++++++++--------- translations/client_fr.ts | 224 +++++++++++--------- translations/client_gl.ts | 216 ++++++++++--------- translations/client_he.ts | 200 +++++++++-------- translations/client_hr.ts | 212 +++++++++--------- translations/client_hu.ts | 212 +++++++++--------- translations/client_id.ts | 208 +++++++++--------- translations/client_is.ts | 202 ++++++++++-------- translations/client_it.ts | 212 +++++++++--------- translations/client_ja.ts | 208 +++++++++--------- translations/client_lt_LT.ts | 208 +++++++++--------- translations/client_lv.ts | 188 ++++++++-------- translations/client_nb_NO.ts | 208 +++++++++--------- translations/client_nl.ts | 212 +++++++++--------- translations/client_pl.ts | 216 ++++++++++--------- translations/client_pt.ts | 218 ++++++++++--------- translations/client_pt_BR.ts | 216 ++++++++++--------- translations/client_ru.ts | 207 +++++++++--------- translations/client_sk.ts | 208 +++++++++--------- translations/client_sl.ts | 218 ++++++++++--------- translations/client_sr.ts | 208 +++++++++--------- translations/client_sv.ts | 216 ++++++++++--------- translations/client_th.ts | 218 ++++++++++--------- translations/client_tr.ts | 216 ++++++++++--------- translations/client_uk.ts | 204 +++++++++--------- translations/client_zh_CN.ts | 212 +++++++++--------- translations/client_zh_TW.ts | 208 +++++++++--------- 51 files changed, 5583 insertions(+), 4965 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_bg.ts b/translations/client_bg.ts index 2f90c312f..59ff44804 100644 --- a/translations/client_bg.ts +++ b/translations/client_bg.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Отказ @@ -278,224 +288,230 @@ Свързан с <server>, като <user> - + No account configured. Няма настроен профил. - + Add new Добави нов - + Remove Премахни - + Account Профил - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt - + + + Edit Ignored Files + + + + Choose what to sync Избор на елементи за синхронизиране - + Force sync now Синхронизирай сега - + Restart sync Рестартирай синхронизирането - + Remove folder sync connection Премахни синхронизирането - + Folder creation failed Създаването на папката се провали - + <p>Could not create local folder <i>%1</i>. <p>Локалната папка <i>%1</i>не може да бъде създадена. - + Confirm Folder Sync Connection Removal Потвърждаване за премахване на синхронизация - + Remove Folder Sync Connection Премахни - + Sync Running Синхронизират се файлове - + The syncing operation is running.<br/>Do you want to terminate it? В момента се извършва синхронизиране.<br/>Да бъде ли прекратено? - + %1 in use Ползвате %1 - + %1 as <i>%2</i> %1 като <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Сървърът е версия %1 - стара и неподдържана! Можете . - + Connected to %1. Осъществена връзка с %1. - + Server %1 is temporarily unavailable. Сървърът %1 е временно недостъпен. - + Server %1 is currently in maintenance mode. Сървърът %1 е в режим на поддръжка. - + Signed out from %1. Отписан от %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Извършва се оторизация от браузъра. <a href='%1'>Кликнете тук</a> за да отворите отново браузъра. - + Connecting to %1... Свързване към %1... - + No connection to %1 at %2. Не може да се осъществи връзка като %1 с %2. - + Log in Вписване - + There are folders that were not synchronized because they are too big: Някои папки не са синхронизирани защото са твърде големи: - + There are folders that were not synchronized because they are external storages: Има папки, които не са синхронизирани защото са външни хранилища: - + There are folders that were not synchronized because they are too big or external storages: Има папки, които не са синхронизирани защото са твърде големи или са външни хранилища: - + Confirm Account Removal Потвърждение за премахване на профил - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Наистина ли желаете да премахнете връзката към профила <i>%1</i>?</p><p><b>Бележка:</b> Дейтствието <b>няма</b> да предизвика изтриване на файлове.</p> - + Remove connection Премахни връзката - - + + Open folder Отвори папката - - + + Log out Отписване - + Resume sync Продължи синхронизирането - + Pause sync Пауза - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Наистина ли желаете да премахнете синхронизирането на папката<i>%1</i>?</p><p><b>Бележка:</b> Действието <b>няма</b> да предизвика изтриване на файлове.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. Ползвате %1 (%3%) от %2. Някои папки, включително монтирани по мрежата или споделени може да имат различни лимити. - + %1 of %2 in use Ползвате %1 от %2 - + Currently there is no storage usage information available. В момента няма достъпна информация за използването на хранилището. - + No %1 connection configured. Няма %1 конфигурирана връзка. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1543,62 +1549,68 @@ Continuing the sync as normal will cause all your files to be overwritten by an Файлове игнорирани чрез модел - - Add - Добави + + This entry is provided by the system at '%1' and cannot be modified in this view. + + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - + + Pattern + + + + + Allow Deletion + + + + + Add + + + + + Remove + + + + Remove all - - Pattern - Модел - - - - Allow Deletion - Разреши изтриване - - - - Remove - Премахни - - - + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Файлове и папки, чиито имена съвпадат с модел няма да бъдат синхронизирани. - -Елементите, които препятстват премахване на директория и за които е разрешено изриването, ще бъдат изтрити. Опцията е полезна за метаданни. + - + Could not open file - + Cannot write changes to '%1'. - + Add Ignore Pattern - Добавяне на модел за игнориране + - + Add a new ignore pattern: - Нов модел за игнориране: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. @@ -2048,11 +2060,6 @@ for additional privileges during the process. Login in your browser - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3806,6 +3813,11 @@ It is not advisable to use it. Re-open Browser + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_ca.ts b/translations/client_ca.ts index 38c0d3d66..6f1d6c191 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -129,8 +129,13 @@ - Re-open Browser (or right-click to copy link) - Torneu a obrir el navegador (o feu clic amb el botó dret per copiar l'enllaç) + Re-open Browser + + + + + Copy link + @@ -152,8 +157,13 @@ - Re-open Browser (or right-click to copy link) - Torneu a obrir el navegador (o feu clic amb el botó dret per copiar l'enllaç) + Re-open Browser + + + + + Copy link + @@ -267,8 +277,8 @@ - - + + Cancel Cancel·la @@ -278,224 +288,230 @@ Connectat amb <server> com a <user> - + No account configured. No hi ha cap compte configurat - + Add new Afegeix-ne un de nou - + Remove Suprimeix - + Account Compte - + This account supports end-to-end encryption Aquest compte suporta xifratge d'extrem a extrem - + Enable encryption Activa el xifratge - + Show E2E mnemonic Mostra la mnemotècnica Punt-a-Punt - + Encrypt Xifra - + + + Edit Ignored Files + + + + Choose what to sync Trieu què voleu sincronitzar - + Force sync now Força la sincronització ara - + Restart sync Reinicia la sincronització - + Remove folder sync connection Suprimeix la connexió de la carpeta sincronitzada - + Folder creation failed Ha fallat la creació de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No s'ha pogut crear la carpeta local <i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmeu la supressió de la connexió de la carpeta sincronitzada - + Remove Folder Sync Connection Suprimeix la connexió de la carpeta sincronitzada - + Sync Running S'està sincronitzant - + The syncing operation is running.<br/>Do you want to terminate it? S'està sincronitzant.<br/>Voleu aturar-ho? - + %1 in use %1 en ús - + %1 as <i>%2</i> %1 com a <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. La versió del servidor %1 és antiga i fora de suport! Continueu sota la vostra responsabilitat. - + Connected to %1. Connectat a %1 - + Server %1 is temporarily unavailable. El servidor %1 no està temporalment disponible - + Server %1 is currently in maintenance mode. El servidor %1 es troba en mode de manteniment. - + Signed out from %1. S'ha desconnectat de %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. S'està obtenint autorització des del navegador. <a href='%1'>feu clic aquí</a> per tornar a obrir el navegador. - + Connecting to %1... S'està connectant amb %1... - + No connection to %1 at %2. No hi ha connexió amb %1 a %2. - + Log in Inici de sessió - + There are folders that were not synchronized because they are too big: Hi ha carpetes que no s'han sincronitzat perquè són massa grans: - + There are folders that were not synchronized because they are external storages: Hi ha carpetes que no s'han sincronitzat perquè són fonts d'emmagatzematge externes: - + There are folders that were not synchronized because they are too big or external storages: Hi ha carpetes que no s'han sincronitzat perquè són massa grans o són fonts d'emmagatzematge externes: - + Confirm Account Removal Confirmeu la supressió del compte - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Segur que voleu suprimir la connexió al compte <i>%1</i>?</p><p><b>Nota:</b> això <b>no</b> suprimirà cap fitxer.</p> - + Remove connection Suprimeix la connexió - - + + Open folder Obre la carpeta - - + + Log out Surt - + Resume sync Continua la sincronització - + Pause sync Pausa la sincronització - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Segur que voleu aturar la sincronització de la carpeta <i>%1</i>?</p><p><b>Nota:</b> això <b>no</b> suprimirà cap fitxer.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en ús. Algunes carpetes, incloent les carpetes muntades a través de xarxa o les compartides, poden tenir límits diferents. - + %1 of %2 in use %1 de %2 en ús - + Currently there is no storage usage information available. Actualment no hi ha informació disponible de l'ús d'emmagatzematge. - + No %1 connection configured. La connexió %1 no està configurada. @@ -788,12 +804,7 @@ Inicieu la sessió al vostre navegador (Flux d'entrada v2) - - Copy link to clipboard - Copia l'enllaç al porta-retalls - - - + Unable to open the Browser, please copy the link to your Browser. No es pot obrir el navegador; si us plau, copieu l'enllaç al navegador. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - Copia l'enllaç al porta-retalls - - - + Unable to open the Browser, please copy the link to your Browser. No es pot obrir el navegador; si us plau, copieu l'enllaç al navegador. @@ -1558,63 +1564,69 @@ Continuar la sincronització com a normal farà que tots els vostres fitxers sig Fitxers ignorats per patrons - - Add - Afegeix + + This entry is provided by the system at '%1' and cannot be modified in this view. + Això es proporciona pel sistema a '%1' i no es pot modificar en aquesta vista. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Suprimeix tot - - - + Pattern - Patró + - + Allow Deletion - Permet l'eliminació + - + + Add + + + + Remove - Suprimeix + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Els fitxers o directoris que concordin amb algun patró no es sincronitzaran. - -Els elements que poden ser suprimits s'eliminaran si impedeixen que una carpeta sigui suprimida. Això és útil per les metadades. + - + Could not open file - No s'ha pogut obrir el fitxer + - + Cannot write changes to '%1'. - No es poden desar els canvis a '%1'. + - + Add Ignore Pattern - Afegeix un patró per ignorar + - + Add a new ignore pattern: - Afegeix un nou patró d'ignorats: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Això es proporciona pel sistema a '%1' i no es pot modificar en aquesta vista. + @@ -2066,11 +2078,6 @@ privilegis addicionals durant el procés. Login in your browser Inicieu la sessió al vostre navegador - - - Copy link to clipboard - Copia l'enllaç al porta-retalls - OCC::OwncloudSetupPage @@ -3825,6 +3832,11 @@ No és aconsellable fer-la servir. Re-open Browser Torna a obrir el Navegador + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_cs.ts b/translations/client_cs.ts index 46e479dbd..553b9e46a 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Zrušit @@ -278,224 +288,230 @@ Připojen k <server> jako <user> - + No account configured. Žádný účet nenastaven. - + Add new Přidat nový - + Remove Odebrat - + Account Účet - + This account supports end-to-end encryption Tento účet podporuje šifrování end-to-end - + Enable encryption Zapnout šifrování - + Show E2E mnemonic Zobrazit E2E mnemotechnickou - + Encrypt Šífrovat - + + + Edit Ignored Files + + + + Choose what to sync Vybrat co sesynchronizovat - + Force sync now Vynutit synchronizaci nyní - + Restart sync Restartovat synchronizaci - + Remove folder sync connection Odstranit připojení synchronizace složky - + Folder creation failed Vytvoření složky se nezdařilo - + <p>Could not create local folder <i>%1</i>. <p>Nedaří se vytvořit místní složku <i>%1</i>. - + Confirm Folder Sync Connection Removal Potvrdit odstranění připojení synchronizace složky - + Remove Folder Sync Connection Odstranit připojení synchronizace adresáře - + Sync Running Synchronizace probíhá - + 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 in use %1 používaný - + %1 as <i>%2</i> %1 jako <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Server verze %1 je zastaralý a nepodporovaný! Pokračujte na vlastní riziko. - + Connected to %1. Připojeno k %1. - + Server %1 is temporarily unavailable. Server %1 je dočasně nedostupný. - + Server %1 is currently in maintenance mode. server %1 je v režimu údržby. - + Signed out from %1. Odhlášeno z %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Získávání autorizace z prohlížeče. <a href='%1'>Klikněte zde</a> pro opětovné otevření prohlížeče. - + Connecting to %1... Připojeno k %1… - + No connection to %1 at %2. Bez připojení k %1 na %2. - + Log in Přihlásit - + There are folders that were not synchronized because they are too big: Tyto složky nebyly synchronizovány, protože jsou příšliš velké: - + There are folders that were not synchronized because they are external storages: Tyto složky nebyly synchronizovány, protože se nachází na externím úložišti: - + There are folders that were not synchronized because they are too big or external storages: Tyto složky nebyly synchronizovány, protože jsou příliš velké, nebo se nachází na externím úložišti: - + Confirm Account Removal Potvrdit odstranění účtu - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Opravdu chcete odstranit připojení k účtu <i>%1</i>?</p><p><b>Poznámka:</b> Toto <b>neodstraní</b> žádné soubory.</p> - + Remove connection Odstranit připojení - - + + Open folder Otevřít složku - - + + Log out Odhlásit se - + Resume sync Pokračovat v synchronizaci - + Pause sync Pozastavit synchronizaci - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Opravdu chcete zastavit synchronizaci adresáře <i>%1</i>?</p><p><b>Poznámka:</b> Toto <b>neodstraní</b> žádné soubory.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. Používaných %1 (%3%) z %2. Některé adresáře včetně připojených síťových nebo sdílených adresářů mohou mít odlišné limity. - + %1 of %2 in use Používaných %1 z %2 - + Currently there is no storage usage information available. Momentálně nejsou k dispozici žádné informace o využití úložiště. - + No %1 connection configured. Nenastaveno žádné spojení s %1. @@ -788,12 +804,7 @@ - - Copy link to clipboard - Zkopírovat odkaz do schránky - - - + Unable to open the Browser, please copy the link to your Browser. Nedaří se otevřít prohlížeč, zkopírujte do něj odkaz sami. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - Zkopírovat odkaz do schránky - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1555,63 +1561,69 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st Ignorovat soubory podle masky - - Add - Přidat + + This entry is provided by the system at '%1' and cannot be modified in this view. + Tato položka je poskytnuta systémem na '%1' a nemůže být v tomto pohledu změněna. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Odebrat vše - - - + Pattern - Maska + - + Allow Deletion - Povolit mazání + - + + Add + + + + Remove - Odebrat + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Soubory či adresáře vyhovující masce nebudou synchronizovány. - -Položky u kterých je povoleno smazání budou vymazány, pokud by bránily odstranění adresáře. Toto je užitečné pro metadata. + - + Could not open file - Nepodařilo se otevřít soubor + - + Cannot write changes to '%1'. - Nelze zapsat změny do '%1'. + - + Add Ignore Pattern - Přidat masku ignorovaných + - + Add a new ignore pattern: - Přidat novou masku ignorovaných souborů: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Tato položka je poskytnuta systémem na '%1' a nemůže být v tomto pohledu změněna. + @@ -2063,11 +2075,6 @@ můžete být požádáni o dodatečná oprávnění. Login in your browser Přihlášení v prohlížeči - - - Copy link to clipboard - Zkopírovat odkaz do schránky - OCC::OwncloudSetupPage @@ -3822,6 +3829,11 @@ Nedoporučuje se jí používat. Re-open Browser Znovu otevřít prohlížeč + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_da.ts b/translations/client_da.ts index 36fe5ae2a..809b9813c 100644 --- a/translations/client_da.ts +++ b/translations/client_da.ts @@ -129,8 +129,13 @@ - Re-open Browser (or right-click to copy link) - Åben browser igen (eller højreklik for at kopiere link) + Re-open Browser + + + + + Copy link + @@ -152,8 +157,13 @@ - Re-open Browser (or right-click to copy link) - Åben browser igen (eller højreklik for at kopiere link) + Re-open Browser + + + + + Copy link + @@ -267,8 +277,8 @@ - - + + Cancel Annuller @@ -278,224 +288,230 @@ Forbundet med <server> som <user> - + No account configured. Ingen konto konfigureret. - + Add new Tilføj ny - + Remove Fjern - + Account Konto - + This account supports end-to-end encryption Denne konto supporterer end-to-end kryptering - + Enable encryption Slå kryptering til - + Show E2E mnemonic vis E2E huskeregel - + Encrypt Krypter - + + + Edit Ignored Files + + + + Choose what to sync Vælg hvad der skal synkroniseres - + Force sync now Gennemtving synkronisering nu - + Restart sync Genstart synkronisering - + Remove folder sync connection Fjern mappesynkroniseringsforbindelse - + Folder creation failed Fejl ved oprettelse af mappe - + <p>Could not create local folder <i>%1</i>. <p>Kunne ikke oprette lokal mappe <i>%1</i>. - + Confirm Folder Sync Connection Removal - + Remove Folder Sync Connection - + Sync Running Synkronisering i gang - + The syncing operation is running.<br/>Do you want to terminate it? Synkronisering pågår.<br/>Ønsker du at afslutte den? - + %1 in use %1 i brug - + %1 as <i>%2</i> %1 som <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Server version %1 er gammel og usupporteret! Fortsæt på egen risiko. - + Connected to %1. Forbundet til %1. - + Server %1 is temporarily unavailable. Serveren %1 er midlertidig utilgængelig. - + Server %1 is currently in maintenance mode. Serveren %1 er i vedligeholdelsestilstand. - + Signed out from %1. Logget ud fra %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... Forbinder til %1… - + No connection to %1 at %2. Ingen forbindelse til %1 hos %2. - + Log in Log ind - + There are folders that were not synchronized because they are too big: Der er mapper som ikke blev synkroniseret fordi de er for store: - + There are folders that were not synchronized because they are external storages: Der er mapper som ikke blev synkroniseret fordi de er eksterne lagre: - + There are folders that were not synchronized because they are too big or external storages: Der er mapper som ikke blev synkroniseret fordi de er for store eller eksterne lagre: - + Confirm Account Removal Bekræft sletning af konto - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ønsker du virkelig at fjerne forbindelse til kontoen <i>%1</i>?</p><p><b>Note:</b>Dette sletter <b>ikke</b>nogen filer.</p> - + Remove connection Fjern forbindelse - - + + Open folder Åbn mappe - - + + Log out Log ud - + Resume sync Genoptag synkronisering - + Pause sync Paus synkronisering - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ønsker du virkelig at stoppe synkronisering af mappen <i>%1</i>?</p><p><b>Note:</b>Dette sletter <b>ikke</b>nogen filer.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) af %2 i brug. Nogle mapper, inklusiv netværksdiske eller delte mapper, har muligvis andre begrænsninger. - + %1 of %2 in use %1 af %2 er i brug - + Currently there is no storage usage information available. Der er i øjeblikket ingen informationer om brug af lager tilgængelig. - + No %1 connection configured. Ingen %1 forbindelse konfigureret. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1541,62 +1547,70 @@ Continuing the sync as normal will cause all your files to be overwritten by an - - Add - Tilføj + + This entry is provided by the system at '%1' and cannot be modified in this view. + + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Fjern alle - - - + Pattern - Mønster + - + Allow Deletion - Tillad sletning + - + + Add + + + + Remove - Fjern + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - + Could not open file - + Cannot write changes to '%1'. - + Add Ignore Pattern - + Add a new ignore pattern: - - - This entry is provided by the system at '%1' and cannot be modified in this view. - - OCC::LegalNotice @@ -2044,11 +2058,6 @@ for additional privileges during the process. Login in your browser - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3800,6 +3809,11 @@ It is not advisable to use it. Re-open Browser Åbn browser igen + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_de.ts b/translations/client_de.ts index e88946ba4..3df2943ce 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -129,8 +129,13 @@ - Re-open Browser (or right-click to copy link) - Öffnen Sie den Browser erneut (oder klicken Sie mit der rechten Maustaste, um den Link zu kopieren) + Re-open Browser + + + + + Copy link + @@ -152,8 +157,13 @@ - Re-open Browser (or right-click to copy link) - Öffnen Sie den Browser erneut (oder klicken Sie mit der rechten Maustaste, um den Link zu kopieren) + Re-open Browser + + + + + Copy link + @@ -267,8 +277,8 @@ - - + + Cancel Abbrechen @@ -278,224 +288,230 @@ Verbunden mit <server> als <user> - + No account configured. Kein Konto konfiguriert. - + Add new Neues Konto hinzufügen - + Remove Entfernen - + Account Benutzerkonto - + This account supports end-to-end encryption Dieses Konto unterstützt Ende-zu-Ende-Verschlüsselung - + Enable encryption Verschlüsselung aktivieren - + Show E2E mnemonic Gedächtnisstütze für E2E anzeigen - + Encrypt Verschlüsseln - + + + Edit Ignored Files + + + + Choose what to sync Zu synchronisierende Elemente auswählen - + Force sync now Synchronisierung jetzt erzwingen - + Restart sync Synchronisierung neustarten - + Remove folder sync connection Ordner-Synchronisierung entfernen - + Folder creation failed Anlegen des Ordners fehlgeschlagen - + <p>Could not create local folder <i>%1</i>. <p>Konnte lokalen Ordner <i>%1</i> nicht anlegen. - + Confirm Folder Sync Connection Removal Bestätigen Sie die Löschung der Ordner-Synchronisierung - + Remove Folder Sync Connection Ordner-Synchronisierung entfernen - + Sync Running Synchronisierung läuft - + The syncing operation is running.<br/>Do you want to terminate it? Die Synchronisierung läuft gerade.<br/>Wollen Sie sie beenden? - + %1 in use %1 wird verwendet - + %1 as <i>%2</i> %1 als <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Die Serverversion %1 ist veraltet und wird nicht mehr unterstützt! Fortfahren auf eigenes Risiko. - + Connected to %1. Verbunden mit %1. - + Server %1 is temporarily unavailable. Server %1 ist derzeit nicht verfügbar. - + Server %1 is currently in maintenance mode. Server %1 befindet sich im Wartungsmodus. - + Signed out from %1. Abgemeldet von %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Berechtigung vom Browser einholen. <a href='%1'> KlickenSie hier </a>, um den Browser erneut zu öffnen. - + Connecting to %1... Verbinde mit %1 ... - + No connection to %1 at %2. Keine Verbindung zu %1 auf %2 - + Log in Einloggen - + There are folders that were not synchronized because they are too big: Einige Verzeichnisse konnten nicht synchronisiert werden, da sie zu groß sind: - + There are folders that were not synchronized because they are external storages: Es gibt Verzeichnisse, die nicht synchronisiert werden konnten, da sie externe Speicher sind: - + There are folders that were not synchronized because they are too big or external storages: Es gibt Verzeichnisse, die nicht synchronisiert werden konnten, da sie zu groß oder externe Speicher sind: - + Confirm Account Removal Konto wirklich entfernen? - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Wollen Sie wirklich die Verbindung zum Konto <i>%1</i> lösen?</p><p><b>Anmerkung:</b> Dieser Vorgang wird <b>keine</b> Dateien löschen.</p> - + Remove connection Verbindung entfernen - - + + Open folder Ordner öffnen - - + + Log out Abmelden - + Resume sync Synchronisierung fortsetzen - + Pause sync Synchronisierung pausieren - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Möchten Sie den Ordner <i>%1</i> wirklich nicht mehr synchronisieren?</p><p><b>Anmerkung:</b> Dies wird <b>keine</b> Dateien löschen.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) von %2 Serverkapazität verwendet. Einige Ordner, einschließlich über das Netzwerk verbundene oder geteilte Ordner, können unterschiedliche Beschränkungen aufweisen. - + %1 of %2 in use %1 von %2 Serverkapazität verwendet - + Currently there is no storage usage information available. Derzeit sind keine Speichernutzungsinformationen verfügbar. - + No %1 connection configured. Keine %1-Verbindung konfiguriert. @@ -788,12 +804,7 @@ Melden Sie sich in Ihren Browser an (Login Flow v2) - - Copy link to clipboard - Link in die Zwischenablage kopieren - - - + Unable to open the Browser, please copy the link to your Browser. Der Browser kann nicht geöffnet werden. Bitte kopieren Sie den Link in Ihren Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - Link in die Zwischenablage kopieren - - - + Unable to open the Browser, please copy the link to your Browser. Der Browser kann nicht geöffnet werden. Bitte kopieren Sie den Link in Ihren Browser. @@ -1556,63 +1562,69 @@ Wenn diese Synchronisierung fortgesetzt wird, werden Dateien eventuell von älte Nach Muster ignorierte Dateien - - Add - Hinzufügen + + This entry is provided by the system at '%1' and cannot be modified in this view. + Dieser Eintrag wird vom System auf '%1' bereitgestellt und kann in dieser Ansicht nicht geändert werden. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Alle löschen - - - + Pattern - Muster + - + Allow Deletion - Löschen erlauben + - + + Add + + + + Remove - Entfernen + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Dateien oder Ordner, die diesem Muster entsprechen, werden nicht synchronisiert. - -Objekte, bei denen Löschen erlaubt ist, werden gelöscht, wenn diese das Löschen eines Ordners verhindern würden. Dies ist für Metadaten nützlich. + - + Could not open file - Datei konnte nicht geöffnet werden + - + Cannot write changes to '%1'. - Konnte Änderungen nicht in '%1' schreiben. + - + Add Ignore Pattern - Ignoriermuster hinzufügen + - + Add a new ignore pattern: - Neues Ignoriermuster hinzufügen: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Dieser Eintrag wird vom System auf '%1' bereitgestellt und kann in dieser Ansicht nicht geändert werden. + @@ -2063,11 +2075,6 @@ for additional privileges during the process. Login in your browser Melden Sie sich in Ihrem Browser an - - - Copy link to clipboard - Link in Zwischenablage kopieren - OCC::OwncloudSetupPage @@ -3154,12 +3161,12 @@ Es ist nicht ratsam, sie zu benutzen. Fingerprint (SHA-256): <tt>%1</tt> - + Fingerabdruck (SHA-256): <tt>%1</tt> Fingerprint (SHA-512): <tt>%1</tt> - + Fingerabdruck (SHA-512): <tt>%1</tt> @@ -3822,6 +3829,11 @@ Es ist nicht ratsam, sie zu benutzen. Re-open Browser Browser erneut öffnen + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_el.ts b/translations/client_el.ts index 2f76a2bab..713d3302c 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Άκυρο @@ -278,224 +288,230 @@ Συνδεδεμένοι με το <server> ως <user> - + No account configured. Δεν ρυθμίστηκε λογαριασμός. - + Add new Προσθήκη νέου - + Remove Αφαίρεση - + Account Λογαριασμός - + This account supports end-to-end encryption - + Enable encryption Ενεργοποίηση κρυπτογράφησης - + Show E2E mnemonic - + Encrypt Κρυπτογράφηση - + + + Edit Ignored Files + + + + Choose what to sync Επιλέξτε τι θα συγχρονιστεί - + Force sync now Εξαναγκασμός συγχρονισμού τώρα - + Restart sync Επανεκκίνηση συγχρονισμού - + Remove folder sync connection Αφαίρεση σύνδεσης συγχρονισμού φακέλου - + Folder creation failed Αποτυχία αφαίρεσης φακέλου - + <p>Could not create local folder <i>%1</i>. <p>Αδυναμία δημιουργίας τοπικού φακέλου <i>%1</i>. - + Confirm Folder Sync Connection Removal Επιβεβαίωση αφαίρεσης σύνδεσης συγχρονισμού φακέλου - + Remove Folder Sync Connection Αφαίρεση σύνδεσης συγχρονισμού φακέλου - + Sync Running Εκτελείται Συγχρονισμός - + The syncing operation is running.<br/>Do you want to terminate it? Η λειτουργία συγχρονισμού εκτελείται.<br/> Θέλετε να την τερματίσετε; - + %1 in use %1 σε χρήση - + %1 as <i>%2</i> %1 ως <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Η έκδοση του διακομιστή %1 είναι παλιά και δεν υποστηρίζεται! Προχωρείστε με δική σας ευθύνη. - + Connected to %1. Συνδεδεμένο με %1. - + Server %1 is temporarily unavailable. Ο διακομιστής %1 δεν είναι διαθέσιμος προσωρινά. - + Server %1 is currently in maintenance mode. Ο διακομιστής %1 βρίσκεται τώρα σε κατάσταση συντήρησης. - + Signed out from %1. Αποσυνδέθηκε από %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Γίνεται λήψη της εξουσιοδότησης από το πρόγραμμα περιήγησης. Κάντε κλικ <a href='%1'>εδώ</a> για να ανοίξετε πάλι το πρόγραμμα περιήγησης. - + Connecting to %1... Σύνδεση σε %1... - + No connection to %1 at %2. Δεν υπάρχει σύνδεση με το %1 στο %2. - + Log in Είσοδος - + There are folders that were not synchronized because they are too big: Υπάρχουν φάκελοι που δεν συγχρονίστηκαν επειδή είναι πολύ μεγάλοι: - + There are folders that were not synchronized because they are external storages: Υπάρχουν φάκελοι που δεν συγχρονίστηκαν επειδή είναι εξωτερικοί αποθηκευτικοί χώροι: - + There are folders that were not synchronized because they are too big or external storages: Υπάρχουν φάκελοι που δεν συγχρονίστηκαν επειδή είναι πολύ μεγάλοι ή αποθηκευτικοί χώροι: - + Confirm Account Removal Επιβεβαίωση Αφαίρεσης Λογαριασμού - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Θέλετε πραγματικά να αφαιρέσετε τη σύνδεση με το λογαριασμό <i>%1</i>;</p><p><b>Σημείωση:</b> Αυτό <b>δεν</b> θα διαγράψει κανένα αρχείο.</p> - + Remove connection Αφαίρεση σύνδεσης - - + + Open folder Άνοιγμα φακέλου - - + + Log out Αποσύνδεση - + Resume sync Συνέχιση συγχρονισμού - + Pause sync Παύση συγχρονισμού - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Θέλετε πραγματικά να σταματήσετε το συγχρονισμό του φακέλου <i>%1</i>;</p><p><b>Σημείωση:</b> Αυτό <b>δεν</b> θα διαγράψει κανένα αρχείο.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) από %2 σε χρήση. Μερικοί φάκελοι, συμπεριλαμβανομένων των δικτυακών ή των κοινόχρηστων μπορεί να έχουν διαφορετικά όρια. - + %1 of %2 in use %1 από %2 σε χρήση - + Currently there is no storage usage information available. Προς το παρόν δεν υπάρχουν πληροφορίες χρήσης χώρου αποθήκευσης διαθέσιμες. - + No %1 connection configured. Δεν έχει ρυθμιστεί σύνδεση με το %1. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1547,63 +1553,69 @@ Continuing the sync as normal will cause all your files to be overwritten by an Αρχεία που αγνοούνται από τα πρότυπα - - Add - Προσθήκη + + This entry is provided by the system at '%1' and cannot be modified in this view. + Αυτή η είσοδος παρέχεται από το σύστημα στο '%1' και δεν μπορεί να τροποποιηθεί σε αυτή την προβολή. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Αφαίρεση όλων - - - + Pattern - Πρότυπα + - + Allow Deletion - Να πειτρέπεται η διαγραφή + - + + Add + + + + Remove - Αφαίρεση + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Αρχεία ή φάκελοι αρχείων που ταιριάζουν με αυτό το πρότυπο δεν θα συγχρονιστούν. - -Τα στοιχεία όπου επιτρέπεται η διαγραφή θα διαγράφονται εάν εμποδίζουν την αφαίρεση ενός φακέλου αρχείων. Αυτό είναι χρήσιμο για μετα-δεδομένα. + - + Could not open file - Αδυναμία ανοίγματος αρχείου + - + Cannot write changes to '%1'. - Αδυναμία εγγραφής αλλαγών στο '%1'. + - + Add Ignore Pattern - Προσθήκη Προτύπου Αγνόησης + - + Add a new ignore pattern: - Προσθήκη νέου προτύπου αγνόησης: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Αυτή η είσοδος παρέχεται από το σύστημα στο '%1' και δεν μπορεί να τροποποιηθεί σε αυτή την προβολή. + @@ -2053,11 +2065,6 @@ for additional privileges during the process. Login in your browser Σύνδεση στον προεπιλεγμένο περιηγητή ιστοσελίδων - - - Copy link to clipboard - Αντιγραφή συνδέσμου στο πρόχειρο - OCC::OwncloudSetupPage @@ -3812,6 +3819,11 @@ It is not advisable to use it. Re-open Browser + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_en.ts b/translations/client_en.ts index 9a7462169..dcd3a5dcb 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -131,7 +131,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -154,7 +159,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -269,8 +279,8 @@ - - + + Cancel @@ -280,224 +290,230 @@ - + No account configured. - + Add new - + Remove - + Account - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt - + + + Edit Ignored Files + + + + Choose what to sync - + Force sync now - + Restart sync - + Remove folder sync connection - + Folder creation failed - + <p>Could not create local folder <i>%1</i>. - + Confirm Folder Sync Connection Removal - + Remove Folder Sync Connection - + Sync Running - + The syncing operation is running.<br/>Do you want to terminate it? - + %1 in use - + %1 as <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. - + Connected to %1. - + Server %1 is temporarily unavailable. - + Server %1 is currently in maintenance mode. - + Signed out from %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... - + No connection to %1 at %2. - + Log in - + There are folders that were not synchronized because they are too big: - + There are folders that were not synchronized because they are external storages: - + There are folders that were not synchronized because they are too big or external storages: - + Confirm Account Removal - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection - - + + Open folder - - + + Log out - + Resume sync - + Pause sync - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. - + %1 of %2 in use - + Currently there is no storage usage information available. - + No %1 connection configured. @@ -790,12 +806,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -803,12 +814,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1567,62 +1573,70 @@ Continuing the sync as normal will cause all your files to be overwritten by an - - Add + + This entry is provided by the system at '%1' and cannot be modified in this view. + + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget - - Remove all - - - - + Pattern - + Allow Deletion - + + Add + + + + Remove - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - + Could not open file - + Cannot write changes to '%1'. - + Add Ignore Pattern - + Add a new ignore pattern: - - - This entry is provided by the system at '%1' and cannot be modified in this view. - - OCC::LegalNotice @@ -2070,11 +2084,6 @@ for additional privileges during the process. Login in your browser - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3826,6 +3835,11 @@ It is not advisable to use it. Re-open Browser + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_en_GB.ts b/translations/client_en_GB.ts index 8b0804d2b..0e7375529 100644 --- a/translations/client_en_GB.ts +++ b/translations/client_en_GB.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Cancel @@ -278,224 +288,230 @@ Connected with <server> as <user> - + No account configured. No account configured. - + Add new Add new - + Remove Remove - + Account Account - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic Show E2E mnemonic - + Encrypt Encrypt - + + + Edit Ignored Files + + + + Choose what to sync Choose what to sync - + Force sync now Force sync now - + Restart sync Restart sync - + Remove folder sync connection Remove folder sync connection - + Folder creation failed Folder creation failed - + <p>Could not create local folder <i>%1</i>. <p>Could not create local folder <i>%1</i>. - + Confirm Folder Sync Connection Removal Confirm Folder Sync Connection Removal - + Remove Folder Sync Connection Remove Folder Sync Connection - + Sync Running Sync Running - + The syncing operation is running.<br/>Do you want to terminate it? The syncing operation is running.<br/>Do you want to terminate it? - + %1 in use %1 in use - + %1 as <i>%2</i> %1 as <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. The server version %1 is old and unsupported! Proceed at your own risk. - + Connected to %1. Connected to %1. - + Server %1 is temporarily unavailable. Server %1 is temporarily unavailable. - + Server %1 is currently in maintenance mode. Server %1 is currently in maintenance mode. - + Signed out from %1. Signed out from %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obtaining authorisation from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... Connecting to %1... - + No connection to %1 at %2. No connection to %1 at %2. - + Log in Log in - + There are folders that were not synchronized because they are too big: There are folders that were not synchronised because they are too big: - + There are folders that were not synchronized because they are external storages: There are folders that were not synchronised because they are external storages: - + There are folders that were not synchronized because they are too big or external storages: There are folders that were not synchronised because they are too big or external storages: - + Confirm Account Removal Confirm Account Removal - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection Remove connection - - + + Open folder Open folder - - + + Log out Log out - + Resume sync Resume sync - + Pause sync Pause sync - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. - + %1 of %2 in use %1 of %2 in use - + Currently there is no storage usage information available. Currently there is no storage usage information available. - + No %1 connection configured. No %1 connection configured. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1556,63 +1562,69 @@ Continuing the sync as normal will cause all your files to be overwritten by an Files Ignored by Patterns - - Add - Add + + This entry is provided by the system at '%1' and cannot be modified in this view. + This entry is provided by the system at '%1' and cannot be modified in this view. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Remove all - - - + Pattern - Pattern + - + Allow Deletion - Allow Deletion + - + + Add + + + + Remove - Remove + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Files or folders matching a pattern will not be synchronised. - -Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. + - + Could not open file - Could not open file + - + Cannot write changes to '%1'. - Cannot write changes to '%1'. + - + Add Ignore Pattern - Add Ignore Pattern + - + Add a new ignore pattern: - Add a new ignore pattern: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - This entry is provided by the system at '%1' and cannot be modified in this view. + @@ -2064,11 +2076,6 @@ for additional privileges during the process. Login in your browser Login in your browser - - - Copy link to clipboard - Copy link to clipboard - OCC::OwncloudSetupPage @@ -3823,6 +3830,11 @@ It is not advisable to use it. Re-open Browser Re-open Browser + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_eo.ts b/translations/client_eo.ts index 2d54cbf23..ca66bb015 100644 --- a/translations/client_eo.ts +++ b/translations/client_eo.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Nuligi @@ -278,224 +288,230 @@ Konektita kun servilo <server> kiel uzanto <user> - + No account configured. Neniu konto agordita. - + Add new Aldoni novan - + Remove Forigi - + Account Konto - + This account supports end-to-end encryption Tiu konto subtenas tutvojan ĉifradon - + Enable encryption Ebligi ĉifradon - + Show E2E mnemonic Montri E2E memorigilon - + Encrypt Ĉifri - + + + Edit Ignored Files + + + + Choose what to sync Elekti tion, kion sinkronigi - + Force sync now Sinkronigi nun - + Restart sync Rekomenci sinkronigon - + Remove folder sync connection Ne plu sinkronigi tiun dosierujon - + Folder creation failed Kreo de dosierujo malsukcesis - + <p>Could not create local folder <i>%1</i>. <p>Ne eblis krei lokan dosierujon <i>%1</i>. - + Confirm Folder Sync Connection Removal Konfirmu la forigadon de la sinkronigo de tiu dosierujo - + Remove Folder Sync Connection Ne plu sinkronigi tiun dosierujon - + Sync Running Sinkronigo ruliĝanta - + The syncing operation is running.<br/>Do you want to terminate it? Sinkronigo estas ruliĝanta.<br/>Ĉu vi volas fini ĝin? - + %1 in use %1 uzata(j) - + %1 as <i>%2</i> %1 per la konto <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. La servilo je versio %1 estas malnova kaj nesubtenata. Daŭrigu je via risko. - + Connected to %1. Konektita al %1. - + Server %1 is temporarily unavailable. Servilo %1 dumtempe ne disponeblas - + Server %1 is currently in maintenance mode. La servilo %1 estas en reĝimo de prizorgado - + Signed out from %1. Elsalutita de %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Atendante rajtigon el la retumilo. <a href='%1'>Alklaku ĉi tie</a> por remalfermi la retumilon. - + Connecting to %1... Konektante al %1... - + No connection to %1 at %2. Neniu konekto al servilo %1 je la adreso %2. - + Log in Ensaluti - + There are folders that were not synchronized because they are too big: Kelkaj dosierujoj ne sinkroniĝis, ĉar ili estas tro grandaj: - + There are folders that were not synchronized because they are external storages: Kelkaj dosierujoj ne sinkroniĝis, ĉar ili estas konservataj en ekstera konservejo: - + There are folders that were not synchronized because they are too big or external storages: Kelkaj dosierujoj ne sinkroniĝis, ĉar ili estas tro grandaj âù konservataj en ekstera konservejo: - + Confirm Account Removal Konfirmi forigadon de la konto - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ĉu vi vere volas forigi konekton al la konto <i>%1</i>?</p><p><b>Notu:</b> Tio <b>ne</b> forigos la dosierojn.</p> - + Remove connection Forigi konekton - - + + Open folder Malfermi dosierujon - - + + Log out Elsaluti - + Resume sync Daŭrigi sinkronigon - + Pause sync Paŭzigi sinkronigon - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ĉu vi vere volas ĉesi sinkronigi la dosierujon <i>%1</i>?</p><p><b>Notu:</b> Tio <b>ne</b> forigos la dosierojn.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) el %2 uzataj. Certaj dosierujoj, inkluzive de rete muntitaj aŭ kunhavigitaj dosierujoj, eble havas aliajn limigojn. - + %1 of %2 in use %1 el %2 uzitaj - + Currently there is no storage usage information available. Ĉi-momente estas neniu informo pri konservejospaco. - + No %1 connection configured. Neniu konekto al %1 agordita. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1556,63 +1562,69 @@ Se vi plu sinkronigas, la sinkronigo anstataŭigos ĉiujn viajn dosierojn per an Dosieroj ignoritaj per nomomodeloj - - Add - Aldoni + + This entry is provided by the system at '%1' and cannot be modified in this view. + Tiu elemento estas provizita de la sistemo en „%1“, kaj ĝi ne povas esti modifita tie ĉi. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Ĉion forigi - - - + Pattern - Modelo + - + Allow Deletion - Permesi forigon + - + + Add + + + + Remove - Forigi + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Dosieroj aŭ dosierujoj, kiuj kongruas kun la modelo ne sinkroniĝos. - -Elementoj, kun opcio „Permesi forigon“ ebligita, estos forigitaj, se ili malhelpas forigon de dosierujo; tio utilas por pridatumoj. + - + Could not open file - Ne eblis malfermi dosieron + - + Cannot write changes to '%1'. - Ne eblas skribi ŝanĝojn al „%1“. + - + Add Ignore Pattern - Aldoni ignoran modelon + - + Add a new ignore pattern: - Aldoni novan ignoran modelon: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Tiu elemento estas provizita de la sistemo en „%1“, kaj ĝi ne povas esti modifita tie ĉi. + @@ -2063,11 +2075,6 @@ for additional privileges during the process. Login in your browser Ensaluti pere de via retumilo - - - Copy link to clipboard - Kopii ligilon al tondujo - OCC::OwncloudSetupPage @@ -3821,6 +3828,11 @@ Uzi ĝin ne konsilindas. Re-open Browser Remalfermi retumilon + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_es.ts b/translations/client_es.ts index b6e2b2e28..9d81d4311 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -129,8 +129,13 @@ - Re-open Browser (or right-click to copy link) - Re abra el navegador (o use el botón derecho para copiar el enlace) + Re-open Browser + + + + + Copy link + @@ -152,8 +157,13 @@ - Re-open Browser (or right-click to copy link) - Re abra el navegador (o use el botón derecho para copiar el enlace) + Re-open Browser + + + + + Copy link + @@ -267,8 +277,8 @@ - - + + Cancel Cancelar @@ -278,224 +288,230 @@ Conectado a <server> como <user> - + No account configured. No se ha configurado ninguna cuenta. - + Add new Añadir nuevo - + Remove Eliminar - + Account Cuenta - + This account supports end-to-end encryption Esta cuenta soporta cifrado punto a punto - + Enable encryption Habilitar cifrado - + Show E2E mnemonic Mostrar mnemotécnica E2E - + Encrypt Cifrar - + + + Edit Ignored Files + + + + Choose what to sync Elija qué sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sync - + Remove folder sync connection Eliminar la sincronización de carpetas conectadas - + Folder creation failed Ha fallado la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No se ha podido crear la carpeta local <i>%1</i>. - + Confirm Folder Sync Connection Removal Confirme la sincronización para la eliminación de la carpeta conectada - + Remove Folder Sync Connection Eliminar carpeta de sincronización conectada - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La sincronización está en curso.<br/>¿Desea interrumpirla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Si continúas, lo haces bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. Servidor %1 no está disponible temporalmente. - + Server %1 is currently in maintenance mode. El servidor %1 está actualmente en modo mantenimiento. - + Signed out from %1. Cerró sesión desde %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización desde el navegador. <a href='%1'>Haga clic aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. Sin conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no se han sincronizado porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no se han sincronizado porque están en el almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no se han sincronizado porque son demasiado grandes o están en el almacenamiento externo: - + Confirm Account Removal Confirmar eliminación de cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿De verdad quiere eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> eliminará los archivos.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Cerrar sesión - + Resume sync Continuar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿De verdad quiere dejar de sincronizar la carpeta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> elminará los archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, como carpetas de red o compartidas, podrían tener límites diferentes. - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible sobre el uso de almacenamiento. - + No %1 connection configured. No hay ninguna conexión de %1 configurada. @@ -788,12 +804,7 @@ Inicia sesión en tu navegador Web (Login Flow v2) - - Copy link to clipboard - Copiar enlace al portapapeles - - - + Unable to open the Browser, please copy the link to your Browser. No se ha podido abrir el navegador, por favor copie el enlace en su navegador. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - Copiar enlace al portapapeles - - - + Unable to open the Browser, please copy the link to your Browser. No se ha podido abrir el navegador, por favor copie el enlace en su navegador. @@ -1556,63 +1562,69 @@ Si continua con la sincronización todos los archivos serán remplazados por su Archivos ignorados por patrones - - Add - Añadir + + This entry is provided by the system at '%1' and cannot be modified in this view. + Esta entrada la proporciona el sistema en '%1' y no se puede modificar en esta vista. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Eliminar todo - - - + Pattern - Patrón + - + Allow Deletion - Permitir eliminación + - + + Add + + + + Remove - Eliminar + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Los archivos o directorios que coincidan con un patrón no serán sincronizados. - -Los elementos cuya eliminación está permitida serán eliminados si impiden que un directorio sea eliminado. Esto es útil para sus metadatos. + - + Could not open file - No se ha podido abrir el archivo + - + Cannot write changes to '%1'. - No se pueden guardar cambios en '%1'. + - + Add Ignore Pattern - Añadir patrón para ignorar + - + Add a new ignore pattern: - Añadir nuevo patrón para ignorar: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Esta entrada la proporciona el sistema en '%1' y no se puede modificar en esta vista. + @@ -2063,11 +2075,6 @@ for additional privileges during the process. Login in your browser Inicia sesión en tu navegador Web - - - Copy link to clipboard - Copiar enlace al portapapeles - OCC::OwncloudSetupPage @@ -3822,6 +3829,11 @@ No se recomienda usarla. Re-open Browser Reabra el navegador + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index 746ebe28c..96f3112ce 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Cancelar @@ -278,224 +288,230 @@ Conectado con <server> como <user> - + No account configured. No hay cuenta configurada. - + Add new Agregar nuevo - + Remove Borrar - + Account Cuenta - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt - + + + Edit Ignored Files + + + + Choose what to sync Elegir que sincronizar - + Force sync now Forzar sincronización ahora - + Restart sync Reinicia sincronización - + Remove folder sync connection Eliminar conexión de sincronización de carpeta - + Folder creation failed Falló la creacion de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No pudó ser creada la carpeta local <i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar eliminación de conexión de sincronización de carpeta - + Remove Folder Sync Connection Eliminar Conexión de Sincronización de Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La sincronización está en curso.<br/>¿Querés interrumpirla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 de <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor% 1 es antigua y no está soportada! Proceda bajo su propio riesgo. - + Connected to %1. Conectado a %1 - + Server %1 is temporarily unavailable. El servidor %1 esta temporalmente sin conexión - + Server %1 is currently in maintenance mode. Servidor %1 actualmente en modo mantenimiento. - + Signed out from %1. Registrado desde %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Click aquí</a> para volver a abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. Sin conexión a %1 desde %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: - + There are folders that were not synchronized because they are external storages: - + There are folders that were not synchronized because they are too big or external storages: - + Confirm Account Removal Confirmar la eliminación de la cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Cerrar la sesión - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Realmente quieres detener la sincronización de la carpeta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> eliminara ningun archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible acerca del uso del almacenamiento. - + No %1 connection configured. No hay ninguna conexión de %1 configurada. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1541,61 +1547,69 @@ Continuing the sync as normal will cause all your files to be overwritten by an - - Add - Agregar + + This entry is provided by the system at '%1' and cannot be modified in this view. + Esta entrada es provista por el sistema en '%1' y no puede ser modificada en esta vista. + + + OCC::IgnoreListTableWidget - - Remove all + + IgnoreListTableWidget - + Pattern - + Allow Deletion - - Remove - Borrar + + Add + - + + Remove + + + + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - + Could not open file - No se pudo abrir el archivo + - + Cannot write changes to '%1'. - No se pueden guardar cambios en '%1'. + - + Add Ignore Pattern - Agregar patrón a ignorar + - + Add a new ignore pattern: - Añadir nuevo patrón a ignorar: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Esta entrada es provista por el sistema en '%1' y no puede ser modificada en esta vista. + @@ -2044,11 +2058,6 @@ for additional privileges during the process. Login in your browser - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3800,6 +3809,11 @@ It is not advisable to use it. Re-open Browser + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_es_CL.ts b/translations/client_es_CL.ts index cd907ec8a..94ef06b2c 100644 --- a/translations/client_es_CL.ts +++ b/translations/client_es_CL.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Cancelar @@ -278,224 +288,230 @@ Conectado con <server> como <user> - + No account configured. No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt - + + + Edit Ignored Files + + + + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1548,63 +1554,69 @@ Continuar con la sincronización como normal causará que todos tus archivos sea Archivos Ignorados por Patrones - - Add - Agregar + + This entry is provided by the system at '%1' and cannot be modified in this view. + Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - + + Pattern + + + + + Allow Deletion + + + + + Add + + + + + Remove + + + + Remove all - - Pattern - Patrón - - - - Allow Deletion - Permitir el Borrado - - - - Remove - Eliminar - - - + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Los archivos y carpetas que coincidan con el patrón no podrán ser sincronizadas. - -Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un directorio sea eliminado. Esto es útil para los metadatos. + - + Could not open file - No fue posible abrir el archivo + - + Cannot write changes to '%1'. - No se pueden escribir los cambios a '%1'. + - + Add Ignore Pattern - Agrega Ignorar Patrón + - + Add a new ignore pattern: - Agregar un nuevo patrón para ignorar: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + @@ -2054,11 +2066,6 @@ mas privilegios durante el proceso. Login in your browser Iniciar sesión en tu navegador - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3813,6 +3820,11 @@ No es recomendable usarlo. Re-open Browser Re-abrir el Navegador + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_es_CO.ts b/translations/client_es_CO.ts index b87e5ce74..e19ff129b 100644 --- a/translations/client_es_CO.ts +++ b/translations/client_es_CO.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Cancelar @@ -278,224 +288,230 @@ Conectado con <server> como <user> - + No account configured. No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt - + + + Edit Ignored Files + + + + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1548,63 +1554,69 @@ Continuar con la sincronización como normal causará que todos tus archivos sea Archivos Ignorados por Patrones - - Add - Agregar + + This entry is provided by the system at '%1' and cannot be modified in this view. + Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - + + Pattern + + + + + Allow Deletion + + + + + Add + + + + + Remove + + + + Remove all - - Pattern - Patrón - - - - Allow Deletion - Permitir el Borrado - - - - Remove - Eliminar - - - + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Los archivos y carpetas que coincidan con el patrón no podrán ser sincronizadas. - -Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un directorio sea eliminado. Esto es útil para los metadatos. + - + Could not open file - No fue posible abrir el archivo + - + Cannot write changes to '%1'. - No se pueden escribir los cambios a '%1'. + - + Add Ignore Pattern - Agrega Ignorar Patrón + - + Add a new ignore pattern: - Agregar un nuevo patrón para ignorar: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + @@ -2054,11 +2066,6 @@ mas privilegios durante el proceso. Login in your browser Iniciar sesión en tu navegador - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3813,6 +3820,11 @@ No es recomendable usarlo. Re-open Browser Re-abrir el Navegador + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_es_CR.ts b/translations/client_es_CR.ts index 031ad60b9..883a26dab 100644 --- a/translations/client_es_CR.ts +++ b/translations/client_es_CR.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Cancelar @@ -278,224 +288,230 @@ Conectado con <server> como <user> - + No account configured. No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt - + + + Edit Ignored Files + + + + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1548,63 +1554,69 @@ Continuar con la sincronización como normal causará que todos tus archivos sea Archivos Ignorados por Patrones - - Add - Agregar + + This entry is provided by the system at '%1' and cannot be modified in this view. + Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - + + Pattern + + + + + Allow Deletion + + + + + Add + + + + + Remove + + + + Remove all - - Pattern - Patrón - - - - Allow Deletion - Permitir el Borrado - - - - Remove - Eliminar - - - + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Los archivos y carpetas que coincidan con el patrón no podrán ser sincronizadas. - -Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un directorio sea eliminado. Esto es útil para los metadatos. + - + Could not open file - No fue posible abrir el archivo + - + Cannot write changes to '%1'. - No se pueden escribir los cambios a '%1'. + - + Add Ignore Pattern - Agrega Ignorar Patrón + - + Add a new ignore pattern: - Agregar un nuevo patrón para ignorar: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + @@ -2054,11 +2066,6 @@ mas privilegios durante el proceso. Login in your browser Iniciar sesión en tu navegador - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3813,6 +3820,11 @@ No es recomendable usarlo. Re-open Browser Re-abrir el Navegador + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_es_DO.ts b/translations/client_es_DO.ts index b36c8edc5..20e5bc876 100644 --- a/translations/client_es_DO.ts +++ b/translations/client_es_DO.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Cancelar @@ -278,224 +288,230 @@ Conectado con <server> como <user> - + No account configured. No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt - + + + Edit Ignored Files + + + + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1548,63 +1554,69 @@ Continuar con la sincronización como normal causará que todos tus archivos sea Archivos Ignorados por Patrones - - Add - Agregar + + This entry is provided by the system at '%1' and cannot be modified in this view. + Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - + + Pattern + + + + + Allow Deletion + + + + + Add + + + + + Remove + + + + Remove all - - Pattern - Patrón - - - - Allow Deletion - Permitir el Borrado - - - - Remove - Eliminar - - - + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Los archivos y carpetas que coincidan con el patrón no podrán ser sincronizadas. - -Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un directorio sea eliminado. Esto es útil para los metadatos. + - + Could not open file - No fue posible abrir el archivo + - + Cannot write changes to '%1'. - No se pueden escribir los cambios a '%1'. + - + Add Ignore Pattern - Agrega Ignorar Patrón + - + Add a new ignore pattern: - Agregar un nuevo patrón para ignorar: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + @@ -2054,11 +2066,6 @@ mas privilegios durante el proceso. Login in your browser Iniciar sesión en tu navegador - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3813,6 +3820,11 @@ No es recomendable usarlo. Re-open Browser Re-abrir el Navegador + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_es_EC.ts b/translations/client_es_EC.ts index 9c7defb64..acb416d8d 100644 --- a/translations/client_es_EC.ts +++ b/translations/client_es_EC.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Cancelar @@ -278,224 +288,230 @@ Conectado con <server> como <user> - + No account configured. No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt - + + + Edit Ignored Files + + + + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1548,63 +1554,69 @@ Continuar con la sincronización como normal causará que todos tus archivos sea Archivos Ignorados por Patrones - - Add - Agregar + + This entry is provided by the system at '%1' and cannot be modified in this view. + Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - + + Pattern + + + + + Allow Deletion + + + + + Add + + + + + Remove + + + + Remove all - - Pattern - Patrón - - - - Allow Deletion - Permitir el Borrado - - - - Remove - Eliminar - - - + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Los archivos y carpetas que coincidan con el patrón no podrán ser sincronizadas. - -Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un directorio sea eliminado. Esto es útil para los metadatos. + - + Could not open file - No fue posible abrir el archivo + - + Cannot write changes to '%1'. - No se pueden escribir los cambios a '%1'. + - + Add Ignore Pattern - Agrega Ignorar Patrón + - + Add a new ignore pattern: - Agregar un nuevo patrón para ignorar: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + @@ -2054,11 +2066,6 @@ mas privilegios durante el proceso. Login in your browser Iniciar sesión en tu navegador - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3813,6 +3820,11 @@ No es recomendable usarlo. Re-open Browser Re-abrir el Navegador + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_es_GT.ts b/translations/client_es_GT.ts index 53f93628e..701e37614 100644 --- a/translations/client_es_GT.ts +++ b/translations/client_es_GT.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Cancelar @@ -278,224 +288,230 @@ Conectado con <server> como <user> - + No account configured. No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt - + + + Edit Ignored Files + + + + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1548,63 +1554,69 @@ Continuar con la sincronización como normal causará que todos tus archivos sea Archivos Ignorados por Patrones - - Add - Agregar + + This entry is provided by the system at '%1' and cannot be modified in this view. + Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - + + Pattern + + + + + Allow Deletion + + + + + Add + + + + + Remove + + + + Remove all - - Pattern - Patrón - - - - Allow Deletion - Permitir el Borrado - - - - Remove - Eliminar - - - + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Los archivos y carpetas que coincidan con el patrón no podrán ser sincronizadas. - -Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un directorio sea eliminado. Esto es útil para los metadatos. + - + Could not open file - No fue posible abrir el archivo + - + Cannot write changes to '%1'. - No se pueden escribir los cambios a '%1'. + - + Add Ignore Pattern - Agrega Ignorar Patrón + - + Add a new ignore pattern: - Agregar un nuevo patrón para ignorar: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + @@ -2054,11 +2066,6 @@ mas privilegios durante el proceso. Login in your browser Iniciar sesión en tu navegador - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3813,6 +3820,11 @@ No es recomendable usarlo. Re-open Browser Re-abrir el Navegador + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_es_HN.ts b/translations/client_es_HN.ts index 63bfa3402..d2d6db950 100644 --- a/translations/client_es_HN.ts +++ b/translations/client_es_HN.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Cancelar @@ -278,224 +288,230 @@ Conectado con <server> como <user> - + No account configured. No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt - + + + Edit Ignored Files + + + + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1548,63 +1554,69 @@ Continuar con la sincronización como normal causará que todos tus archivos sea Archivos Ignorados por Patrones - - Add - Agregar + + This entry is provided by the system at '%1' and cannot be modified in this view. + Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - + + Pattern + + + + + Allow Deletion + + + + + Add + + + + + Remove + + + + Remove all - - Pattern - Patrón - - - - Allow Deletion - Permitir el Borrado - - - - Remove - Eliminar - - - + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Los archivos y carpetas que coincidan con el patrón no podrán ser sincronizadas. - -Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un directorio sea eliminado. Esto es útil para los metadatos. + - + Could not open file - No fue posible abrir el archivo + - + Cannot write changes to '%1'. - No se pueden escribir los cambios a '%1'. + - + Add Ignore Pattern - Agrega Ignorar Patrón + - + Add a new ignore pattern: - Agregar un nuevo patrón para ignorar: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + @@ -2054,11 +2066,6 @@ mas privilegios durante el proceso. Login in your browser Iniciar sesión en tu navegador - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3813,6 +3820,11 @@ No es recomendable usarlo. Re-open Browser Re-abrir el Navegador + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_es_MX.ts b/translations/client_es_MX.ts index fbfa7a5fb..8df55af36 100644 --- a/translations/client_es_MX.ts +++ b/translations/client_es_MX.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Cancelar @@ -278,224 +288,230 @@ Conectado con <server> como <user> - + No account configured. No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt - + + + Edit Ignored Files + + + + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1548,63 +1554,69 @@ Continuar con la sincronización como normal causará que todos tus archivos sea Archivos Ignorados por Patrones - - Add - Agregar + + This entry is provided by the system at '%1' and cannot be modified in this view. + Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - + + Pattern + + + + + Allow Deletion + + + + + Add + + + + + Remove + + + + Remove all - - Pattern - Patrón - - - - Allow Deletion - Permitir el Borrado - - - - Remove - Eliminar - - - + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Los archivos y carpetas que coincidan con el patrón no podrán ser sincronizadas. - -Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un directorio sea eliminado. Esto es útil para los metadatos. + - + Could not open file - No fue posible abrir el archivo + - + Cannot write changes to '%1'. - No se pueden escribir los cambios a '%1'. + - + Add Ignore Pattern - Agrega Ignorar Patrón + - + Add a new ignore pattern: - Agregar un nuevo patrón para ignorar: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + @@ -2054,11 +2066,6 @@ mas privilegios durante el proceso. Login in your browser Iniciar sesión en tu navegador - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3813,6 +3820,11 @@ No es recomendable usarlo. Re-open Browser Re-abrir el Navegador + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_es_SV.ts b/translations/client_es_SV.ts index 72e0a5f77..6ff2aaa4f 100644 --- a/translations/client_es_SV.ts +++ b/translations/client_es_SV.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Cancelar @@ -278,224 +288,230 @@ Conectado con <server> como <user> - + No account configured. No hay cuentas configuradas. - + Add new Agregar nuevo - + Remove Eliminar - + Account Cuenta - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt - + + + Edit Ignored Files + + + + Choose what to sync Elige que sincronizar - + Force sync now Forzar la sincronización ahora - + Restart sync Reiniciar sincronización - + Remove folder sync connection Eliminar la conexión de sincronización de carpetas - + Folder creation failed Falló la creación de la carpeta - + <p>Could not create local folder <i>%1</i>. <p>No fue posible crear la carpeta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar la Eliminación de la Conexión de Sincronización de Carpeta - + Remove Folder Sync Connection Eliminar la Conexión de Sincronización de la Carpeta - + Sync Running Sincronización en curso - + The syncing operation is running.<br/>Do you want to terminate it? La operación de sincronización está en curso. <br/>¿Deseas terminarla? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. ¡La versión del servidor %1 es antigua y no está soportada! Procede bajo tu propio riesgo. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. El servidor %1 se encuntra temporalmente no disponible - + Server %1 is currently in maintenance mode. Actualmente el servidor %1 se encuentra en modo mantenimiento. - + Signed out from %1. Cerraste sesión en %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obteniendo autorización del navegador. <a href='%1'>Haz click aquí</a> para re-abrir el navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. No hay conexión a %1 en %2. - + Log in Iniciar sesión - + There are folders that were not synchronized because they are too big: Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hay carpetas que no fueron sincronizadas porque son de almacenamiento externo: - + There are folders that were not synchronized because they are too big or external storages: Hay carpetas que no fueron sincronizadas porque son demasiado grandes o son de almacenamiento externo: - + Confirm Account Removal Confirma la Remosion de la Cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + Remove connection Eliminar conexión - - + + Open folder Abrir carpeta - - + + Log out Salir - + Resume sync Reanudar sincronización - + Pause sync Pausar sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿Realmente quieres dejar de sincronizar la carpeta <i>%1</i>?<p><b>Nota:</b> Esto <b>no</b> borrará ningún archivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algunas carpetas, incluidas carpetas montadas en red o carpetas compartidas, pueden tener diferentes límites - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente no hay información disponible del espacio usado. - + No %1 connection configured. No hay %1 conexión configurada. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1548,63 +1554,69 @@ Continuar con la sincronización como normal causará que todos tus archivos sea Archivos Ignorados por Patrones - - Add - Agregar + + This entry is provided by the system at '%1' and cannot be modified in this view. + Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - + + Pattern + + + + + Allow Deletion + + + + + Add + + + + + Remove + + + + Remove all - - Pattern - Patrón - - - - Allow Deletion - Permitir el Borrado - - - - Remove - Eliminar - - - + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Los archivos y carpetas que coincidan con el patrón no podrán ser sincronizadas. - -Lo elelemtnos donde el borrado se permita, serán borrados si evitan que un directorio sea eliminado. Esto es útil para los metadatos. + - + Could not open file - No fue posible abrir el archivo + - + Cannot write changes to '%1'. - No se pueden escribir los cambios a '%1'. + - + Add Ignore Pattern - Agrega Ignorar Patrón + - + Add a new ignore pattern: - Agregar un nuevo patrón para ignorar: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Esta entidad la proporciona el sistema en '%1' y no puede ser modificada en esta vista. + @@ -2054,11 +2066,6 @@ mas privilegios durante el proceso. Login in your browser Iniciar sesión en tu navegador - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3813,6 +3820,11 @@ No es recomendable usarlo. Re-open Browser Re-abrir el Navegador + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_et.ts b/translations/client_et.ts index c9b8c9e09..3e2b21297 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Loobu @@ -278,224 +288,230 @@ Ühendatud <server> kasutajana <user> - + No account configured. Ühtegi kontot pole seadistatud - + Add new Lisa uus - + Remove Eemalda - + Account Konto - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt - + + + Edit Ignored Files + + + + Choose what to sync Vali, mida sünkroniseerida - + Force sync now - + Restart sync - + Remove folder sync connection - + Folder creation failed Kausta loomine ebaõnnestus - + <p>Could not create local folder <i>%1</i>. - + Confirm Folder Sync Connection Removal - + Remove Folder Sync Connection - + Sync Running Sünkroniseerimine on käimas - + 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 in use %1 kasutusel - + %1 as <i>%2</i> %1 as <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. - + Connected to %1. Ühendatud %1 - + Server %1 is temporarily unavailable. Server %1 pole ajutiselt saadaval. - + Server %1 is currently in maintenance mode. - + Signed out from %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... - + No connection to %1 at %2. - + Log in Logi sisse - + There are folders that were not synchronized because they are too big: - + There are folders that were not synchronized because they are external storages: - + There are folders that were not synchronized because they are too big or external storages: - + Confirm Account Removal Kinnita konto eemaldamine - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection Eemalda ühendus - - + + Open folder Ava kaust - - + + Log out Logi välja - + Resume sync Taasta sünroonimist - + Pause sync Peata sünkroonimine - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. - + %1 of %2 in use - + Currently there is no storage usage information available. Hetkel pole mahu kasutuse info saadaval. - + No %1 connection configured. Ühtegi %1 ühendust pole seadistatud. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1541,61 +1547,69 @@ Continuing the sync as normal will cause all your files to be overwritten by an Mustri poolt ignoreeritud failid - - Add - Lisa + + This entry is provided by the system at '%1' and cannot be modified in this view. + Selle kirje on pakkunud süsteem '%1' ning seda ei saa antud vaates muuta. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - + + Pattern + + + + + Allow Deletion + + + + + Add + + + + + Remove + + + + Remove all - - Pattern - Muster - - - - Allow Deletion - Luba kustutamine - - - - Remove - Eemalda - - - + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - + Could not open file - Ei suutunud avada faili + - + Cannot write changes to '%1'. - Ei saa kirjutada muudatusi '%1'. + - + Add Ignore Pattern - Lisa ignoreerimise muster + - + Add a new ignore pattern: - Lisa uus ignoreerimise muster: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Selle kirje on pakkunud süsteem '%1' ning seda ei saa antud vaates muuta. + @@ -2044,11 +2058,6 @@ for additional privileges during the process. Login in your browser - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3803,6 +3812,11 @@ Selle kasutamine pole soovitatav. Re-open Browser + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_eu.ts b/translations/client_eu.ts index 4fda65c83..e2c9b879e 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Ezeztatu @@ -278,224 +288,230 @@ <user> bezala <server>-n konektatuta - + No account configured. Ez da konturik konfiguratu. - + Add new Gehitu berria - + Remove Ezabatu - + Account Kontua - + This account supports end-to-end encryption Kontu honek onartzen du muturretik muturrerako zifratzea - + Enable encryption Gaitu zifratzea - + Show E2E mnemonic Erakutsi E2E mnemoteknikoa - + Encrypt Zifratu - + + + Edit Ignored Files + + + + Choose what to sync Hautatu zer sinkronizatu - + Force sync now Behartu orain sinkronizatzen - + Restart sync Berrabiarazi sinkronizazioa - + Remove folder sync connection Ezabatu karpeta honen konexioa - + Folder creation failed Karpeta sortzeak huts egin du - + <p>Could not create local folder <i>%1</i>. <p>Ezin izan da <i>%1</i> bertako karpeta sortu. - + Confirm Folder Sync Connection Removal Baieztatu Karpetaren Konexioaren Ezabatzea - + Remove Folder Sync Connection Ezabatu Karpeta Honen Konexioa - + Sync Running Sinkronizazioa martxan da - + The syncing operation is running.<br/>Do you want to terminate it? Sinkronizazio martxan da.<br/>Bukatu nahi al duzu? - + %1 in use %1 erabiltzen - + %1 as <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Zerbitzariaren bertsioa %1 zaharra eta euskarririk gabekoa da! Zure ardurapean aritu. - + Connected to %1. %1ra konektatuta. - + Server %1 is temporarily unavailable. %1 zerbitzaria ez dago orain eskuragarri - + Server %1 is currently in maintenance mode. %1 zerbitzaria une honetan mantenu lanetan dago. - + Signed out from %1. %1etik saioa itxita. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Nabigatzailearen baimena eskuratzen. Egin <a href= '%1'>klik hemen</a> nabigatzailea berrabiarazteko. - + Connecting to %1... %1(r)ekin konektatzen... - + No connection to %1 at %2. Konexiorik ez %1-ekin %2-etan - + Log in Hasi saioa - + There are folders that were not synchronized because they are too big: Hainbat karpeta ez dira sinkronizatu handiegiak direlako: - + There are folders that were not synchronized because they are external storages: Hainbat karpeta ez dira sinkronizatu kanpoko biltegietan daudelako: - + There are folders that were not synchronized because they are too big or external storages: Hainbat karpeta ez dira sinkronizatu handiegiak direlako edo kanpoko biltegietan daudelako: - + Confirm Account Removal Baieztatu Kontuaren Ezabatzea - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ziur zaude <i>%1</i>kontuaren konexioa kendu nahi duzula?</p><p><b>Oharra:</b> Honek<b>ez</b> du fitxategirik ezabatuko.</p> - + Remove connection Ezabatu konexioa - - + + Open folder Ireki karpeta - - + + Log out Saioa bukatu - + Resume sync Berrekin sinkronizazioa - + Pause sync Gelditu sinkronizazioa - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ziur zaude <i>%1</i>karpetaren sinkronizazioa gelditu nahi duzula?</p><p><b>Oharra:</b> Honek <b>ez</b> du fitxategirik ezabatuko.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %2-tik %1 (%3%) erabiltzen ari da. Zenbait karpetek, sarean muntatutako edo partekatutako karpetak barne, muga desberdinak izan ditzakete. - + %1 of %2 in use %2tik %1 erabilita - + Currently there is no storage usage information available. Orain ez dago eskuragarri biltegiratze erabileraren informazioa. - + No %1 connection configured. Ez dago %1 konexiorik konfiguratuta. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1557,63 +1563,69 @@ Nahi al duzu zure tokiko fitxategi berrienak gatazkako fitxategi gisa mantentzea Ezikusitako fitxategiak ereduen arabera - - Add - Gehitu + + This entry is provided by the system at '%1' and cannot be modified in this view. + Sarrera hau sistemak "% 1" gunean ematen du eta ezin da ikuspegi honetan aldatu. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Dena kendu - - - + Pattern - Eredua + - + Allow Deletion - Baimendu Ezabatzea + - + + Add + + + + Remove - Ezabatu + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Eredu bat jarraitzen duten fitxategiak ez dira sinkronizatuko. - -Ezabatzeko baimena duten itemak ezabatuko dira hauek karpeta bat ezabatzea uzten ez badute. Hau meta datuentzat interesgarria da. + - + Could not open file - Ezin izan da fitxategia ireki + - + Cannot write changes to '%1'. - Ezin izan dira aldaketa idatzi hemen '%1'. + - + Add Ignore Pattern - Gehitu Baztertzeko Eredua + - + Add a new ignore pattern: - Gehitu baztertzeko eredu berria: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Sarrera hau sistemak "% 1" gunean ematen du eta ezin da ikuspegi honetan aldatu. + @@ -2064,11 +2076,6 @@ pribilegio gehigarriak eskatzen ahal dizu prozesuan. Login in your browser Saioa hasi zure nabigatzailean - - - Copy link to clipboard - Esteka arbelera kopiatu - OCC::OwncloudSetupPage @@ -3821,6 +3828,11 @@ Ez da gomendagarria erabltzea. Re-open Browser Berrireki nabigatzailea + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_fa.ts b/translations/client_fa.ts index 7e55ccadd..e0508674a 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel منصرف شدن @@ -278,224 +288,230 @@ متصل به <server> به عنوان <user> - + No account configured. هیچ حساب‌کاربری‌ای تنظیم نشده‌ است. - + Add new اضافه کردن جدید - + Remove حذف - + Account حساب کاربری - + This account supports end-to-end encryption این حساب کاربری امکان رمزنگاری انتها-به-انتها را دارد - + Enable encryption فعال سازی رمزنگاری - + Show E2E mnemonic - + Encrypt رمزنگاری - + + + Edit Ignored Files + + + + Choose what to sync انتخاب موارد همگام‌سازی - + Force sync now - + Restart sync راه اندازی مجدد همگام سازی - + Remove folder sync connection حذف اتصال همگام سازی پوشه - + Folder creation failed ساخت پوشه ناموفق - + <p>Could not create local folder <i>%1</i>. <p>ناتوانی در ساخت پوشه محلی <i>1%</i> - + Confirm Folder Sync Connection Removal تأیید حذف اتصال همگام سازی پوشه - + Remove Folder Sync Connection حذف اتصال همگام سازی پوشه - + Sync Running همگام سازی در حال اجراست - + The syncing operation is running.<br/>Do you want to terminate it? عملیات همگام سازی در حال اجراست.<br/>آیا دوست دارید آن را متوقف کنید؟ - + %1 in use 1% در استفاده - + %1 as <i>%2</i> 1% به عنوان <i>2%</i> - + The server version %1 is old and unsupported! Proceed at your own risk. نسخه سرور 1% قدیمی است و پشتیبانی نشده است! مسئولیت با خود شماست. - + Connected to %1. متصل به %1. - + Server %1 is temporarily unavailable. سرور %1 بصورت موقت خارج از دسترس است. - + Server %1 is currently in maintenance mode. سرور 1% اکنون در حالت تعمیر است. - + Signed out from %1. از 1% خارج شد. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. دریافت مجوز از مرورگر. <a href='%1'>اینجا کلیک کنید</a> تا مرورگر دوباره باز شود. - + Connecting to %1... اتصال به %1... - + No connection to %1 at %2. اتصال به 1% در 2% وجود ندارد. - + Log in ورود - + There are folders that were not synchronized because they are too big: پوشه‌هایی وجود دارند که همگام سازی نشده اند زیرا آن ها بسیار بزرگ هستند: - + There are folders that were not synchronized because they are external storages: پوشه‌هایی وجود دارند که همگام سازی نشده اند زیرا آن ها مخازن خارجی هستند: - + There are folders that were not synchronized because they are too big or external storages: پوشه‌هایی وجود دارند که همگام سازی نشده اند زیرا آن ها بسیار بزرگ یا مخازن خارجی هستند: - + Confirm Account Removal تائید حذف حساب‌کاربری - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>آیا شما واقعا می خواهید اتصال به حساب <i>1%</i>را حذف کنید؟</p> <p><b>توجه:</b> این هیچ فایلی را حذف نخواهد کرد.</p> - + Remove connection حذف ارتباط - - + + Open folder بازکردن پوشه - - + + Log out خروج - + Resume sync از سر‎گیری همگام‌سازی - + Pause sync توقف به‌هنگام‌سازی - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>آیا شما واقعا می خواهید همگام سازی پوشه <i>1%</i> را متوقف نمایید؟</p><p><b>توجه:</b>این هیچ فایلی را حذف <b>نخواهد</b> کرد. </p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. 1% (%3%) از 2% در استفاده. برخی پوشه‌ها، شامل شبکه نصب شده یا پوشه های مشترک، ممکن است محدودیت های متفاوت داشته باشند. - + %1 of %2 in use 1% از 2% در استفاده - + Currently there is no storage usage information available. در حال حاضر هیچ اطلاعات کاربرد ذخیره سازی در دسترس نیست. - + No %1 connection configured. بدون %1 اتصال پیکربندی شده. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1547,62 +1553,69 @@ Continuing the sync as normal will cause all your files to be overwritten by an پرونده ها توسط الگوها رد شده اند - - Add - افزودن + + This entry is provided by the system at '%1' and cannot be modified in this view. + این ورودی توسط سیستم در '1%' ارائه شده است و در این دیدگاه قابل تغییر نیست. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - حذف همه - - - + Pattern - الگو + - + Allow Deletion - اجازه حذف + - + + Add + + + + Remove - حذف + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - پرونده ها یا پوشه‌های مطابق با یک الگو همگام نخواهند شد. -مواردی که در آن حذف کردن مجاز است، اگر از حذف یک پوشه جلوگیری کنند حذف خواهند شد. این برای فرا داده ها مفید است. + - + Could not open file - امکان باز کردن فایل وجود ندارد + - + Cannot write changes to '%1'. - نمی‌توان تغییرات را در '%1' نوشت. + - + Add Ignore Pattern - افزودن الگوی رد کردن + - + Add a new ignore pattern: - افزودن یک الگوی رد کردن جدید: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - این ورودی توسط سیستم در '1%' ارائه شده است و در این دیدگاه قابل تغییر نیست. + @@ -2051,11 +2064,6 @@ for additional privileges during the process. Login in your browser در مرورگر خود وارد شوید - - - Copy link to clipboard - کپی آدرس در حافظه - OCC::OwncloudSetupPage @@ -3809,6 +3817,11 @@ It is not advisable to use it. Re-open Browser مرورگر را دوباره باز کنید + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_fi.ts b/translations/client_fi.ts index a42c6b9ac..618dcf97d 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Peruuta @@ -278,224 +288,230 @@ Yhdistetty palvelimeen <server> käyttäen tunnusta <user> - + No account configured. Tiliä ei ole määritelty. - + Add new Lisää uusi - + Remove Poista - + Account Tili - + This account supports end-to-end encryption Tämä tili tukee päästä päähän -salausta - + Enable encryption Ota salaus käyttöön - + Show E2E mnemonic - + Encrypt Salaus - + + + Edit Ignored Files + + + + Choose what to sync Valitse synkronoitavat tiedot - + Force sync now Pakota synkronointi nyt - + Restart sync Käynnistä synkronointi uudelleen - + Remove folder sync connection Poista kansion synkronointiyhteys - + Folder creation failed Kansion luominen epäonnistui - + <p>Could not create local folder <i>%1</i>. <p>Paikallisen kansion <i>%1</i> luominen epäonnistui. - + Confirm Folder Sync Connection Removal Vahvista kansion synkronointiyhteyden poisto - + Remove Folder Sync Connection Poista kansion synkronointiyhteys - + Sync Running Synkronointi meneillään - + The syncing operation is running.<br/>Do you want to terminate it? Synkronointioperaatio on meneillään.<br/>Haluatko keskeyttää sen? - + %1 in use %1 käytössä - + %1 as <i>%2</i> %1 käyttäjänä <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Palvelimen versio %1 on vanha ja sen tuki on loppunut! Jatka omalla vastuulla. - + Connected to %1. Yhteys muodostettu kohteeseen %1. - + Server %1 is temporarily unavailable. Palvelin %1 ei ole juuri nyt saatavilla. - + Server %1 is currently in maintenance mode. Palvelin %1 on parhaillaan huoltotilassa. - + Signed out from %1. Kirjauduttu ulos kohteesta %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Hankitaan valtuutus selaimelta. <a href='%1'>Napsauta tästä</a> avataksesi selaimen uudelleen. - + Connecting to %1... Yhdistetään kohteeseen %1... - + No connection to %1 at %2. Ei yhteyttä kohteeseen %1 osoitteessa %2. - + Log in Kirjaudu sisään - + There are folders that were not synchronized because they are too big: Havaittiin kansioita, joita ei synkronoitu, koska ne ovat kooltaan liian suuria: - + There are folders that were not synchronized because they are external storages: - + There are folders that were not synchronized because they are too big or external storages: - + Confirm Account Removal Vahvista tilin poistaminen - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Haluatko varmasti poistaa tilin <i>%1</i>?</p><p><b>Huomio:</b> Tämä toimenpide <b>ei</b> poista mitään tiedostoja.</p> - + Remove connection Poista yhteys - - + + Open folder Avaa kansio - - + + Log out Kirjaudu ulos - + Resume sync Palauta synkronointi - + Pause sync Keskeytä synkronointi - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Haluatko varmasti lopettaa kansion <i>%1</i> synkronoinnin?</p><p><b>Huomio:</b> Tämä toimenpide <b>ei</b> poista mitään tiedostoja.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1/%2 (%3 %) käytössä. Jotkin kansiot, mukaan lukien verkkojaot ja jaetut kansiot, voivat sisältää eri rajoitukset. - + %1 of %2 in use %1/%2 käytössä - + Currently there is no storage usage information available. Tallennustilan käyttötietoja ei ole juuri nyt saatavilla. - + No %1 connection configured. %1-yhteyttä ei ole määritelty. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1543,62 +1549,68 @@ Continuing the sync as normal will cause all your files to be overwritten by an Kaavojen perusteella ohitettavat tiedostot - - Add - Lisää + + This entry is provided by the system at '%1' and cannot be modified in this view. + + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Poista kaikki - - - + Pattern - Kaava + - + Allow Deletion - Salli poistaminen + - + + Add + + + + Remove - Poista + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Kaavaa vastaavat tiedostot ja kansiot jätetään synkronoimatta. - -Kohteet, joiden poisto on sallittu, poistetaan, jos ne estävät kansion poistamisen. Tämä on hyödyllistä metatietojen osalta. + - + Could not open file - Tiedoston avaaminen ei onnistunut + - + Cannot write changes to '%1'. - Muutoksien kirjoittaminen kohteeseen '%1' epäonnistui. + - + Add Ignore Pattern - Lisää ohituskaava + - + Add a new ignore pattern: - Lisää uusi ohituskaava: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. @@ -2048,11 +2060,6 @@ for additional privileges during the process. Login in your browser Kirjaudu selaimellasi - - - Copy link to clipboard - Kopioi linkki leikepöydälle - OCC::OwncloudSetupPage @@ -3807,6 +3814,11 @@ Osoitteen käyttäminen ei ole suositeltavaa. Re-open Browser Avaa selain uudelleen + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_fr.ts b/translations/client_fr.ts index 8561bea03..d86b203f8 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -129,8 +129,13 @@ - Re-open Browser (or right-click to copy link) - Ré-ouvrez le navigateur web (ou copiez le lien par clic droit) + Re-open Browser + + + + + Copy link + @@ -152,8 +157,13 @@ - Re-open Browser (or right-click to copy link) - Ré-ouvrez le navigateur web (ou copiez le lien par clic droit) + Re-open Browser + + + + + Copy link + @@ -267,8 +277,8 @@ - - + + Cancel Annuler @@ -278,224 +288,230 @@ Connecté au serveur <server> avec le compte <user> - + No account configured. Aucun compte configuré. - + Add new Ajouter un nouveau compte - + Remove Supprimer - + Account Compte - + This account supports end-to-end encryption Ce compte prend en charge le chiffrement de bout en bout. - + Enable encryption Activer le chiffrement - + Show E2E mnemonic Afficher le code mnémotechnique E2E - + Encrypt Chiffrer - + + + Edit Ignored Files + + + + Choose what to sync Sélectionner le contenu à synchroniser - + Force sync now Forcer la synchronisation maintenant - + Restart sync Redémarrer la synchronisation - + Remove folder sync connection Supprimer la synchronisation du dossier - + Folder creation failed Échec de création du dossier - + <p>Could not create local folder <i>%1</i>. <p>Impossible de créer le dossier local <i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmer la suppression de synchronisation de dossier - + Remove Folder Sync Connection Supprimer la synchronisation de ce dossier - + Sync Running Synchronisation en cours - + The syncing operation is running.<br/>Do you want to terminate it? La synchronisation est en cours.<br/>Voulez-vous l'arrêter ? - + %1 in use %1 utilisé(s) - + %1 as <i>%2</i> %1 avec le compte <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. La version %1 du serveur est ancienne et n'est pas prise en charge. Continuez à vos risques et périls. - + Connected to %1. Connecté au serveur %1. - + Server %1 is temporarily unavailable. Le serveur %1 est temporairement indisponible. - + Server %1 is currently in maintenance mode. Le serveur %1 est en cours de maintenance. - + Signed out from %1. Session sur %1 fermée. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. En attente d'autorisation du navigateur. <a href='%1'>Cliquer ici</a> pour recharger le navigateur. - + Connecting to %1... Connexion à %1 - + No connection to %1 at %2. Aucune connexion au serveur %1 à l'adresse %2. - + Log in Se connecter - + There are folders that were not synchronized because they are too big: Certains dossiers n'ont pas été synchronisés parce qu'ils sont de taille trop importante : - + There are folders that were not synchronized because they are external storages: Certains dossiers n'ont pas été synchronisés parce qu'ils sont localisés sur un stockage externe : - + There are folders that were not synchronized because they are too big or external storages: Certains dossiers n'ont pas été synchronisés par qu'ils sont localisés sur un stockage externe ou qu'ils sont de taille trop importante : - + Confirm Account Removal Confirmation de retrait du compte - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Êtes-vous certain de vouloir retirer <i>%1</i> des comptes synchronisés avec le serveur ?</p><p><b>Remarque :</b> cela ne supprimera pas votre compte sur le serveur et aucun fichier ne sera supprimé ni localement ni en ligne.</p> - + Remove connection Retirer le compte - - + + Open folder Ouvrir le dossier local - - + + Log out Se déconnecter - + Resume sync Reprendre la synchronisation - + Pause sync Mettre en pause - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Voulez-vous vraiment arrêter de synchroniser le dossier <i>%1</i> ?</p><p><b>Note :</b> Aucun fichier ne sera supprimé.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) utilisés sur %2. Certains dossiers, montés depuis le réseau ou partagés, peuvent avoir des limites différentes. - + %1 of %2 in use %1 utilisés sur %2 - + Currently there is no storage usage information available. Actuellement aucune information d'utilisation de stockage n'est disponible. - + No %1 connection configured. Aucune connexion à %1 configurée @@ -754,7 +770,7 @@ Error returned from the server: <em>%1</em> - Erreur retournée par le serveur : <em>%1</em> + Erreur renvoyée par le serveur : <em>%1</em> @@ -766,7 +782,7 @@ Could not parse the JSON returned from the server: <br><em>%1</em> - + Impossible d'analyser le JSON renvoyé par le serveur : <br><em>%1</em> @@ -788,12 +804,7 @@ Connectez-vous avec votre navigateur web (Login Flow v2) - - Copy link to clipboard - Copier le lien vers le presse-papier - - - + Unable to open the Browser, please copy the link to your Browser. Impossible d'ouvrir le navigateur, veuillez copier le lien dans votre navigateur Web. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - Copier le lien vers le presse-papier - - - + Unable to open the Browser, please copy the link to your Browser. Impossible d'ouvrir le navigateur, veuillez copier le lien dans votre navigateur Web. @@ -1558,63 +1564,69 @@ Continuer la synchronisation comme d'habitude fera en sorte que tous les fi Fichiers exclus sur motif de nom - - Add - Ajouter + + This entry is provided by the system at '%1' and cannot be modified in this view. + Cette entrée est fournie par le système dans '%1' et ne peut être modifiée dans cette vue. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Supprimer tout - - - + Pattern - Motif de nom + - + Allow Deletion - Autoriser suppression + - + + Add + + + + Remove - Supprimer + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Les fichiers ou dossiers dont les noms correspondent à un motif seront exclus de la synchronisation. - -L'option "Autoriser suppression" permet de ne pas bloquer la suppression d'un dossier. C'est utile pour les fichiers de méta-données. + - + Could not open file - Impossible d'ouvrir le fichier + - + Cannot write changes to '%1'. - Impossible d'écrire les modifications sur '%1'. + - + Add Ignore Pattern - Ajouter un motif d'exclusion + - + Add a new ignore pattern: - Ajoutez un nouveau motif d'exclusion : - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Cette entrée est fournie par le système dans '%1' et ne peut être modifiée dans cette vue. + @@ -1861,7 +1873,7 @@ Les journaux seront écrits dans %1. Error returned from the server: <em>%1</em> - Erreur retournée par le serveur: <em>%1</em> + Erreur renvoyée par le serveur: <em>%1</em> @@ -1871,7 +1883,7 @@ Les journaux seront écrits dans %1. Could not parse the JSON returned from the server: <br><em>%1</em> - Impossible d'analyser le fichier JSON récupéré sur le serveur : <br><em>%1</em> + Impossible d'analyser le JSON renvoyé par le serveur : <br><em>%1</em> @@ -2066,11 +2078,6 @@ L'assistant de mise à jour peut vous demandez des autorisations supplémen Login in your browser Connectez vous sur votre navigateur - - - Copy link to clipboard - Copier le lien vers le presse-papier - OCC::OwncloudSetupPage @@ -3158,12 +3165,12 @@ Il est déconseillé de l'utiliser. Fingerprint (SHA-256): <tt>%1</tt> - + Empreinte (SHA-256): <tt>%1</tt> Fingerprint (SHA-512): <tt>%1</tt> - + Empreinte (SHA-512): <tt>%1</tt> @@ -3826,6 +3833,11 @@ Il est déconseillé de l'utiliser. Re-open Browser Redémarrez votre navigateur + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_gl.ts b/translations/client_gl.ts index dbc53095d..32af656da 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -129,8 +129,13 @@ - Re-open Browser (or right-click to copy link) - Volver abrir o navegador (ou botón dereito para copiar a ligazón) + Re-open Browser + + + + + Copy link + @@ -152,8 +157,13 @@ - Re-open Browser (or right-click to copy link) - Volver abrir o navegador (ou botón dereito para copiar a ligazón) + Re-open Browser + + + + + Copy link + @@ -267,8 +277,8 @@ - - + + Cancel Cancelar @@ -278,224 +288,230 @@ Conectado con <server> como <user> - + No account configured. Non hai contas configuradas. - + Add new Engadir novo - + Remove Retirar - + Account Conta - + This account supports end-to-end encryption Esta conta admite o cifrado de extremo a extremo - + Enable encryption Activar o cifrado - + Show E2E mnemonic Amosar o mnemónico E2E - + Encrypt Cifrar - + + + Edit Ignored Files + + + + Choose what to sync Escolla que sincronizar - + Force sync now Forzar a sincronización - + Restart sync Reiniciar a sincronización - + Remove folder sync connection Retirar a conexión da sincronización do cartafol - + Folder creation failed Non foi posíbel crear o cartafol - + <p>Could not create local folder <i>%1</i>. <p>Non foi posíbel crear o cartafol local <i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar a retirada da conexión da sincronización do cartafol - + Remove Folder Sync Connection Retirar a conexión da sincronización do cartafol - + Sync Running Sincronización en proceso - + The syncing operation is running.<br/>Do you want to terminate it? Estase a realizar a sincronización.<br/>Quere interrompela e rematala? - + %1 in use %1 en uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Este servidor da versión %1 é vello e non ten soporte! Vostede verá o que fai. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. O servidor %1 non está dispoñíbel temporalmente. - + Server %1 is currently in maintenance mode. O servidor %1 neste momento está en modo de mantemento. - + Signed out from %1. Desconectado de %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obtendo autorización dende o navegador. <a href='%1'>Prema aquí</a> para volver abrir o navegador. - + Connecting to %1... Conectando con %1... - + No connection to %1 at %2. Non hai conexión con %1 en %2. - + Log in Acceder - + There are folders that were not synchronized because they are too big: Hai cartafoles que non se sincronizaron por ser demasiado grandes: - + There are folders that were not synchronized because they are external storages: Hai cartafoles que non se sincronizaron porque son almacenamentos externos: - + There are folders that were not synchronized because they are too big or external storages: Hai cartafoles que non se sincronizaron porque son demasiado grandes ou almacenamentos externos: - + Confirm Account Removal Confirme a retirada da conta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>De verdade quere retirar a conexión a conta <i>%1</i>?</p><p><b>Aviso:</b> Isto <b>non</b> eliminará ningún ficheiro.</p> - + Remove connection Retirar conexión - - + + Open folder Abrir o cartafol - - + + Log out Saír - + Resume sync Continuar coa sincronización - + Pause sync Por en pausa a sincronización - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Quere realmente deixar de sincronizar o cartafol <i>%1</i>?</p><p><b>Aviso:</b> Isto <b>non</b> eliminará ningún ficheiro.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 en uso. Algúns cartafoles, incluíndo os compartidos e os montados en rede, poderían ter diferentes límites. - + %1 of %2 in use %1 de %2 en uso - + Currently there is no storage usage information available. Actualmente non hai dispoñíbel ningunha información sobre o uso do almacenamento. - + No %1 connection configured. Non se configurou a conexión %1. @@ -788,12 +804,7 @@ Acceda no seu navegador (Fluxo de acceso v2) - - Copy link to clipboard - Copiar a ligazón no portapapeis - - - + Unable to open the Browser, please copy the link to your Browser. Non foi posíbel abrir o navegador, copie a ligazón ao seu navegador. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - Copiar a ligazón no portapapeis - - - + Unable to open the Browser, please copy the link to your Browser. Non foi posíbel abrir o navegador, copie a ligazón ao seu navegador. @@ -1557,63 +1563,69 @@ Continuando a sincronización como normal fará que todos os seus ficheiros sexa Ficheiros ignorados por patróns - - Add - Engadir + + This entry is provided by the system at '%1' and cannot be modified in this view. + Esta entrada é fornecida polo sistema en «%1» e non pode ser modificado nesta vista. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Retirar todo - - - + Pattern - Patrón + - + Allow Deletion - Permitir a eliminación + - + + Add + + + + Remove - Retirar + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Os ficheiros ou cartafoles que coincidan cun patrón non se sincronizarán. - -Os elementos onde se permite a eliminación eliminaranse se impiden que se elimine un directorio. Isto é útil para os metadatos. + - + Could not open file - Non foi posíbel abrir o ficheiro + - + Cannot write changes to '%1'. - Non é posíbel escribir os cambios en «%1». + - + Add Ignore Pattern - Engadir o patrón a ignorar + - + Add a new ignore pattern: - Engadir un novo patrón a ignorar: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Esta entrada é fornecida polo sistema en «%1» e non pode ser modificado nesta vista. + @@ -2065,11 +2077,6 @@ actualización pode pedir privilexios adicionais durante o procedemento.Login in your browser Acceda no seu navegador - - - Copy link to clipboard - Copiar a ligazón no portapapeis - OCC::OwncloudSetupPage @@ -3156,12 +3163,12 @@ Recomendámoslle que non o use. Fingerprint (SHA-256): <tt>%1</tt> - + Pegada dixital (SHA-256): <tt>%1</tt> Fingerprint (SHA-512): <tt>%1</tt> - + Pegada dixital (SHA-512): <tt>%1</tt> @@ -3824,6 +3831,11 @@ Recomendámoslle que non o use. Re-open Browser Volver abrir o navegador + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_he.ts b/translations/client_he.ts index 888cee645..7581c0a80 100644 --- a/translations/client_he.ts +++ b/translations/client_he.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel ביטול @@ -278,224 +288,230 @@ מחובר באמצעות <server> כ <user> - + No account configured. לא הוגדר חשבון. - + Add new הוספת חדש - + Remove הסרה - + Account חשבון - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic הראה תיבת זיכרון ל הצפנה מקצה לקצה - + Encrypt הצפן - + + + Edit Ignored Files + + + + Choose what to sync לבחור מה לסנכרן - + Force sync now לאלץ סנכרון כעת - + Restart sync להפעיל את הסנכרון מחדש - + Remove folder sync connection הסרת חיבור סנכרון לתיקייה - + Folder creation failed יצירת התיקייה נכשלה - + <p>Could not create local folder <i>%1</i>. <p>לא ניתן ליצור את התיקייה המקומית <i>%1</i>. - + Confirm Folder Sync Connection Removal אשר הסרת חיבור ל סנכרון תיקיות - + Remove Folder Sync Connection הסר חיבור ל סנכרון תיקיות - + Sync Running סנכרון מופעל - + The syncing operation is running.<br/>Do you want to terminate it? הסנכרון מופעל.<br/>האם להפסיק את פעולתו ? - + %1 in use %1 בשימוש - + %1 as <i>%2</i> %1 בתור <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. גרסת השרת %1 ישנה ואינה נתמכת! המשך עבודה בגרסה זו תחת אחריותך. - + Connected to %1. בוצע חיבור אל %1. - + Server %1 is temporarily unavailable. השרת %1 אינו זמין כרגע. - + Server %1 is currently in maintenance mode. השרת %1 כרגע במצב תחזוקה. - + Signed out from %1. יצאת מהשירות %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. מתבצעת בקשת אימות מהדפדפן. נא <a href='%1'>ללחוץ כאן</a> לפתיחה מחדש של הדפדפן. - + Connecting to %1... בהתחברות אל %1… - + No connection to %1 at %2. אין חיבור אל %1 ב־%2. - + Log in כניסה - + There are folders that were not synchronized because they are too big: ישנן תיקיות שלא סונכרנו מפאת גודלן הרב: - + There are folders that were not synchronized because they are external storages: ישנן תיקיות שלא סונכרנו כיוון שהן נמצאות על אמצעי אחסון חיצוניים: - + There are folders that were not synchronized because they are too big or external storages: ישנן תיקיות שלא סונכרנו כיוון שהן גדולות מדי או באחסון חיצוני: - + Confirm Account Removal אישור הסרת חשבון - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>האם ברצונך להסיר את החיבור לחשבון <i>%1</i>?</p><p><b>שים לב:</b>פעולה זו <b>לא</b> תסיר את הקבצים.</p> - + Remove connection הסרת חיבור - - + + Open folder פתיחת תיקייה - - + + Log out יציאה - + Resume sync להמשיך בסנכרון - + Pause sync השהיית סנכרון - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>האם ברצונך להפסיק את סנכרון התיקיה <i>%1</i>?</p><p><b>שים לב:</b> פעולה זו <b>לא </b> תמחק את הקבצים.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) מתוך %2 בשימוש. חלק מהתיקיות, ובכללן תיקיות רשת או משותפות, עלולות להיות בעלות מכסות שונות. - + %1 of %2 in use %1 מתוך %2 בשימוש - + Currently there is no storage usage information available. ברגע זה אין כל מידע זמין על השימוש באחסון. - + No %1 connection configured. אין הגדרה לחיבור %1 @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1543,62 +1549,70 @@ Continuing the sync as normal will cause all your files to be overwritten by an - - Add - הוספה + + This entry is provided by the system at '%1' and cannot be modified in this view. + + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - להסיר הכול - - - + Pattern - תבנית + - + Allow Deletion - לאפשר מחיקה + - + + Add + + + + Remove - הסרה + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - + Could not open file - לא ניתן לפתוח קובץ + - + Cannot write changes to '%1'. - לא ניתן לכתוב שינויים אל ‚%1’. + - + Add Ignore Pattern - + Add a new ignore pattern: - - - This entry is provided by the system at '%1' and cannot be modified in this view. - - OCC::LegalNotice @@ -2046,11 +2060,6 @@ for additional privileges during the process. Login in your browser כניסה בדפדפן שלך - - - Copy link to clipboard - להעתיק קישור ללוח הגזירים - OCC::OwncloudSetupPage @@ -3802,6 +3811,11 @@ It is not advisable to use it. Re-open Browser נא לפתוח את הדפדפן מחדש + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_hr.ts b/translations/client_hr.ts index 826c2f7e9..73f573ea6 100644 --- a/translations/client_hr.ts +++ b/translations/client_hr.ts @@ -129,8 +129,13 @@ - Re-open Browser (or right-click to copy link) - Ponovno otvorite preglednik (ili desnom tipkom miša kliknite za kopiranje poveznice) + Re-open Browser + + + + + Copy link + @@ -152,8 +157,13 @@ - Re-open Browser (or right-click to copy link) - Ponovno otvorite preglednik (ili desnom tipkom miša kliknite za kopiranje poveznice) + Re-open Browser + + + + + Copy link + @@ -267,8 +277,8 @@ - - + + Cancel Odustani @@ -278,224 +288,230 @@ Povezan s <poslužitelj> kao <korisnik> - + No account configured. Račun nije konfiguriran. - + Add new Dodaj novi - + Remove Ukloni - + Account Račun - + This account supports end-to-end encryption Ovaj račun podržava cjelovito šifriranje - + Enable encryption Omogući šifriranje - + Show E2E mnemonic Pokaži E2E mnemoničku oznaku - + Encrypt Šifriraj - + + + Edit Ignored Files + + + + Choose what to sync Odaberite što sinkronizirati - + Force sync now Sinkroniziraj sada - + Restart sync Ponovno pokreni sinkronizaciju - + Remove folder sync connection Uklonite poveznicu za sinkronizaciju mape - + Folder creation failed Neuspješna izrada mape - + <p>Could not create local folder <i>%1</i>. <p>Nije moguće stvoriti lokalnu mapu <i>%1</i>. - + Confirm Folder Sync Connection Removal Potvrdi uklanjanje poveznice za sinkronizaciju mape - + Remove Folder Sync Connection Uklonite poveznicu za sinkronizaciju mape - + Sync Running Sinkronizacija u tijeku - + The syncing operation is running.<br/>Do you want to terminate it? Sinkronizacija je pokrenuta.<br/>Želite li je prekinuti? - + %1 in use %1 u upotrebi - + %1 as <i>%2</i> %1 kao <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Inačica poslužitelja %1 je stara i nepodržana! Nastavite na vlastitu odgovornost. - + Connected to %1. Povezano s %1. - + Server %1 is temporarily unavailable. Poslužitelj %1 privremeno nije dostupan. - + Server %1 is currently in maintenance mode. Poslužitelj %1 trenutno je u načinu održavanja. - + Signed out from %1. Odjavili ste se iz %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Dobivanje autorizacije od preglednika. <a href='%1'>Kliknite ovdje</a> za ponovno otvaranje preglednika. - + Connecting to %1... Povezivanje s %1... - + No connection to %1 at %2. Ne postoji veza s %1 na %2. - + Log in Prijava - + There are folders that were not synchronized because they are too big: Ove mape nisu sinkronizirane jer su prevelike: - + There are folders that were not synchronized because they are external storages: Ove mape nisu sinkronizirane jer su vanjski prostori za pohranu: - + There are folders that were not synchronized because they are too big or external storages: Ove mape nisu sinkronizirane jer su prevelike ili su vanjski prostori za pohranu: - + Confirm Account Removal Potvrdi brisanje računa - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Želite li zaista ukloniti vezu s računom <i>%1</i>?</p><p><b>Napomena:</b> time <b>nećete</b> izbrisati datoteke.</p> - + Remove connection Ukloni vezu - - + + Open folder Otvori mapu - - + + Log out Odjava - + Resume sync Nastavi sinkronizaciju - + Pause sync Pauziraj sinkronizaciju - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Želite li zaista prekinuti sinkronizaciju mape <i>%1</i>?</p><p><b>Napomena:</b> time <b>nećete</b> izbrisati datoteke.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) od %2 u upotrebi. Neke mape, uključujući mrežne ili dijeljene mape, mogu imati različita ograničenja. - + %1 of %2 in use %1 od %2 u upotrebi - + Currently there is no storage usage information available. Trenutno nema dostupnih podataka o uporabi pohrane. - + No %1 connection configured. Nije konfigurirana veza %1. @@ -788,12 +804,7 @@ Prijavi se u svoj preglednik (Login Flow v2) - - Copy link to clipboard - Kopiraj poveznicu u međuspremnik - - - + Unable to open the Browser, please copy the link to your Browser. Nije moguće otvoriti preglednik, kopirajte poveznicu u svoj preglednik. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - Kopiraj poveznicu u međuspremnik - - - + Unable to open the Browser, please copy the link to your Browser. Nije moguće otvoriti preglednik, kopirajte poveznicu u svoj preglednik. @@ -1556,63 +1562,69 @@ Nastavljanje sinkronizacije uzrokovat će zamjenu svih vaših datoteka starijim Datoteke koje zanemaruju obrasci - - Add - Dodaj + + This entry is provided by the system at '%1' and cannot be modified in this view. + Ovaj unos osigurava sustav na '%1' i ne može se mijenjati u ovom prikazu. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Ukloni sve - - - + Pattern - Obrazac + - + Allow Deletion - Dopusti brisanje + - + + Add + + + + Remove - Ukloni + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Datoteke ili mape koje odgovaraju određenom obrascu neće biti sinkronizirane. - -Stavke za koje je dopušteno brisanje bit će izbrisane ako sprječavaju uklanjanje direktorija. To je korisno za metapodatke. + - + Could not open file - Nije moguće otvoriti datoteku + - + Cannot write changes to '%1'. - Nije moguće zapisati promjene u '%1'. + - + Add Ignore Pattern - Dodaj obrazac za zanemarivanje + - + Add a new ignore pattern: - Dodaj novi obrazac za zanemarivanje: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Ovaj unos osigurava sustav na '%1' i ne može se mijenjati u ovom prikazu. + @@ -2064,11 +2076,6 @@ dodatne ovlasti tijekom postupka. Login in your browser Prijavi se u svoj preglednik - - - Copy link to clipboard - Kopiraj poveznicu u međuspremnik - OCC::OwncloudSetupPage @@ -3823,6 +3830,11 @@ Nije preporučljivo koristiti ga. Re-open Browser Ponovno otvori preglednik + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_hu.ts b/translations/client_hu.ts index f6d962195..cf075dd93 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -129,8 +129,13 @@ - Re-open Browser (or right-click to copy link) - Böngésző újranyitása (vagy jobb kattintás a hivatkozás másolásához) + Re-open Browser + + + + + Copy link + @@ -152,8 +157,13 @@ - Re-open Browser (or right-click to copy link) - Böngésző újranyitása (vagy jobb kattintás a hivatkozás másolásához) + Re-open Browser + + + + + Copy link + @@ -267,8 +277,8 @@ - - + + Cancel Mégse @@ -278,224 +288,230 @@ Kapcsolódva <user> felhasználóval ehhez: <server> - + No account configured. Nincs fiók beállítva. - + Add new Új hozzáadása - + Remove Eltávolítás - + Account Fiók - + This account supports end-to-end encryption Ez a fiók támogatja a végpontok közötti titkosítást - + Enable encryption Titkosítás engedélyezése - + Show E2E mnemonic E2E mnemonikus kód megjelenítése - + Encrypt Titkosítás - + + + Edit Ignored Files + + + + Choose what to sync Szinkronizálandó elemek kiválasztása - + Force sync now Szinkronizálás azonnal - + Restart sync Szinkronizálás újraindítása - + Remove folder sync connection Mappa szinkronizálási kapcsolatának eltávolítása - + Folder creation failed Mappa létrehozása sikertelen - + <p>Could not create local folder <i>%1</i>. <p>A helyi mappa nem hozható létre: <i>%1</i>. - + Confirm Folder Sync Connection Removal Mappa szinkronizációs kapcsolatának eltávolításának megerősítése - + Remove Folder Sync Connection Mappa szinkronizálási kapcsolatának eltávolítása - + Sync Running A szinkronizálás fut - + The syncing operation is running.<br/>Do you want to terminate it? A szinkronizálás folyamatban van. <br/>Megszakítja? - + %1 in use %1 használatban - + %1 as <i>%2</i> %1, mint <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. A(z) %1 kiszolgálóverzió régi és már nem támogatott! Csak saját felelősségre folytassa. - + Connected to %1. Kapcsolódva ehhez: %1. - + Server %1 is temporarily unavailable. A(z) %1 kiszolgáló jelenleg nem érhető el. - + Server %1 is currently in maintenance mode. A(z) %1 kiszolgáló jelenleg karbantartási módban van. - + Signed out from %1. Kijelentkezve innen: %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Engedély kérése a böngészőtől. <a href='%1'>Kattintson ide</a> a böngésző újranyitásához. - + Connecting to %1... Kapcsolódás ehhez: %1… - + No connection to %1 at %2. Nincs kapcsolat ehhez: %1, itt: %2. - + Log in Bejelentkezés - + There are folders that were not synchronized because they are too big: Az alábbi mappák nem lettek szinkronizálva, mert túl nagyok: - + There are folders that were not synchronized because they are external storages: Az alábbi mappák nem lettek szinkronizálva, mert külső tárolók: - + There are folders that were not synchronized because they are too big or external storages: Az alábbi mappák nem lettek szinkronizálva, mert túl nagyok, vagy külső tárolók: - + Confirm Account Removal Fiók törlésének megerősítése - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Tényleg törölni szeretné a kapcsolatot a(z) <i>%1</i> fiókkal?</p><p><b>Megjegyzés:</b> Ez <b>nem</b> töröl fájlokat.</p> - + Remove connection Kapcsolat eltávolítása - - + + Open folder Mappa megnyitása - - + + Log out Kilépés - + Resume sync Szinkronizálás folytatása - + Pause sync Szinkronizálás szüneteltetése - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Tényleg leállítja a(z) <i>%1</i> mappa szinkronizálását?</p><p><b>Megjegyzés:</b> Ez <b>nem</b> töröl fájlokat.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) / %2 használatban. Néhány mappa – beleértve a hálózati megosztásokat és a megosztott könyvtárakat – eltérő korlátozással rendelkezhet. - + %1 of %2 in use %1 / %2 használatban - + Currently there is no storage usage information available. Jelenleg nem érhetőek el a tárhelyhasználati információk. - + No %1 connection configured. Nincs %1 kapcsolat beállítva. @@ -788,12 +804,7 @@ Bejelentkezés böngészőben (Login Flow v2) - - Copy link to clipboard - Hivatkozás vágólapra másolása - - - + Unable to open the Browser, please copy the link to your Browser. A böngésző nem nyitható meg, másolja a hivatkozást a böngészőjébe. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - Hivatkozás vágólapra másolása - - - + Unable to open the Browser, please copy the link to your Browser. A böngésző nem nyitható meg, másolja a hivatkozást a böngészőjébe. @@ -1556,63 +1562,69 @@ A szinkronizálás folytatásával az összes fájlja felül lesz írva egy rég Minták miatt kihagyott fájlok - - Add - Hozzáadás + + This entry is provided by the system at '%1' and cannot be modified in this view. + A bejegyzést az itt lévő rendszer biztosítja: „%1”, és nem lehet módosítani ebben a nézetben. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Összes eltávolítása - - - + Pattern - Minta + - + Allow Deletion - Törlés engedélyezése + - + + Add + + + + Remove - Eltávolítás + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - A mintára illeszkedő fájlok vagy mappák nem lesznek szinkronizálva. - -Ahol a törlés engedélyezett, ott az elemek törölve lesznek, ha megakadályoznák egy mappa törlését. Ez metaadatok esetén hasznos. + - + Could not open file - A fájl nem nyitható meg + - + Cannot write changes to '%1'. - A változások nem írhatóak ide: „%1”. + - + Add Ignore Pattern - Kihagyási minta hozzáadása + - + Add a new ignore pattern: - Új kihagyási minta hozzáadása: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - A bejegyzést az itt lévő rendszer biztosítja: „%1”, és nem lehet módosítani ebben a nézetben. + @@ -2063,11 +2075,6 @@ for additional privileges during the process. Login in your browser Bejelentkezés böngészőben - - - Copy link to clipboard - Hivatkozás vágólapra másolása - OCC::OwncloudSetupPage @@ -3822,6 +3829,11 @@ Használata nem ajánlott. Re-open Browser Böngésző újranyitása + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_id.ts b/translations/client_id.ts index 452a46402..a501c5f2f 100644 --- a/translations/client_id.ts +++ b/translations/client_id.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Batal @@ -278,224 +288,230 @@ Terhubung dengan <server> sebagai <user> - + No account configured. Belum ada akun terkonfigurasi - + Add new Tambahkan baru - + Remove Buang - + Account Akun - + This account supports end-to-end encryption Akun ini mendukung enkripsi end-to-end - + Enable encryption Hidupkan enkripsi - + Show E2E mnemonic Tampilkan E2E mnemonic - + Encrypt Enkrip - + + + Edit Ignored Files + + + + Choose what to sync Pilih apa yang akan disinkron - + Force sync now Paksa sinkronisasi sekarang - + Restart sync Ulang sinkronisasi - + Remove folder sync connection Hapus koneksi sinkronisasi folder - + Folder creation failed Pembuatan Folder gagal - + <p>Could not create local folder <i>%1</i>. <p>Tidak dapat membuat folder lokal <i>%1</i> - + Confirm Folder Sync Connection Removal Konfirmasi Penghapusan Koneksi Sinkronisasi Folder - + Remove Folder Sync Connection Hapus Koneksi Sinkronisasi Folder - + Sync Running Sinkronisasi berlangsung - + The syncing operation is running.<br/>Do you want to terminate it? Operasi sinkronisasi sedang berjalan. <br/>Apakah Anda ingin membatalkannya? - + %1 in use %1 digunakan - + %1 as <i>%2</i> %1 sebagai <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Versi server %1 sudah usang dan tidak lagi di dukung! Resiko tanggung sendiri. - + Connected to %1. Tersambung ke %1. - + Server %1 is temporarily unavailable. Peladen %1 sementara tidak tersedia. - + Server %1 is currently in maintenance mode. Peladen %1 sementara dalam moda pemeliharaan. - + Signed out from %1. Log keluar dari %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Mendapatkan autorisasi dari browser. <a href='%1'>Klik disini</a> untuk membuka ulang browser. - + Connecting to %1... Menghubungi ke %1... - + No connection to %1 at %2. Tidak ada koneksi ke %1 di %2. - + Log in Log masuk - + There are folders that were not synchronized because they are too big: Terdapat folder tidak tersinkronisasi karena terlalu besar: - + There are folders that were not synchronized because they are external storages: Terdapat folder tidak tersinkronisasi karena penyimpanan eksternal: - + There are folders that were not synchronized because they are too big or external storages: Terdapat folder tidak tersinkronisasi karena terlalu besar atau penyimpanan ekternal: - + Confirm Account Removal Konfirmasi pemutusan akun - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p> Apakah Anda ingin menghapus koneksi untuk akun <i> %1</i>?</p> <p><b> Catatan: </b> Aksi ini tidak akan menghapus berkas apapun.</p> - + Remove connection Hapus koneksi - - + + Open folder Buka folder - - + + Log out Log keluar - + Resume sync Lanjutkan sinkron - + Pause sync Jeda sinkron - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p> Apakah Anda ingin menghentikan sinkronisasi folder <i>%1</i>?</p><p><b> Catatan:</b> Aksi ini tidak akan menghapus berkas apapun.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) dari %2 sedang digunakan. Beberapa folder, termasuk jaringan yang terpasang atau folder yang telah dibagikan, kemungkinan mempunyai beberapa keterbatasan. - + %1 of %2 in use %1 dari %2 sedang digunakan - + Currently there is no storage usage information available. Saat ini tidak ada informasi penggunaan ruang yang tersedia. - + No %1 connection configured. Tidak ada koneksi %1 yang dikonfigurasi. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1556,63 +1562,69 @@ Melanjutkan sinkronisasi seperti biasanya akan menyebabkan semua berkas Anda dit Berkas Diabaikan Menurut Pola - - Add - Tambah + + This entry is provided by the system at '%1' and cannot be modified in this view. + Entri ini disediakan oleh sistem di '%1' dan tidak dapat dimodifikasi dalam tampilan ini. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Hapus semua - - - + Pattern - Pola + - + Allow Deletion - Bolehkan Penghapusan + - + + Add + + + + Remove - Hapus + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Berkas atau folder yang cocok dengan pola tidak akan disinkronisasi. - -Item dimana penghapusan yang diperbolehkan akan dihapus jika item tsb mencegah sebuah direktori untuk dihapus. Ini berguna untuk data meta. + - + Could not open file - Tidak dapat membuka berkas + - + Cannot write changes to '%1'. - Tidak dapat menulis perubahan ke '%1'. + - + Add Ignore Pattern - Tambah Pola Abaian + - + Add a new ignore pattern: - Tambah baru pola abaian: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Entri ini disediakan oleh sistem di '%1' dan tidak dapat dimodifikasi dalam tampilan ini. + @@ -2063,11 +2075,6 @@ beberapa ijin pada saat proses berjalan. Login in your browser Masuk ke peramban Anda - - - Copy link to clipboard - Salin tautan ke papan klip - OCC::OwncloudSetupPage @@ -3820,6 +3827,11 @@ Tidak disarankan untuk digunakan. Re-open Browser + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_is.ts b/translations/client_is.ts index 5156cc813..aa04bcbe3 100644 --- a/translations/client_is.ts +++ b/translations/client_is.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -268,8 +278,8 @@ - - + + Cancel Hætta við @@ -279,229 +289,235 @@ Tengd/ur við <server> sem <user> - + No account configured. Enginn aðgangur stilltur. - + Add new Bæta við nýju - + Remove Fjarlægja - + Account Aðgangur - + This account supports end-to-end encryption - + Enable encryption Virkja dulritun - + Show E2E mnemonic Sýna E2E minnistækni - + Encrypt Dulrita - + + + Edit Ignored Files + + + + Choose what to sync Veldu það sem á að samstilla - + Force sync now Þvinga samstillingu núna - + Restart sync Endurræsa samstillingu - + Remove folder sync connection Fjarlægja samstillingartengingu möppu - + Folder creation failed Gerð möppu mistókst - + <p>Could not create local folder <i>%1</i>. <p>Gat ekki búið til staðværa möppu <i>%1</i>. - + Confirm Folder Sync Connection Removal Staðfesta fjarlægingu á samstillingartengingu möppu - + Remove Folder Sync Connection Fjarlægja samstillingartengingu möppu - + Sync Running Samstilling er keyrandi - + The syncing operation is running.<br/>Do you want to terminate it? Aðgerðin sem samstillir er í gangi.<br/>Viltu stöðva hana? - + %1 in use %1 í notkun - + %1 as <i>%2</i> %1 sem <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Þjónninn er af útgáfu %1 sem er úrelt og ekki lengur studd! Ef þú heldur áfram er það á þína eigin ábyrgð. - + Connected to %1. Tengdur við %1. - + Server %1 is temporarily unavailable. Þjónninn %1 er ekki tiltækur í augnablikinu. - + Server %1 is currently in maintenance mode. Þjónninn %1 er í viðhaldsham. - + Signed out from %1. Skráður út af %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... Tengist við %1... - + No connection to %1 at %2. Engin tenging við %1 á %2. - + Log in Skrá inn - + There are folders that were not synchronized because they are too big: Það eru möppur sem ekki eru samstilltar því þær eru of stórar: - + There are folders that were not synchronized because they are external storages: Það eru möppur sem ekki eru samstilltar því þær ytri eru gagnageymslur: - + There are folders that were not synchronized because they are too big or external storages: Það eru möppur sem ekki eru samstilltar því þær eru of stórar eða eru ytri gagnageymslur: - + Confirm Account Removal Staðfesta fjarlægingu aðgangs - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Viltu í alvörunni fjarlægja tenginguna við aðganginn <i>%1</i>?</p><p><b>Athugið:</b> Þetta mun <b>ekki</b> eyða neinum skrám.</p> - + Remove connection Fjarlægja tengingu - - + + Open folder Opna möppu - - + + Log out Skrá út - + Resume sync Halda samstillingu áfram - + Pause sync Gera hlé á samstillingu - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Viltu í alvörunni hætta að samstilla möppuna <i>%1</i>?</p><p><b>Athugið:</b> Þetta mun <b>ekki</b> eyða neinum skrám.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) af %2 í notkun. Sumar möppur, þar með taldar netmöppur tengdar í skráakerfið eða sameignarmöppur, gætu verið með önnur takmörk. - + %1 of %2 in use %1 af %2 í notkun - + Currently there is no storage usage information available. Það eru engar upplýsingar um gagnamagn fáanlegar í augnablikinu. - + No %1 connection configured. Engin %1 tenging skilgreind. @@ -794,12 +810,7 @@ skráakerfið eða sameignarmöppur, gætu verið með önnur takmörk. - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -807,12 +818,7 @@ skráakerfið eða sameignarmöppur, gætu verið með önnur takmörk. OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1552,60 +1558,68 @@ Vertu viss um að ekkert annað forrit sé ekki að nota hana. Skrár hunsaðar eftir mynstrum - - Add - Bæta við + + This entry is provided by the system at '%1' and cannot be modified in this view. + + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Fjarlægja allt - - - + Pattern - Mynstur + - + Allow Deletion - Leyfa eyðingu + - + + Add + + + + Remove - Fjarlægja + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - + Could not open file - Gat ekki opnað skrá + - + Cannot write changes to '%1'. - Get ekki skrifað breytingar í '%1'. + - + Add Ignore Pattern - Bæta við hunsunarmynstri + - + Add a new ignore pattern: - Bæta við nýju hunsunarmynstri: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. @@ -2057,11 +2071,6 @@ aðgerð til að leysa málið!</small></p> Login in your browser Skráðu þig inn í vafranum þínum - - - Copy link to clipboard - Afrita tengil á klippispjald - OCC::OwncloudSetupPage @@ -3820,6 +3829,11 @@ Ekki er mælt með því að hún sé notuð. Re-open Browser Opna vafra aftur + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_it.ts b/translations/client_it.ts index 97d344579..f963c232a 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -129,8 +129,13 @@ - Re-open Browser (or right-click to copy link) - Apri di nuovo il browser (o clic destro per copiare il collegamento) + Re-open Browser + + + + + Copy link + @@ -152,8 +157,13 @@ - Re-open Browser (or right-click to copy link) - Apri di nuovo il browser (o clic destro per copiare il collegamento) + Re-open Browser + + + + + Copy link + @@ -267,8 +277,8 @@ - - + + Cancel Annulla @@ -278,224 +288,230 @@ Connesso a <server> come <user> - + No account configured. Nessun account configurato. - + Add new Aggiungi nuovo - + Remove Rimuovi - + Account Account - + This account supports end-to-end encryption Questo account supporta la cifratura End-To-End - + Enable encryption Abilita cifratura - + Show E2E mnemonic Mostra codice mnemonico E2E - + Encrypt Cifra - + + + Edit Ignored Files + + + + Choose what to sync Scegli cosa sincronizzare - + Force sync now Forza ora la sincronizzazione - + Restart sync Riavvia sincronizzazione - + Remove folder sync connection Rimuovi connessione di sincronizzazione cartelle - + Folder creation failed Creazione della cartella non riuscita - + <p>Could not create local folder <i>%1</i>. <p>Impossibile creare la cartella locale <i>%1</i>. - + Confirm Folder Sync Connection Removal Conferma rimozione connessione di sincronizzazione cartelle - + Remove Folder Sync Connection Rimuovi connessione di sincronizzazione cartelle - + Sync Running La sincronizzazione è in corso - + The syncing operation is running.<br/>Do you want to terminate it? L'operazione di sincronizzazione è in corso.<br/>Vuoi terminarla? - + %1 in use %1 in uso - + %1 as <i>%2</i> %1 come <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. La versione %1 del server è datata e non supportata! Continua a tuo rischio. - + Connected to %1. Connesso a %1. - + Server %1 is temporarily unavailable. Il server %1 è temporaneamente non disponibile. - + Server %1 is currently in maintenance mode. Il Server %1 è attualmente in manutenzione - + Signed out from %1. Disconnesso da %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Ottenimento dell'autorizzazione dal browser. <a href='%1'>Fai clic qui</a> per aprire nuovamente il browser. - + Connecting to %1... Connessione a %1 in corso… - + No connection to %1 at %2. Nessuna connessione a %1 su %2. - + Log in Accedi - + There are folders that were not synchronized because they are too big: Ci sono nuove cartelle che non sono state sincronizzate poiché sono troppo grandi: - + There are folders that were not synchronized because they are external storages: Ci sono nuove cartelle che non sono state sincronizzate poiché sono archiviazioni esterne: - + There are folders that were not synchronized because they are too big or external storages: Ci sono nuove cartelle che non sono state sincronizzate poiché sono troppo grandi o archiviazioni esterne: - + Confirm Account Removal Conferma rimozione account - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vuoi davvero eliminare la connessione all'account <i>%1</i>?</p><p><b>Nota:</b> ciò <b>non</b> eliminerà alcun file.</p> - + Remove connection Rimuovi connessione - - + + Open folder Apri cartella - - + + Log out Esci - + Resume sync Riprendi la sincronizzazione - + Pause sync Sospendi la sincronizzazione - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vuoi davvero fermare la sincronizzazione della cartella <i>%1</i>?</p><p><b>Nota:</b> ciò <b>non</b> eliminerà alcun file.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) di %2 in uso. Alcune cartelle, incluse quelle montate in rete o le cartelle condivise, potrebbero avere limiti diversi. - + %1 of %2 in use %1 di %2 in uso - + Currently there is no storage usage information available. Non ci sono informazioni disponibili sull'utilizzo dello spazio di archiviazione. - + No %1 connection configured. Nessuna connessione di %1 configurata. @@ -788,12 +804,7 @@ Accedi tramite il tuo browser (Login Flow v2) - - Copy link to clipboard - Copia collegamento negli appunti - - - + Unable to open the Browser, please copy the link to your Browser. Impossibile aprire il browser, copia il collegamento nel tuo browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - Copia collegamento negli appunti - - - + Unable to open the Browser, please copy the link to your Browser. Impossibile aprire il browser, copia il collegamento nel tuo browser. @@ -1558,63 +1564,69 @@ Se continui normalmente la sincronizzazione provocherai la sovrascrittura di tut File ignorati per modelli - - Add - Aggiungi + + This entry is provided by the system at '%1' and cannot be modified in this view. + Questa voce è fornita dal sistema in '%1' e non può essere modificata in questa vista. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Rimuovi tutto - - - + Pattern - Modello + - + Allow Deletion - Consenti eliminazione + - + + Add + + + + Remove - Rimuovi + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - I file e le cartelle che verificano un modello non saranno sincronizzati. - -Gli elementi per i quali è consentita l'eliminazione, saranno eliminati se impediscono la rimozione di una cartella. Utile per i metadati. + - + Could not open file - Impossibile aprire il file + - + Cannot write changes to '%1'. - Impossibile scrivere le modifiche in '%1'. + - + Add Ignore Pattern - Aggiungi modello Ignora + - + Add a new ignore pattern: - Aggiungi un nuovo modello di esclusione: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Questa voce è fornita dal sistema in '%1' e non può essere modificata in questa vista. + @@ -2065,11 +2077,6 @@ for additional privileges during the process. Login in your browser Accedi tramite il tuo browser - - - Copy link to clipboard - Copia collegamento negli appunti - OCC::OwncloudSetupPage @@ -3824,6 +3831,11 @@ Non è consigliabile utilizzarlo. Re-open Browser Apri nuovamente il browser + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_ja.ts b/translations/client_ja.ts index 9900d18ce..c62051412 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel キャンセル @@ -278,224 +288,230 @@ <server> に <user> で接続中 - + No account configured. アカウントが未設定です。 - + Add new 新規追加 - + Remove 削除 - + Account アカウント - + This account supports end-to-end encryption このアカウントはエンドツーエンドの暗号化をサポートしています - + Enable encryption 暗号化を有効にする - + Show E2E mnemonic E2Eニーモニックを表示 - + Encrypt 暗号化 - + + + Edit Ignored Files + + + + Choose what to sync 同期フォルダーを選択 - + Force sync now 今すぐ強制的に同期 - + Restart sync 同期を再実行 - + Remove folder sync connection 同期フォルダー接続を削除 - + Folder creation failed フォルダーの作成に失敗しました - + <p>Could not create local folder <i>%1</i>. <p>ローカルフォルダー <i>%1</i> を作成できません。 - + Confirm Folder Sync Connection Removal 同期フォルダー接続の削除を確認 - + Remove Folder Sync Connection 同期フォルダー接続を削除 - + Sync Running 同期を実行中 - + The syncing operation is running.<br/>Do you want to terminate it? 同期作業を実行中です。<br/>終了しますか? - + %1 in use %1 を使用中 - + %1 as <i>%2</i> <i>%2</i> の %1 - + The server version %1 is old and unsupported! Proceed at your own risk. サーバーバージョン %1 は古く、サポートされていません!自己責任で進めてください。 - + Connected to %1. %1 に接続 - + Server %1 is temporarily unavailable. サーバー %1 は一時的に利用できません - + Server %1 is currently in maintenance mode. サーバー %1 は現在メンテナンスモードです。 - + Signed out from %1. %1 からサインアウトしました。 - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. ブラウザーから許可を取得。<a href='%1'>ここをクリック</a> してブラウザを再度開きます。 - + Connecting to %1... %1 に接続中... - + No connection to %1 at %2. %2 の %1 への接続がありません。 - + Log in ログイン - + There are folders that were not synchronized because they are too big: 大きすぎるため同期されなかったフォルダーがあります: - + There are folders that were not synchronized because they are external storages: 外部ストレージにあるため同期されなかったフォルダーがあります: - + There are folders that were not synchronized because they are too big or external storages: 大きすぎたか、外部ストレージにあるため同期されなかったフォルダーがあります: - + Confirm Account Removal アカウント削除確認 - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p> アカウント <i>%1</i> を本当に削除しますか?</p><p><b>注意:</b> これによりファイルが一切削除されることはありません。</p> - + Remove connection 接続削除 - - + + Open folder フォルダーを開く - - + + Log out ログアウト - + Resume sync 再開 - + Pause sync 一時停止 - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>フォルダー<i>%1</i>の同期を本当に止めますか?</p><p><b>注:</b> これによりファイルが一切削除されることはありません。</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %2 の %1(%3%) 利用中。外部ネットワークストレージや共有フォルダーを含むフォルダーがある場合は、容量の上限値が異なる可能性があります。 - + %1 of %2 in use %2 のうち %1 を使用中 - + Currently there is no storage usage information available. 現在、利用できるストレージ利用状況はありません。 - + No %1 connection configured. %1 の接続は設定されていません。 @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1552,63 +1558,69 @@ Continuing the sync as normal will cause all your files to be overwritten by an パターンによって除外するファイル - - Add - 追加 + + This entry is provided by the system at '%1' and cannot be modified in this view. + このエントリーは、システム '%1' から提供されています。この画面では変更できません。 + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - すべて削除する - - - + Pattern - パターン + - + Allow Deletion - 削除を許可 + - + + Add + + + + Remove - 削除 + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - パターンに一致するファイルやフォルダーは同期されません。 - -パターンによってディレクトリを削除から除外する場合は,パターンに含まれた項目も削除されます。例えばメタデータファイルに有用です。 + - + Could not open file - ファイルが開けませんでした + - + Cannot write changes to '%1'. - '%1'を更新できません。 + - + Add Ignore Pattern - 除外するファイルパターンを追加 + - + Add a new ignore pattern: - 除外するファイルパターンを新しく追加: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - このエントリーは、システム '%1' から提供されています。この画面では変更できません。 + @@ -2059,11 +2071,6 @@ for additional privileges during the process. Login in your browser ブラウザにログイン - - - Copy link to clipboard - リンクをクリップボードにコピーする - OCC::OwncloudSetupPage @@ -3817,6 +3824,11 @@ It is not advisable to use it. Re-open Browser ブラウザを再度開く + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_lt_LT.ts b/translations/client_lt_LT.ts index bd05c7aa6..2d6e9408c 100644 --- a/translations/client_lt_LT.ts +++ b/translations/client_lt_LT.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Atsisakyti @@ -278,224 +288,230 @@ Prisijungta su <server> kaip <user> - + No account configured. Nėra sukonfiguruotų paskyrų. - + Add new Pridėti naują - + Remove Šalinti - + Account Paskyra - + This account supports end-to-end encryption Ši paskyra palaiko ištisinį šifravimą - + Enable encryption Įjungti šifravimą - + Show E2E mnemonic - + Encrypt Šifruoti - + + + Edit Ignored Files + + + + Choose what to sync Pasirinkti ką sinchronizuoti - + Force sync now Inicijuoti sinchronizavimą dabar. - + Restart sync Paleisti sinchronizavimą iš naujo - + Remove folder sync connection Pašalinti aplankų sinchronizavimo ryšį - + Folder creation failed Aplanko sukūrimas nepavyko - + <p>Could not create local folder <i>%1</i>. <p>Nepavyko sukurti vietinio aplanko <i>%1</i>. - + Confirm Folder Sync Connection Removal Patvirtinti aplankų sinchronizavimo ryšio pašalinimą - + Remove Folder Sync Connection Pašalinti aplankų sinchronizavimo ryšį - + Sync Running Vyksta sinchronizavimas - + The syncing operation is running.<br/>Do you want to terminate it? Vyksta sinchronizavimo operacija.<br/>Ar norite ją nutraukti? - + %1 in use %1 naudojama - + %1 as <i>%2</i> %1 kaip <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Serverio versija %1 yra sena ir daugiau nepalaikoma. Jos naudojimas Jūsų pačių atsakomybė. - + Connected to %1. Prisijungta prie %1. - + Server %1 is temporarily unavailable. Serveris %1 yra laikinai neprieinamas. - + Server %1 is currently in maintenance mode. Šiuo metu serveris %1 yra techninės priežiūros veiksenoje. - + Signed out from %1. Atsijungta iš %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Autorizuojama vykdoma per naršyklę.<a href='%1'>Paspauskite čia</a>, jei norite iš naujo atidaryti naršyklę. - + Connecting to %1... Jungiamasi prie %1... - + No connection to %1 at %2. %2 neturi ryšio su %1. - + Log in Prisijungti - + There are folders that were not synchronized because they are too big: Yra aplankų, kurie nebuvo sinchronizuoti dėl to, kad buvo per dideli: - + There are folders that were not synchronized because they are external storages: Aplankai, kurie nebuvo sinchronizuoti, kadangi jie yra išorinės saugyklos: - + There are folders that were not synchronized because they are too big or external storages: Yra aplankų, kurie nebuvo sinchronizuoti dėl to, kad buvo per dideli arba yra išorinės saugyklos: - + Confirm Account Removal Patvirtinti paskyros pašalinimą - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ar tikrai norite pašalinti ryšį su paskyra <i>%1</i>?</p><p><b> Pastaba:</b> Failai <b>nebus</b> ištrinti.</p> - + Remove connection Šalinti ryšį - - + + Open folder Atverti aplanką - - + + Log out Atsijungti - + Resume sync Pratęsti sinchronizavimą - + Pause sync Pristabdyti sinchronizavimą - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ar tikrai norite sustabdyti failų sinchronizavimą <i>%1</i>? </p><p><b>Pastaba:</b> Failai <b>nebus</b> ištrinti.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) iš %2 yra naudojami. Kai kuriuose aplankuose gali būti naudojami skirtingi apribojimai. - + %1 of %2 in use %1 iš %2 yra naudojami - + Currently there is no storage usage information available. Šiuo metu nėra informacijos apie saugyklos panaudojimą. - + No %1 connection configured. Nesukonfigūruota %1 sujungimų. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1552,63 +1558,69 @@ Jei tęsite sinchronizavimą, Jūsų ankstesni failai bus perrašyti senesniais. Failai, kuriuos ignoravo šablonai - - Add - Pridėti + + This entry is provided by the system at '%1' and cannot be modified in this view. + Šis įrašas pateikiamas sistemoje "% 1" ir negali būti keičiamas šiame rodinyje. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Pašalinti viską - - - + Pattern - Šablonai + - + Allow Deletion - Leisti ištrynimą + - + + Add + + + + Remove - Šalinti + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Failai ar aplankai, atitinkantys šabloną, nebus sinchronizuojami - -Elementai, kuriuose galimas trynimas, bus ištrinti, jei jie apsaugos direktoriją nuo pašalinimo. Tai naudinga metaduomenims. + - + Could not open file - Nepavyko atverti failą + - + Cannot write changes to '%1'. - Nepavyksta įrašyti pakeitimus į "%1". + - + Add Ignore Pattern - Pridėti nepaisymo šabloną + - + Add a new ignore pattern: - Pridėti naują ignoravimo šabloną: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Šis įrašas pateikiamas sistemoje "% 1" ir negali būti keičiamas šiame rodinyje. + @@ -2058,11 +2070,6 @@ papildomų teisių. Login in your browser Prisijunkite naršyklėje - - - Copy link to clipboard - Kopijuoti nuorodą į iškarpinę - OCC::OwncloudSetupPage @@ -3817,6 +3824,11 @@ Patariama jo nenaudoti. Re-open Browser Iš naujo atverti naršyklę + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_lv.ts b/translations/client_lv.ts index a446f7677..2c1fab0a7 100644 --- a/translations/client_lv.ts +++ b/translations/client_lv.ts @@ -80,7 +80,7 @@ Quit sync client - + Iziet no sinhronizācijas klienta @@ -115,7 +115,7 @@ Form - + Forma @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Atcelt @@ -278,224 +288,230 @@ Savienojies ar <server> kā <user> - + No account configured. Nav konfigurēts konts. - + Add new Pievienot jaunu - + Remove Noņemt - + Account Konts - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt Šifrēt - + + + Edit Ignored Files + + + + Choose what to sync Izvēlies ko sinhronizēt - + Force sync now Piespeist tūlītēju sinhronizēšanu - + Restart sync Restartēt sinronizāciju - + Remove folder sync connection Noņemt mapes sinhronizācijas savienojumu - + Folder creation failed Mapes izveide neizdevās - + <p>Could not create local folder <i>%1</i>. <p>Nevarējas izveidot lokālo mapi <i>%1</i>. - + Confirm Folder Sync Connection Removal Noņemt mapes sinhronizācijas savienojuma noņemšanai - + Remove Folder Sync Connection Noņemt mapes sinhronizācijas savienojumu - + Sync Running Notiek Sinhronizācija - + The syncing operation is running.<br/>Do you want to terminate it? Pašlaik notiek sinhronizācijas operācija.<br/>Vai to izbeigt? - + %1 in use %1 tiek lietots - + %1 as <i>%2</i> %1 kā <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Servera versija %1 ir novecojusi un netiek atbalstīta! Turpini un paša atbildību. - + Connected to %1. Savienots ar %1. - + Server %1 is temporarily unavailable. Serveris %1 ir īslaicīgi nepiejams. - + Server %1 is currently in maintenance mode. Serveris %1 pašlaik ir uzturēšanas režīmā - + Signed out from %1. Izrakstījies no %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Saņemam pilnvaru no pārlūka. <a href='%1'>Noklikšķini šeit</a>lai atkārtoti atvērtu pārlūku. - + Connecting to %1... Savienojas ar %1. - + No connection to %1 at %2. Nav savienojuma ar %1 pie %2. - + Log in Pieteikties - + There are folders that were not synchronized because they are too big: Šīs mapes netika sinhronizētas, jo tās ir pārāk lielas: - + There are folders that were not synchronized because they are external storages: Šīs mapes netika sinhronizētas, jo tās atrodas ārējās krātuvēs: - + There are folders that were not synchronized because they are too big or external storages: Šīs mapes netika sinhronizētas, jo tās ir pārāk lielas, vai atrodas ārējās krātuvēs: - + Confirm Account Removal Apstiprini Konta noņemšanai - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vai tiešām vēlaties noņemt savienojumu kontam <i>%1</i>?</p><p><b>Piezīme:</b> Tas <b>neveiks</b> nekādu datņu dzēšanu.</p> - + Remove connection Noņemt savienojumu - - + + Open folder Atvērt mapi - - + + Log out Iziet - + Resume sync Turpināt sinhronizāciju - + Pause sync Pauzēt sinhronizāciju - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vai tiešām vēlaties apturēt mapes <i>%1</i> sinhronizēšanu?</p><p><b>Piezīme:</b> Tas <b>neveiks</b> nekādu datņu dzēšanu.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) no %2 izmantots. Dažas mapes, tajā skaitā montētas no tīkla vai koplietotas, var saturēt dažādus ierobežojumus. - + %1 of %2 in use %1 no %2 izmantots - + Currently there is no storage usage information available. Pašlaik nav pieejama diska vietas informācija. - + No %1 connection configured. Nav %1 savienojums konfigurēts. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1543,62 +1549,70 @@ Continuing the sync as normal will cause all your files to be overwritten by an - - Add - Pievienot + + This entry is provided by the system at '%1' and cannot be modified in this view. + + + + OCC::IgnoreListTableWidget - - Remove all + + IgnoreListTableWidget - + Pattern - + Allow Deletion - + + Add + + + + Remove - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - + Could not open file - + Cannot write changes to '%1'. - + Add Ignore Pattern - + Add a new ignore pattern: - - - This entry is provided by the system at '%1' and cannot be modified in this view. - - OCC::LegalNotice @@ -2046,11 +2060,6 @@ for additional privileges during the process. Login in your browser Pieteikties jūsu pārlūkā - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3802,6 +3811,11 @@ It is not advisable to use it. Re-open Browser Atkārtoti atvērt pārlūku + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index ac024b3ae..2bed44d7d 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Avbryt @@ -278,224 +288,230 @@ Tilkoblet <server> som <user> - + No account configured. Ingen konto konfigurert. - + Add new Legg til ny - + Remove Fjern - + Account Konto - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt Krypter - + + + Edit Ignored Files + + + + Choose what to sync Velg hva som synkroniseres - + Force sync now Tving synkronisering nå - + Restart sync Synkroniser på ny - + Remove folder sync connection Fjern tilkobling for synkronisering av mappe - + Folder creation failed Oppretting av mappe feilet - + <p>Could not create local folder <i>%1</i>. <p>Klarte ikke å opprette lokal mappe <i>%1</i>. - + Confirm Folder Sync Connection Removal Bekreft fjerning av tilkobling for synkronisering av mappe - + Remove Folder Sync Connection Fjern tilkobling for mappe-synkronisering - + Sync Running Synkroniserer... - + The syncing operation is running.<br/>Do you want to terminate it? Synkronisering kjører.<br/>Vil du avbryte den? - + %1 in use %1 i bruk - + %1 as <i>%2</i> %1 som <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Server-versjonen %1 er gammel og støttes ikke! Fortsett på egen risiko. - + Connected to %1. Tilkoblet %1. - + Server %1 is temporarily unavailable. Server %1 er midlertidig utilgjengelig. - + Server %1 is currently in maintenance mode. Server %1 er for øyeblikket i vedlikeholdsmodus. - + Signed out from %1. Logget ut fra %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... Kobler til %1 … - + No connection to %1 at %2. Ingen tilkobling til %1 på %2. - + Log in Logg inn - + There are folders that were not synchronized because they are too big: Noen mapper ble ikke synkronisert fordi de er for store - + There are folders that were not synchronized because they are external storages: Noen mapper ble ikke synkronisert fordi de er eksterne lagringsplasser: - + There are folders that were not synchronized because they are too big or external storages: Noen mapper ble ikke synkronisert fordi de er for store eller de er eksterne lagringsplasser: - + Confirm Account Removal Bekreft fjerning av konto - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vil du virkelig fjerne tilkoblingen til kontoen <i>%1</i>?</p><p><b>Merk:</b> Dette vil <b>ikke</b> slette noen filer.</p> - + Remove connection Fjern tilkobling - - + + Open folder Åpne mappe - - + + Log out Logg ut - + Resume sync Fortsett synkronisering - + Pause sync Sett synkronisering på pause - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vil du virkelig stoppe synkronisering av mappen <i>%1</i>?</p><p><b>Merk:</b> Dette vil <b>ikke</b> slette noen filer.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) av %2 i bruk. Noen mapper, inkludert nettverkstilkoblede eller delte mapper, kan ha andre begrensninger. - + %1 of %2 in use %1 av %2 i bruk - + Currently there is no storage usage information available. Ingen informasjon om bruk av lagringsplass tilgjengelig for øyeblikket. - + No %1 connection configured. Ingen %1-forbindelse konfigurert. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1548,63 +1554,69 @@ Hvis synkroniseringen fortsetter som normalt, vil alle filene dine bli overskrev Filer som ignorerers av mønstre - - Add - Legg til + + This entry is provided by the system at '%1' and cannot be modified in this view. + Denne oppføringen er gitt av systemet på '%1' og kan ikke endres i denne visningen. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Fjern alle - - - + Pattern - Mønster + - + Allow Deletion - Tillat sletting + - + + Add + + + + Remove - Fjern + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Filer eller mapper som passer med et mønster vil ikke bli synkronisert. - -Elementer hvor sletting er tillatt, vil bli slettet hvis de forhindrer fjerning av en mappe. Dette er hendig for metadata. + - + Could not open file - Klarte ikke å åpne fil + - + Cannot write changes to '%1'. - Kan ikke skrive endringer til '%1'. + - + Add Ignore Pattern - Nytt mønster + - + Add a new ignore pattern: - Legg til ignoreringsmønster: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Denne oppføringen er gitt av systemet på '%1' og kan ikke endres i denne visningen. + @@ -2054,11 +2066,6 @@ kan be om flere rettigheter under behandlingen. Login in your browser Logg inn i din nettleser - - - Copy link to clipboard - Kopier lenke til utklippstavlen - OCC::OwncloudSetupPage @@ -3813,6 +3820,11 @@ Det er ikke tilrådelig å bruke den. Re-open Browser Gjenåpne nettleser + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_nl.ts b/translations/client_nl.ts index 90cb7bc8d..14eb4704c 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -129,8 +129,13 @@ - Re-open Browser (or right-click to copy link) - Heropen Browser (of klik rechts om de link te kopiëren) + Re-open Browser + + + + + Copy link + @@ -152,8 +157,13 @@ - Re-open Browser (or right-click to copy link) - Heropen Browser (of klik rechts om de link te kopiëren) + Re-open Browser + + + + + Copy link + @@ -267,8 +277,8 @@ - - + + Cancel Annuleren @@ -278,224 +288,230 @@ Verbonden met <server> als <user> - + No account configured. Geen account ingesteld. - + Add new Toevoegen nieuw - + Remove Verwijder - + Account Account - + This account supports end-to-end encryption Dit account ondersteunt end-to-endversleuteling - + Enable encryption Encryptie activeren - + Show E2E mnemonic Tonen E2E mnemonic - + Encrypt Versleutelen - + + + Edit Ignored Files + + + + Choose what to sync Selectieve synchronisatie - + Force sync now Forceer sync nu - + Restart sync Herstarten sync - + Remove folder sync connection Verwijderen map sync verbinding - + Folder creation failed Maken map mislukt - + <p>Could not create local folder <i>%1</i>. <p>Kon lokale map <i>%1</i> niet maken. - + Confirm Folder Sync Connection Removal Bevestig verwijderen Map Sync verbinding - + Remove Folder Sync Connection Verwijderen Map Sync verbinding - + Sync Running Bezig met synchroniseren - + The syncing operation is running.<br/>Do you want to terminate it? Bezig met synchroniseren.<br/>Wilt u stoppen met synchroniseren? - + %1 in use %1 in gebruik - + %1 as <i>%2</i> %1 als <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. De serverversie %1 is oud en wordt niet meer ondersteund. Verdergaan is op eigen risico. - + Connected to %1. Verbonden met %1. - + Server %1 is temporarily unavailable. Server %1 is tijdelijk niet beschikbaar - + Server %1 is currently in maintenance mode. Server %1 momenteel in onderhoudsmodus. - + Signed out from %1. Uitgelogd van %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Authorization van de browser verkrijgen. <a href='%1'>Klik hier</a> om de browser te heropenen. - + Connecting to %1... Verbinden met %1... - + No connection to %1 at %2. Geen verbinding met %1 op %2. - + Log in Meld u aan - + There are folders that were not synchronized because they are too big: Er zijn mappen die niet gesynchroniseerd werden, omdat ze te groot zijn: - + There are folders that were not synchronized because they are external storages: Er zijn mappen die niet gesynchroniseerd werden, omdat ze op externe opslag staan: - + There are folders that were not synchronized because they are too big or external storages: Er zijn mappen die niet gesynchroniseerd werden, omdat ze te groot zijn of op externe opslag staan: - + Confirm Account Removal Bevestig verwijderen account - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Wilt u echt de verbinding met het account <i>%1</i> verbreken?</p><p><b>Let op:</b> Hierdoor verwijdert u <b>geen</b> bestanden.</p> - + Remove connection Verwijderen verbinding - - + + Open folder Openen map - - + + Log out Afmelden - + Resume sync Hervatten sync - + Pause sync Pauzeren sync - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Weet u zeker dat u de synchronisatie van map <i>%1</i> wilt stoppen?</p><p><b>Opmerking:</b> Dit zal <b>geen</b> bestanden verwijderen.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) van %2 in gebruik. Sommige mappen, inclusief netwerkmappen en gedeelde mappen, kunnen andere limieten hebben. - + %1 of %2 in use %1 van %2 in gebruik - + Currently there is no storage usage information available. Er is nu geen informatie over het gebruik van de opslagruimte beschikbaar. - + No %1 connection configured. Geen %1 connectie geconfigureerd. @@ -788,12 +804,7 @@ Login in je browser (Login Flow v2) - - Copy link to clipboard - Kopiëren link naar klembord - - - + Unable to open the Browser, please copy the link to your Browser. Kon de browser niet openen, kopieer de link naar je browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - Kopiëren link naar klembord - - - + Unable to open the Browser, please copy the link to your Browser. Kon de browser niet openen, kopieer de link naar je browser. @@ -1560,63 +1566,69 @@ Account: %3 Bestanden volgens patroon genegeerd - - Add - Toevoegen + + This entry is provided by the system at '%1' and cannot be modified in this view. + Dit gegeven is door het systeem vastgelegd op '%1' en kan niet worden aangepast in deze weergave. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Alles verwijderen - - - + Pattern - Patroon + - + Allow Deletion - Verwijderen toestaan + - + + Add + + + + Remove - Verwijder + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Bestanden of mappen die overeenkomen met een patroon zullen niet worden gesynchroniseerd. - -Onderdelen die gewist mogen worden worden verwijderd als ze voorkomen dat een map verdwijnt. Dit is nuttig voor metadata. + - + Could not open file - Kon het bestand niet openen + - + Cannot write changes to '%1'. - Er kunnen geen wijzigingen worden geschreven naar %1 + - + Add Ignore Pattern - Toevoegen negeerpatroon + - + Add a new ignore pattern: - Voeg nieuw negeerpatroon toe: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Dit gegeven is door het systeem vastgelegd op '%1' en kan niet worden aangepast in deze weergave. + @@ -2068,11 +2080,6 @@ vragen om extra autorisaties tijdens installatie. Login in your browser Login in je browser - - - Copy link to clipboard - Kopiëren link naar klembord - OCC::OwncloudSetupPage @@ -3827,6 +3834,11 @@ We adviseren deze site niet te gebruiken. Re-open Browser Heropen browser + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_pl.ts b/translations/client_pl.ts index d51083e45..7689909d0 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -129,8 +129,13 @@ - Re-open Browser (or right-click to copy link) - Ponownie otwórz przeglądarkę (lub kliknij prawym przyciskiem myszy, aby skopiować link) + Re-open Browser + + + + + Copy link + @@ -152,8 +157,13 @@ - Re-open Browser (or right-click to copy link) - Ponownie otwórz przeglądarkę (lub kliknij prawym przyciskiem myszy, aby skopiować link) + Re-open Browser + + + + + Copy link + @@ -267,8 +277,8 @@ - - + + Cancel Anuluj @@ -278,224 +288,230 @@ Połączony z <server> jako <user> - + No account configured. Brak skonfigurowanych kont. - + Add new Dodaj nowe - + Remove Usuń - + Account Konto - + This account supports end-to-end encryption To konto obsługuje szyfrowanie typu end-to-end - + Enable encryption Włącz szyfrowanie - + Show E2E mnemonic Pokaż klucz E2E - + Encrypt Szyfruj - + + + Edit Ignored Files + + + + Choose what to sync Wybierz elementy do synchronizacji - + Force sync now Zsynchronizuj teraz - + Restart sync Uruchom ponownie synchronizację - + Remove folder sync connection Usuń folder synchronizacji - + Folder creation failed Utworzenie katalogu nie powiodło się - + <p>Could not create local folder <i>%1</i>. <p>Nie można utworzyć folderu lokalnego <i>%1</i>. - + Confirm Folder Sync Connection Removal Potwierdź usunięcie folderu synchronizacji - + Remove Folder Sync Connection Usuń folder synchronizacji - + Sync Running Synchronizacja uruchomiona - + The syncing operation is running.<br/>Do you want to terminate it? Operacja synchronizacji jest uruchomiona.<br/>Czy chcesz ją zakończyć? - + %1 in use Wykorzystane: %1 - + %1 as <i>%2</i> %1 jako <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Wersja serwera %1 jest przestarzała i nie jest już wspierana. Kontynuujesz na własne ryzyko. - + Connected to %1. Podłączony do %1. - + Server %1 is temporarily unavailable. Serwer %1 jest tymczasowo niedostępny. - + Server %1 is currently in maintenance mode. Serwer %1 jest obecnie w trybie konserwacji. - + Signed out from %1. Wylogowano z %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Uzyskanie autoryzacji z przeglądarki. <a href='%1'>Kliknij tutaj</a>, aby ponownie otworzyć przeglądarkę. - + Connecting to %1... Łączenie do %1… - + No connection to %1 at %2. Brak połączenia do %1 z %2. - + Log in Zaloguj - + There are folders that were not synchronized because they are too big: Te katalogi nie zostały zsynchronizowane ponieważ są zbyt duże: - + There are folders that were not synchronized because they are external storages: Te katalogi nie zostały zsynchronizowane, ponieważ znajdują się w magazynach zewnętrznych: - + There are folders that were not synchronized because they are too big or external storages: Te katalogi nie zostały zsynchronizowane, ponieważ są zbyt duże lub znajdują się w magazynach zewnętrznych: - + Confirm Account Removal Potwierdź usunięcie konta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Czy na pewno chcesz usunąć połączenie z kontem <i>%1</i>?</p><p><b>Uwaga:</b> Ta operacja <b>nie</b> usunie plików klienta.</p> - + Remove connection Usuwanie połączenia - - + + Open folder Otwórz folder - - + + Log out Wyloguj - + Resume sync Przywróć synchronizację - + Pause sync Zatrzymaj synchronizację - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Czy na pewno chcesz zatrzymać synchronizację folderu <i>%1</i>?</p><p><b>Uwaga:</b> ta operacja <b>nie</b> usunie plików z klienta.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) z %2 w użyciu. Niektóre foldery, w tym zamontowane lub udostępnione foldery w sieci, mogą mieć różne limity. - + %1 of %2 in use Wykorzystane: %1 z %2 - + Currently there is no storage usage information available. Obecnie nie ma dostępnych informacji o wykorzystaniu pamięci masowej. - + No %1 connection configured. Połączenie %1 nie skonfigurowane. @@ -788,12 +804,7 @@ Zaloguj się w przeglądarce (Login Flow v2) - - Copy link to clipboard - Skopiuj link do schowka - - - + Unable to open the Browser, please copy the link to your Browser. Nie można otworzyć przeglądarki, skopiuj link do swojej przeglądarki. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - Skopiuj link do schowka - - - + Unable to open the Browser, please copy the link to your Browser. Nie można otworzyć przeglądarki, skopiuj link do swojej przeglądarki. @@ -1556,63 +1562,69 @@ Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie Twoje pli Pliki ignorowane zgodnie z szablonem - - Add - Dodaj + + This entry is provided by the system at '%1' and cannot be modified in this view. + Ten wpis jest podawany przez system w '%1' i nie może być zmieniony w tym widoku. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Usuń wszystko - - - + Pattern - Szablon + - + Allow Deletion - Pozwól na usuwanie + - + + Add + + + + Remove - Usuń + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Pliki lub foldery pasujące do szablonu nie będą zsynchronizowane. - -Elementy, dla których usuwanie jest dozwolone zostaną usunięte, jeżeli uprawnienia folderu dopuszczają usuwanie. Jest to przydatne dla metadanych. + - + Could not open file - Nie można otworzyć plików + - + Cannot write changes to '%1'. - Nie mogę zapisać zmian do '%1'. + - + Add Ignore Pattern - Dodaj ignorowany + - + Add a new ignore pattern: - Dodaj nowy ignorowany: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Ten wpis jest podawany przez system w '%1' i nie może być zmieniony w tym widoku. + @@ -2064,11 +2076,6 @@ o dodatkowe uprawnienia podczas procesu aktualizacji. Login in your browser Zaloguj się w przeglądarce - - - Copy link to clipboard - Skopiuj odnośnik do schowka - OCC::OwncloudSetupPage @@ -3155,12 +3162,12 @@ Niezalecane jest jego użycie. Fingerprint (SHA-256): <tt>%1</tt> - + Odcisk (SHA-256): <tt>%1</tt> Fingerprint (SHA-512): <tt>%1</tt> - + Odcisk (SHA-512): <tt>%1</tt> @@ -3823,6 +3830,11 @@ Niezalecane jest jego użycie. Re-open Browser Otwórz przeglądarkę ponownie + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_pt.ts b/translations/client_pt.ts index 7232d05e2..8d4347871 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Cancelar @@ -278,224 +288,230 @@ Ligado ao <server> como <user> - + No account configured. Nenhuma conta configurada. - + Add new Adicionar nova - + Remove Remover - + Account Conta - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt - + + + Edit Ignored Files + + + + Choose what to sync Escolher o que sincronizar - + Force sync now Forçar a sincronização - + Restart sync Retomar sincronização - + Remove folder sync connection Remover ligação de sincronização de pasta - + Folder creation failed Não foi possível criar a pasta - + <p>Could not create local folder <i>%1</i>. <p>Não foi possível criar a pasta local<i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar Remoção da Ligação de Sincronização de Pasta - + Remove Folder Sync Connection Remover Ligação da Sincronização de Pasta - + Sync Running Sincronização em Execução - + The syncing operation is running.<br/>Do you want to terminate it? A operação de sincronização está em execução.<br/>Deseja terminá-la? - + %1 in use %1 em utilização - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. A versão %1 do servidor é antiga e não é suportada! Prossiga por sua conta e risco. - + Connected to %1. Ligado a %1. - + Server %1 is temporarily unavailable. O servidor %1 está temporariamente indisponível. - + Server %1 is currently in maintenance mode. O Servidor %1 encontra-se em manutenção - + Signed out from %1. Terminou a sessão de %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... A Conectar a %1... - + No connection to %1 at %2. Sem ligação para %1 em %2. - + Log in Iniciar Sessão - + There are folders that were not synchronized because they are too big: Existem pastas que não foram sincronizadas por serem demasiado grandes: - + There are folders that were not synchronized because they are external storages: Existem pastas que não foram sincronizadas por serem armazenamento externo: - + There are folders that were not synchronized because they are too big or external storages: Existem pastas que não foram sincronizadas por serem demasiado grandes ou armazenamento externo: - + Confirm Account Removal Confirmar Remoção da Conta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Deseja mesmo remover a ligação da conta <i>%1</i>?</p><p><b>Nota:</b> isto <b>não</b> irá eliminar quaisquer ficheiros.</p> - + Remove connection Remover ligação - - + + Open folder Abrir pasta - - + + Log out Terminar sessão - + Resume sync Retomar sincronização - + Pause sync Pausar sincronização - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Deseja mesmo parar a sincronização da pasta <i>%1</i>?</p><p><b>Nota:</b> isto <b>não</b> irá eliminar qualquer ficheiro.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 em utilização. Algumas pastas, incluindo a rede montada ou as pastas partilhadas, podem ter limites diferentes. - + %1 of %2 in use %1 de %2 em utilização - + Currently there is no storage usage information available. Atualmente não está disponível nenhuma informação da utilização do armazenamento. - + No %1 connection configured. %1 sem ligação configurada. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1547,63 +1553,69 @@ Continuando a sincronização fará com que todos os seus ficheiros sejam substi Ficheiros Ignorados por Padrões - - Add - Adicionar + + This entry is provided by the system at '%1' and cannot be modified in this view. + Esta entrada é fornecida pelo sistema em '%1' e não pode ser modificada nesta visualização. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - + + Pattern + + + + + Allow Deletion + + + + + Add + + + + + Remove + + + + Remove all - - Pattern - Padrão - - - - Allow Deletion - Permitir Eliminação - - - - Remove - Remover - - - + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Os ficheiros ou pastas que correspondam a um padrão não serão sincronizadas. - -Os itens onde é permitido a eliminação serão eliminados se estes impedirem a remoção de uma diretoria. Isto é útil para os metadados. + - + Could not open file - Não foi possível abrir o ficheiro + - + Cannot write changes to '%1'. - Não foi possível gravar as alterações para '%1' + - + Add Ignore Pattern - Adicione Padrão de ignorar + - + Add a new ignore pattern: - Adicione um novo padrão de ignorar: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Esta entrada é fornecida pelo sistema em '%1' e não pode ser modificada nesta visualização. + @@ -2053,11 +2065,6 @@ poderá pedir por privilégios adicionais durante o processo. Login in your browser Faça login através do browser - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3812,6 +3819,11 @@ Não é aconselhada a sua utilização. Re-open Browser + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 9b7dbb0f4..4a5a8cc2d 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -129,8 +129,13 @@ - Re-open Browser (or right-click to copy link) - Reabra o Navegador (ou clique com o botão direito do mouse para copiar o link) + Re-open Browser + + + + + Copy link + @@ -152,8 +157,13 @@ - Re-open Browser (or right-click to copy link) - Reabra o Navegador (ou clique com o botão direito do mouse para copiar o link) + Re-open Browser + + + + + Copy link + @@ -267,8 +277,8 @@ - - + + Cancel Cancelar @@ -278,224 +288,230 @@ Conectado com <server> como <user> - + No account configured. Nenhuma conta configurada. - + Add new Adicionar nova - + Remove Remover - + Account Conta - + This account supports end-to-end encryption Esta conta suporta criptografia de ponta-a-ponta - + Enable encryption Ativar criptografia - + Show E2E mnemonic Exibir mnemônico E2E - + Encrypt Criptografar - + + + Edit Ignored Files + + + + Choose what to sync Escolher o que sincronizar - + Force sync now Forçar sincronização agora - + Restart sync Reiniciar a sincronização - + Remove folder sync connection Remover a conexão de sincronização de pastas - + Folder creation failed Falha na criação da pasta - + <p>Could not create local folder <i>%1</i>. <p>Não foi possível criar a pasta local <i>%1</i>. - + Confirm Folder Sync Connection Removal Confirmar a Remoção da Sincronização de Pasta - + Remove Folder Sync Connection Remover a Conexão de Sincronização de pasta - + Sync Running Sincronização ocorrendo - + The syncing operation is running.<br/>Do you want to terminate it? A operação de sincronização está ocorrendo.<br/>Deseja finalizá-la? - + %1 in use %1 em uso - + %1 as <i>%2</i> %1 como <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. A versão do servidor %1 é antiga e não suportada! Prossiga por conta própria. - + Connected to %1. Conectado a %1. - + Server %1 is temporarily unavailable. O servidor %1 está temporariamente indisponível. - + Server %1 is currently in maintenance mode. O servidor %1 está em modo de manutenção. - + Signed out from %1. Desconectado de %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Obtendo autorização do navegador. <a href='%1'>Clique aqui</a> para reabrir o navegador. - + Connecting to %1... Conectando a %1... - + No connection to %1 at %2. Sem conexão para %1 em %2. - + Log in Entrar - + There are folders that were not synchronized because they are too big: Existem pastas que não foram sincronizadas porque são muito grandes: - + There are folders that were not synchronized because they are external storages: Existem pastas que não foram sincronizadas porque são armazenamentos externos: - + There are folders that were not synchronized because they are too big or external storages: Existem pastas que não foram sincronizadas porque são muito grandes ou são armazenamentos externos: - + Confirm Account Removal Confirmar a Remoção da Conta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Deseja realmente remover a conexão desta conta<i>%1</i>?</p><p><b>Nota:</b> Isto <b>não</b> irá excluir nenhum arquivo.</p> - + Remove connection Remover conexão - - + + Open folder Abrir pasta - - + + Log out Sair - + Resume sync Retomar sincronização - + Pause sync Pausar sincronização - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Deseja realmente parar a sincronização desta pasta <i>%1</i>?</p><p><b>Nota:</b> Isto <b>não</b> vai excluir qualquer arquivo.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) de %2 em uso. Algumas pastas, incluindo as montadas na rede ou pastas compartilhadas, podem ter limites diferentes. - + %1 of %2 in use %1 de %2 em uso - + Currently there is no storage usage information available. Atualmente, não há informação disponível do uso de armazenamento. - + No %1 connection configured. Nenhuma conexão %1 configurada. @@ -788,12 +804,7 @@ Faça login no seu navegador (Login Flow v2) - - Copy link to clipboard - Copiar link para a área de transferência - - - + Unable to open the Browser, please copy the link to your Browser. Não foi possível abrir o Navegador, copie o link para o seu Navegador. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - Copiar link para a área de transferência - - - + Unable to open the Browser, please copy the link to your Browser. Não foi possível abrir o Navegador, copie o link para o seu Navegador. @@ -1556,63 +1562,69 @@ Continuar a sincronização como normal fará com que todos os seus arquivos sej Arquivos Ignorados por Padrões - - Add - Adicionar + + This entry is provided by the system at '%1' and cannot be modified in this view. + Esta entrada é fornecida pelo sistema em '%1' e não pode ser modificada aqui. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Remover todos - - - + Pattern - Padrão + - + Allow Deletion - Permitir Exclusão + - + + Add + + + + Remove - Remover + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Arquivos ou pastas que correspondam a um padrão não serão sincronizados. - -Itens onde a exclusão é permitida serão excluídos se eles evitarem que um diretório seja removido. Isso é útil para metadados. + - + Could not open file - Não foi possível abrir o arquivo + - + Cannot write changes to '%1'. - Não é possível gravar as alterações em '%1'. + - + Add Ignore Pattern - Adicionar Padrão a Ignorar + - + Add a new ignore pattern: - Adicionar um novo padrão a ignorar: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Esta entrada é fornecida pelo sistema em '%1' e não pode ser modificada aqui. + @@ -2064,11 +2076,6 @@ pode solicitar por privilégios adicionais durante o processo. Login in your browser Faça login no seu navegador - - - Copy link to clipboard - Copiar link para a área de transferência - OCC::OwncloudSetupPage @@ -3155,12 +3162,12 @@ Não é aconselhável usá-la. Fingerprint (SHA-256): <tt>%1</tt> - + Impressão Digital (SHA-256): <tt>%1</tt> Fingerprint (SHA-512): <tt>%1</tt> - + Impressão Digital (SHA-512): <tt>%1</tt> @@ -3823,6 +3830,11 @@ Não é aconselhável usá-la. Re-open Browser Reabrir o navegador + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 55d53340b..4f7c6c88b 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Отмена @@ -278,224 +288,230 @@ Установлено соединение с <server> с учётной записью <user> - + No account configured. Учётная запись не настроена. - + Add new Добавить новую - + Remove Удалить - + Account Учётная запись - + This account supports end-to-end encryption Эта учетная запись поддерживает сквозное шифрование - + Enable encryption Включить шифрование - + Show E2E mnemonic Показать мнемофразу E2E - + Encrypt Зашифровать - + + + Edit Ignored Files + + + + Choose what to sync Выбрать объекты для синхронизации - + Force sync now Принудительно запустить синхронизацию - + Restart sync Перезапустить синхронизацию - + Remove folder sync connection Отключить синхронизацию папки - + Folder creation failed Ошибка создания папки - + <p>Could not create local folder <i>%1</i>. <p>Не удалось создать локальную папку: <i>«%1»</i>. - + Confirm Folder Sync Connection Removal Подтверждение отключения синхронизации папки - + Remove Folder Sync Connection Отключить синхронизацию папки - + Sync Running Синхронизация запущена - + The syncing operation is running.<br/>Do you want to terminate it? Выполняется синхронизация.<br/>Действительно прервать операцию? - + %1 in use Используется %1 - + %1 as <i>%2</i> %1 под именем <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Сервер версии %1 устарел и не поддерживается. Продолжайте на свой страх и риск. - + Connected to %1. Соединен с %1. - + Server %1 is temporarily unavailable. Сервер %1 временно недоступен. - + Server %1 is currently in maintenance mode. Сервер %1 в настоящее время находится в режиме технического обслуживания. - + Signed out from %1. Успешно вышли из %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Получение авторизации из браузера. <a href='%1'>Нажмите здесь</a>, чтобы повторно открыть браузер. - + Connecting to %1... Соединение с %1... - + No connection to %1 at %2. Нет соединения с %1 в %2. - + Log in Войти - + There are folders that were not synchronized because they are too big: Есть папки, которые не синхронизированы, так как их размер превышает установленное ограничение: - + There are folders that were not synchronized because they are external storages: Есть папки, которые не были синхронизированы, так как они являются внешними хранилищами: - + There are folders that were not synchronized because they are too big or external storages: Есть папки, которые не были синхронизированы, так как их размер превышает установленное ограничение или они являются внешними хранилищами: - + Confirm Account Removal Подтверждение удаления учетной записи - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Действительно удалить подключение к учётной записи <i>%1</i>?</p><p><b>Примечание:</b> Это действие <b>НЕ</b> приведёт к удалению файлов.</p> - + Remove connection Удалить подключение - - + + Open folder Открыть папку - - + + Log out Выйти - + Resume sync Возобновить синхронизацию - + Pause sync Приостановить синхронизацию - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Действительно остановить синхронизацию папки <i>%1</i>?</p><p><b>Примечание:</b> Это действие <b>НЕ</b> приведёт к удалению файлов.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. Используется %1 (%3%) из %2. Некоторые папки, включая сетевые или общие, могут иметь свои собственные ограничения. - + %1 of %2 in use Используется %1 из %2 - + Currently there is no storage usage information available. В данный момент информация о заполненности хранилища недоступна. - + No %1 connection configured. Нет настроенного подключения %1. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1553,62 +1559,69 @@ Continuing the sync as normal will cause all your files to be overwritten by an Шаблоны для исключения файлов из синхронизации - - Add - Добавить + + This entry is provided by the system at '%1' and cannot be modified in this view. + Эта запись сделана системой в '%1' и не может быть изменена в этом представлении. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Убрать все - - - + Pattern - Шаблон + - + Allow Deletion - Разрешить удаление + - + + Add + + + + Remove - Удалить + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Файлы или папки, подходящие под шаблон, не будут синхронизироваться. -В случае, если исключаемые их синхронизации объекты помешают удалению папки, они будут удалены. Использование исключений файлов из синхронизации может полезно, в том числе, для исключения из синхронизации метаданных, сохраняемых в отдельных файлах. + - + Could not open file - Невозможно открыть файл + - + Cannot write changes to '%1'. - Невозможно записать изменения в '%1'. + - + Add Ignore Pattern - Добавление шаблона + - + Add a new ignore pattern: - Введите шаблон для исключения файлов из синхронизации: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Эта запись сделана системой в '%1' и не может быть изменена в этом представлении. + @@ -2058,11 +2071,6 @@ for additional privileges during the process. Login in your browser Выполнить вход в браузере - - - Copy link to clipboard - Скопировать ссылку в буфер обмена - OCC::OwncloudSetupPage @@ -3817,6 +3825,11 @@ It is not advisable to use it. Re-open Browser Повторно открыть браузер + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_sk.ts b/translations/client_sk.ts index c227e6886..ecb5b52f9 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Zrušiť @@ -278,224 +288,230 @@ Spojené z <server> ako <user> - + No account configured. Žiadny účet nie je nastavený. - + Add new Pridať nový účet - + Remove Odobrať - + Account Účet - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic Zobaziť E2E mnemotechnické - + Encrypt Zašifrovať - + + + Edit Ignored Files + + + + Choose what to sync Vybrať čo synchronizovať - + Force sync now Vynútiť synchronizáciu teraz - + Restart sync Reštartovať synchronizáciu - + Remove folder sync connection Odstrániť prepojenie priečinka - + Folder creation failed Vytvorenie priečinka zlyhalo - + <p>Could not create local folder <i>%1</i>. <p>Nemožno vytvoriť lokálny priečinok <i>%1</i>. - + Confirm Folder Sync Connection Removal Potvrdiť odstránenie prepojenia priečinka - + Remove Folder Sync Connection Odstrániť prepojenie priečinka - + Sync Running Prebiehajúca synchronizácia - + The syncing operation is running.<br/>Do you want to terminate it? Proces synchronizácie práve prebieha.<br/>Chcete ho ukončiť? - + %1 in use %1 sa používa - + %1 as <i>%2</i> %1 ako <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Verzia servera %1 je stará a nepodporovaná. Pokračujte na vlastné nebezpečenstvo. - + Connected to %1. Pripojené k %1 - + Server %1 is temporarily unavailable. Server %1 je dočasne nedostupný. - + Server %1 is currently in maintenance mode. Server %1 je momentálne v režime údržby. - + Signed out from %1. Odhlásený z %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Získavam autorizáciu z prehliadača. <a href='%1'>Kliknite sem</a> na opätovné otvorenie prehliadača. - + Connecting to %1... Pripája sa k %1… - + No connection to %1 at %2. Žiadne pripojenie k %1 na %2. - + Log in Prihlásiť sa - + There are folders that were not synchronized because they are too big: Tieto priečinky neboli synchronizované pretože sú príliš veľké: - + There are folders that were not synchronized because they are external storages: Niektoré priečinky neboli synchronizované, pretože sú na externom úložisku - + There are folders that were not synchronized because they are too big or external storages: Niektoré priečinky neboli synchronizované, pretože sú príliš veľké alebo sú na externom úložisku - + Confirm Account Removal Potvrďte ostránenie účtu - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Naozaj chcete odstrániť pripojenie k účtu <i>%1</i>?</p><p><b>Poznámka:</b> Tým sa <b>nevymažú</b> žiadne súbory.</p> - + Remove connection Vymazať pripojenie - - + + Open folder Otvoriť priečinok - - + + Log out Odhlásiť - + Resume sync Obnoviť synchronizáciu - + Pause sync Pozastaviť synchronizáciu - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Naozaj si prajete zastaviť synchronizácu priečinka <i>%1</i>?</p><p><b>Poznámka:</b> Toto <b>nevymaže</b> žiadne súbory.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) z %2 je využitých. Niektoré priečinky, vrátane sieťových a zdieľaných, môžu mať iné limity. - + %1 of %2 in use %1 z %2 je využitých - + Currently there is no storage usage information available. Teraz nie sú k dispozícii žiadne informácie o využití úložiska. - + No %1 connection configured. Žiadne nakonfigurované %1 spojenie @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1551,63 +1557,69 @@ Continuing the sync as normal will cause all your files to be overwritten by an Ignorovať súbory podľa masky - - Add - Pridať + + This entry is provided by the system at '%1' and cannot be modified in this view. + Táto položka je poskytovaná systémom na '%1' a nesmie byť modifikovaná v tomto zobrazení. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Odstrániť všetko - - - + Pattern - Vzor + - + Allow Deletion - Povoliť vymazanie + - + + Add + + + + Remove - Odobrať + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Súbory alebo priečinky vyhovujúce maske nebudu synchronizované. - -Položky u ktorých je povolené mazanie sa vymažú ak by bránili odstráneniu priečinka. Toto je užitočne napr. pre matadáta. + - + Could not open file - Nemožno otvoriť súbor + - + Cannot write changes to '%1'. - Nemožno zapísať zmeny do '%1'. + - + Add Ignore Pattern - Pridať vzor ignorovaného súboru + - + Add a new ignore pattern: - Pridať nový vzor ignorovaného súboru: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Táto položka je poskytovaná systémom na '%1' a nesmie byť modifikovaná v tomto zobrazení. + @@ -2057,11 +2069,6 @@ môžu byť vyžadované dodatočné oprávnenia. Login in your browser Prihlásenie sa v prehliadači - - - Copy link to clipboard - Kopírovať odkaz do schránky - OCC::OwncloudSetupPage @@ -3816,6 +3823,11 @@ Nie je vhodné ju používať. Re-open Browser Znovu otvoriť prehliadač + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_sl.ts b/translations/client_sl.ts index e44ff9105..8d9d76b30 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Prekliči @@ -278,224 +288,230 @@ Vzpostavljena je povezava s strežnikom <server> kot <user> - + No account configured. Ni nastavljenega računa. - + Add new Dodaj nov račun - + Remove Odstrani račun - + Account Račun - + This account supports end-to-end encryption - + Enable encryption Omogoči šifriranje - + Show E2E mnemonic - + Encrypt Šifriraj - + + + Edit Ignored Files + + + + Choose what to sync Izbor predmetov za usklajevanje - + Force sync now Vsili takojšnje usklajevanje - + Restart sync Ponovno zaženi usklajevanje - + Remove folder sync connection Odstrani povezavo za usklajevanje mape - + Folder creation failed Ustvarjanje mape je spodletelo - + <p>Could not create local folder <i>%1</i>. <p>Ni mogoče ustvariti krajevne mape <i>%1</i>. - + Confirm Folder Sync Connection Removal Potrdi odstranjevanje povezave usklajevanja mape - + Remove Folder Sync Connection Odstrani povezavo za usklajevanje mape - + Sync Running Usklajevanje je v teku - + The syncing operation is running.<br/>Do you want to terminate it? Izvaja se usklajevanje.<br/>Ali želite opravilo prekiniti? - + %1 in use %1 v uporabi - + %1 as <i>%2</i> %1 kot <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Različica strežnika %1 je zastarela in ni več podprta! Nadaljujete na lastno odgovornost. - + Connected to %1. Vzpostavljena je povezava z %1. - + Server %1 is temporarily unavailable. Strežnik %1 trenutno ni dosegljiv. - + Server %1 is currently in maintenance mode. Strežnik %1 je trenutno v načinu vzdrževanja. - + Signed out from %1. Uspešno odjavljeno iz %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Poteka pridobitev overitve prek brskalnika. <a href='%1'>Kliknite</a> to za ponovno odpiranje brskalnika. - + Connecting to %1... Poteka vzpostavljanje povezave s strežnikom %1 ... - + No connection to %1 at %2. S strežnikom %1 ni vzpostavljene povezave (%2). - + Log in Prijava - + There are folders that were not synchronized because they are too big: Zaznane so mape, ki zaradi omejitve velikosti niso bile usklajene: - + There are folders that were not synchronized because they are external storages: Zaznane so mape, ki zaradi pripadnosti zunanji shrambi niso bile usklajene: - + There are folders that were not synchronized because they are too big or external storages: Zaznane so mape, ki zaradi omejitve velikosti ali pripadnosti zunanji shrambi niso bile usklajene: - + Confirm Account Removal Potrdi odstranjevanje računa - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ali res želite odstraniti povezavo z računom <i>%1</i>?</p><p><b>Opomba:</b> odstranitev ovezave <b>ne izbriše</b> nobene datoteke.</p> - + Remove connection Odstrani povezavo - - + + Open folder Odpri mapo - - + + Log out Odjavi račun - + Resume sync Nadaljuj z usklajevanjem - + Pause sync Premor usklajevanja - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ali res želite zaustaviti usklajevanje mape <i>%1</i>?</p><p><b>Opomba:</b> s tem datoteke iz odjemalca <b>ne bodo</b> odstranjene.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) od %2 v uporabi. Nekatere mape, vključno s priklopljenimi mapami in mapami v souporabi, imajo morda različne omejitve. - + %1 of %2 in use %1 od %2 v uporabi - + Currently there is no storage usage information available. Trenutno ni na voljo nobenih podatkov o porabi prostora. - + No %1 connection configured. Ni nastavljene povezave %1. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1547,63 +1553,69 @@ Z nadaljevanjem usklajevanja bodo vse trenutne datoteke prepisane s starejšimi Maske neusklajevanih datotek - - Add - Dodaj + + This entry is provided by the system at '%1' and cannot be modified in this view. + Ta vnos je ponujen pri '%1' in ga v tem pogledu ni mogoče spreminjati. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - + + Pattern + + + + + Allow Deletion + + + + + Add + + + + + Remove + + + + Remove all - - Pattern - Maska - - - - Allow Deletion - Dovoli brisanje - - - - Remove - Odstrani - - - + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Datoteke in mape, ki so skladne z masko, ne bodo usklajevane. - -Predmeti v mapah, ki jih je dovoljeno izbrisati, bodo odstranjeni, če preprečujejo brisanje mape. Možnost je uporabna pri odstranjevanju metapodatkov. + - + Could not open file - Datoteke ni mogoče odpreti + - + Cannot write changes to '%1'. - Ni mogoče zapisati sprememb v '%1'. + - + Add Ignore Pattern - Dodaj masko za neusklajevanje + - + Add a new ignore pattern: - Dodaj novo masko za neusklajevanje: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Ta vnos je ponujen pri '%1' in ga v tem pogledu ni mogoče spreminjati. + @@ -2053,11 +2065,6 @@ zahteva skrbniška dovoljenja za dokončanje opravila. Login in your browser Prijava v brskalniku - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3812,6 +3819,11 @@ Uporaba ni priporočljiva. Re-open Browser Ponovno odpri brskalnik + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_sr.ts b/translations/client_sr.ts index 88a9be194..369f28feb 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Одустани @@ -278,224 +288,230 @@ Повезан са <server> као <user> - + No account configured. Није подешен налог. - + Add new Додај нови - + Remove Уклони - + Account Налог - + This account supports end-to-end encryption Овај налог подржава шифровање са краја на крај - + Enable encryption Укључи шифровање - + Show E2E mnemonic Прикажи E2E мнемоник - + Encrypt Шифруј - + + + Edit Ignored Files + + + + Choose what to sync Изаберите шта синхронизовати - + Force sync now Форсирај синхронизацију сада - + Restart sync Поново покрени синхронизацију - + Remove folder sync connection Уклони везу на синхронизацију фасцикле - + Folder creation failed Прављење фасцикле није успело - + <p>Could not create local folder <i>%1</i>. <p>Не могу да направим локалну фасциклу <i>%1</i>. - + Confirm Folder Sync Connection Removal Потврдите уклањање конекције на синхронизацију фасцикле - + Remove Folder Sync Connection Уклони везу на синхронизацију фасцикле - + Sync Running Синхронизација у току - + The syncing operation is running.<br/>Do you want to terminate it? Синхронизација је у току.<br/>Желите ли да је прекинете? - + %1 in use %1 искоришћено - + %1 as <i>%2</i> %1 као <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Верзија сервера %1 је стара и није подржана! Настављате на сопствену одговорност. - + Connected to %1. Повезан са %1. - + Server %1 is temporarily unavailable. Сервер %1 је привремено недоступан. - + Server %1 is currently in maintenance mode. Сервер %1 је тренутно у режиму одржавања. - + Signed out from %1. Одјављен са %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Дохватам ауторизацију из веб читача. <a href='%1'>Кликните овде</a> да поново отворите веб читач. - + Connecting to %1... Повезујем се на %1... - + No connection to %1 at %2. Нема конекције на %1 са %2. - + Log in Пријава - + There are folders that were not synchronized because they are too big: Ово су фасцикле које нису синхронизоване јер су превелике: - + There are folders that were not synchronized because they are external storages: Ово су фасцикле које нису синхронизоване зато што су на спољним складиштима: - + There are folders that were not synchronized because they are too big or external storages: Ово су фасцикле које нису синхронизоване зато што су превелике или су на спољним складиштима: - + Confirm Account Removal Потврда уклањања налога - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Да ли стварно желите да уклоните везу ка налогу <i>%1</i>?</p><p><b>Белешка:</b> Овим <b>нећете</b>обрисати ниједан фајл.</p> - + Remove connection Уклони везу - - + + Open folder Отвори фасциклу - - + + Log out Одјава - + Resume sync Настави синхронизацију - + Pause sync Паузирај синхронизацију - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Желите ли заиста да престанете са синхронизацијом фасцикле <i>%1</i>?</p><p><b>Напомена:</b> Ово <b>неће</b> обрисати ниједан фајл.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) од %2 искоришћено. Неке фасцикле, укључујући мрежно монтиране или дељене фасцикле, могу имати друга ограничења. - + %1 of %2 in use %1% од %2 искоришћено - + Currently there is no storage usage information available. Тренутно нема доступних података о заузећу складишта. - + No %1 connection configured. Нема подешене %1 везе. @@ -788,12 +804,7 @@ - - Copy link to clipboard - Копирај везу у оставу - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - Копирај везу у оставу - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1556,63 +1562,69 @@ Continuing the sync as normal will cause all your files to be overwritten by an Фајлови игнорисани шаблонима - - Add - Додај + + This entry is provided by the system at '%1' and cannot be modified in this view. + Овај унос је системски из „%1“ и не може се овде изменити. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Обриши све - - - + Pattern - шаблон + - + Allow Deletion - брисање + - + + Add + + + + Remove - Уклони + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Фајлови или фасцикле које одговарају шаблону неће бити синхронизоване. - -Ставке над којима је дозвољено брисања ће бити избрисане уколико ометају да се директоријум избрише. Ово је корисно за мета податке. + - + Could not open file - Не могу да отворим фајл + - + Cannot write changes to '%1'. - Не могу да упишем измене у „%1“ + - + Add Ignore Pattern - Додавање шаблона за игнорисање + - + Add a new ignore pattern: - Додајте нови шаблон за игнорисање: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Овај унос је системски из „%1“ и не може се овде изменити. + @@ -2064,11 +2076,6 @@ for additional privileges during the process. Login in your browser Пријавите се из веб читача - - - Copy link to clipboard - Копирај везу у оставу - OCC::OwncloudSetupPage @@ -3823,6 +3830,11 @@ It is not advisable to use it. Re-open Browser Отворите веб читач поново + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_sv.ts b/translations/client_sv.ts index bafc84fe0..eceb52e0f 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -129,8 +129,13 @@ - Re-open Browser (or right-click to copy link) - Öppna webbläsaren igen (eller högerklicka för att kopiera länken) + Re-open Browser + + + + + Copy link + @@ -152,8 +157,13 @@ - Re-open Browser (or right-click to copy link) - Öppna webbläsaren igen (eller högerklicka för att kopiera länken) + Re-open Browser + + + + + Copy link + @@ -267,8 +277,8 @@ - - + + Cancel Avbryt @@ -278,224 +288,230 @@ Ansluten till <server> som <user> - + No account configured. Inget konto är konfigurerat. - + Add new Lägg till ny - + Remove Radera - + Account Konto - + This account supports end-to-end encryption Detta konto stödjer ändpunkt-till-ändpunkt-kryptering - + Enable encryption Aktivera kryptering - + Show E2E mnemonic Visa E2E krypteringsord - + Encrypt Kryptera - + + + Edit Ignored Files + + + + Choose what to sync Välj vad som ska synkas - + Force sync now Tvinga synkning - + Restart sync Starta om synkning - + Remove folder sync connection Ta bort anslutning till mappsynkronisering - + Folder creation failed Kunde inte skapa mappen - + <p>Could not create local folder <i>%1</i>. <p>Kunde inte skapa lokal mapp <i>%1</i>. - + Confirm Folder Sync Connection Removal Bekräfta radering av anslutning till mappsynkronisering - + Remove Folder Sync Connection Ta bort anslutning till mappsynkronisering - + Sync Running Synkronisering pågår - + The syncing operation is running.<br/>Do you want to terminate it? En synkronisering pågår.<br/>Vill du avbryta den? - + %1 in use %1 används - + %1 as <i>%2</i> %1 som <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. Serverversion %1 är gammal och stöds inte längre! Fortsätt på egen risk. - + Connected to %1. Ansluten till %1. - + Server %1 is temporarily unavailable. Servern %1 är för tillfället inte tillgänglig. - + Server %1 is currently in maintenance mode. Servern %1 är för närvarande i underhållsläge. - + Signed out from %1. Utloggad från %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Anskaffar autentisering från webbläsaren. <a href='%1'>Klicka här </a> för att öppna webbläsaren igen. - + Connecting to %1... Ansluter till %1... - + No connection to %1 at %2. Ingen anslutning till %1 vid %2. - + Log in Logga in - + There are folders that were not synchronized because they are too big: Dessa mappar har inte synkroniserats för att de är för stora: - + There are folders that were not synchronized because they are external storages: Det finns mappar som inte synkroniserats för att de är externa lagringsytor: - + There are folders that were not synchronized because they are too big or external storages: Det finns mappar som inte blivit synkroniserade på grund av att de är för stora eller är externa lagringsytor: - + Confirm Account Removal Bekräfta radering an kontot - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vill du verkligen avsluta anslutningen till kontot <i>%1</i>?</p><p><b>Observera:</b> Detta kommer <b>inte</b> radera några filer.</p> - + Remove connection Radera anslutning - - + + Open folder Öppna mapp - - + + Log out Logga ut - + Resume sync Återuppta synkronisering - + Pause sync Pausa synkronisering - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vill du verkligen avbryta synkronisering av mappen <i>%1</i>?</p><p><b>Observera:</b> Detta kommer <b>inte</b> radera några filer.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) av %2 används. Vissa mappar, inklusive nätverks- eller delade mappar, kan ha andra begränsningar. - + %1 of %2 in use %1 av %2 används - + Currently there is no storage usage information available. Just nu finns ingen utrymmes information tillgänglig - + No %1 connection configured. Ingen %1 anslutning konfigurerad. @@ -788,12 +804,7 @@ Logga in i din webbläsare (Login Flow v2) - - Copy link to clipboard - Kopiera länk till urklipp - - - + Unable to open the Browser, please copy the link to your Browser. Det går inte att öppna webbläsaren, kopiera länken till din webbläsare. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - Kopiera länk till urklipp - - - + Unable to open the Browser, please copy the link to your Browser. Det går inte att öppna webbläsaren, kopiera länken till din webbläsare. @@ -1556,63 +1562,69 @@ Om du fortsätter synkningen kommer alla dina filer återställas med en äldre Filer ignorerade av mönster - - Add - Lägg till + + This entry is provided by the system at '%1' and cannot be modified in this view. + Denna post hanteras av systemet på '%1' och kan inte ändras här. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Ta bort alla - - - + Pattern - Mönster + - + Allow Deletion - Tillåt radering + - + + Add + + + + Remove - Radera + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Filer eller mappar som matchar ett möster kommer inte synkroniseras. - -Objekt som tillåter radering kommer tas bort om de förhindrar en mapp att tas bort. Det är användbart för meta-data. + - + Could not open file - Kunde inte öppna fil + - + Cannot write changes to '%1'. - Kan inte skriva förändringar till '%1'. + - + Add Ignore Pattern - Lägg till synk-filter + - + Add a new ignore pattern: - Lägg till ett nytt synk-filter: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Denna post hanteras av systemet på '%1' och kan inte ändras här. + @@ -2064,11 +2076,6 @@ ytterligare rättigheter under processen. Login in your browser Logga in i din webbläsare - - - Copy link to clipboard - Kopiera länk till urklipp - OCC::OwncloudSetupPage @@ -3155,12 +3162,12 @@ Det är inte lämpligt använda den. Fingerprint (SHA-256): <tt>%1</tt> - + Fingeravtryck (SHA-256): <tt>%1</tt> Fingerprint (SHA-512): <tt>%1</tt> - + Fingeravtryck (SHA-512): <tt>%1</tt> @@ -3823,6 +3830,11 @@ Det är inte lämpligt använda den. Re-open Browser Återöppna webbläsaren + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_th.ts b/translations/client_th.ts index 5f9e40876..3eada20bb 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel ยกเลิก @@ -278,224 +288,230 @@ เชื่อมต่อกับ <server> ด้วยผู้ใช้ <user> - + No account configured. ไม่มีการกำหนดค่าบัญชี - + Add new เพิ่มใหม่ - + Remove ลบออก - + Account บัญชี - + This account supports end-to-end encryption - + Enable encryption เปิดใช้งานการเข้ารหัส - + Show E2E mnemonic - + Encrypt เข้ารหัส - + + + Edit Ignored Files + + + + Choose what to sync เลือกข้อมูลที่ต้องการประสาน - + Force sync now บังคับประสานข้อมูลเดี๋ยวนี้ - + Restart sync ประสานข้อมูลอีกครั้ง - + Remove folder sync connection ลบโฟลเดอร์ที่ประสานข้อมูลออก - + Folder creation failed สร้างโฟลเดอร์ล้มเหลว - + <p>Could not create local folder <i>%1</i>. <p>ไม่สามารถสร้างโฟลเดอร์ต้นทาง <i>%1</i>. - + Confirm Folder Sync Connection Removal ยืนยันการลบโฟลเดอร์ที่ประสานข้อมูลออก - + Remove Folder Sync Connection ลบโฟลเดอร์ที่ประสานข้อมูล - + Sync Running กำลังประสานข้อมูล - + The syncing operation is running.<br/>Do you want to terminate it? กำลังดำเนินการประสานข้อมูลอยู่ <br/>คุณต้องการสิ้นสุดการทำงาน? - + %1 in use %1 กำลังถูกใช้งาน - + %1 as <i>%2</i> %1 เช่น <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. เซิร์ฟเวอร์เวอร์ชัน %1 เป็นรุ่นเก่าและไม่ได้รับการสนับสนุน! ดำเนินการความเสี่ยงด้วยคุณเอง - + Connected to %1. เชื่อมต่อกับ %1 - + Server %1 is temporarily unavailable. เซิร์ฟเวอร์ %1 ไม่สามารถใช้ได้ชั่วคราว - + Server %1 is currently in maintenance mode. เซิร์ฟเวอร์ %1 กำลังอยู่ในโหมดการบำรุงรักษา - + Signed out from %1. ลงชื่อออกจาก %1 - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. กำลังได้รับอนุญาตจากเบราเซอร์ <a href='%1'>คลิกที่นี่</a> เพื่อเปิดเบราเซอร์อีกครั้ง - + Connecting to %1... กำลังเชื่อมต่อไปยัง %1... - + No connection to %1 at %2. ไม่มีการเชื่อมต่อไปยัง %1 ที่ %2 - + Log in เข้าสู่ระบบ - + There are folders that were not synchronized because they are too big: บางโฟลเดอร์จะไม่ถูกประสานข้อมูลเพราะขนาดของมันใหญ่เกินไป: - + There are folders that were not synchronized because they are external storages: มีบางโฟลเดอร์จะไม่ถูกประสานข้อมูลเพราะเป็นพื้นที่จัดเก็บข้อมูลภายนอก - + There are folders that were not synchronized because they are too big or external storages: มีบางโฟลเดอร์จะไม่ถูกประสานข้อมูลเพราะเป็นพื้นที่จัดเก็บข้อมูลภายนอกหรือมีขนาดที่ใหญ่เกินไป - + Confirm Account Removal ยืนยันการลบบัญชี - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>คุณต้องการลบการเชื่อมต่อกับบัญชี<i>%1</i>?</p><p><b>หมายเหตุ:</b> นี้จะ <b>ไม่</b> ลบไฟล์ใดๆ</p> - + Remove connection ลบการเชื่อมต่อ - - + + Open folder เปิดโฟลเดอร์ - - + + Log out ออกจากระบบ - + Resume sync ประสานข้อมูลอีกครั้ง - + Pause sync หยุดประสานข้อมูลชั่วคราว - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>คุณต้องการที่จะหยุดการประสานข้อมูลโฟลเดอร์<i>%1</i>?</p><p><b>หมายเหตุ:</b> นี้จะ <b>ไม่</b> ลบไฟล์ใดๆ</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. มีการใช้งาน %1 (%3%) จาก %2 บางโฟลเดอร์รวมทั้งเครือข่ายที่ติดตั้งหรือโฟลเดอร์ที่แชร์อาจมีข้อจำกัดที่แตกต่างกัน - + %1 of %2 in use มีการใช้งาน %1 จาก %2 - + Currently there is no storage usage information available. ขณะนี้ไม่มีพื้นที่จัดเก็บข้อมูลที่ใช้งานได้ - + No %1 connection configured. ไม่มีการเชื่อมต่อ %1 ที่ถูกกำหนดค่า @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1548,63 +1554,69 @@ Continuing the sync as normal will cause all your files to be overwritten by an ข้ามไฟล์โดยรูปแบบ - - Add - เพิ่ม + + This entry is provided by the system at '%1' and cannot be modified in this view. + รายการนี้ถูกระบุโดยระบบที่ '%1' และไม่สามารถแก้ไขได้ในมุมมองนี้ + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - + + Pattern + + + + + Allow Deletion + + + + + Add + + + + + Remove + + + + Remove all - - Pattern - รูปแบบ - - - - Allow Deletion - อนุญาตให้ลบ - - - - Remove - ลบออก - - - + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - ไฟล์หรือโฟลเดอร์ที่เหมือนกันจะไม่ถูกประสานข้อมูล - -รายการที่ลบจะถูกอนุญาตให้ลบถ้าพวกเขาป้องกันไม่ให้ไดเรกทอรีถูกลบออก นี้จะเป็นประโยชน์สำหรับข้อมูล meta + - + Could not open file - ไม่สามารถเปิดไฟล์ + - + Cannot write changes to '%1'. - ไม่สามารถเขียนเปลี่ยนเป็น '%1' + - + Add Ignore Pattern - เพิ่มการละเว้นรูปแบบ + - + Add a new ignore pattern: - เพิ่มการละเว้นรูปแบบใหม่: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - รายการนี้ถูกระบุโดยระบบที่ '%1' และไม่สามารถแก้ไขได้ในมุมมองนี้ + @@ -2053,11 +2065,6 @@ for additional privileges during the process. Login in your browser เข้าสู่ระบบในเบราเซอร์ของคุณ - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3811,6 +3818,11 @@ It is not advisable to use it. Re-open Browser เปิดเบราเซอร์อีกครั้ง + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_tr.ts b/translations/client_tr.ts index 8b751826c..eae188f27 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -129,8 +129,13 @@ - Re-open Browser (or right-click to copy link) - Web tarayıcıyı yeniden açın (ya da bağlantıyı kopyalamak için sağ tıklayın) + Re-open Browser + + + + + Copy link + @@ -152,8 +157,13 @@ - Re-open Browser (or right-click to copy link) - Web tarayıcıyı yeniden açın (ya da bağlantıyı kopyalamak için sağ tıklayın) + Re-open Browser + + + + + Copy link + @@ -267,8 +277,8 @@ - - + + Cancel İptal @@ -278,224 +288,230 @@ <server> ile <user> olarak bağlantı kuruldu - + No account configured. Herhangi bir hesap yapılandırılmamış. - + Add new Yeni ekle - + Remove Sil - + Account Hesap - + This account supports end-to-end encryption Bu hesap uçtan uca şifrelemeyi destekliyor - + Enable encryption Şifreleme kullanılsın - + Show E2E mnemonic Uçtan uca şifreleme anımsatıcı görüntülensin: - + Encrypt Şifrele - + + + Edit Ignored Files + + + + Choose what to sync Eşitlenecek ögeleri seçin - + Force sync now Şimdi eşitlemeye zorla - + Restart sync Eşitlemeyi yeniden başlat - + Remove folder sync connection Klasör eşitleme bağlantısını sil - + Folder creation failed Klasör oluşturulamadı - + <p>Could not create local folder <i>%1</i>. <p><i>%1</i> yerel klasörü oluşturulamadı. - + Confirm Folder Sync Connection Removal Klasör Eşitleme Bağlantısını Silmeyi Onaylayın - + Remove Folder Sync Connection Klasör Eşitleme Bağlantısını Sil - + Sync Running Eşitleme Çalışıyor - + The syncing operation is running.<br/>Do you want to terminate it? Eşitleme işlemi sürüyor.<br/>Durdurmak istiyor musunuz? - + %1 in use %1 kullanılıyor - + %1 as <i>%2</i> %1 <i>%2</i> olarak - + The server version %1 is old and unsupported! Proceed at your own risk. %1 sunucu sürümü eski ve desteklenmiyor! Riski üstlenerek devam edebilirsiniz. - + Connected to %1. %1 ile bağlı. - + Server %1 is temporarily unavailable. %1 sunucusu geçici olarak kullanılamıyor. - + Server %1 is currently in maintenance mode. %1 sunucusu bakım kipinde. - + Signed out from %1. %1 oturumu kapatıldı. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. Kimlik web tarayıcısı üzerinden doğrulanıyor. Web tarayıcıyı yeniden açmak için <a href='%1'>buraya tıklayın</a>. - + Connecting to %1... %1 bağlantısı kuruluyor... - + No connection to %1 at %2. %1 ile %2 üzerinde bağlantı yok. - + Log in Oturum Aç - + There are folders that were not synchronized because they are too big: Çok büyük oldukları için eşitlenmeyen klasörler var: - + There are folders that were not synchronized because they are external storages: Dış depolama alanlarında bulundukları için eşitlenmeyen klasörler var: - + There are folders that were not synchronized because they are too big or external storages: Çok büyük oldukları için ya da dış depolama alanında bulundukları için eşitlenmeyen klasörler var: - + Confirm Account Removal Hesap Silmeyi Onaylayın - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Gerçekten <i>%1</i> hesabının bağlantısını kaldırmayı istiyor musunuz?</p><p><b>Not:</b> Bu işlem herhangi bir dosyayı <b>silmez</b>.</p> - + Remove connection Bağlantıyı kaldır - - + + Open folder Klasörü aç - - + + Log out Oturumu Kapat - + Resume sync Eşitlemeyi sürdür - + Pause sync Eşitlemeyi duraklat - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Gerçekten <i>%1</i> klasörünün eşitlemesini durdurmayı istiyor musunuz?</p><p><b>Not:</b> Bu işlem herhangi bir dosyayı <b>silmez</b>.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) / %2 kullanımda. Ağ üzerinden bağlanmış ya da paylaşılmış klasörlerin sınırları farklı olabilir. - + %1 of %2 in use %1 / %2 kullanılıyor - + Currently there is no storage usage information available. Şu anda depolama kullanımı ile ilgili bir bilgi yok. - + No %1 connection configured. Henüz bir %1 bağlantısı yapılandırılmamış. @@ -788,12 +804,7 @@ Web tarayıcınızda oturum açın (Login Flow v2) - - Copy link to clipboard - Bağlantıyı panoya kopyala - - - + Unable to open the Browser, please copy the link to your Browser. Web tarayıcı açılamadı. Lütfen bağlantıyı kopyalayıp tarayıcınıza yapıştırın. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - Bağlantıyı panoya kopyala - - - + Unable to open the Browser, please copy the link to your Browser. Web tarayıcı açılamadı. Lütfen bağlantıyı kopyalayıp tarayıcınıza yapıştırın. @@ -1555,63 +1561,69 @@ Eşitlemeye normal şekilde devam edilirse tüm dosyalar daha eski bir dosya ile Modele Göre Yok Sayılacak Dosyalar - - Add - Ekle + + This entry is provided by the system at '%1' and cannot be modified in this view. + '%1' üzerindeki bu kayıt sistem tarafından sağlanıyor ve bu görünümde düzenlenemez. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Tümünü kaldır - - - + Pattern - Model + - + Allow Deletion - Silinebilsin + - + + Add + + + + Remove - Sil + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - Bir modele uyab dosya ya da klasörler eşitlenmez. - -Silme izni verildiğinde bir klasörün silinmesini engelleyen ögeler silinir. Bu özellik üst veriler için kullanışlıdır. + - + Could not open file - Dosya açılamadı + - + Cannot write changes to '%1'. - Değişiklikler '%1' üzerine yazılamıyor. + - + Add Ignore Pattern - Yok Sayma Modeli Ekle + - + Add a new ignore pattern: - Yeni bir yok sayma modeli ekle: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - '%1' üzerindeki bu kayıt sistem tarafından sağlanıyor ve bu görünümde düzenlenemez. + @@ -2063,11 +2075,6 @@ güncelleyici başka izinler isteyebilir. Login in your browser Web tarayıcınızda oturum açın - - - Copy link to clipboard - Bağlantıyı panoya kopyala - OCC::OwncloudSetupPage @@ -3154,12 +3161,12 @@ Kullanmanız önerilmez. Fingerprint (SHA-256): <tt>%1</tt> - + Parmak izi (SHA-256): <tt>%1</tt> Fingerprint (SHA-512): <tt>%1</tt> - + Parmak izi (SHA-512): <tt>%1</tt> @@ -3822,6 +3829,11 @@ Kullanmanız önerilmez. Re-open Browser Tarayıcıyı Yeniden Aç + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_uk.ts b/translations/client_uk.ts index 287eb80b1..317b0e01b 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel Скасувати @@ -278,224 +288,230 @@ Підключено до <server> як <user> - + No account configured. Обліковий запис не налаштовано. - + Add new Додати - + Remove Видалити - + Account Обліковий запис - + This account supports end-to-end encryption - + Enable encryption - + Show E2E mnemonic - + Encrypt Шифрувати - + + + Edit Ignored Files + + + + Choose what to sync Оберіть, що хочете синхронізувати - + Force sync now Примусово синхронізувати зараз - + Restart sync Перезапустити синхронізацію - + Remove folder sync connection - + Folder creation failed Не вдалося створити теку - + <p>Could not create local folder <i>%1</i>. <p>Неможливо створити локальну теку <i>%1</i>. - + Confirm Folder Sync Connection Removal - + Remove Folder Sync Connection - + Sync Running Виконується синхронізація - + The syncing operation is running.<br/>Do you want to terminate it? Виконується процедура синхронізації.<br/>Бажаєте зупинити? - + %1 in use %1 використовується - + %1 as <i>%2</i> %1 як <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. - + Connected to %1. Підключено до %1. - + Server %1 is temporarily unavailable. Сервер %1 тимчасово недоступний. - + Server %1 is currently in maintenance mode. - + Signed out from %1. - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... - + No connection to %1 at %2. - + Log in Увійти - + There are folders that were not synchronized because they are too big: - + There are folders that were not synchronized because they are external storages: - + There are folders that were not synchronized because they are too big or external storages: - + Confirm Account Removal Підтвердіть видалення облікового запису - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection - - + + Open folder Відкрити теку - - + + Log out Вихід - + Resume sync Відновити синхронізацію - + Pause sync Призупинити синхронізацію - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. Використовується %1 (%3%) з %2. Деякі теки, включаючи мережеві змонтовані чи спільні, можуть мати інші обмеження. - + %1 of %2 in use Використовується %1 з %2 - + Currently there is no storage usage information available. На даний час немає відомостей про наповнення сховища. - + No %1 connection configured. Жодного %1 підключення не налаштовано. @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1541,61 +1547,69 @@ Continuing the sync as normal will cause all your files to be overwritten by an Файли ігноровані за шаблоном - - Add - Додати + + This entry is provided by the system at '%1' and cannot be modified in this view. + Цей запис створено системою в '%1', тут змінити його не можна. + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - Вилучити все - - - + Pattern - Шаблон + - + Allow Deletion - Дозволити видалення + - + + Add + + + + Remove - Видалити + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - + Could not open file - Не вдалося відкрити файл + - + Cannot write changes to '%1'. - Неможливо запиасати зміни до '%1'. + - + Add Ignore Pattern - Додати шаблон ігнорування + - + Add a new ignore pattern: - Додати новий шаблон ігнорування: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - Цей запис створено системою в '%1', тут змінити його не можна. + @@ -2044,11 +2058,6 @@ for additional privileges during the process. Login in your browser Авторизуйтеся у вашому браузері - - - Copy link to clipboard - Зберегти посилання до буферу обміну - OCC::OwncloudSetupPage @@ -3803,6 +3812,11 @@ It is not advisable to use it. Re-open Browser + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index 347f955d3..81dcd492d 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -129,8 +129,13 @@ - Re-open Browser (or right-click to copy link) - 重新打开浏览器(或右击以复制链接) + Re-open Browser + + + + + Copy link + @@ -152,8 +157,13 @@ - Re-open Browser (or right-click to copy link) - 重新打开浏览器(或右击以复制链接) + Re-open Browser + + + + + Copy link + @@ -267,8 +277,8 @@ - - + + Cancel 取消 @@ -278,224 +288,230 @@ <user> 已经连接到 <server> - + No account configured. 没有配置的帐号。 - + Add new 添加 - + Remove 移除 - + Account 账户 - + This account supports end-to-end encryption 此账号支持端到端加密 - + Enable encryption 启用加密 - + Show E2E mnemonic 显示 E2E 助记词 - + Encrypt 加密 - + + + Edit Ignored Files + + + + Choose what to sync 选择同步内容 - + Force sync now 立即强制同步 - + Restart sync 重启同步 - + Remove folder sync connection 移除文件夹同步连接 - + Folder creation failed 文件夹创建失败 - + <p>Could not create local folder <i>%1</i>. <p>无法创建文件夹 <i>%1</i>。 - + Confirm Folder Sync Connection Removal 确定移除文件夹同步连接 - + Remove Folder Sync Connection 移除文件夹同步连接 - + Sync Running 正在同步 - + The syncing operation is running.<br/>Do you want to terminate it? 同步操作正在进行。<br />您确定要停止吗? - + %1 in use %1 已使用 - + %1 as <i>%2</i> %1, <i>%2</i> - + The server version %1 is old and unsupported! Proceed at your own risk. 服务器版本 %1 很旧且不支持,继续操作将自行承担风险。 - + Connected to %1. 已连接到 %1。 - + Server %1 is temporarily unavailable. 服务器 %1 暂时不可用。 - + Server %1 is currently in maintenance mode. 服务器 %1 目前正在维护。 - + Signed out from %1. 从 %1 退出。 - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. 正在从浏览器获得授权。 <a href='%1'>点击此处</a> 重新打开浏览器。 - + Connecting to %1... 正在连接到 %1 - + No connection to %1 at %2. 没有到位于%2中的%1的连接 - + Log in 登录 - + There are folders that were not synchronized because they are too big: 以下目录由于太大而没有同步: - + There are folders that were not synchronized because they are external storages: 以下目录由于是外部存储而没有同步: - + There are folders that were not synchronized because they are too big or external storages: 以下目录由于太大或是外部存储而没有同步: - + Confirm Account Removal 确认删除账号 - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>您确定要删除账号<i>%1</i>的连接?</p><p><b>注意:</b> 这 <b>不会</b> 删除任何文件。</p> - + Remove connection 删除连接 - - + + Open folder 打开文件夹 - - + + Log out 注销 - + Resume sync 恢复同步 - + Pause sync 暂停同步 - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>您确定要停止文件夹<i>%1</i>同步?</p><p><b>注意:</b> 这 <b>不会</b> 删除任何文件。</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) of %2 使用中。一些文件夹,例如网络挂载的和共享的文件夹,可能有不同的限制。 - + %1 of %2 in use 使用量 %1 / %2 - + Currently there is no storage usage information available. 目前没有储存使用量信息可用。 - + No %1 connection configured. 没有 %1 连接配置。 @@ -788,12 +804,7 @@ 在您的浏览器中登录(Login Flow v2) - - Copy link to clipboard - 复制链接到剪贴板 - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1556,63 +1562,69 @@ Continuing the sync as normal will cause all your files to be overwritten by an 文件忽略模式: - - Add - 增加 + + This entry is provided by the system at '%1' and cannot be modified in this view. + 此项目由系统在 %1 处提供,不能在这里被修改。 + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - 移除全部 - - - + Pattern - 模式 + - + Allow Deletion - 允许删除 + - + + Add + + + + Remove - 移除 + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - 匹配到模式的文件或文件夹将不会被同步。 - -如果选中的项目正在阻止文件夹的删除,它们也会被删除。这对于元数据很有用。 + - + Could not open file - 不能打开文件 + - + Cannot write changes to '%1'. - 无法向 %1 中写入修改。 + - + Add Ignore Pattern - 增加忽略模式 + - + Add a new ignore pattern: - 增加新的忽略模式: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - 此项目由系统在 %1 处提供,不能在这里被修改。 + @@ -2063,11 +2075,6 @@ for additional privileges during the process. Login in your browser 在浏览器中登录 - - - Copy link to clipboard - 复制链接到剪贴板 - OCC::OwncloudSetupPage @@ -3821,6 +3828,11 @@ It is not advisable to use it. Re-open Browser 重新打开浏览器 + + + Copy link + + OwncloudSetupPage diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index df3e9aa61..e2d70f51b 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -129,7 +129,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -152,7 +157,12 @@ - Re-open Browser (or right-click to copy link) + Re-open Browser + + + + + Copy link @@ -267,8 +277,8 @@ - - + + Cancel 取消 @@ -278,224 +288,230 @@ 以 <user> 的身分連接 <server> - + No account configured. 沒有設置帳號。 - + Add new 新增 - + Remove 移除 - + Account 帳號 - + This account supports end-to-end encryption 此帳戶支援端點對端點加密 - + Enable encryption 啟用加密 - + Show E2E mnemonic - + Encrypt 加密 - + + + Edit Ignored Files + + + + Choose what to sync 選擇要同步的項目 - + Force sync now 強制同步 - + Restart sync 重新啟動同步 - + Remove folder sync connection 移除資料夾同步連線 - + Folder creation failed 資料夾建立失敗 - + <p>Could not create local folder <i>%1</i>. <p>無法建立本地資料夾 <i>%1</i> - + Confirm Folder Sync Connection Removal 確認移除資料夾同步連線 - + Remove Folder Sync Connection 移除資料夾同步連線 - + Sync Running 正在同步中 - + The syncing operation is running.<br/>Do you want to terminate it? 正在同步中<br/>你真的想要中斷? - + %1 in use %1 正在使用 - + %1 as <i>%2</i> %1 如 <i>%2<i> - + The server version %1 is old and unsupported! Proceed at your own risk. 伺服器版本%1過舊,已不支援。繼續的風險請自負。 - + Connected to %1. 已連線到 %1 - + Server %1 is temporarily unavailable. 伺服器 %1 暫時無法使用。 - + Server %1 is currently in maintenance mode. 伺服器 %1 現正處於維護模式 - + Signed out from %1. 從 %1 登出 - + Obtaining authorization from the browser. <a href='%1'>Click here</a> to re-open the browser. - + Connecting to %1... 正在連接到 %1 ... - + No connection to %1 at %2. 沒有從 %2 連線到 %1 - + Log in 登入 - + There are folders that were not synchronized because they are too big: 有部份的資料夾因為容量太大沒有辦法同步: - + There are folders that were not synchronized because they are external storages: 有部分資料夾因為是外部存儲沒有辦法同步: - + There are folders that were not synchronized because they are too big or external storages: 有部分資料夾因為容量太大或是外部存儲沒有辦法同步: - + Confirm Account Removal 確認移除帳號 - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>您確定要中斷此帳號 <i>%1</i> 的連線?</p><p><b>注意:</b>此操作 <b>不會</b> 刪除任何的檔案。</p> - + Remove connection 移除連線 - - + + Open folder 開啟資料夾 - - + + Log out 登出 - + Resume sync 繼續同步 - + Pause sync 暫停同步 - + <p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>您確定要停止同步資料夾 <i>%1</i>?</p><p><b>注意:</b> 此操作 <b>不會</b> 刪除任何檔案</p> - + %1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits. %1 (%3%) 中的 %2 正在使用, 有些資料夾,包括網路掛載或分享資料夾,可能有不同的限制。 - + %1 of %2 in use 已使用 %2 中的 %1% - + Currently there is no storage usage information available. 目前無法查詢儲存空間使用資訊。 - + No %1 connection configured. 沒有 %1 連線設置。 @@ -788,12 +804,7 @@ - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -801,12 +812,7 @@ OCC::Flow2AuthWidget - - Copy link to clipboard - - - - + Unable to open the Browser, please copy the link to your Browser. @@ -1544,63 +1550,69 @@ Continuing the sync as normal will cause all your files to be overwritten by an 根據模式套用什麼檔案要被忽略 - - Add - 增加 + + This entry is provided by the system at '%1' and cannot be modified in this view. + 這個項目是由系統提供在 '%1' 且不能在這個頁面被修改 + + + + OCC::IgnoreListTableWidget + + + IgnoreListTableWidget + - - Remove all - 移除所有檔案 - - - + Pattern - 模式 + - + Allow Deletion - 允許刪除 + - + + Add + + + + Remove - 移除 + - + + Remove all + + + + Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - 檔案或是資料夾符合模式的話將不會被同步。 - -當資料夾被移除時,會根據清單裡的允許刪除選項來避免那些檔案會被移除。而這對元資料是有用的。 + - + Could not open file - 無法開啟檔案 + - + Cannot write changes to '%1'. - %1 無法寫入變更。 + - + Add Ignore Pattern - 增加忽略格式 + - + Add a new ignore pattern: - 增加一個新的忽略格式: - - - - This entry is provided by the system at '%1' and cannot be modified in this view. - 這個項目是由系統提供在 '%1' 且不能在這個頁面被修改 + @@ -2050,11 +2062,6 @@ for additional privileges during the process. Login in your browser - - - Copy link to clipboard - - OCC::OwncloudSetupPage @@ -3809,6 +3816,11 @@ It is not advisable to use it. Re-open Browser + + + Copy link + + OwncloudSetupPage From 13b2b5253e384591cbd786b1cfeb6cbb3b6fe83b Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 8 Sep 2019 03:10:00 +0000 Subject: [PATCH 190/192] [tx-robot] updated from transifex --- translations/client_de.ts | 38 ++++++++++++++++++++------------------ translations/client_fr.ts | 24 ++++++++++++------------ translations/client_gl.ts | 36 +++++++++++++++++++----------------- translations/client_sl.ts | 4 ++-- translations/client_sv.ts | 34 ++++++++++++++++++---------------- 5 files changed, 71 insertions(+), 65 deletions(-) diff --git a/translations/client_de.ts b/translations/client_de.ts index 3df2943ce..f7582fb92 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -55,7 +55,7 @@ Recently changed - Zuletzt geteilt + Zuletzt geändert @@ -130,12 +130,12 @@ Re-open Browser - + Browser erneut öffnen Copy link - + Link kopieren @@ -158,12 +158,12 @@ Re-open Browser - + Browser erneut öffnen Copy link - + Link kopieren @@ -331,7 +331,7 @@ Edit Ignored Files - + Ignorierte Dateien bearbeiten @@ -1572,59 +1572,61 @@ Wenn diese Synchronisierung fortgesetzt wird, werden Dateien eventuell von älte IgnoreListTableWidget - + IgnoreListTableWidget Pattern - + Muster Allow Deletion - + Löschen erlauben Add - + Hinzufügen Remove - + Entfernen Remove all - + Alle entfernen Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - + Dateien oder Ordner, die diesem Muster entsprechen, werden nicht synchronisiert. + +Objekte, bei denen Löschen erlaubt ist, werden gelöscht, wenn diese das Löschen eines Ordners verhindern würden. Dies ist für Metadaten nützlich. Could not open file - + Datei konnte nicht geöffnet werden Cannot write changes to '%1'. - + Konnte Änderungen nicht in '%1' schreiben. Add Ignore Pattern - + Ignoriermuster hinzufügen Add a new ignore pattern: - + Neues Ignoriermuster hinzufügen @@ -3832,7 +3834,7 @@ Es ist nicht ratsam, sie zu benutzen. Copy link - + Link kopieren diff --git a/translations/client_fr.ts b/translations/client_fr.ts index d86b203f8..a1fc466b1 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -130,12 +130,12 @@ Re-open Browser - + Ré-ouvrir le navigateur Copy link - + Copier le lien @@ -158,12 +158,12 @@ Re-open Browser - + Ré-ouvrir le navigateur Copy link - + Copier le lien @@ -1579,27 +1579,27 @@ Continuer la synchronisation comme d'habitude fera en sorte que tous les fi Pattern - + Motif Allow Deletion - + Autoriser la suppression Add - + Ajouter Remove - + Supprimer Remove all - + Supprimer tout @@ -1611,12 +1611,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from Could not open file - + Impossible d'ouvrir le fichier Cannot write changes to '%1'. - + Impossible d'écrire les modifications sur '%1'. @@ -3836,7 +3836,7 @@ Il est déconseillé de l'utiliser. Copy link - + Copier le lien diff --git a/translations/client_gl.ts b/translations/client_gl.ts index 32af656da..476fe78bd 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -130,12 +130,12 @@ Re-open Browser - + Volver abrir o navegador Copy link - + Copiar a ligazón @@ -158,12 +158,12 @@ Re-open Browser - + Volver abrir o navegador Copy link - + Copiar a ligazón @@ -331,7 +331,7 @@ Edit Ignored Files - + Editar ficheiros ignorados @@ -1573,59 +1573,61 @@ Continuando a sincronización como normal fará que todos os seus ficheiros sexa IgnoreListTableWidget - + IgnorarListaTáboaTrebello Pattern - + Modelo Allow Deletion - + Permitir a eliminación Add - + Engadir Remove - + Retirar Remove all - + Retirar todo Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - + Os ficheiros ou cartafoles que coincidan cun patrón non se sincronizarán. + +Os elementos onde se permite a eliminación eliminaranse se impiden que se elimine un directorio. Isto é útil para os metadatos. Could not open file - + Non foi posíbel abrir o ficheiro Cannot write changes to '%1'. - + Non é posíbel escribir os cambios en «%1». Add Ignore Pattern - + Engadir o patrón a ignorar Add a new ignore pattern: - + Engadir un novo patrón a ignorar: @@ -3834,7 +3836,7 @@ Recomendámoslle que non o use. Copy link - + Copiar a ligazón diff --git a/translations/client_sl.ts b/translations/client_sl.ts index 8d9d76b30..90d2e8322 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -645,12 +645,12 @@ Select a certificate - Izberi potrdilo + Izbor potrdila Certificate files (*.p12 *.pfx) - Vrste potrdil (*.p12 *.pfx) + Datoteke potrdil (*.p12 *.pfx) diff --git a/translations/client_sv.ts b/translations/client_sv.ts index eceb52e0f..e6a7d6a37 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -130,12 +130,12 @@ Re-open Browser - + Öppna webbläsaren igen Copy link - + Kopiera länk @@ -158,12 +158,12 @@ Re-open Browser - + Öppna webbläsaren igen Copy link - + Kopiera länk @@ -331,7 +331,7 @@ Edit Ignored Files - + Redigera ignorerade filer @@ -1577,54 +1577,56 @@ Om du fortsätter synkningen kommer alla dina filer återställas med en äldre Pattern - + Filter Allow Deletion - + Tillåt radering Add - + Lägg till Remove - + Ta bort Remove all - + Ta bort alla Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - + Filer eller mappar som matchar ett mönster kommer inte att synkroniseras. + +Objekt där radering är tillåtet raderas om de förhindrar att en mapp tas bort. Detta är användbart för metadata. Could not open file - + Kunde inte öppna fil Cannot write changes to '%1'. - + Kan inte skriva förändringar till '%1'. Add Ignore Pattern - + Lägg till synk-filter Add a new ignore pattern: - + Lägg till ett nytt synk-filter: @@ -3833,7 +3835,7 @@ Det är inte lämpligt använda den. Copy link - + Kopiera länk From 4f7d7e3601cbd9bdd0b7fca19a6af18c3c5cc27b Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 9 Sep 2019 03:06:29 +0000 Subject: [PATCH 191/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 ++--- translations/client_pl.ts | 36 +++++++++++---------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index 09564e030..e3d9ad406 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de_DE]=@APPLICATION_ICON_NAME@ -Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de_DE]=Synchronisationsordner +Icon[de]=@APPLICATION_ICON_NAME@ +Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de]=Synchronisationsordner diff --git a/translations/client_pl.ts b/translations/client_pl.ts index 7689909d0..54cb08829 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -130,12 +130,12 @@ Re-open Browser - + Ponownie otwórz przeglądarkę Copy link - + Kopiuj link @@ -158,12 +158,12 @@ Re-open Browser - + Ponownie otwórz przeglądarkę Copy link - + Kopiuj link @@ -331,7 +331,7 @@ Edit Ignored Files - + Edytuj Pliki Ignorowane @@ -1572,59 +1572,61 @@ Kontynuacja synchronizacji w normalny sposób spowoduje, że wszystkie Twoje pli IgnoreListTableWidget - + IgnoreListTableWidget Pattern - + Wzór Allow Deletion - + Pozwól na usuwanie Add - + Dodaj Remove - + Usuń Remove all - + Usuń wszystko Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - + Pliki lub foldery pasujące do szablonu nie będą zsynchronizowane. + +Elementy, dla których usuwanie jest dozwolone zostaną usunięte, jeżeli uprawnienia folderu dopuszczają usuwanie. Jest to przydatne dla metadanych. Could not open file - + Nie można otworzyć pliku Cannot write changes to '%1'. - + Nie można zapisać zmian w '%1'. Add Ignore Pattern - + Dodaj Wzór Ignorowania Add a new ignore pattern: - + Dodaj nowy wzór ignorowania: @@ -3833,7 +3835,7 @@ Niezalecane jest jego użycie. Copy link - + Kopiuj link From 04f2bd4baafada586d93edeff1c214ca473d7caf Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Tue, 10 Sep 2019 03:06:52 +0000 Subject: [PATCH 192/192] [tx-robot] updated from transifex --- .tx/nextcloud.client-desktop/de_translation | 8 +- translations/client_fr.ts | 4 +- translations/client_pt_BR.ts | 36 +++--- translations/client_sl.ts | 126 ++++++++++---------- translations/client_tr.ts | 36 +++--- 5 files changed, 107 insertions(+), 103 deletions(-) diff --git a/.tx/nextcloud.client-desktop/de_translation b/.tx/nextcloud.client-desktop/de_translation index e3d9ad406..09564e030 100644 --- a/.tx/nextcloud.client-desktop/de_translation +++ b/.tx/nextcloud.client-desktop/de_translation @@ -198,7 +198,7 @@ X-GNOME-Autostart-Delay=3 # Translations -Icon[de]=@APPLICATION_ICON_NAME@ -Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation -GenericName[de]=Synchronisationsordner +Icon[de_DE]=@APPLICATION_ICON_NAME@ +Name[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +Comment[de_DE]=@APPLICATION_NAME@ Client zur Desktop-Synchronisation +GenericName[de_DE]=Synchronisationsordner diff --git a/translations/client_fr.ts b/translations/client_fr.ts index a1fc466b1..489df6281 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -331,7 +331,7 @@ Edit Ignored Files - + Modifier les fichiers ignorés @@ -776,7 +776,7 @@ There was an error accessing the 'token' endpoint: <br><em>%1</em> - + Une erreur s'est produite lors de l'accès au point d'arrivée 'jeton' : <br><em>%1</em> diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 4a5a8cc2d..f6f59e0c6 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -130,12 +130,12 @@ Re-open Browser - + Reabrir Navegador Copy link - + Copiar link @@ -158,12 +158,12 @@ Re-open Browser - + Reabrir Navegador Copy link - + Copiar link @@ -331,7 +331,7 @@ Edit Ignored Files - + Editar Arquivos a Ignorar @@ -1572,59 +1572,61 @@ Continuar a sincronização como normal fará com que todos os seus arquivos sej IgnoreListTableWidget - + IgnoreListTableWidget Pattern - + Padrão Allow Deletion - + Permitir Exclusão Add - + Adicionar Remove - + Excluir Remove all - + Excluir tudo Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - + Arquivos ou pastas correspondentes a um padrão não serão sincronizados. + +Os itens em que a exclusão é permitida serão excluídos se impedirem a remoção de um diretório. Isso é útil para metadados. Could not open file - + Não foi possível abrir o arquivo Cannot write changes to '%1'. - + Não é possível gravar as alterações em '%1'. Add Ignore Pattern - + Adicionar Padrão a Ignorar Add a new ignore pattern: - + Adicionar um novo padrão a ignorar: @@ -3833,7 +3835,7 @@ Não é aconselhável usá-la. Copy link - + Copiar link diff --git a/translations/client_sl.ts b/translations/client_sl.ts index 90d2e8322..8bdabe3e3 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -24,23 +24,23 @@ Syncing %1 (%2 left) - + Usklajevanje %1 (%2 do konca) Syncing %1 - + Usklajevanje %1 No recently changed files - + Ni nedavno spremenjenih datotek Sync paused - + Usklajevanje v premoru @@ -50,17 +50,17 @@ Open website - + Odpri spletišče Recently changed - + Nedavno spremenjeno Pause synchronization - + Ustavi usklajevanje @@ -102,7 +102,7 @@ Could not move '%1' to '%2' - + Premik '%1' v '%2' ni uspel @@ -115,27 +115,27 @@ Form - + Obrazec Please switch to your browser to proceed. - + Preklopite na brskalnik za nadaljevanje. An error occurred while connecting. Please try again. - + Med vzpostavljanjem povezave je prišlo do napake. Poskusite znova. Re-open Browser - + Ponovno odpri brskalnik Copy link - + Kopiraj povezavo @@ -143,27 +143,27 @@ Form - + Obrazec Please switch to your browser to proceed. - + Preklopite na brskalnik za nadaljevanje. An error occurred while connecting. Please try again. - + Med vzpostavljanjem povezave je prišlo do napake. Poskusite znova. Re-open Browser - + Ponovno odpri brskalnik Copy link - + Kopiraj povezavo @@ -331,7 +331,7 @@ Edit Ignored Files - + Uredi neusklajevane datoteke @@ -607,7 +607,7 @@ Retry all uploads - + Ponovi vsa nalaganja @@ -663,12 +663,12 @@ There was an error while accessing the configuration file at %1. Please make sure the file can be accessed by your user. - + Med dostopom do nastavitvene datoteke na %1 je prišlo do napake. Preverite, da je dostopna vašemu uporabniku. Quit %1 - + Končaj %1 @@ -796,12 +796,12 @@ Connect to %1 - + Vzpostavi povezavo z %1 Login in your browser (Login Flow v2) - + Prijava v brskalniku (Prijavni Tok v2) @@ -977,7 +977,7 @@ If you decide to delete the files, they will be unavailable to you, unless you a Keep local files - + Ohrani krajevne datoteke @@ -1623,7 +1623,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from Legal notice - + Pravno obvestilo @@ -1983,7 +1983,7 @@ zahteva skrbniška dovoljenja za dokončanje opravila. Free space: %1 - + Prostor: %1 @@ -1999,7 +1999,7 @@ zahteva skrbniška dovoljenja za dokončanje opravila. There isn't enough free space in the local folder! - + V krajevni mapi ni dovolj prostora! @@ -2086,7 +2086,7 @@ zahteva skrbniška dovoljenja za dokončanje opravila. Secure collaboration & file exchange - + Varno sodelovanje in izmenjava datotek @@ -2211,7 +2211,7 @@ Uporaba ni priporočljiva. creating folder on Nextcloud: %1 - + ustvarjanje mape v oblaku Nextcoud: %1 @@ -2752,12 +2752,12 @@ Uporaba ni priporočljiva. Password: - + Geslo: Expiration date: - + Datum preteka: @@ -2772,47 +2772,47 @@ Uporaba ni priporočljiva. Allow Editing - + Dovoli urejanje Read only - + Samo branje Allow Upload && Editing - + Dovoli pošiljanje in urejanje File Drop (Upload Only) - + Povleci datoteke (samo nalaganje) Password Protect - + Zaščiti z geslom Expiration Date - + Datum preteka Unshare - + Prekini souporabo Add another link - + Dodaj novo povezavo Confirm Link Share Deletion - + Potrdi brisanje povezave za deljenje @@ -2840,7 +2840,7 @@ Uporaba ni priporočljiva. Copy link - + Kopiraj povezavo @@ -2858,7 +2858,7 @@ Uporaba ni priporočljiva. User name - + Uporabniško ime @@ -2868,27 +2868,27 @@ Uporaba ni priporočljiva. Can reshare - + Lahko deli naprej Unshare - + Prekini souporabo Can create - + Lahko ustvari Can change - + Lahko spremeni Can delete - + Lahko briše @@ -2914,7 +2914,7 @@ Uporaba ni priporočljiva. SSL Cipher Debug View - + Pogled razhroščevalnika šifer SSL @@ -2933,7 +2933,7 @@ Uporaba ni priporočljiva. Share with %1 parameter is Nextcloud - + Omogoči souporabo z %1 @@ -3151,12 +3151,12 @@ Uporaba ni priporočljiva. Fingerprint (SHA-256): <tt>%1</tt> - + Prstni odtis (SHA-256): <tt>%1</tt> Fingerprint (SHA-512): <tt>%1</tt> - + Prstni odtis (SHA-512): <tt>%1</tt> @@ -3285,7 +3285,7 @@ Uporaba ni priporočljiva. File or directory not found: - + Datoteke ali mape ni mogoče najti @@ -3474,7 +3474,7 @@ Uporaba ni priporočljiva. Invalid certificate detected - + Zaznano neveljavno potrdilo @@ -3621,7 +3621,7 @@ Uporaba ni priporočljiva. Unresolved conflicts - + Nerazrešeni spori @@ -3682,7 +3682,7 @@ Uporaba ni priporočljiva. Apps - + Programi @@ -3822,7 +3822,7 @@ Uporaba ni priporočljiva. Copy link - + Kopiraj povezavo @@ -3840,12 +3840,12 @@ Uporaba ni priporočljiva. Log in - + Prijava Server Address - + Naslov strežnika @@ -3876,17 +3876,17 @@ Uporaba ni priporočljiva. %n day ago - + pred %n dnempred %n dnevomapred %n dnevipred %n dnevi %n days ago - + pred %n dnevompred %n dnevomapred %n dnevipred %n dnevi %n hour ago - + pred %n uropred %n uramapred %n uramipred %n urami @@ -3906,7 +3906,7 @@ Uporaba ni priporočljiva. %n minute ago - + pred %n minutopred %n minutamapred %n minutamipred %n minutami diff --git a/translations/client_tr.ts b/translations/client_tr.ts index eae188f27..40a1b655d 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -130,12 +130,12 @@ Re-open Browser - + Tarayıcıyı Yeniden Aç Copy link - + Bağlantıyı kopyala @@ -158,12 +158,12 @@ Re-open Browser - + Tarayıcıyı Yeniden Aç Copy link - + Bağlantıyı kopyala @@ -331,7 +331,7 @@ Edit Ignored Files - + Yok Sayılan Dosyaları Düzenle @@ -1571,59 +1571,61 @@ Eşitlemeye normal şekilde devam edilirse tüm dosyalar daha eski bir dosya ile IgnoreListTableWidget - + YoksayilanListesiTabloAraci Pattern - + Model Allow Deletion - + Silinebilsin Add - + Ekle Remove - + Kaldır Remove all - + Tümünü kaldır Files or folders matching a pattern will not be synchronized. Items where deletion is allowed will be deleted if they prevent a directory from being removed. This is useful for meta data. - + Bir modele uyab dosya ya da klasörler eşitlenmez. + +Silme izni verildiğinde bir klasörün silinmesini engelleyen ögeler silinir. Bu özellik üst veriler için kullanışlıdır. Could not open file - + Dosya açılamadı Cannot write changes to '%1'. - + Değişiklikler '%1' üzerine yazılamadı. Add Ignore Pattern - + Yok Sayma Modeli Ekle Add a new ignore pattern: - + Yeni bir yok sayma modeli ekle: @@ -3832,7 +3834,7 @@ Kullanmanız önerilmez. Copy link - + Bağlantıyı kopyala