Comparar commits

..

116 Commits

Autor SHA1 Mensagem Data
Christian Kamm c895848560 Share dialog: Add 'Mail link' button #3261 2016-06-10 13:00:31 +02:00
Christian Kamm 87b4693a9d Add error message for trailing spaces on Windows #4878 2016-06-09 12:41:02 +02:00
ckamm 28c12a3ca0 Move touched-files tracking to SyncEngine #4927 (#4946) 2016-06-09 12:07:18 +02:00
Christian Kamm 66f041f74c Fix Qt4 build 2016-06-07 10:05:57 +02:00
Christian Kamm 6d02d76cfd Fix compile warnings in tests 2016-06-07 09:43:04 +02:00
Christian Kamm 48efbcb8ca Merge remote-tracking branch 'origin/2.2' 2016-06-07 09:39:44 +02:00
Jenkins for ownCloud ab050f9093 [tx-robot] updated from transifex 2016-06-07 02:19:44 -04:00
Jenkins for ownCloud bf9cffe4b3 [tx-robot] updated from transifex 2016-06-06 02:19:25 -04:00
Carla Schroder 43f727cf69 fix win install instructions: build path and docker image name (#4901) 2016-06-05 10:56:56 +02:00
Jenkins for ownCloud 256331fbaa [tx-robot] updated from transifex 2016-06-05 02:18:37 -04:00
Jenkins for ownCloud 32e6585ae6 [tx-robot] updated from transifex 2016-06-04 02:19:18 -04:00
Olivier Goffart d072e4a678 Fix compilation on windows 2016-06-03 13:28:53 +02:00
Olivier Goffart b99c8fe28b Folder: fix removing folder with escaped characters (#4943)
FolderDefinition::save and load escapes the alias. We also need to escape
it when we remove it.
New folder can't be created with alias that needs escaping, but old folder
from old config may still exist, and we must allow user to delete them.
2016-06-03 13:10:01 +02:00
Olivier Goffart 5a3120bd52 Folder: Ignore change from the watcher if the file has not changed its mtime or size (#4942)
For issue #4927:
On Windows 10, we get a notification after the sync is finished for file that were
just downloaded. The guard we have against our "own changes" are only working when
the sync is running and the OwncloudPropagator still alive.
2016-06-03 13:06:11 +02:00
Jenkins for ownCloud 9ea69be6ab [tx-robot] updated from transifex 2016-06-03 02:19:51 -04:00
Jenkins for ownCloud 86680a53e0 [tx-robot] updated from transifex 2016-06-03 01:15:59 -04:00
Daniel Molkentin 801cb42d57 Merge pull request #4939 from owncloud/osx_filewatcher_fix
OS X filewatcher fix
2016-06-02 18:37:38 +02:00
Markus Goetz 51f8a59a9a OS X: White-list the folder watcher enums
I got syncs triggered for even opening a file by double clicking it in Finder
and having launched Preview.app (e.g. for JPEG files).
2016-06-02 18:20:07 +02:00
Daniel Molkentin ebbe5acf2b Merge pull request #4938 from owncloud/fix_4840
GUI: don't force the environment variable for high DPI on linux.
2016-06-02 18:13:25 +02:00
Olivier Goffart 6ccd9e872d GUI: don't force the environment variable for high DPI on linux.
Setting the Environment variable only for owncloud makes in inconsistant with
other Qt application running at the same time.

The users can still set it themself for the whole desktop if they wish.

Addresses #4840
2016-06-02 17:57:10 +02:00
Daniel Molkentin da69756bb0 Merge pull request #4935 from owncloud/fix_updater_memleak
Fix memleak in updater
2016-06-02 15:36:49 +02:00
Daniel Molkentin 1787da8a9d Fix memleak in updater 2016-06-02 15:03:52 +02:00
Giovanni Capuano f0f82d02ff Fix link to the binary packages in README.md 2016-06-02 14:55:48 +02:00
Jenkins for ownCloud ff20cd4d57 [tx-robot] updated from transifex 2016-06-02 02:19:35 -04:00
Jenkins for ownCloud 9ab812f89b [tx-robot] updated from transifex 2016-06-01 02:19:17 -04:00
Jenkins for ownCloud e031f7d090 [tx-robot] updated from transifex 2016-06-01 01:18:50 -04:00
Markus Goetz de82d8fcdb QNAM: Try to workaround missing Qt patches #4720 #3888 #4051
We try this on all platforms now so we have more consistent behaviour.
2016-05-31 10:26:52 +02:00
Stephen Colebrook af2b712dc6 Search results are filtered by server. Don't filter a second time.
Also allows searching on attributes other than displayname in ldap
configurations. Search results match web and mobile apps.
2016-05-31 09:46:52 +02:00
Stephen Colebrook d4b72132d6 Search results are filtered by server. Don't filter a second time. Also allows searching on attributes other than displayname in ldap configurations. Search results match web and mobile apps. (#4902) 2016-05-31 09:45:38 +02:00
Markus Goetz a507558dee Connectivity: Reduce ETag job timeout to 60 sec #4275
Before it used the default job timeout
2016-05-31 09:35:47 +02:00
Jenkins for ownCloud e73c3199c0 [tx-robot] updated from transifex 2016-05-31 02:20:28 -04:00
Markus Goetz d88ab4653b Connectivity: Delete job on timeout #4275
This was not done if there was no reply
2016-05-30 18:15:41 +02:00
Klaas Freitag 9a2450c4c1 Update changelog for 2.2.1 2016-05-30 17:19:40 +02:00
Daniel Molkentin 3c1f5e662f Remove stray file 2016-05-30 12:05:22 +02:00
Daniel Molkentin 100ee69ddd Merge pull request #4923 from RobinGeuze/2.2
Fix Qt4 build
2016-05-30 11:50:50 +02:00
Robin Geuze d45d6ca9da Fix Qt4 build 2016-05-30 09:55:45 +02:00
Daniel Molkentin 2608c7007e Merge pull request #4922 from owncloud/fix_4840
Don't try to determine pixel ratio with Qt < 5.6.0
2016-05-30 09:20:50 +02:00
Jenkins for ownCloud 06a88ea9a4 [tx-robot] updated from transifex 2016-05-30 02:41:51 -04:00
Daniel Molkentin 0194ebb222 Don't try to determine pixel ratio with Qt < 5.6.0
This seems to be broken. Worst case users can still
set it manually

Addresses #4840
2016-05-30 08:27:57 +02:00
Jenkins for ownCloud dc654ac846 [tx-robot] updated from transifex 2016-05-29 02:18:52 -04:00
Jenkins for ownCloud 370fd5062c [tx-robot] updated from transifex 2016-05-28 02:19:09 -04:00
Daniel Molkentin 763016bd8f Merge pull request #4916 from mwleeds/patch-1
Fix typo in folder.cpp
2016-05-27 18:13:05 +02:00
Daniel Molkentin 00d20b4a42 Merge pull request #4913 from owncloud/normalize_name_in_filestatus
Undo regression caused by 727e73d
2016-05-27 18:08:08 +02:00
Matthew Leeds 7f0cc5b699 Fix typo in folder.cpp 2016-05-27 11:13:18 -04:00
Daniel Molkentin a2b238e2e5 Undo regression caused by 727e73d
normalization to NFC is still required. Mac OS API will not take
care of that by default.

Resolves #4884
2016-05-27 16:03:59 +02:00
ckamm 0e2c16e827 Certs: Re-ask for different cert after rejection #4898 (#4911)
Previously rejecting any kind of certificate meant that the user
was never asked again, even if the certificate changed.

Now we keep track of which certificates were rejected and ask again
if the ones mentioned in the ssl errors change.

mitmproxy is excellent for testing this.
2016-05-27 12:08:42 +02:00
ckamm b9fdae6d67 Progress: Don't count items without propagation jobs #4856 (#4910)
* Progress: Don't count dirs without propagation jobs #4856

These directory SyncFileItems are necessary for bookkeeping
but should not influence the progress display at all.

* Progress: Skip ignored files #4856
2016-05-27 10:52:00 +02:00
Jenkins for ownCloud c34115610e [tx-robot] updated from transifex 2016-05-27 02:19:21 -04:00
Jenkins for ownCloud d3a93cbaeb [tx-robot] updated from transifex 2016-05-27 01:15:50 -04:00
Olivier Goffart 275ad1e157 Utility: Better fix for the translation of minutes, seconds, ...
The plural was not translated because of QTBUG-3945. Work around it.
Issue #4855
2016-05-26 12:17:16 +02:00
Daniel Molkentin 85d3c7a263 Merge remote-tracking branch 'origin/2.2' 2016-05-26 10:19:50 +02:00
Jenkins for ownCloud 1855950fa1 [tx-robot] updated from transifex 2016-05-26 02:33:30 -04:00
Olivier Goffart 159535fe90 Merge branch '2.2' 2016-05-25 16:30:17 +02:00
Olivier Goffart fff5c280b3 SyncEngine: cleanup setting isDirectory 2016-05-25 16:27:40 +02:00
Olivier Goffart e960b265a8 Merge remote-tracking branch '2.1' into 2.2 2016-05-25 16:23:58 +02:00
Olivier Goffart f6b35e5d58 SyncEngine: invalid the blacklist entry when the rename destination change
The problem in this case is if we rename the file "xxx" to "invalid\file".
The rename will fail because the new filename constains a slash, and it
will be blacklisted.
But then if the user re-rename the file to "valid_name", then we should
invalidate the blacklist entry and retry to upload. But we did not do
that because renaming don't change the mtime and we did not store the
rename target in the database

IL issue 558
2016-05-25 15:32:45 +02:00
Markus Goetz 088a294fac Update issue_template.md
Use 2.2 link
2016-05-25 11:33:10 +02:00
Jenkins for ownCloud 1d93af5f64 [tx-robot] updated from transifex 2016-05-25 02:19:18 -04:00
Markus Goetz 75efa8b252 sqlite: Update bundled version to 3.13.0
For OS X and Windows.
2016-05-24 17:27:31 +02:00
Markus Goetz 009a0b03da Add ChangeLog for 2.2.1 2016-05-24 17:04:04 +02:00
Jenkins for ownCloud 8379a36a75 [tx-robot] updated from transifex 2016-05-24 07:40:14 -04:00
Daniel Molkentin 2f1a40ff7c Travis coverity: Enforce Ubuntu 14.04 env, fix repo 2016-05-24 11:30:03 +02:00
Daniel Molkentin c041ca6163 Fix pot. mem leak found by coverity (CID 96004) 2016-05-24 11:21:33 +02:00
Daniel Molkentin eacc0c8bd6 Fix pot. mem leak found by coverity (CID 12900) 2016-05-24 11:21:33 +02:00
Jenkins for ownCloud 171de99e00 [tx-robot] updated from transifex 2016-05-24 02:19:53 -04:00
ckamm bf02ccc1e8 Remember to upload files that are locked during a sync run (#4865)
See owncloud/enterprise#1342
2016-05-23 09:03:03 +02:00
Jenkins for ownCloud 7ba961c21a [tx-robot] updated from transifex 2016-05-23 02:19:05 -04:00
Jenkins for ownCloud cb7be78352 [tx-robot] updated from transifex 2016-05-22 02:19:13 -04:00
Jenkins for ownCloud 813bc15a78 [tx-robot] updated from transifex 2016-05-22 01:15:47 -04:00
Jenkins for ownCloud 6cb194e0d5 [tx-robot] updated from transifex 2016-05-21 02:19:09 -04:00
Markus Goetz 552ba94c41 SyncEngine: Set isDirectory before syncItemDiscovered
(cherry picked from commit fc1933803e)
2016-05-20 17:00:22 +02:00
Markus Goetz fc1933803e SyncEngine: Set isDirectory before syncItemDiscovered 2016-05-20 16:58:44 +02:00
Markus Goetz 46e4ec3183 Checksums: Use SHA1 like in >=2.2 2016-05-20 16:31:47 +02:00
Olivier Goffart 03e3b3bf50 Upload: put the job in the active list while doing the checksum computation.
This fixes an issue in which too many jobs are started un parallel
while uploading many files, which could cause too much memory usage as the
chunks are stored in memory.

Probably the fix for #4611
2016-05-20 16:28:27 +02:00
Christian Kamm 9aed8dbce8 Checksums: Compute content checksum on download #4375
Cherry-picked from d6d35029
2016-05-20 16:06:30 +02:00
ckamm c6794cd338 Progress info: Reset between syncs #4856 (PR #4872) 2016-05-20 15:07:54 +02:00
Jenkins for ownCloud 65ec1b74d5 [tx-robot] updated from transifex 2016-05-20 02:19:16 -04:00
ckamm 567fe87e98 Use natural sorting for filenames if available #4859 (#4864) 2016-05-19 15:36:46 +02:00
Christian Kamm a1ba23eea9 Activity: When a new notification arrives, switch to that tab #4805 2016-05-19 14:13:07 +02:00
Jenkins for ownCloud 1a3c9a9c1a [tx-robot] updated from transifex 2016-05-19 02:19:20 -04:00
Markus Goetz a038c99232 Upload: Remove bandwidth quota debug message #4837 2016-05-18 16:18:13 +02:00
Olivier Goffart 30c8fa1c93 Utility: Fix translation of second, minute, hour
Issue #4855

A typo in the context string made the translation lookup fail.
But also the %Ln was not recognized as a plural form by transifex, so only
the singular was translated
2016-05-18 10:52:22 +02:00
Olivier Goffart 010649f997 FolderWizard: remove dead code and fix the alias
Remove a bunch of dead code.

And also set the root folder name properly since alias is gone.

Fix the warning:
QWizard::field: No such field 'alias'
2016-05-18 10:52:22 +02:00
Jenkins for ownCloud 597f2a4dfc [tx-robot] updated from transifex 2016-05-18 02:19:16 -04:00
Olivier Goffart cf1fe690a3 Shibboleth: Show the inspector if OWNCLOUD_SHIBBOLETH_DEBUG is set
Help to debug https://github.com/owncloud/enterprise/issues/1265
2016-05-17 12:29:20 +02:00
Olivier Goffart 194db066b6 Merge remote-tracking branch 'origin/2.2' 2016-05-17 10:04:31 +02:00
Jenkins for ownCloud 31b27bea38 [tx-robot] updated from transifex 2016-05-17 02:18:59 -04:00
Jenkins for ownCloud 04f99f3bd7 [tx-robot] updated from transifex 2016-05-15 02:19:07 -04:00
Jenkins for ownCloud fbf92ac239 [tx-robot] updated from transifex 2016-05-14 02:19:15 -04:00
hefee 669a72f0e1 A final release version number breaks this regex (#4835)
f.ex. a valid verson nr: 2.2.0
-> fist \d+ = 2
-> second \d+ = 2
-> the last \d+ = 0
-> .+ in not matching, because there is nothing to match
2016-05-13 16:55:11 +02:00
Jenkins for ownCloud 2f0e65d37c [tx-robot] updated from transifex 2016-05-13 02:25:05 -04:00
Olivier Goffart 5676685f58 SyncEngine: Add a compile option so we rename to restoring a move we don't have the permission to do
IL issue 550
2016-05-12 13:15:30 +02:00
Christian Kamm db9ccb40a4 Fix compile with strict C flags 2016-05-12 13:14:40 +02:00
Christian Kamm d4c15d2c38 Ignores: expand escapes #4568
(cherry picked from commit d7bd1300a8)
2016-05-12 11:53:17 +02:00
Hefee edb3759684 For tests we do not need a xserver running.
Use for tests QTEST_GUILESS_MAIN and QTEST_APPLESS_MAIN.
2016-05-12 11:34:21 +02:00
Christian Kamm 0f9c32452c Protocol: Increase width of timestamp column #4721
Since the font metrics aren't reliable on windows, we add some
extra space there.
2016-05-12 10:24:34 +02:00
Daniel Molkentin 45dd1d0acf Bump to 2.2.1 2016-05-12 09:58:12 +02:00
Daniel Molkentin 552af7b94d 2.2.0 final 2016-05-12 09:58:12 +02:00
Christian Kamm 8934979ba1 timeAgo test: Fix for qt4, clean up 2016-05-12 09:25:15 +02:00
Daniel Molkentin b3e16e0eb0 Merge pull request #4825 from owncloud/22-user-manual
[Doc] 2.2 user manual updates
2016-05-12 08:20:55 +02:00
Carla Schroder 7773380deb update file manager screenshot 2016-05-11 12:44:27 -07:00
Carla Schroder e22050a434 updates to 2.2 user manual 2016-05-11 12:37:40 -07:00
Daniel Molkentin 7b0231bfce Merge pull request #4821 from owncloud/notification_doc
Documentation draft to introduce notifications.
2016-05-11 21:16:35 +02:00
Jocelyn Turcotte edc58c045f Fix assert on restore after propagation (#4823)
The assert was there to make sure that this case wasn't happening
to eventually be properly tested. Remove the assert for now but this
codepath should eventually be unit tested using this specific situation.
2016-05-11 18:16:46 +02:00
Klaas Freitag 035058934f Documentation draft to introduce notifications.
Also added a screenshot.
2016-05-11 11:16:08 +02:00
Klaas Freitag 9b1f46e560 Fix exclude unit test, adopt to new Iface of isExcluded. 2016-05-10 16:46:08 +02:00
Klaas Freitag 9e7a8e619b Fix utility test: Pass a command name to do the version check. 2016-05-10 16:26:42 +02:00
Klaas Freitag 9c0cd2b13e Added Changelog for 2.2.0 2016-05-10 15:39:44 +02:00
Daniel Molkentin 58ad781bd4 Update binary submodule 2016-05-10 14:39:22 +02:00
Jocelyn Turcotte 129c17651a Revert "Overlay icon fixes (#4765)"
The pull request should have been done against the 2.2 branch, and
the branch would better be merged instead of squashed to keep the
history easier to lookup.

This reverts commit 0469236d80.
2016-05-03 12:59:17 +02:00
Jocelyn Turcotte 0469236d80 Overlay icon fixes (#4765)
* Fix the sync status push for parent directories #4682

As before, we rely on metadata-update SyncFileItem entries for parent
directories to notify us that a directory contains files to propagate,
and to know when all children were propagated through its itemCompleted
signal.

Those metadata SyncFileItems however have a None direction and we need
to add a explicit directory check to show them as Sync.
This fix also handles new files as well as existing ones, so no need
to keep a separate logic for new files.

* Fix the root item sync status #4682

Make sure that we push the new status when the status of the SyncEngine
changed. SyncEngine::started comes a bit late, only when the propagation
starts, although it's better in this case since child folders will
only switch to Sync in aboutToPropagate.

Also fix an issue with SyncEngine::findSyncItem when using an empty
fileName; this would match and return the wrong item, even though
not currently happening with the code since fileStatus won't call
it with an empty fileName anymore.

* Simplify the root status logic

Go through fileStatus like other cases to make sure that all use
cases go through the same code path. This also makes sure to use
lookupProblem which will use lower_bound which is more efficient
for larger sets of sync problems.

This also fixes the issue with lookupProblem that prevented it to
properly match an empty pathToMatch, caused by the fact that the
problem map contains relative paths not starting with a slash.

* Avoid a SyncFileStatusTracker private overload with the same name

Having an overload as a private function in the same class makes the
code harder to follow. Rename the private fileStatus to syncFileItemStatus.

* [osx] Fix missing overlay icons on client startup

Since the statuses are cached and that we can't invalidate the cache,
sending NOP would need to be overwritten by the default OK status
once the client successfully connected. But instead of remembering
which files we NOPed, rather wait until we are ready to sync before
sending the REGISTER_PATH message to the socket API client. It will
also prevent the client from sending unnecessary RETRIEVE_FILE_STATUS
requests.

Also remove AccountState::canSync, since it does the same as
isConnected and syncing is not an account responsibility.
2016-05-02 16:33:17 +02:00
Olivier Goffart 93e0d52dd3 Merge pull request #4769 from orion1024/curl-check-in-perl-tests
Adding CURL check in t6.pl
2016-04-30 14:25:21 +02:00
orion1024 9f3e576348 Adding CURL check in t6.pl
Aborts immediately if CURL not found, to avoid misleading errors later.
2016-04-30 11:44:16 +02:00
Olivier Goffart 5479aaeb5b Merge remote-tracking branch 'origin/2.2' 2016-04-28 16:38:46 +02:00
Christian Kamm 8dc178a9f3 Share link: Consistent order of options owncloud/core#24122 2016-04-26 07:45:41 +02:00
Klaas Freitag 35d4b96339 Set base version to 2.3.0. For 2.2, please use the branch 2.2 2016-04-25 14:15:17 +02:00
120 arquivos alterados com 16123 adições e 6702 exclusões
+10 -4
Ver Arquivo
@@ -1,15 +1,21 @@
sudo: required
language: cpp
services:
- docker
branches:
only:
- coverity_scan
before_install:
- sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"
- sudo sh -c "echo 'deb-src http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"
- wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/xUbuntu_12.04/Release.key
- sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"
- sudo sh -c "echo 'deb-src http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"
- wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/Ubuntu_14.04/Release.key
- sudo apt-key add - < Release.key
- sudo apt-get update
- sudo apt-get build-dep owncloud-client
- sudo apt-get -y build-dep owncloud-client
- checkout=$(git show-ref --head --hash head)
- cd ../
- wget https://scan.coverity.com/download/linux-64 --post-data "token=$token&project=owncloud%2Fmirall" -O coverity_tool.tgz
+12
Ver Arquivo
@@ -1,3 +1,4 @@
cmake_minimum_required(VERSION 2.6)
cmake_policy(VERSION 2.8.0)
@@ -125,6 +126,17 @@ if(OWNCLOUD_5XX_NO_BLACKLIST)
add_definitions(-DOWNCLOUD_5XX_NO_BLACKLIST=1)
endif()
# When this option is enabled, a rename that is not allowed will be renamed back
# do the original as a restoration step. Withut this option, the restoration will
# re-download the file instead.
# The default is off because we don't want to rename the files back behind the user's back
# Added for IL issue #550
option(OWNCLOUD_RESTORE_RENAME "OWNCLOUD_RESTORE_RENAME" OFF)
if(OWNCLOUD_RESTORE_RENAME)
add_definitions(-DOWNCLOUD_RESTORE_RENAME=1)
endif()
if(APPLE)
set( SOCKETAPI_TEAM_IDENTIFIER_PREFIX "" CACHE STRING "SocketApi prefix (including a following dot) that must match the codesign key's TeamIdentifier/Organizational Unit" )
endif()
+33
Ver Arquivo
@@ -1,5 +1,38 @@
ChangeLog
=========
version 2.2.1 (release 2016-05-xx)
* Fix out of memory error when too many uploads happen (#4611)
* Fix display errors in progress display (#4803 #4856)
* LockWatcher: Remember to upload files after they become unlocked (#4865)
* Fix overlay icons for files with umlauts (#4884)
* Certs: Re-ask for different cert after rejection (#4898, #4911)
* Progress: Don't count items without propagation jobs (#4856, #4910)
* Utility: Fix for the translation of minutes, second (#4855)
* SyncEngine: invalid the blacklist entry when the rename destination change
version 2.2.0 (release 2016-05-12)
* Overlay icons: Refactoring - mainly for performance improvements
* Improved error handling with Sync Journal on USB storages (#4632)
* Sharing Completion: Improved UI of completion in sharing from desktop. (#3737)
* Show server notifications on the client (#3733)
* Improved Speed with small files by dynamic parallel request count (#4529)
* LockWatcher: Make sure to sync files after apps released exclusive locks on Windows.
* Improved handling of Win32 file locks and network files
* Workaround Ubuntu 16.04 tray icon bug (#4693)
* Removed the Alias field from the folder definition (#4695)
* Improved netrc parser (#4691)
* Improved user notifications about ignored files and conflicts (#4761, #3222)
* Add warnings for old server versions (#4523)
* Enable tranportation checksums if the server supports based on server capabilities (#3735)
* Default Chunk-size changed to 10MB (#4354)
* Documentation Improvements, ie. about overlay icons
* Translation fixes
* Countless other bugfixes
* Sqlite Update to recent version
* Update of QtKeyChain to support Windows credential store
* Packaging of dolphin overlay icon module for bleeding edge distros
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
+1 -1
Ver Arquivo
@@ -15,7 +15,7 @@ with your computer.
### Binary packages
* Refer to the download page http://owncloud.org/sync-clients/
* Refer to the download page https://owncloud.org/install/#install-clients
### Source code
+1 -1
Ver Arquivo
@@ -1,5 +1,5 @@
set( MIRALL_VERSION_MAJOR 2 )
set( MIRALL_VERSION_MINOR 2 )
set( MIRALL_VERSION_MINOR 3 )
set( MIRALL_VERSION_PATCH 0 )
set( MIRALL_VERSION_YEAR 2016 )
set( MIRALL_SOVERSION 0 )
+1 -1
Ver Arquivo
@@ -30,7 +30,7 @@ StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Z
StrCpy $UNINSTALLER_FILE_Detail "Zapisuji odinstal tor"
StrCpy $UNINSTALLER_REGISTRY_Detail "Zapisuji instal tor do registr…"
StrCpy $UNINSTALLER_FINISHED_Detail "DokonŸeno"
StrCpy $UNINSTALL_MESSAGEBOX "Nezd  se, §e ${APPLICATION_NAME} je nainstalov na ve slo§ce '$INSTDIR'.$\n$\nChcete pokraŸovat (nedoporuŸuje se)?"
StrCpy $UNINSTALL_MESSAGEBOX "Nezd  se, §e ${APPLICATION_NAME} je nainstalov na v adres ýi '$INSTDIR'.$\n$\nChcete pokraŸovat (nedoporuŸuje se)?"
StrCpy $UNINSTALL_ABORT "Odinstalace zruçena u§ivatelem"
StrCpy $INIT_NO_QUICK_LAUNCH "Z stupce rychlho spuçtØn¡ (nen¡ k dispozici)"
StrCpy $INIT_NO_DESKTOP "Z stupce na ploçe (pýep¡çe existuj¡c¡)"
+6 -6
Ver Arquivo
@@ -1,14 +1,14 @@
# Auto-generated - do not modify
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Mostrar notas de lançamento"
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Existem ${APPLICATION_EXECUTABLE} processo(s) em execução que precisa(m) de ser interrompido(s).$\nDeseja que o instalador o(s) termine automaticamente?"
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "A terminar os processos ${APPLICATION_EXECUTABLE}."
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Não foi encontrado o processo a terminar!"
StrCpy $PageReinstall_NEW_Field_1 "Uma versão antiga de ${APPLICATION_NAME} está instalada no sistema. É recomendado que você desinstale a versão atual antes de instalar a mais recente. Selecione a operação que deseja executar e clique em $\"Avançar$\" para continuar."
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "A terminar os processos de ${APPLICATION_EXECUTABLE}."
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Não foi encontrado nenhum processo para terminar!"
StrCpy $PageReinstall_NEW_Field_1 "Está instalada no sistema uma versão antiga de ${APPLICATION_NAME}. É recomendado que desinstale a versão atual antes de instalar a mais recente. Selecione a operação que deseja executar e clique em $\"Seguinte$\" para continuar."
StrCpy $PageReinstall_NEW_Field_2 "Desinstalar antes de instalar"
StrCpy $PageReinstall_NEW_Field_3 "Não desinstale"
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Já instalado"
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Escolha como pretende instalar ${APPLICATION_NAME}."
StrCpy $PageReinstall_OLD_Field_1 "Uma versão mais recente do ${APPLICATION_NAME} já está instalada! Não é recomendada a instalação de uma versão mais antiga. Se realmente deseja instalar esta versão, aconselha-se a desinstalação da versão atual primeiro. Selecione a operação que deseja executar e clique em Avançar para continuar."
StrCpy $PageReinstall_OLD_Field_1 "Uma versão mais recente da aplicação ${APPLICATION_NAME} já está instalada! Não é recomendada a instalação de uma versão mais antiga. Se realmente deseja instalar esta versão, aconselha-se a desinstalação da versão atual primeiro. Selecione a operação que deseja executar e clique em Avançar para continuar."
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} já está instalada.$\nSelecione a operação que deseja realizar e clique em 'Seguinte' para continuar."
StrCpy $PageReinstall_SAME_Field_2 "Adicionar/Reinstalar Componentes"
StrCpy $PageReinstall_SAME_Field_3 "Desinstalar ${APPLICATION_NAME}"
@@ -25,12 +25,12 @@ StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Atalho de início rápido"
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "A criar atalho de início rápido"
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "O essencial de ${APPLICATION_NAME}."
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Atalho de ${APPLICATION_NAME}."
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Atalho no ambiente de trabalho de ${APPLICATION_NAME}."
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Atalho do ambiente de trabalho para ${APPLICATION_NAME}."
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Atalho de início rápido de ${APPLICATION_NAME}."
StrCpy $UNINSTALLER_FILE_Detail "A escrever o Desinstalador"
StrCpy $UNINSTALLER_REGISTRY_Detail "A escrever chaves de registo do instalador"
StrCpy $UNINSTALLER_FINISHED_Detail "Terminado"
StrCpy $UNINSTALL_MESSAGEBOX "Não parece que ${APPLICATION_NAME} esteja instalado no diretório '$INSTDIR'.$\n$\nContinuar na mesma (não recomendado)?"
StrCpy $UNINSTALL_MESSAGEBOX "Não parece que a aplicação ${APPLICATION_NAME} esteja instalada no diretório '$INSTDIR'.$\n$\nContinuar na mesma (não recomendado)?"
StrCpy $UNINSTALL_ABORT "Desinstalação cancelada pelo utilizador"
StrCpy $INIT_NO_QUICK_LAUNCH "Atalho de Início Rápido (N/A)"
StrCpy $INIT_NO_DESKTOP "Atalho do Ambiente de Trabalho (sobrepõe o existente)"
+1 -1
Ver Arquivo
@@ -9,6 +9,7 @@ StrCpy $PageReinstall_NEW_Field_3 "Avinstallera inte"
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Redan installerad"
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Välj hur du vill installera ${APPLICATION_NAME}."
StrCpy $PageReinstall_OLD_Field_1 "En nyare version av ${APPLICATION_NAME} är redan installerad! Det rekommenderas inte att du installerar en äldre version. Om du verkligen vill installera denna äldre versionen, är det bättre att du avinstallerar den nuvarande versionen först. Välj den åtgärd du vill utföra och klicka Nästa för att fortsätta."
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} är redan installerad.$\n$\nVälj den åtgärd du vill utföra och klicka på Nästa för att fortsätta."
StrCpy $PageReinstall_SAME_Field_2 "Lägg till/Ominstallera komponenter"
StrCpy $PageReinstall_SAME_Field_3 "Avinstallera ${APPLICATION_NAME}"
StrCpy $UNINSTALLER_APPDATA_TITLE "Avinstallera ${APPLICATION_NAME}"
@@ -40,4 +41,3 @@ StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Detta avinstallationsprogram kräver adm
StrCpy $UAC_ERROR_LOGON_SERVICE "Login-service körs inte, avbryter!"
StrCpy $INIT_UNINSTALLER_RUNNING "Avinstallationsprogrammet körs redan."
StrCpy $SectionGroup_Shortcuts "Genvägar"
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is already installed.$\r$\nSelect the operation you want to perform and click Next to continue."
+1 -1
Submodule binary updated: 230ed45cd0...d27d472817
-5
Ver Arquivo
@@ -1,5 +0,0 @@
--- binary
+++ binary
@@ -1 +1 @@
-Subproject commit 1fb9ddfa9a9a1b4dbc447eee10dbed89172d968a
+Subproject commit 01d73965dc8b862d1b2310d3ef801c297b697ec7
+1
Ver Arquivo
@@ -98,6 +98,7 @@ enum csync_status_codes_e {
CSYNC_STATUS_INDIVIDUAL_IS_SYMLINK,
CSYNC_STATUS_INDIVIDUAL_IGNORE_LIST,
CSYNC_STATUS_INDIVIDUAL_IS_INVALID_CHARS,
CSYNC_STATUS_INDIVIDUAL_TRAILING_SPACE,
CSYNC_STATUS_INDIVIDUAL_EXCLUDE_LONG_FILENAME,
CYSNC_STATUS_FILE_LOCKED_OR_OPEN,
CSYNC_STATUS_INDIVIDUAL_EXCLUDE_HIDDEN,
+6 -2
Ver Arquivo
@@ -229,8 +229,12 @@ static CSYNC_EXCLUDE_TYPE _csync_excluded_common(c_strlist_t *excludes, const ch
// distinguish files ending in '.' from files without an ending,
// as '.' is a separator that is not stored internally, so let's
// not allow to sync those to avoid file loss/ambiguities (#416)
if (blen > 1 && (bname[blen-1]== ' ' || bname[blen-1]== '.' )) {
match = CSYNC_FILE_EXCLUDE_INVALID_CHAR;
if (blen > 1) {
if (bname[blen-1]== ' ') {
match = CSYNC_FILE_EXCLUDE_TRAILING_SPACE;
} else if (bname[blen-1]== '.' ) {
match = CSYNC_FILE_EXCLUDE_INVALID_CHAR;
}
goto out;
}
+1
Ver Arquivo
@@ -27,6 +27,7 @@ enum csync_exclude_type_e {
CSYNC_FILE_EXCLUDE_AND_REMOVE,
CSYNC_FILE_EXCLUDE_LIST,
CSYNC_FILE_EXCLUDE_INVALID_CHAR,
CSYNC_FILE_EXCLUDE_TRAILING_SPACE,
CSYNC_FILE_EXCLUDE_LONG_FILENAME,
CSYNC_FILE_EXCLUDE_HIDDEN,
CSYNC_FILE_EXCLUDE_STAT_FAILED
+3
Ver Arquivo
@@ -270,6 +270,7 @@ static int _csync_detect_update(CSYNC *ctx, const char *file,
if(_last_db_return_error(ctx)) {
SAFE_FREE(st);
SAFE_FREE(tmp);
ctx->status_code = CSYNC_STATUS_UNSUCCESSFUL;
return -1;
}
@@ -476,6 +477,8 @@ out:
st->error_status = CSYNC_STATUS_INDIVIDUAL_IGNORE_LIST; /* File listed on ignore list. */
} else if (excluded == CSYNC_FILE_EXCLUDE_INVALID_CHAR) {
st->error_status = CSYNC_STATUS_INDIVIDUAL_IS_INVALID_CHARS; /* File contains invalid characters. */
} else if (excluded == CSYNC_FILE_EXCLUDE_TRAILING_SPACE) {
st->error_status = CSYNC_STATUS_INDIVIDUAL_TRAILING_SPACE; /* File ends with a trailing space. */
} else if (excluded == CSYNC_FILE_EXCLUDE_LONG_FILENAME) {
st->error_status = CSYNC_STATUS_INDIVIDUAL_EXCLUDE_LONG_FILENAME; /* File name is too long. */
} else if (excluded == CSYNC_FILE_EXCLUDE_HIDDEN ) {
@@ -30,7 +30,6 @@
static void setup(void **state) {
CSYNC *csync;
int rc;
csync_create(&csync, "/tmp/check_csync1", "/tmp/check_csync2");
-1
Ver Arquivo
@@ -74,7 +74,6 @@ static void teardown(void **state) {
static void check_csync_init(void **state)
{
CSYNC *csync = *state;
int rc;
csync_init(csync);
+7
Ver Arquivo
@@ -31,6 +31,13 @@ use strict;
print "Hello, this is t6, a tester for csync with ownCloud.\n";
# Checking CURL is installed to avoid misleading errors later...
system(("curl", "--help", ">", "/dev/null"));
if ($? != 0) {
print "CURL is needed for this script, aborting with error\n";
exit 1;
}
initTesting();
sub createPostUpdateScript($)
+4 -4
Ver Arquivo
@@ -159,8 +159,8 @@ In order to make setup simple, you can use the provided Dockerfile to build your
1. Assuming you are in the root of the ownCloud Client's source tree, you can
build an image from this Dockerfile like this::
cd admin/win32/docker
docker build . -t ownCloud-client-win32:<version>
cd admin/win/docker
docker build . -t owncloud-client-win32:<version>
Replace ``<version>`` by the version of the client you are building, e.g.
|version| for the release of the client that this document describes.
@@ -174,8 +174,8 @@ In order to make setup simple, you can use the provided Dockerfile to build your
2. From within the source tree Run the docker instance::
docker run ownCloud-client-win32:<version> -v "$PWD:/home/jenkins/client" \
admin/win32/docker/build.sh $(id -u)
docker run owncloud-client-win32:<version> -v "$PWD:/home/jenkins/client" \
admin/win/docker/build.sh $(id -u)
It will run the build, create an NSIS based installer, as well as run tests.
You will find the resulting binary in an newly created ``build-win32`` subfolder.
+2 -2
Ver Arquivo
@@ -41,7 +41,7 @@ master_doc = 'index'
# General information about the project.
project = u'ownCloud Client Manual'
copyright = u'2013, The ownCloud developers'
copyright = u'2013-2016, The ownCloud developers'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@@ -250,7 +250,7 @@ texinfo_documents = [
epub_title = u'ownCloud Client Manual'
epub_author = u'The ownCloud developers'
epub_publisher = u'The ownCloud developers'
epub_copyright = u'2013, The ownCloud developers'
epub_copyright = u'2013-2016, The ownCloud developers'
# The language of the text. It defaults to the language option
# or en if the language is not set.
Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 86 KiB

Depois

Largura:  |  Altura:  |  Tamanho: 52 KiB

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 82 KiB

Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 49 KiB

Depois

Largura:  |  Altura:  |  Tamanho: 58 KiB

Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 58 KiB

Depois

Largura:  |  Altura:  |  Tamanho: 224 KiB

Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 23 KiB

Depois

Largura:  |  Altura:  |  Tamanho: 20 KiB

Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 24 KiB

Depois

Largura:  |  Altura:  |  Tamanho: 34 KiB

+3 -3
Ver Arquivo
@@ -4,16 +4,16 @@ ownCloud Desktop Client Manual
==============================
.. toctree::
:maxdepth: 3
:maxdepth: 2
introduction
installing
navigating
advancedusage
autoupdate
building
architecture
troubleshooting
faq
glossary
glossary
+12 -16
Ver Arquivo
@@ -12,26 +12,22 @@ Desktop Sync client enables you to:
Your files are always automatically synchronized between your ownCloud server
and local PC.
.. note:: Because of various technical issues, desktop sync clients older than
1.7 will not allowed to connect and sync with the ownCloud 8.1+ server. It
is highly recommended to keep your client updated.
Because of various technical issues, desktop sync clients older than 1.7 will
not allowed to connect and sync with the ownCloud 8.1+ server. It is highly
recommended to keep your client updated.
Improvements and New Features
-----------------------------
The 2.1 release of the ownCloud desktop sync client has many new features and
The 2.2 release of the ownCloud desktop sync client has many new features and
improvements. (See the `complete changelog
<https://owncloud.org/changelog/desktop/>`_.)
* Improved appearance on HiDPI screens
* Improved error messages
* Several fixes/improvements to the sharing dialog
* Several fixes/improvements to the server activity tab
* Allow changeable upload chunk size in owncloud.cfg
* Forget password on explicit sign-out
* Windows: Fix deleting and replacing of read-only files
* Share with internal ownCloud users from your desktop
* Separate views for server activity, sync activity, and errors
* Don't re-upload *eml-files if size and checksum are unchanged
* Improved upload/download progress indicator
* Show server notifications on the client
* Improved sync speed
* Improved handling of Win32 file locks and network files
* Improved user notifications about ignored files and conflicts
* Add warnings for old server versions
* Update of QtKeyChain to support Windows credential store
* Packaging of dolphin overlay icon module for bleeding edge distros
+29 -22
Ver Arquivo
@@ -62,6 +62,7 @@ This menu provides the following options:
* Recent Changes, showing latest activities
* Settings
* Help menu
* Pause synchronizations
* An option to log in or log out of all of your accounts at once
* Quit ownCloud, logging out and closing the client
@@ -83,7 +84,7 @@ have the following features:
* Connection status, showing which ownCloud server you are connected to, and
your ownCloud username.
* An **Account** button, which contains a dropdown menu with **Add New**,
**Log In/Log Out**, and **Remove**.
**Log Out**, and **Remove**.
* Used and available space on the server.
* Current synchronization status.
* **Add Folder Sync Connection** button, which is active only when you have
@@ -93,26 +94,17 @@ The little button with three dots (the overflow menu) that sits to the right of
the sync status bar offers four additional options:
* Open Folder
* Choose What to Sync
* Choose What to Sync (This appears only when your file tree is collapsed, and
expands the file tree)
* Pause Sync / Resume Sync
* Remove folder sync connection
**Open Folder** opens a file explorer window displaying the client-side folder
that is being synced.
**Choose What to Sync** opens the folder sync tree view. Use this to sync all
or only some of the folders in the folder tree.
**Open Folder** opens your local ownCloud sync folder.
**Pause Sync** pauses sync operations without making any changes to your
account. It will continue to update file and folder lists, without
downloading or updating files. To stop all sync activity use **Remove Sync**.
**Resume Sync** resumes sync operations.
**Remove Sync** removes the sync connection without removing the account. This
stops all sync activity, including file and folder list updates. If you want to
synchronize the folder tree again then click the **Add Folder Sync Connection**
button, and re-select the folder tree that you want to sync.
downloading or updating files. To stop all sync activity use **Remove
Folder Sync Connection**.
.. figure:: images/client-7.png
:alt: Extra options for sync operations
@@ -125,12 +117,10 @@ button, and re-select the folder tree that you want to sync.
Adding New Accounts
^^^^^^^^^^^^^^^^^^^
You may configure multiple ownCloud accounts in your desktop sync client.
Simply
You may configure multiple ownCloud accounts in your desktop sync client. Simply
click the **Account** > **Add New** button on any account tab to add a new
account, and then follow the account creation wizard. The new account will
appear as a new tab in the settings dialog, where you can adjust its settings
at
appear as a new tab in the settings dialog, where you can adjust its settings at
any time. Use **Account** > **Remove** to delete accounts.
File Manager Overlay Icons
@@ -175,9 +165,7 @@ the ``owncloud-client-nautilus`` plugin.) You can create share links, and share
with internal ownCloud users the same way as in your ownCloud Web interface.
.. figure:: images/mac-share.png
:alt: Sync client integration in Finder on Mac OS X.
*Shared ownCloud files in Finder on Mac OS X*
:alt: Sync client integration in Windows Explorer.
Right-click your systray icon, hover over the account you want to use, and
left-click "Open folder [folder name] to quickly enter your local ownCloud
@@ -206,6 +194,25 @@ such as files not synced.
.. figure:: images/client-8.png
:alt: Activity windows logs all server and client activities.
Server Notifications
--------------------
Starting with version 2.2.0, the client will display notifications from your
ownCloud server that require manual interaction by you. For example, when a
user on a remote ownCloud creates a new Federated share for you, you can accept
it from your desktop client.
The desktop client automatically checks for available notifications
automatically on a regular basis. Notifications are displayed in the Server
Activity tab, and if you have **Show Desktop Notifications** enabled (General
tab) you'll also see a systray notification.
.. figure:: images/client12.png
:alt: Activity window with notification.
This also displays notifications sent to users by the ownCloud admin via the
Announcements app.
General Window
--------------
+1 -1
Ver Arquivo
@@ -40,7 +40,7 @@ logs.
1. Output of `owncloud --logwindow` or `owncloud --logfile log.txt`
(On Windows using `cmd.exe`, you might need to first `cd` into the ownCloud directory)
(See also http://doc.owncloud.org/desktop/1.8/troubleshooting.html#client-logfile )
(See also http://doc.owncloud.org/desktop/2.2/troubleshooting.html#client-logfile )
2. Web server error log:
+146 -4
Ver Arquivo
@@ -11,11 +11,153 @@ X-GNOME-Autostart-Delay=3
# Translations
Comment[sq]=Klient njëkohësimesh @APPLICATION_NAME@ për desktop
GenericName[sq]=Njëkohësim Dosjesh
Name[sq]=Klient njëkohësimesh @APPLICATION_NAME@ për desktop
Icon[sq]=@APPLICATION_EXECUTABLE@
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
# Translations
Icon[oc]=@APPLICATION_EXECUTABLE@
Comment[ca]=Client de sincronització d'escriptori @APPLICATION_NAME@
GenericName[ca]=Sincronització de carpetes
Name[ca]=Client de sincronització d'escriptori @APPLICATION_NAME@
Icon[ca]=@APPLICATION_EXECUTABLE@
Comment[da]=@APPLICATION_NAME@ skrivebordsklient til synkronisering
GenericName[da]=Mappesynkronisering
Name[da]=@APPLICATION_NAME@ skrivebordsklient til synk
Icon[da]=@APPLICATION_EXECUTABLE@
Comment[de]=@APPLICATION_NAME@ Desktop-Synchronisationsclient
GenericName[de]=Ordner-Synchronisation
Name[de]=@APPLICATION_NAME@ Desktop-Synchronisationsclient
Icon[de]=@APPLICATION_EXECUTABLE@
Comment[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
GenericName[ja_JP]=フォルダ同期
Name[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
Icon[ja_JP]=@APPLICATION_EXECUTABLE@
Comment[en_GB]=@APPLICATION_NAME@ desktop synchronisation client
GenericName[en_GB]=Folder Sync
Name[en_GB]=@APPLICATION_NAME@ desktop sync client
Icon[en_GB]=@APPLICATION_EXECUTABLE@
Comment[es]=@APPLICATION_NAME@ cliente de sincronización de escritorio
GenericName[es]=Sincronización de carpeta
Name[es]=@APPLICATION_NAME@ cliente de sincronización de escritorio
Icon[es]=@APPLICATION_EXECUTABLE@
Comment[de_DE]=@APPLICATION_NAME@ Desktop-Synchronisationsclient
GenericName[de_DE]=Ordner-Synchronisation
Name[de_DE]=@APPLICATION_NAME@ Desktop-Synchronisationsclient
Icon[de_DE]=@APPLICATION_EXECUTABLE@
Comment[fr]=@APPLICATION_NAME@ synchronisation du client
GenericName[fr]=Dossier de Synchronisation
Name[fr]=@APPLICATION_NAME@ synchronisation du client
Icon[fr]=@APPLICATION_EXECUTABLE@
Comment[he]=@APPLICATION_NAME@ לקוח סנכון שולחן עבודה
GenericName[he]=סנכון תיקייה
Name[he]=@APPLICATION_NAME@ לקוח סנכרון שולחן עבודה
Icon[he]=@APPLICATION_EXECUTABLE@
Comment[id]=Klien sinkronisasi desktop @APPLICATION_NAME@
GenericName[id]=Folder Sync
Name[id]=Klien sync desktop @APPLICATION_NAME@
Icon[id]=@APPLICATION_EXECUTABLE@
Comment[is]=@APPLICATION_NAME@ skjáborðsforrit samstillingar
GenericName[is]=Samstilling möppu
Name[is]=@APPLICATION_NAME@ skjáborðsforrit samstillingar
Icon[is]=@APPLICATION_EXECUTABLE@
Comment[it]=Client di sincronizzazione del desktop di @APPLICATION_NAME@
GenericName[it]=Sincronizzazione cartella
Name[it]=Client di sincronizzazione del desktop di @APPLICATION_NAME@
Icon[it]=@APPLICATION_EXECUTABLE@
Comment[ko]=@APPLICATION_NAME@ 데스크톱 동기화 클라이언트
GenericName[ko]=폴더 동기화
Name[ko]=@APPLICATION_NAME@ 데스크톱 동기화 클라이언트
Comment[nl]=@APPLICATION_NAME@ desktop synchronisatie client
GenericName[nl]=Mappen sync
Name[nl]=@APPLICATION_NAME@ desktop sync client
Icon[nl]=@APPLICATION_EXECUTABLE@
Comment[bg_BG]=@APPLICATION_NAME@ клиент за десктоп синхронизация
GenericName[bg_BG]=Синхронизиране на папката
Name[bg_BG]=@APPLICATION_NAME@ клиент десктоп синхронизация
Icon[bg_BG]=@APPLICATION_EXECUTABLE@
Comment[pt_BR]=@APPLICATION_NAME@ cliente de sincronização do computador
GenericName[pt_BR]=Sincronização de Pasta
Name[pt_BR]=@APPLICATION_NAME@ cliente de sincronização de desktop
Icon[pt_BR]=@APPLICATION_EXECUTABLE@
Comment[cs_CZ]=@APPLICATION_NAME@ počítačový synchronizační klient
GenericName[cs_CZ]=Synchronizace adresáře
Name[cs_CZ]=@APPLICATION_NAME@ počítačový synchronizační klient
Icon[cs_CZ]=@APPLICATION_EXECUTABLE@
Comment[ru]=Настольный клиент синхронизации @НАЗВАНИЕ_ПРИЛОЖЕНИЯ@
GenericName[ru]=Синхронизация папки
Name[ru]=Настольный клиент синхронизации @НАЗВАНИЕ_ПРИЛОЖЕНИЯ@
Icon[ru]=@ВЫПОЛНЯЕМОЕ_ПРИЛОЖЕНИЕ@
Comment[sl]=@APPLICATION_NAME@ Program za usklajevanje datotek z namizjem
GenericName[sl]=Usklajevanje map
Name[sl]=@APPLICATION_NAME@ Program za usklajevanje datotek z namizjem
Icon[sl]=@APPLICATION_EXECUTABLE@
Comment[sq]=Klient njëkohësimesh @APPLICATION_NAME@ për desktop
GenericName[sq]=Njëkohësim Dosjesh
Name[sq]=Klient njëkohësimesh @APPLICATION_NAME@ për desktop
Icon[sq]=@APPLICATION_EXECUTABLE@
Comment[tr]=@APPLICATION_NAME@ masaüstü senkronizasyon istemcisi
GenericName[tr]=Dosya Senkronizasyonu
Name[tr]=@APPLICATION_NAME@ masaüstü senkronizasyon istemcisi
Icon[tr]=@APPLICATION_EXECUTABLE@
Comment[uk]=Настільний клієнт синхронізації @APPLICATION_NAME@
GenericName[uk]=Синхронізація теки
Name[uk]=Настільний клієнт синхронізації @APPLICATION_NAME@
Icon[uk]=@APPLICATION_EXECUTABLE@
Comment[ro]=@APPLICATION_NAME@ client de sincronizare pe desktop
GenericName[ro]=Sincronizare director
Name[ro]=@APPLICATION_NAME@ client de sincronizare pe desktop
Icon[ro]=@APPLICATION_EXECUTABLE@
Comment[zh_CN]=@APPLICATION_NAME@ 桌面同步客户端
GenericName[zh_CN]=文件夹同步
Name[zh_CN]=@APPLICATION_NAME@ 桌面同步客户端
Icon[zh_CN]=@APPLICATION_EXECUTABLE@
GenericName[zh_TW]=資料夾同步
Comment[pt_PT]=@APPLICATION_NAME@ - Cliente de Sincronização para PC
GenericName[pt_PT]=Sincronizar Pasta
Name[pt_PT]=@APPLICATION_NAME@ - Cliente de Sincronização para PC
Icon[pt_PT]=@APPLICATION_EXECUTABLE@
Comment[th_TH]=@APPLICATION_NAME@ ไคลเอนต์ประสานข้อมูลเดสก์ท็อป
GenericName[th_TH]=ประสานข้อมูลโฟลเดอร์
Name[th_TH]= @APPLICATION_NAME@ ไคลเอนต์ประสานข้อมูลเดสก์ท็อป
Icon[th_TH]=@APPLICATION_EXECUTABLE@
+3 -7
Ver Arquivo
@@ -28,16 +28,12 @@
* \return string PEM
*/
string x509ToString(BIO *o) {
int len = 0;
BUF_MEM *bptr;
void* data;
string ret = "";
BIO_get_mem_ptr(o, &bptr);
len = bptr->length;
data = calloc(len+10, sizeof(char));
int len = bptr->length;
void* data = calloc(len+10, sizeof(char));
BIO_read(o, data, len);
ret = strdup((char*)data);
string ret = std::string(static_cast<char*>(data));
free(data);
return ret;
+9430 -1907
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+1478 -23
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+4 -2
Ver Arquivo
@@ -190,7 +190,8 @@ void AccountState::checkConnectivity()
} else {
// Check the server and then the auth.
#ifdef Q_OS_WIN
// Let's try this for all OS and see if it fixes the Qt issues we have on Linux #4720 #3888 #4051
//#ifdef Q_OS_WIN
// There seems to be a bug in Qt on Windows where QNAM sometimes stops
// working correctly after the computer woke up from sleep. See #2895 #2899
// and #2973.
@@ -201,7 +202,7 @@ void AccountState::checkConnectivity()
// If we don't reset the ssl config a second CheckServerJob can produce a
// ssl config that does not have a sensible certificate chain.
account()->setSslConfiguration(QSslConfiguration());
#endif
//#endif
conValidator->checkServerAndAuth();
}
}
@@ -209,6 +210,7 @@ void AccountState::checkConnectivity()
void AccountState::slotConnectionValidatorResult(ConnectionValidator::Status status, const QStringList& errors)
{
if (isSignedOut()) {
qDebug() << "Signed out, ignoring" << connectionStatusString(status) << _account->url().toString();
return;
}
+16
Ver Arquivo
@@ -248,6 +248,9 @@ void ActivityWidget::slotBuildNotificationDisplay(const ActivityList& list)
QHash<QString, int> accNotified;
QString listAccountName;
// Whether a new notification widget was added to the notificationLayout.
bool newNotificationShown = false;
foreach( auto activity, list ) {
if( _blacklistedNotifications.contains(activity)) {
qDebug() << Q_FUNC_INFO << "Activity in blacklist, skip";
@@ -271,6 +274,7 @@ void ActivityWidget::slotBuildNotificationDisplay(const ActivityList& list)
_ui->_notifyScroll->setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContentsOnFirstShow);
#endif
_widgetForNotifId[activity.ident()] = widget;
newNotificationShown = true;
}
widget->setActivity( activity );
@@ -365,6 +369,10 @@ void ActivityWidget::slotBuildNotificationDisplay(const ActivityList& list)
const QString log = tr("%1 Notifications - Action Required").arg(Theme::instance()->appNameGUI());
emit guiLog( log, msg);
}
if (newNotificationShown) {
emit newNotification();
}
}
void ActivityWidget::slotSendNotificationRequest(const QString& accountName, const QString& link, const QByteArray& verb)
@@ -517,6 +525,7 @@ ActivitySettings::ActivitySettings(QWidget *parent)
connect(_activityWidget, SIGNAL(copyToClipboard()), this, SLOT(slotCopyToClipboard()));
connect(_activityWidget, SIGNAL(hideActivityTab(bool)), this, SLOT(setActivityTabHidden(bool)));
connect(_activityWidget, SIGNAL(guiLog(QString,QString)), this, SIGNAL(guiLog(QString,QString)));
connect(_activityWidget, SIGNAL(newNotification()), SLOT(slotShowActivityTab()));
_protocolWidget = new ProtocolWidget(this);
_tab->insertTab(1, _protocolWidget, Theme::instance()->syncStateIcon(SyncResult::Success), tr("Sync Protocol"));
@@ -582,6 +591,13 @@ void ActivitySettings::slotShowIssueItemCount(int cnt)
_tab->setTabText(_syncIssueTabId, cntText);
}
void ActivitySettings::slotShowActivityTab()
{
if (_activityTabId != -1) {
_tab->setCurrentIndex(_activityTabId);
}
}
void ActivitySettings::slotCopyToClipboard()
{
QString text;
+2 -1
Ver Arquivo
@@ -81,7 +81,7 @@ signals:
void copyToClipboard();
void rowsInserted();
void hideActivityTab(bool);
void newNotificationList(const ActivityList& list);
void newNotification();
private slots:
void slotBuildNotificationDisplay(const ActivityList& list);
@@ -143,6 +143,7 @@ private slots:
void setActivityTabHidden(bool hidden);
void slotRegularNotificationCheck();
void slotShowIssueItemCount(int cnt);
void slotShowActivityTab();
signals:
void guiLog(const QString&, const QString&);
+6 -1
Ver Arquivo
@@ -38,7 +38,12 @@ namespace OCC
class UserAgentWebPage : public QWebPage {
public:
UserAgentWebPage(QObject *parent) : QWebPage(parent) {}
UserAgentWebPage(QObject *parent) : QWebPage(parent)
{
if (!qgetenv("OWNCLOUD_SHIBBOLETH_DEBUG").isEmpty()) {
settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
}
}
QString userAgentForUrl(const QUrl &url ) const {
return QWebPage::userAgentForUrl(url) + " " + Utility::userAgentString();
}
+17 -16
Ver Arquivo
@@ -320,6 +320,7 @@ void Folder::slotRunEtagJob()
// sync if it's different.
_requestEtagJob = new RequestEtagJob(account, remotePath(), this);
_requestEtagJob->setTimeout(60*1000);
// check if the etag is different
QObject::connect(_requestEtagJob, SIGNAL(etagRetreived(QString)), this, SLOT(etagRetreived(QString)));
FolderMan::instance()->slotScheduleETagJob(alias(), _requestEtagJob);
@@ -578,19 +579,10 @@ int Folder::slotWipeErrorBlacklist()
void Folder::slotWatchedPathChanged(const QString& path)
{
// When no sync is running or it's in the prepare phase, we can
// always schedule a new sync.
if (! _engine->isSyncRunning() || _syncResult.status() == SyncResult::SyncPrepare) {
emit watchedFileChangedExternally(path);
emit scheduleToSync(this);
return;
}
// The folder watcher fires a lot of bogus notifications during
// a sync operation, both for actual user files and the database
// and log. Therefore we check notifications against operations
// the sync is doing to filter out our own changes.
bool ownChange = false;
#ifdef Q_OS_MAC
Q_UNUSED(path)
// On OSX the folder watcher does not report changes done by our
@@ -600,14 +592,23 @@ void Folder::slotWatchedPathChanged(const QString& path)
const auto maxNotificationDelay = 15*1000;
qint64 time = _engine->timeSinceFileTouched(path);
if (time != -1 && time < maxNotificationDelay) {
ownChange = true;
return;
}
#endif
if (! ownChange) {
emit watchedFileChangedExternally(path);
emit scheduleToSync(this);
// Check that the mtime actually changed.
if (path.startsWith(this->path())) {
auto relativePath = path.mid(this->path().size());
auto record = _journal.getFileRecord(relativePath);
if (record.isValid() && !FileSystem::fileChanged(path, record._fileSize,
Utility::qDateTimeToTime_t(record._modtime))) {
qDebug() << "Ignoring spurious notification for file" << relativePath;
return; // probably a spurious notification
}
}
emit watchedFileChangedExternally(path);
emit scheduleToSync(this);
}
void Folder::slotThreadTreeWalkResult(const SyncFileItemVector& items)
@@ -630,7 +631,7 @@ void Folder::removeFromSettings() const
{
auto settings = _accountState->settings();
settings->beginGroup(QLatin1String("Folders"));
settings->remove(_definition.alias);
settings->remove(FolderMan::escapeAlias(_definition.alias));
}
bool Folder::isFileExcludedAbsolute(const QString& fullPath) const
@@ -915,7 +916,7 @@ void Folder::slotFolderDiscovered(bool, QString folderName)
// and hand the result over to the progress dispatcher.
void Folder::slotTransmissionProgress(const ProgressInfo &pi)
{
if( !pi.hasStarted() ) {
if( !pi.isUpdatingEstimates() ) {
// this is the beginning of a sync, set the warning level to 0
_syncResult.setWarnCount(0);
}
@@ -1001,7 +1002,7 @@ void Folder::slotAboutToRemoveAllFiles(SyncFileItem::Direction, bool *cancel)
void Folder::slotAboutToRestoreBackup(bool *restore)
{
QString msg =
tr("This sync would reset the files to an erlier time in the sync folder '%1'.\n"
tr("This sync would reset the files to an earlier time in the sync folder '%1'.\n"
"This might be because a backup was restored on the server.\n"
"Continuing the sync as normal will cause all your files to be overwritten by an older "
"file in an earlier state. "
+1 -1
Ver Arquivo
@@ -584,7 +584,7 @@ void FolderStatusModel::slotUpdateDirectories(const QStringList &list)
QStringList sortedSubfolders = list;
// skip the parent item (first in the list)
sortedSubfolders.erase(sortedSubfolders.begin());
sortedSubfolders.sort();
Utility::sortFilenames(sortedSubfolders);
QVarLengthArray<int, 10> undecidedIndexes;
+15 -1
Ver Arquivo
@@ -51,6 +51,14 @@ static void callback(
Q_UNUSED(eventFlags)
Q_UNUSED(eventIds)
const FSEventStreamEventFlags c_interestingFlags
= kFSEventStreamEventFlagItemCreated // for new folder/file
| kFSEventStreamEventFlagItemRemoved // for rm
| kFSEventStreamEventFlagItemInodeMetaMod // for mtime change
| kFSEventStreamEventFlagItemRenamed // also coming for moves to trash in finder
| kFSEventStreamEventFlagItemModified; // for content change
//We ignore other flags, e.g. for owner change, xattr change, Finder label change etc
qDebug() << "FolderWatcherPrivate::callback by OS X";
QStringList paths;
@@ -62,8 +70,14 @@ static void callback(
CFIndex pathLength = CFStringGetLength(path);
qstring.resize(pathLength);
CFStringGetCharacters(path, CFRangeMake(0, pathLength), reinterpret_cast<UniChar *>(qstring.data()));
QString fn = qstring.normalized(QString::NormalizationForm_C);
paths.append(qstring.normalized(QString::NormalizationForm_C));
if (!(eventFlags[i] & c_interestingFlags)) {
qDebug() << "Ignoring non-content changes for" << fn;
continue;
}
paths.append(fn);
}
reinterpret_cast<FolderWatcherPrivate*>(clientCallBackInfo)->doNotifyParent(paths);
+7 -18
Ver Arquivo
@@ -68,13 +68,6 @@ FolderWizardLocalPath::FolderWizardLocalPath()
_ui.localFolderLineEdit->setText( QDir::toNativeSeparators( defaultPath ) );
_ui.localFolderLineEdit->setToolTip(tr("Enter the path to the local folder."));
QString newAlias = Theme::instance()->appName();
int count = 0;
while (FolderMan::instance()->folder(newAlias)) {
// There is already a folder configured with this name and folder names need to be unique
newAlias = Theme::instance()->appName() + QString::number(++count);
}
_ui.warnLabel->setTextFormat(Qt::RichText);
_ui.warnLabel->hide();
}
@@ -135,14 +128,6 @@ void FolderWizardLocalPath::slotChooseLocalFolder()
if (!dir.isEmpty()) {
// set the last directory component name as alias
_ui.localFolderLineEdit->setText(QDir::toNativeSeparators(dir));
QDir pickedDir(dir);
QString newAlias = pickedDir.dirName();
int count = 0;
while (FolderMan::instance()->folder(newAlias)) {
// There is already a folder configured with this name and folder names need to be unique
newAlias = pickedDir.dirName() + QString::number(++count);
}
}
emit completeChanged();
}
@@ -323,7 +308,7 @@ void FolderWizardRemotePath::slotUpdateDirectories(const QStringList &list)
root->setData(0, Qt::UserRole, "/");
}
QStringList sortedList = list;
sortedList.sort();
Utility::sortFilenames(sortedList);
foreach (QString path, sortedList) {
path.remove(webdavFolder);
QStringList paths = path.split('/');
@@ -503,11 +488,13 @@ FolderWizardSelectiveSync::~FolderWizardSelectiveSync()
void FolderWizardSelectiveSync::initializePage()
{
QString alias = wizard()->field(QLatin1String("alias")).toString();
QString targetPath = wizard()->property("targetPath").toString();
if (targetPath.startsWith('/')) {
targetPath = targetPath.mid(1);
}
QString alias = QFileInfo(targetPath).fileName();
if (alias.isEmpty())
alias = Theme::instance()->appName();
_treeView->setFolderInfo(targetPath, alias);
QWizardPage::initializePage();
}
@@ -520,8 +507,10 @@ bool FolderWizardSelectiveSync::validatePage()
void FolderWizardSelectiveSync::cleanupPage()
{
QString alias = wizard()->field(QLatin1String("alias")).toString();
QString targetPath = wizard()->property("targetPath").toString();
QString alias = QFileInfo(targetPath).fileName();
if (alias.isEmpty())
alias = Theme::instance()->appName();
_treeView->setFolderInfo(targetPath, alias);
QWizardPage::cleanupPage();
}
+6 -5
Ver Arquivo
@@ -47,18 +47,19 @@ int main(int argc, char **argv)
{
Q_INIT_RESOURCE(client);
#ifndef Q_OS_MAC
#ifdef Q_OS_WIN
// If the font size ratio is set on Windows, we need to
// enable the auto pixelRatio in Qt since we don't
// want to use sizes relative to the font size everywhere.
// This is automatic on OS X, but opt-in on Windows and Linux
// https://doc-snapshots.qt.io/qt5-5.6/highdpi.html#qt-support
#if QT_VERSION < QT_VERSION_CHECK(5, 6, 0)
qputenv("QT_DEVICE_PIXEL_RATIO", "auto");
#else
// We do not define it on linux so the behaviour is kept the same
// as other Qt apps in the desktop environment. (which may or may
// not set this envoronment variable)
#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1");
#endif
#endif // !Q_OS_MAC
#endif // !Q_OS_WIN
#ifdef Q_OS_MAC
Mac::CocoaInitializer cocoaInit; // RIIA
+1 -1
Ver Arquivo
@@ -685,7 +685,7 @@ void ownCloudGui::slotUpdateProgress(const QString &folder, const ProgressInfo&
slotRebuildRecentMenus();
}
if (progress.hasStarted()
if (progress.isUpdatingEstimates()
&& progress.completedFiles() >= progress.totalFiles()
&& progress._currentDiscoveredFolder.isEmpty()) {
QTimer::singleShot(2000, this, SLOT(slotDisplayIdle()));
+1 -1
Ver Arquivo
@@ -173,7 +173,7 @@ void OwncloudSetupWizard::slotNoOwnCloudFoundAuth(QNetworkReply *reply)
// Allow the credentials dialog to pop up again for the same URL.
// Maybe the user just clicked 'Cancel' by accident or changed his mind.
_ocWizard->account()->resetSslCertErrorState();
_ocWizard->account()->resetRejectedCertificates();
}
void OwncloudSetupWizard::slotNoOwnCloudFoundAuthTimeout(const QUrl&url)
+10 -3
Ver Arquivo
@@ -57,9 +57,15 @@ ProtocolWidget::ProtocolWidget(QWidget *parent) :
header << tr("Action");
header << tr("Size");
int timestampColumnExtra = 0;
#ifdef Q_OS_WIN
timestampColumnExtra = 20; // font metrics are broken on Windows, see #4721
#endif
_ui->_treeWidget->setHeaderLabels( header );
int timestampColumnWidth =
_ui->_treeWidget->fontMetrics().width(timeString(QDateTime::currentDateTime()));
_ui->_treeWidget->fontMetrics().width(timeString(QDateTime::currentDateTime()))
+ timestampColumnExtra;
_ui->_treeWidget->setColumnWidth(0, timestampColumnWidth);
_ui->_treeWidget->setColumnWidth(1, 180);
_ui->_treeWidget->setColumnCount(5);
@@ -84,7 +90,8 @@ ProtocolWidget::ProtocolWidget(QWidget *parent) :
_issueItemView->setHeaderLabels( header );
timestampColumnWidth =
ActivityItemDelegate::rowHeight() // icon
+ _issueItemView->fontMetrics().width(timeString(QDateTime::currentDateTime()));
+ _issueItemView->fontMetrics().width(timeString(QDateTime::currentDateTime()))
+ timestampColumnExtra;
_issueItemView->setColumnWidth(0, timestampColumnWidth);
_issueItemView->setColumnWidth(1, 180);
_issueItemView->setColumnCount(4);
@@ -212,7 +219,7 @@ QTreeWidgetItem* ProtocolWidget::createCompletedTreewidgetItem(const QString& fo
void ProtocolWidget::slotProgressInfo( const QString& folder, const ProgressInfo& progress )
{
if( !progress.hasStarted() ) {
if( !progress.isUpdatingEstimates() ) {
// The sync is restarting, clean the old items
cleanItems(folder);
} else if (progress.completedFiles() >= progress.totalFiles()) {
+1 -1
Ver Arquivo
@@ -222,7 +222,7 @@ void SelectiveSyncTreeView::slotUpdateDirectories(QStringList list)
}
}
list.sort();
Utility::sortFilenames(list);
foreach (QString path, list) {
auto size = job ? job->_sizes.value(path) : 0;
path.remove(pathToRemove);
+26
Ver Arquivo
@@ -16,6 +16,7 @@
#include "ui_sharelinkwidget.h"
#include "account.h"
#include "capabilities.h"
#include "creds/abstractcredentials.h"
#include "share.h"
@@ -23,6 +24,7 @@
#include <QBuffer>
#include <QClipboard>
#include <QFileInfo>
#include <QDesktopServices>
namespace OCC {
@@ -53,6 +55,10 @@ ShareLinkWidget::ShareLinkWidget(AccountPtr account,
_ui->pushButton_copy->setEnabled(false);
connect(_ui->pushButton_copy, SIGNAL(clicked(bool)), SLOT(slotPushButtonCopyLinkPressed()));
_ui->pushButton_mail->setIcon(QIcon::fromTheme("mail-send"));
_ui->pushButton_mail->setEnabled(false);
connect(_ui->pushButton_mail, SIGNAL(clicked(bool)), SLOT(slotPushButtonMailLinkPressed()));
// the following progress indicator widgets are added to layouts which makes them
// automatically deleted once the dialog dies.
_pi_link = new QProgressIndicator();
@@ -224,6 +230,7 @@ void ShareLinkWidget::slotSharesFetched(const QList<QSharedPointer<Share>> &shar
if (share->getShareType() == Share::TypeLink) {
_share = qSharedPointerDynamicCast<LinkShare>(share);
_ui->pushButton_copy->show();
_ui->pushButton_mail->show();
_ui->widget_shareLink->show();
_ui->checkBox_shareLink->setChecked(true);
@@ -268,6 +275,7 @@ void ShareLinkWidget::slotSharesFetched(const QList<QSharedPointer<Share>> &shar
}
setShareLink(_share->getLink().toString());
_ui->pushButton_mail->setEnabled(true);
_ui->pushButton_copy->setEnabled(true);
// Connect all shares signals to gui slots
@@ -324,6 +332,7 @@ void ShareLinkWidget::setShareLink( const QString& url )
if( realUrl.isValid() ) {
_shareUrl = url;
_ui->pushButton_copy->setEnabled(true);
_ui->pushButton_mail->setEnabled(true);
} else {
_shareUrl.clear();
_ui->_labelShareLink->setText(QString::null);
@@ -339,6 +348,7 @@ void ShareLinkWidget::slotDeleteShareFetched()
_ui->lineEdit_password->clear();
_ui->_labelShareLink->clear();
_ui->pushButton_copy->setEnabled(false);
_ui->pushButton_mail->setEnabled(false);
_ui->widget_shareLink->hide();
_ui->lineEdit_password->hide();
_ui->pushButton_setPassword->setEnabled(false);
@@ -368,6 +378,7 @@ void ShareLinkWidget::slotCheckBoxShareLinkClicked()
_ui->checkBox_editing->setEnabled(false);
_ui->lineEdit_password->setFocus();
_ui->pushButton_copy->hide();
_ui->pushButton_mail->hide();
_ui->widget_shareLink->show();
slotCheckBoxPasswordClicked();
@@ -413,6 +424,7 @@ void ShareLinkWidget::slotCreateShareRequiresPassword(const QString& message)
_ui->lineEdit_password->setEnabled(true);
_ui->lineEdit_password->setFocus();
_ui->pushButton_copy->hide();
_ui->pushButton_mail->hide();
_ui->widget_shareLink->show();
_ui->checkBox_expire->setEnabled(false);
_ui->checkBox_editing->setEnabled(false);
@@ -473,6 +485,20 @@ void ShareLinkWidget::slotPushButtonCopyLinkPressed()
#endif
}
void ShareLinkWidget::slotPushButtonMailLinkPressed()
{
QString fileName = _sharePath.mid(_sharePath.lastIndexOf('/') + 1);
QDesktopServices::openUrl(QUrl(QString(
"mailto: "
"?subject=%1 has shared %2 with you"
"&body=%3").arg(
_account->credentials()->user(),
fileName,
_shareUrl),
QUrl::TolerantMode));
}
void ShareLinkWidget::slotCheckBoxEditingClicked()
{
ShareLinkWidget::setPublicUpload(_ui->checkBox_editing->checkState() == Qt::Checked);
+1
Ver Arquivo
@@ -68,6 +68,7 @@ private slots:
void slotPasswordReturnPressed();
void slotPasswordChanged(const QString& newText);
void slotPushButtonCopyLinkPressed();
void slotPushButtonMailLinkPressed();
void slotCheckBoxEditingClicked();
void slotPublicUploadSet();
+7
Ver Arquivo
@@ -195,6 +195,13 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_mail">
<property name="text">
<string>&amp;Mail link</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_copy">
<property name="text">
+1 -3
Ver Arquivo
@@ -72,9 +72,7 @@ ShareUserGroupWidget::ShareUserGroupWidget(AccountPtr account,
_completer->setModel(_completerModel);
_completer->setCaseSensitivity(Qt::CaseInsensitive);
#if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0)
_completer->setFilterMode(Qt::MatchContains);
#endif
_completer->setCompletionMode(QCompleter::UnfilteredPopupCompletion);
_ui->shareeLineEdit->setCompleter(_completer);
_manager = new ShareManager(_account, this);
+2
Ver Arquivo
@@ -218,6 +218,7 @@ void OCUpdater::slotVersionInfoArrived()
{
_timeoutWatchdog->stop();
QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
reply->deleteLater();
if( reply->error() != QNetworkReply::NoError ) {
qDebug() << "Failed to reach version check url: " << reply->errorString();
return;
@@ -258,6 +259,7 @@ void NSISUpdater::slotWriteFile()
void NSISUpdater::slotDownloadFinished()
{
QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
reply->deleteLater();
if (reply->error() != QNetworkReply::NoError) {
setDownloadState(DownloadFailed);
return;
+1
Ver Arquivo
@@ -242,6 +242,7 @@ void AbstractNetworkJob::slotTimeout()
reply()->abort();
} else {
qDebug() << Q_FUNC_INFO << this << "Timeout reply was NULL";
deleteLater();
}
}
+17 -6
Ver Arquivo
@@ -40,7 +40,6 @@ Account::Account(QObject *parent)
, _capabilities(QVariantMap())
, _am(0)
, _credentials(0)
, _treatSslErrorsAsFailure(false)
, _davPath( Theme::instance()->webDavPath() )
, _wasMigrated(false)
{
@@ -329,9 +328,9 @@ void Account::addApprovedCerts(const QList<QSslCertificate> certs)
_approvedCerts += certs;
}
void Account::resetSslCertErrorState()
void Account::resetRejectedCertificates()
{
_treatSslErrorsAsFailure = false;
_rejectedCertificates.clear();
}
void Account::setSslErrorHandler(AbstractSslErrorHandler *handler)
@@ -412,8 +411,15 @@ void Account::slotHandleSslErrors(QNetworkReply *reply , QList<QSslError> errors
<< error.errorString() << "("<< error.error() << ")" << "\n";
}
if( _treatSslErrorsAsFailure ) {
// User decided once not to trust. Honor this decision.
bool allPreviouslyRejected = true;
foreach (const QSslError &error, errors) {
if (!_rejectedCertificates.contains(error.certificate())) {
allPreviouslyRejected = false;
}
}
// If all certs have previously been rejected by the user, don't ask again.
if( allPreviouslyRejected ) {
qDebug() << out << "Certs not trusted by user decision, returning.";
return;
}
@@ -436,7 +442,12 @@ void Account::slotHandleSslErrors(QNetworkReply *reply , QList<QSslError> errors
// certificate changes.
reply->ignoreSslErrors(errors);
} else {
_treatSslErrorsAsFailure = true;
// Mark all involved certificates as rejected, so we don't ask the user again.
foreach (const QSslError &error, errors) {
if (!_rejectedCertificates.contains(error.certificate())) {
_rejectedCertificates.append(error.certificate());
}
}
// if during normal operation, a new certificate was MITM'ed, and the user does not
// ACK it, the running request must be aborted and the QNAM must be reset, to not
// treat the new cert as granted. See bug #3283
+5 -2
Ver Arquivo
@@ -133,7 +133,7 @@ public:
// Usually when a user explicitly rejects a certificate we don't
// ask again. After this call, a dialog will again be shown when
// the next unknown certificate is encountered.
void resetSslCertErrorState();
void resetRejectedCertificates();
// pluggable handler
void setSslErrorHandler(AbstractSslErrorHandler *handler);
@@ -216,7 +216,10 @@ private:
QuotaInfo *_quotaInfo;
QNetworkAccessManager *_am;
AbstractCredentials* _credentials;
bool _treatSslErrorsAsFailure;
/// Certificates that were explicitly rejected by the user
QList<QSslCertificate> _rejectedCertificates;
static QString _configFileName;
QByteArray _pemCertificate;
QString _pemPrivateKey;
+3 -3
Ver Arquivo
@@ -111,9 +111,9 @@ bool OWNCLOUDSYNC_EXPORT rename(const QString& originFileName,
*
* @return true if the file's mtime or size are not what is expected.
*/
bool fileChanged(const QString& fileName,
qint64 previousSize,
time_t previousMtime);
bool OWNCLOUDSYNC_EXPORT fileChanged(const QString& fileName,
qint64 previousSize,
time_t previousMtime);
/**
* @brief Like !fileChanged() but with verbose logging if the file *did* change.
-21
Ver Arquivo
@@ -542,27 +542,6 @@ void OwncloudPropagator::scheduleNextJob()
}
}
void OwncloudPropagator::addTouchedFile(const QString& fn)
{
QString file = QDir::cleanPath(fn);
QElapsedTimer timer;
timer.start();
QMutexLocker lock(&_touchedFilesMutex);
_touchedFiles.insert(file, timer);
}
qint64 OwncloudPropagator::timeSinceFileTouched(const QString& fn) const
{
QMutexLocker lock(&_touchedFilesMutex);
if (! _touchedFiles.contains(fn)) {
return -1;
}
return _touchedFiles[fn].elapsed();
}
AccountPtr OwncloudPropagator::account() const
{
return _account;
+17 -17
Ver Arquivo
@@ -297,7 +297,12 @@ public:
QAtomicInt _abortRequested; // boolean set by the main thread to abort.
/* The list of currently active jobs */
/** The list of currently active jobs.
This list contains the jobs that are currently using ressources and is used purely to
know how many jobs there is currently running for the scheduler.
Jobs add themself to the list when they do an assynchronous operation.
Jobs can be several time on the list (example, when several chunks are uploaded in parallel)
*/
QList<PropagateItemJob*> _activeJobList;
/** We detected that another sync is required after this one */
@@ -325,18 +330,6 @@ public:
/** returns the size of chunks in bytes */
static quint64 chunkSize();
/** Records that a file was touched by a job.
*
* Thread-safe.
*/
void addTouchedFile(const QString& fn);
/** Get the ms since a file was touched, or -1 if it wasn't.
*
* Thread-safe.
*/
qint64 timeSinceFileTouched(const QString& fn) const;
AccountPtr account() const;
enum DiskSpaceResult
@@ -372,17 +365,24 @@ signals:
/** Emitted when propagation has problems with a locked file. */
void seenLockedFile(const QString &fileName);
/** Emitted when propagation touches a file.
*
* Used to track our own file modifications such that notifications
* from the file watcher about these can be ignored.
*/
void touchedFile(const QString &fileName);
private:
AccountPtr _account;
/** Stores the time since a job touched a file. */
QHash<QString, QElapsedTimer> _touchedFiles;
mutable QMutex _touchedFilesMutex;
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
// access to signals which are protected in Qt4
friend class PropagateDownloadFileQNAM;
friend class PropagateUploadFileQNAM;
friend class PropagateLocalMkdir;
friend class PropagateLocalRename;
friend class PropagateRemoteMove;
#endif
};
+56 -10
Ver Arquivo
@@ -127,27 +127,65 @@ void ProgressDispatcher::setProgressInfo(const QString& folder, const ProgressIn
emit progressInfo( folder, progress );
}
void ProgressInfo::start()
ProgressInfo::ProgressInfo()
{
connect(&_updateEstimatesTimer, SIGNAL(timeout()), SLOT(updateEstimates()));
reset();
}
void ProgressInfo::reset()
{
_currentItems.clear();
_currentDiscoveredFolder.clear();
_sizeProgress = Progress();
_fileProgress = Progress();
_totalSizeOfCompletedJobs = 0;
_maxBytesPerSecond = 100000.0;
_maxFilesPerSecond = 2.0;
_updateEstimatesTimer.stop();
}
void ProgressInfo::startEstimateUpdates()
{
_updateEstimatesTimer.start(1000);
}
bool ProgressInfo::hasStarted() const
bool ProgressInfo::isUpdatingEstimates() const
{
return _updateEstimatesTimer.isActive();
}
static bool shouldCountProgress(const SyncFileItem &item)
{
const auto instruction = item._instruction;
// Don't worry about directories that won't have propagation
// jobs associated with them.
if (item._isDirectory
&& (instruction == CSYNC_INSTRUCTION_NONE
|| instruction == CSYNC_INSTRUCTION_SYNC
|| instruction == CSYNC_INSTRUCTION_CONFLICT)) {
return false;
}
// Skip any ignored or error files, we do nothing with them.
if (instruction == CSYNC_INSTRUCTION_IGNORE
|| instruction == CSYNC_INSTRUCTION_ERROR) {
return false;
}
return true;
}
void ProgressInfo::adjustTotalsForFile(const SyncFileItem &item)
{
if (!item._isDirectory) {
_fileProgress._total++;
if (isSizeDependent(item)) {
_sizeProgress._total += item._size;
}
} else if (item._instruction != CSYNC_INSTRUCTION_NONE) {
// Added or removed directories certainly count.
_fileProgress._total++;
if (!shouldCountProgress(item)) {
return;
}
_fileProgress._total += item._affectedItems;
if (isSizeDependent(item)) {
_sizeProgress._total += item._size;
}
}
@@ -178,6 +216,10 @@ quint64 ProgressInfo::completedSize() const
void ProgressInfo::setProgressComplete(const SyncFileItem &item)
{
if (!shouldCountProgress(item)) {
return;
}
_currentItems.remove(item._file);
_fileProgress.setCompleted(_fileProgress._completed + item._affectedItems);
if (ProgressInfo::isSizeDependent(item)) {
@@ -189,6 +231,10 @@ void ProgressInfo::setProgressComplete(const SyncFileItem &item)
void ProgressInfo::setProgressItem(const SyncFileItem &item, quint64 completed)
{
if (!shouldCountProgress(item)) {
return;
}
_currentItems[item._file]._item = item;
_currentItems[item._file]._progress._total = item._size;
_currentItems[item._file]._progress.setCompleted(completed);
+10 -10
Ver Arquivo
@@ -37,27 +37,27 @@ class OWNCLOUDSYNC_EXPORT ProgressInfo : public QObject
{
Q_OBJECT
public:
ProgressInfo()
: _totalSizeOfCompletedJobs(0)
, _maxFilesPerSecond(2.0)
, _maxBytesPerSecond(100000.0)
{}
ProgressInfo();
/** Resets for a new sync run.
*/
void reset();
/**
* Called when propagation starts.
*
* hasStarted() will return true afterwards.
* isUpdatingEstimates() will return true afterwards.
*/
void start();
void startEstimateUpdates();
/**
* Returns true when propagation has started (start() was called).
* Returns true when startEstimateUpdates() was called.
*
* This is used when the SyncEngine wants to indicate a new sync
* is about to start via the transmissionProgress() signal. The
* first ProgressInfo will have hasStarted() == false.
* first ProgressInfo will have isUpdatingEstimates() == false.
*/
bool hasStarted() const;
bool isUpdatingEstimates() const;
/**
* Increase the file and size totals by the amount indicated in item.
+3 -4
Ver Arquivo
@@ -592,8 +592,8 @@ void PropagateDownloadFileQNAM::deleteExistingFolder()
QString conflictDir = FileSystem::makeConflictFileName(
existingDir, Utility::qDateTimeFromTime_t(_item->_modtime));
_propagator->addTouchedFile(existingDir);
_propagator->addTouchedFile(conflictDir);
emit _propagator->touchedFile(existingDir);
emit _propagator->touchedFile(conflictDir);
QString renameError;
if (!FileSystem::rename(existingDir, conflictDir, &renameError)) {
done(SyncFileItem::NormalError, renameError);
@@ -654,7 +654,6 @@ static void preserveGroupOwnership(const QString& fileName, const QFileInfo& fi)
}
} // end namespace
void PropagateDownloadFileQNAM::transmissionChecksumValidated(const QByteArray &checksumType, const QByteArray &checksum)
{
const auto theContentChecksumType = contentChecksumType();
@@ -754,7 +753,7 @@ void PropagateDownloadFileQNAM::downloadFinished()
}
QString error;
_propagator->addTouchedFile(fn);
emit _propagator->touchedFile(fn);
// The fileChanged() check is done above to generate better error messages.
if (!FileSystem::uncheckedRenameReplace(_tmpFile.fileName(), fn, &error)) {
qDebug() << Q_FUNC_INFO << QString("Rename failed: %1 => %2").arg(_tmpFile.fileName()).arg(fn);
+2 -2
Ver Arquivo
@@ -80,8 +80,8 @@ void PropagateRemoteMove::start()
QString versionString = _propagator->account()->serverVersion();
if (versionString.contains('.') && versionString.split('.')[0].toInt() < 7) {
QString originalFile(_propagator->getFilePath(QLatin1String("Shared")));
_propagator->addTouchedFile(originalFile);
_propagator->addTouchedFile(targetFile);
emit _propagator->touchedFile(originalFile);
emit _propagator->touchedFile(targetFile);
QString renameError;
if( FileSystem::rename(targetFile, originalFile, &renameError) ) {
done(SyncFileItem::NormalError, tr("This folder must not be renamed. It is renamed back to its original name."));
+14 -4
Ver Arquivo
@@ -209,8 +209,6 @@ void PropagateUploadFileQNAM::slotComputeContentChecksum()
return;
}
_propagator->_activeJobList.removeOne(this);
const QString filePath = _propagator->getFilePath(_item->_file);
// remember the modtime before checksumming to be able to detect a file
@@ -274,6 +272,10 @@ void PropagateUploadFileQNAM::slotComputeTransmissionChecksum(const QByteArray&
void PropagateUploadFileQNAM::slotStartUpload(const QByteArray& transmissionChecksumType, const QByteArray& transmissionChecksum)
{
// Remove ourselfs from the list of active job, before any posible call to done()
// When we start chunks, we will add it again, once for every chunks.
_propagator->_activeJobList.removeOne(this);
_transmissionChecksum = transmissionChecksum;
_transmissionChecksumType = transmissionChecksumType;
@@ -398,7 +400,7 @@ qint64 UploadDevice::readData(char* data, qint64 maxlen) {
if (isBandwidthLimited()) {
maxlen = qMin(maxlen, _bandwidthQuota);
if (maxlen <= 0) { // no quota
qDebug() << "no quota";
//qDebug() << "no quota";
return 0;
}
_bandwidthQuota -= maxlen;
@@ -544,8 +546,16 @@ void PropagateUploadFileQNAM::startNextChunk()
_transmissionChecksumType, _transmissionChecksum);
}
if (! device->prepareAndOpen(_propagator->getFilePath(_item->_file), chunkStart, currentChunkSize)) {
const QString fileName = _propagator->getFilePath(_item->_file);
if (! device->prepareAndOpen(fileName, chunkStart, currentChunkSize)) {
qDebug() << "ERR: Could not prepare upload device: " << device->errorString();
// If the file is currently locked, we want to retry the sync
// when it becomes available again.
if (FileSystem::isFileLocked(fileName)) {
emit _propagator->seenLockedFile(fileName);
}
// Soft error because this is likely caused by the user modifying his files while syncing
abortWithError( SyncFileItem::SoftError, device->errorString() );
delete device;
+3 -3
Ver Arquivo
@@ -163,7 +163,7 @@ void PropagateLocalMkdir::start()
done( SyncFileItem::NormalError, tr("Attention, possible case sensitivity clash with %1").arg(newDirStr) );
return;
}
_propagator->addTouchedFile(newDirStr);
emit _propagator->touchedFile(newDirStr);
QDir localDir(_propagator->_localDir);
if (!localDir.mkpath(_item->_file)) {
done( SyncFileItem::NormalError, tr("could not create folder %1").arg(newDirStr) );
@@ -217,8 +217,8 @@ void PropagateLocalRename::start()
return;
}
_propagator->addTouchedFile(existingFile);
_propagator->addTouchedFile(targetFile);
emit _propagator->touchedFile(existingFile);
emit _propagator->touchedFile(targetFile);
QString renameError;
if (!FileSystem::rename(existingFile, targetFile, &renameError)) {
done(SyncFileItem::NormalError, renameError);
+50 -11
Ver Arquivo
@@ -95,6 +95,10 @@ SyncEngine::SyncEngine(AccountPtr account, const QString& localPath,
_excludedFiles.reset(new ExcludedFiles(&_csync_ctx->excludes));
_syncFileStatusTracker.reset(new SyncFileStatusTracker(this));
_clearTouchedFilesTimer.setSingleShot(true);
_clearTouchedFilesTimer.setInterval(30*1000);
connect(&_clearTouchedFilesTimer, SIGNAL(timeout()), SLOT(slotClearTouchedFiles()));
_thread.setObjectName("SyncEngine_Thread");
}
@@ -203,6 +207,12 @@ QString SyncEngine::csyncErrorToString(CSYNC_STATUS err)
}
/**
* Check if the item is in the blacklist.
* If it should not be sync'ed because of the blacklist, update the item with the error instruction
* and proper error message, and return true.
* If the item is not in the blacklist, or the blacklist is stale, return false.
*/
bool SyncEngine::checkErrorBlacklisting( SyncFileItem &item )
{
if( !_journal ) {
@@ -234,6 +244,9 @@ bool SyncEngine::checkErrorBlacklisting( SyncFileItem &item )
} else if( item._modtime != entry._lastTryModtime ) {
qDebug() << item._file << " is blacklisted, but has changed mtime!";
return false;
} else if( item._renameTarget != entry._renameTarget) {
qDebug() << item._file << " is blacklisted, but rename target changed from" << entry._renameTarget;
return false;
}
} else if( item._direction == SyncFileItem::Down ) {
// download, check the etag.
@@ -424,6 +437,9 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote )
case CSYNC_STATUS_INDIVIDUAL_IS_INVALID_CHARS:
item->_errorString = tr("Filename contains invalid characters that can not be synced cross platform.");
break;
case CSYNC_STATUS_INDIVIDUAL_TRAILING_SPACE:
item->_errorString = tr("Filename contains trailing spaces.");
break;
case CSYNC_STATUS_INDIVIDUAL_EXCLUDE_LONG_FILENAME:
item->_errorString = tr("Filename is too long.");
break;
@@ -539,10 +555,10 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote )
bool directoryEtagUpdate = isDirectory && file->should_update_metadata;
bool localMetadataUpdate = !remote && file->should_update_metadata;
if (!directoryEtagUpdate) {
item->_isDirectory = isDirectory;
if (localMetadataUpdate) {
// Hack, we want a local metadata update to happen, but only if the
// remote tree doesn't ask us to do some kind of propagation.
item->_isDirectory = isDirectory;
_syncItemMap.insert(key, item);
}
emit syncItemDiscovered(*item);
@@ -571,7 +587,7 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote )
// An upload of an existing file means that the file was left unchanged on the server
// This counts as a NONE for detecting if all the files on the server were changed
_hasNoneFiles = true;
} else if (!item->_isDirectory) {
} else if (!isDirectory) {
if (std::difftime(file->modtime, file->other.modtime) < 0) {
// We are going back on time
_backInTimeFiles++;
@@ -672,6 +688,9 @@ void SyncEngine::startSync()
s_anySyncRunning = true;
_syncRunning = true;
_anotherSyncNeeded = false;
_clearTouchedFilesTimer.stop();
_progressInfo->reset();
if (!QDir(_localPath).exists()) {
// No _tr, it should only occur in non-mirall
@@ -909,7 +928,7 @@ void SyncEngine::slotDiscoveryJobFinished(int discoveryResult)
emit aboutToPropagate(_syncedItems);
// it's important to do this before ProgressInfo::start(), to announce start of new sync
emit transmissionProgress(*_progressInfo);
_progressInfo->start();
_progressInfo->startEstimateUpdates();
// post update phase script: allow to tweak stuff by a custom script in debug mode.
if( !qgetenv("OWNCLOUD_POST_UPDATE_SCRIPT").isEmpty() ) {
@@ -934,6 +953,7 @@ void SyncEngine::slotDiscoveryJobFinished(int discoveryResult)
this, SLOT(slotProgress(const SyncFileItem &,quint64)));
connect(_propagator.data(), SIGNAL(finished()), this, SLOT(slotFinished()), Qt::QueuedConnection);
connect(_propagator.data(), SIGNAL(seenLockedFile(QString)), SIGNAL(seenLockedFile(QString)));
connect(_propagator.data(), SIGNAL(touchedFile(QString)), SLOT(slotAddTouchedFile(QString)));
// apply the network limits to the propagator
setNetworkLimits(_uploadLimit, _downloadLimit);
@@ -1030,6 +1050,8 @@ void SyncEngine::finalize(bool success)
// Delete the propagator only after emitting the signal.
_propagator.clear();
_clearTouchedFilesTimer.start();
}
void SyncEngine::slotProgress(const SyncFileItem& item, quint64 current)
@@ -1244,15 +1266,18 @@ void SyncEngine::checkForPermission()
}
}
#if 0 /* We don't like the idea of renaming behind user's back, as the user may be working with the files */
if (!sourceOK && !destinationOK) {
#ifdef OWNCLOUD_RESTORE_RENAME /* We don't like the idea of renaming behind user's back, as the user may be working with the files */
if (!sourceOK && (!destinationOK || isRename)
// (not for directory because that's more complicated with the contents that needs to be adjusted)
&& !(*it)->_isDirectory) {
// Both the source and the destination won't allow move. Move back to the original
std::swap((*it)->_file, (*it)->_renameTarget);
(*it)->_direction = SyncFileItem::Down;
(*it)->_errorString = tr("Move not allowed, item restored");
(*it)->_isRestoration = true;
qDebug() << "checkForPermission: MOVING BACK" << (*it)->_file;
// in case something does wrong, we will not do it next time
_journal->avoidRenamesOnNextSync((*it)->_file);
} else
#endif
if (!sourceOK || !destinationOK) {
@@ -1348,14 +1373,28 @@ SyncFileItem* SyncEngine::findSyncItem(const QString &fileName) const
return 0;
}
void SyncEngine::slotAddTouchedFile(const QString& fn)
{
QString file = QDir::cleanPath(fn);
QElapsedTimer timer;
timer.start();
_touchedFiles.insert(file, timer);
}
void SyncEngine::slotClearTouchedFiles()
{
_touchedFiles.clear();
}
qint64 SyncEngine::timeSinceFileTouched(const QString& fn) const
{
// This copy is essential for thread safety.
QSharedPointer<OwncloudPropagator> prop = _propagator;
if (prop) {
return prop->timeSinceFileTouched(fn);
if (! _touchedFiles.contains(fn)) {
return -1;
}
return -1;
return _touchedFiles[fn].elapsed();
}
AccountPtr SyncEngine::account() const
+12
Ver Arquivo
@@ -157,6 +157,12 @@ private slots:
void slotDiscoveryJobFinished(int updateResult);
void slotCleanPollsJobAborted(const QString &error);
/** Records that a file was touched by a job. */
void slotAddTouchedFile(const QString& fn);
/** Wipes the _touchedFiles hash */
void slotClearTouchedFiles();
private:
void handleSyncError(CSYNC *ctx, const char *state);
@@ -256,6 +262,12 @@ private:
CSyncChecksumHook _checksum_hook;
bool _anotherSyncNeeded;
/** Stores the time since a job touched a file. */
QHash<QString, QElapsedTimer> _touchedFiles;
/** For clearing the _touchedFiles variable after sync finished */
QTimer _clearTouchedFilesTimer;
};
}
+9 -8
Ver Arquivo
@@ -94,9 +94,11 @@ SyncFileItem SyncFileStatusTracker::rootSyncFileItem()
SyncFileStatus SyncFileStatusTracker::fileStatus(const QString& relativePath)
{
Q_ASSERT(!relativePath.endsWith(QLatin1Char('/')));
// normalization is required for OS X to match file names properly
QString normalizedRelativePath = relativePath.normalized(QString::NormalizationForm_C);
Q_ASSERT(!normalizedRelativePath.endsWith(QLatin1Char('/')));
if (relativePath.isEmpty()) {
if (normalizedRelativePath.isEmpty()) {
// This is the root sync folder, it doesn't have an entry in the database and won't be walked by csync, so create one manually.
return syncFileItemStatus(rootSyncFileItem());
}
@@ -107,22 +109,22 @@ SyncFileStatus SyncFileStatusTracker::fileStatus(const QString& relativePath)
// update the exclude list at runtime and doing it statically here removes
// our ability to notify changes through the fileStatusChanged signal,
// it's an acceptable compromize to treat all exclude types the same.
if( _syncEngine->excludedFiles().isExcluded(_syncEngine->localPath() + relativePath,
if( _syncEngine->excludedFiles().isExcluded(_syncEngine->localPath() + normalizedRelativePath,
_syncEngine->localPath(),
_syncEngine->ignoreHiddenFiles()) ) {
return SyncFileStatus(SyncFileStatus::StatusWarning);
}
if ( _dirtyPaths.contains(relativePath) )
if ( _dirtyPaths.contains(normalizedRelativePath) )
return SyncFileStatus::StatusSync;
SyncFileItem* item = _syncEngine->findSyncItem(relativePath);
SyncFileItem* item = _syncEngine->findSyncItem(normalizedRelativePath);
if (item) {
return syncFileItemStatus(*item);
}
// If we're not currently syncing that file, look it up in the database to know if it's shared
SyncJournalFileRecord rec = _syncEngine->journal()->getFileRecord(relativePath);
SyncJournalFileRecord rec = _syncEngine->journal()->getFileRecord(normalizedRelativePath);
if (rec.isValid()) {
return syncFileItemStatus(rec.toSyncFileItem());
}
@@ -180,8 +182,7 @@ void SyncFileStatusTracker::slotItemCompleted(const SyncFileItem &item)
} else if (showWarningInSocketApi(item)) {
_syncProblems[item._file] = SyncFileStatus::StatusWarning;
} else {
// There is currently no situation where an error status set during discovery/update is fixed by propagation.
Q_ASSERT(_syncProblems.find(item._file) == _syncProblems.end());
_syncProblems.erase(item._file);
}
emit fileStatusChanged(getSystemDestination(item.destination()), syncFileItemStatus(item));
+15 -4
Ver Arquivo
@@ -409,7 +409,7 @@ bool SyncJournalDb::checkConnect()
_deleteFileRecordRecursively.reset(new SqlQuery(_db));
_deleteFileRecordRecursively->prepare("DELETE FROM metadata WHERE path LIKE(?||'/%')");
QString sql( "SELECT lastTryEtag, lastTryModtime, retrycount, errorstring, lastTryTime, ignoreDuration "
QString sql( "SELECT lastTryEtag, lastTryModtime, retrycount, errorstring, lastTryTime, ignoreDuration, renameTarget "
"FROM blacklist WHERE path=?1");
if( Utility::fsCasePreserving() ) {
// if the file system is case preserving we have to check the blacklist
@@ -421,8 +421,8 @@ bool SyncJournalDb::checkConnect()
_setErrorBlacklistQuery.reset(new SqlQuery(_db));
_setErrorBlacklistQuery->prepare("INSERT OR REPLACE INTO blacklist "
"(path, lastTryEtag, lastTryModtime, retrycount, errorstring, lastTryTime, ignoreDuration) "
"VALUES ( ?1, ?2, ?3, ?4, ?5, ?6, ?7)");
"(path, lastTryEtag, lastTryModtime, retrycount, errorstring, lastTryTime, ignoreDuration, renameTarget) "
"VALUES ( ?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8)");
_getSelectiveSyncListQuery.reset(new SqlQuery(_db));
_getSelectiveSyncListQuery->prepare("SELECT path FROM selectivesync WHERE type=?1");
@@ -612,6 +612,15 @@ bool SyncJournalDb::updateErrorBlacklistTableStructure()
}
commitInternal("update database structure: add lastTryTime, ignoreDuration cols");
}
if( columns.indexOf(QLatin1String("renameTarget")) == -1 ) {
SqlQuery query(_db);
query.prepare("ALTER TABLE blacklist ADD COLUMN renameTarget VARCHAR(4096);");
if( !query.exec() ) {
sqlFail("updateBlacklistTableStructure: Add renameTarget", query);
re = false;
}
commitInternal("update database structure: add lastTryTime, ignoreDuration cols");
}
SqlQuery query(_db);
query.prepare("CREATE INDEX IF NOT EXISTS blacklist_index ON blacklist(path collate nocase);");
@@ -1224,6 +1233,7 @@ SyncJournalErrorBlacklistRecord SyncJournalDb::errorBlacklistEntry( const QStrin
entry._errorString = _getErrorBlacklistQuery->stringValue(3);
entry._lastTryTime = _getErrorBlacklistQuery->int64Value(4);
entry._ignoreDuration = _getErrorBlacklistQuery->int64Value(5);
entry._renameTarget = _getErrorBlacklistQuery->stringValue(6);
entry._file = file;
}
_getErrorBlacklistQuery->reset_and_clear_bindings();
@@ -1335,13 +1345,14 @@ void SyncJournalDb::updateErrorBlacklistEntry( const SyncJournalErrorBlacklistRe
_setErrorBlacklistQuery->bindValue(5, item._errorString);
_setErrorBlacklistQuery->bindValue(6, QString::number(item._lastTryTime));
_setErrorBlacklistQuery->bindValue(7, QString::number(item._ignoreDuration));
_setErrorBlacklistQuery->bindValue(8, item._renameTarget);
if( !_setErrorBlacklistQuery->exec() ) {
QString bug = _setErrorBlacklistQuery->error();
qDebug() << "SQL exec blacklistitem insert or replace failed: "<< bug;
}
qDebug() << "set blacklist entry for " << item._file << item._retryCount
<< item._errorString << item._lastTryTime << item._ignoreDuration
<< item._lastTryModtime << item._lastTryEtag;
<< item._lastTryModtime << item._lastTryEtag << item._renameTarget ;
_setErrorBlacklistQuery->reset_and_clear_bindings();
}
+1
Ver Arquivo
@@ -151,6 +151,7 @@ SyncJournalErrorBlacklistRecord SyncJournalErrorBlacklistRecord::update(
// The factor of 5 feels natural: 25s, 2 min, 10 min, ~1h, ~5h, ~24h
entry._ignoreDuration = old._ignoreDuration * 5;
entry._file = item._file;
entry._renameTarget = item._renameTarget;
if( item._httpErrorCode == 403 ) {
qDebug() << "Probably firewall error: " << item._httpErrorCode << ", blacklisting up to 1h only";
+1
Ver Arquivo
@@ -89,6 +89,7 @@ public:
time_t _ignoreDuration;
QString _file;
QString _renameTarget;
bool isValid() const;
+30 -7
Ver Arquivo
@@ -35,6 +35,10 @@
#else
#include <QStandardPaths>
#endif
#if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0)
#include <QCollator>
#endif
#ifdef Q_OS_UNIX
#include <sys/statvfs.h>
@@ -306,17 +310,22 @@ namespace {
QString description(quint64 value) const
{
return QCoreApplication::translate(
"Utiliy", name, 0, QCoreApplication::UnicodeUTF8,
"Utility", name, 0, QCoreApplication::UnicodeUTF8,
value);
}
};
// QTBUG-3945 and issue #4855: QT_TRANSLATE_NOOP does not work with plural form because lupdate
// limitation unless we fake more arguments
// (it must be in the form ("context", "source", "comment", n)
#undef QT_TRANSLATE_NOOP
#define QT_TRANSLATE_NOOP(ctx, str, ...) str
Q_DECL_CONSTEXPR Period periods[] = {
{ QT_TRANSLATE_NOOP("Utility", "%Ln year(s)") , 365*24*3600*1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%Ln month(s)") , 30*24*3600*1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%Ln day(s)") , 24*3600*1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%Ln hour(s)") , 3600*1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%Ln minute(s)") , 60*1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%Ln second(s)") , 1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%n year(s)" , 0, _) , 365*24*3600*1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%n month(s)", 0, _) , 30*24*3600*1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%n day(s)", 0, _) , 24*3600*1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%n hour(s)", 0, _) , 3600*1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%n minute(s)", 0, _) , 60*1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%n second(s)", 0, _ ), 1000LL },
{ 0, 0 }
};
} // anonymous namespace
@@ -541,4 +550,18 @@ quint64 Utility::StopWatch::durationOfLap( const QString& lapName ) const
return _lapTimes.value(lapName, 0);
}
void Utility::sortFilenames(QStringList& fileNames)
{
#if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0)
QCollator collator;
collator.setNumericMode(true);
collator.setCaseSensitivity(Qt::CaseInsensitive);
qSort(fileNames.begin(), fileNames.end(), collator);
#elif QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
fileNames.sort(Qt::CaseInsensitive);
#else
fileNames.sort();
#endif
}
} // namespace OCC
+5
Ver Arquivo
@@ -136,6 +136,11 @@ namespace Utility
quint64 durationOfLap( const QString& lapName ) const;
};
/**
* @brief Sort a QStringList in a way that's appropriate for filenames
*/
OWNCLOUDSYNC_EXPORT void sortFilenames(QStringList& fileNames);
}
/** @} */ // \addtogroup
+1 -1
Ver Arquivo
@@ -11,7 +11,7 @@ macro(owncloud_add_test test_class additional_cpp)
string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE)
add_executable(${OWNCLOUD_TEST_CLASS}Test test${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${additional_cpp})
qt5_use_modules(${OWNCLOUD_TEST_CLASS}Test Test Sql Xml Network Gui Widgets)
qt5_use_modules(${OWNCLOUD_TEST_CLASS}Test Test Sql Xml Network)
target_link_libraries(${OWNCLOUD_TEST_CLASS}Test
updater
+6 -1
Ver Arquivo
@@ -150,5 +150,10 @@ using namespace OCC;
}
};
QTEST_MAIN(TestChecksumValidator)
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
QTEST_MAIN(TestChecksumValidator)
#else
QTEST_GUILESS_MAIN(TestChecksumValidator)
#endif
#include "testchecksumvalidator.moc"
+1 -1
Ver Arquivo
@@ -100,5 +100,5 @@ private slots:
};
QTEST_MAIN(TestConcatUrl)
QTEST_APPLESS_MAIN(TestConcatUrl)
#include "testconcaturl.moc"
+1 -1
Ver Arquivo
@@ -85,5 +85,5 @@ private slots:
};
QTEST_MAIN(TestCSyncSqlite)
QTEST_APPLESS_MAIN(TestCSyncSqlite)
#include "testcsyncsqlite.moc"
+11 -11
Ver Arquivo
@@ -26,24 +26,24 @@ private slots:
bool excludeHidden = true;
bool keepHidden = false;
QVERIFY(!excluded.isExcluded("/a/b", "b", keepHidden));
QVERIFY(!excluded.isExcluded("/a/b~", "b~", keepHidden));
QVERIFY(!excluded.isExcluded("/a/.b", ".b", keepHidden));
QVERIFY(excluded.isExcluded("/a/.b", ".b", excludeHidden));
QVERIFY(!excluded.isExcluded("/a/b", "/a", keepHidden));
QVERIFY(!excluded.isExcluded("/a/b~", "/a", keepHidden));
QVERIFY(!excluded.isExcluded("/a/.b", "/a", keepHidden));
QVERIFY(excluded.isExcluded("/a/.b", "/a", excludeHidden));
QString path(BIN_PATH);
path.append("/sync-exclude.lst");
excluded.addExcludeFilePath(path);
excluded.reloadExcludes();
QVERIFY(!excluded.isExcluded("/a/b", "b", keepHidden));
QVERIFY(excluded.isExcluded("/a/b~", "b~", keepHidden));
QVERIFY(!excluded.isExcluded("/a/.b", ".b", keepHidden));
QVERIFY(excluded.isExcluded("/a/.Trashes", ".Trashes", keepHidden));
QVERIFY(excluded.isExcluded("/a/foo_conflict-bar", "foo_conflict-bar", keepHidden));
QVERIFY(excluded.isExcluded("/a/.b", ".b", excludeHidden));
QVERIFY(!excluded.isExcluded("/a/b", "/a", keepHidden));
QVERIFY(excluded.isExcluded("/a/b~", "/a", keepHidden));
QVERIFY(!excluded.isExcluded("/a/.b", "/a", keepHidden));
QVERIFY(excluded.isExcluded("/a/.Trashes", "/a", keepHidden));
QVERIFY(excluded.isExcluded("/a/foo_conflict-bar", "/a", keepHidden));
QVERIFY(excluded.isExcluded("/a/.b", "/a", excludeHidden));
}
};
QTEST_MAIN(TestExcludedFiles)
QTEST_APPLESS_MAIN(TestExcludedFiles)
#include "testexcludedfiles.moc"
+1 -1
Ver Arquivo
@@ -87,5 +87,5 @@ private slots:
};
QTEST_MAIN(TestFileSystem)
QTEST_APPLESS_MAIN(TestFileSystem)
#include "testfilesystem.moc"
+1 -1
Ver Arquivo
@@ -41,5 +41,5 @@ private slots:
};
QTEST_MAIN(TestFolder)
QTEST_APPLESS_MAIN(TestFolder)
#include "testfolder.moc"
+1 -1
Ver Arquivo
@@ -118,5 +118,5 @@ private slots:
}
};
QTEST_MAIN(TestFolderMan)
QTEST_APPLESS_MAIN(TestFolderMan)
#include "testfolderman.moc"
+6 -1
Ver Arquivo
@@ -170,5 +170,10 @@ private slots:
}
};
QTEST_MAIN(TestFolderWatcher)
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
QTEST_MAIN(TestFolderWatcher)
#else
QTEST_GUILESS_MAIN(TestFolderWatcher)
#endif
#include "testfolderwatcher.moc"
+1 -1
Ver Arquivo
@@ -69,5 +69,5 @@ private slots:
}
};
QTEST_MAIN(TestInotifyWatcher)
QTEST_APPLESS_MAIN(TestInotifyWatcher)
#include "testinotifywatcher.moc"
+1 -1
Ver Arquivo
@@ -72,5 +72,5 @@ private slots:
}
};
QTEST_MAIN(TestNetrcParser)
QTEST_APPLESS_MAIN(TestNetrcParser)
#include "testnetrcparser.moc"
+1 -1
Ver Arquivo
@@ -78,5 +78,5 @@ private slots:
}
};
QTEST_MAIN(TestOwncloudPropagator)
QTEST_APPLESS_MAIN(TestOwncloudPropagator)
#include "testowncloudpropagator.moc"
+1 -1
Ver Arquivo
@@ -149,5 +149,5 @@ private:
SqlDatabase _db;
};
QTEST_MAIN(TestOwnSql)
QTEST_APPLESS_MAIN(TestOwnSql)
#include "testownsql.moc"
+1 -1
Ver Arquivo
@@ -65,5 +65,5 @@ private slots:
}
};
QTEST_MAIN(TestSyncFileItem)
QTEST_APPLESS_MAIN(TestSyncFileItem)
#include "testsyncfileitem.moc"
+1 -1
Ver Arquivo
@@ -171,5 +171,5 @@ private:
SyncJournalDb _db;
};
QTEST_MAIN(TestSyncJournalDB)
QTEST_APPLESS_MAIN(TestSyncJournalDB)
#include "testsyncjournaldb.moc"
+1 -1
Ver Arquivo
@@ -30,5 +30,5 @@ private slots:
};
QTEST_MAIN(TestUpdater)
QTEST_APPLESS_MAIN(TestUpdater)
#include "testupdater.moc"
+10 -15
Ver Arquivo
@@ -121,11 +121,13 @@ private slots:
// Current requires an X-Server
return;
}
QString ver = versionOfInstalledBinary(BIN_PATH);
// pass the binary name owncloud to the next call. This brakes branding,
// but branding is not supposed to work with this.
QString ver = versionOfInstalledBinary(BIN_PATH+QLatin1String("/owncloud"));
qDebug() << "Version of installed ownCloud Binary: " << ver;
QVERIFY( !ver.isEmpty());
QRegExp rx( "ownCloud version \\d+\\.\\d+\\.\\d+.+" );
QRegExp rx( "ownCloud version \\d+\\.\\d+\\.\\d+.*" );
QVERIFY( rx.exactMatch(ver));
} else {
QVERIFY( versionOfInstalledBinary().isEmpty());
@@ -134,36 +136,29 @@ private slots:
void testTimeAgo()
{
// Both times in local time
// Both times in same timezone
QDateTime d1 = QDateTime::fromString("2015-01-24T09:20:30+01:00", Qt::ISODate);
QDateTime d2 = QDateTime::fromString("2015-01-23T09:20:30+01:00", Qt::ISODate);
QString s = timeAgoInWords(d2, d1);
QCOMPARE(s, QLatin1String("1 day(s) ago"));
//
// Different timezones
QDateTime earlyTS = QDateTime::fromString("2015-01-24T09:20:30+01:00", Qt::ISODate);
earlyTS.setTimeSpec(Qt::UTC);
QDateTime laterTS = earlyTS.toOffsetFromUtc(3600);
laterTS.setTimeSpec(Qt::UTC);
QDateTime laterTS = QDateTime::fromString("2015-01-24T09:20:30-01:00", Qt::ISODate);
s = timeAgoInWords(earlyTS, laterTS);
QCOMPARE(s, QLatin1String("1 hour(s) ago"));
QCOMPARE(s, QLatin1String("2 hour(s) ago"));
// 'Now' in whatever timezone
earlyTS = QDateTime::currentDateTime();
laterTS.setTimeSpec(Qt::LocalTime);
laterTS.setTimeZone( QTimeZone("Pacific/Easter") );
laterTS = earlyTS;
s = timeAgoInWords(earlyTS, laterTS );
QCOMPARE(s, QLatin1String("now"));
earlyTS = earlyTS.addSecs(-6);
s = timeAgoInWords(earlyTS, laterTS );
QCOMPARE(s, QLatin1String("Less than a minute ago"));
}
};
QTEST_MAIN(TestUtility)
QTEST_APPLESS_MAIN(TestUtility)
#include "testutility.moc"
+6 -1
Ver Arquivo
@@ -441,5 +441,10 @@ private slots:
};
QTEST_MAIN(TestXmlParse)
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
QTEST_MAIN(TestXmlParse)
#else
QTEST_GUILESS_MAIN(TestXmlParse)
#endif
#include "testxmlparse.moc"
+137 -137
Ver Arquivo
@@ -96,7 +96,7 @@
<message>
<location filename="../src/gui/accountsettings.ui" line="76"/>
<source>Storage space: ...</source>
<translation>Espai d&apos;emmagatzematze: ...</translation>
<translation>Espai d&apos;emmagatzematge: ...</translation>
</message>
<message>
<location filename="../src/gui/accountsettings.ui" line="146"/>
@@ -594,143 +594,143 @@
<translation>No es pot llegir %1.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="386"/>
<location filename="../src/gui/folder.cpp" line="387"/>
<source>%1: %2</source>
<extracomment>this displays an error string (%2) for a file %1</extracomment>
<translation>%1: %2</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="496"/>
<location filename="../src/gui/folder.cpp" line="497"/>
<source>%1 has been removed.</source>
<comment>%1 names a file.</comment>
<translation>S&apos;ha esborrat &apos;%1&apos;</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="503"/>
<location filename="../src/gui/folder.cpp" line="504"/>
<source>%1 has been downloaded.</source>
<comment>%1 names a file.</comment>
<translation>S&apos;ha descarregat %1</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="510"/>
<location filename="../src/gui/folder.cpp" line="511"/>
<source>%1 has been updated.</source>
<comment>%1 names a file.</comment>
<translation>S&apos;ha actualitzat %1</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="517"/>
<location filename="../src/gui/folder.cpp" line="518"/>
<source>%1 has been renamed to %2.</source>
<comment>%1 and %2 name files.</comment>
<translation>%1 s&apos;ha reanomenat a %2.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="524"/>
<location filename="../src/gui/folder.cpp" line="525"/>
<source>%1 has been moved to %2.</source>
<translation>%1 s&apos;ha mogut a %2.</translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="494"/>
<location filename="../src/gui/folder.cpp" line="495"/>
<source>%1 and %n other file(s) have been removed.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="501"/>
<location filename="../src/gui/folder.cpp" line="502"/>
<source>%1 and %n other file(s) have been downloaded.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="508"/>
<location filename="../src/gui/folder.cpp" line="509"/>
<source>%1 and %n other file(s) have been updated.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="515"/>
<location filename="../src/gui/folder.cpp" line="516"/>
<source>%1 has been renamed to %2 and %n other file(s) have been renamed.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="522"/>
<location filename="../src/gui/folder.cpp" line="523"/>
<source>%1 has been moved to %2 and %n other file(s) have been moved.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="529"/>
<location filename="../src/gui/folder.cpp" line="530"/>
<source>%1 has and %n other file(s) have sync conflicts.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="531"/>
<location filename="../src/gui/folder.cpp" line="532"/>
<source>%1 has a sync conflict. Please check the conflict file!</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="536"/>
<location filename="../src/gui/folder.cpp" line="537"/>
<source>%1 and %n other file(s) could not be synced due to errors. See the log for details.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="538"/>
<location filename="../src/gui/folder.cpp" line="539"/>
<source>%1 could not be synced due to an error. See the log for details.</source>
<translation>%1 no s&apos;ha pogut sincronitzar degut a un error. Mireu el registre per més detalls.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="544"/>
<location filename="../src/gui/folder.cpp" line="545"/>
<source>Sync Activity</source>
<translation>Activitat de sincronització</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="750"/>
<location filename="../src/gui/folder.cpp" line="751"/>
<source>Could not read system exclude file</source>
<translation>No s&apos;ha pogut llegir el fitxer d&apos;exclusió del sistema</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="961"/>
<location filename="../src/gui/folder.cpp" line="962"/>
<source>A new folder larger than %1 MB has been added: %2.
Please go in the settings to select it if you wish to download it.</source>
<translation>S&apos;ha afegit una carpeta nova de més de %1 MB: %2.
Aneu a arranjament per seleccionar-la si voleu descarregar-la.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="979"/>
<location filename="../src/gui/folder.cpp" line="980"/>
<source>This sync would remove all the files in the sync folder '%1'.
This might be because the folder was silently reconfigured, or that all the files were manually removed.
Are you sure you want to perform this operation?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="983"/>
<location filename="../src/gui/folder.cpp" line="984"/>
<source>Remove All Files?</source>
<translation>Esborra tots els fitxers?</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="985"/>
<location filename="../src/gui/folder.cpp" line="986"/>
<source>Remove all files</source>
<translation>Esborra tots els fitxers</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="986"/>
<location filename="../src/gui/folder.cpp" line="987"/>
<source>Keep files</source>
<translation>Mantén els fitxers</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1004"/>
<location filename="../src/gui/folder.cpp" line="1005"/>
<source>This sync would reset the files to an erlier 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?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1009"/>
<location filename="../src/gui/folder.cpp" line="1010"/>
<source>Backup detected</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1011"/>
<location filename="../src/gui/folder.cpp" line="1012"/>
<source>Normal Synchronisation</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1012"/>
<location filename="../src/gui/folder.cpp" line="1013"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"/>
</message>
@@ -853,12 +853,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<message>
<location filename="../src/gui/folderstatusdelegate.cpp" line="45"/>
<source>Add Folder Sync Connection</source>
<translation type="unfinished"/>
<translation>Afegeix connexions de carpetes sincronitzades</translation>
</message>
<message>
<location filename="../src/gui/folderstatusdelegate.cpp" line="241"/>
<source>Synchronizing with local folder</source>
<translation type="unfinished"/>
<translation>S&apos;està sincronitzant amb les carpetes locals</translation>
</message>
<message>
<location filename="../src/gui/folderstatusdelegate.cpp" line="285"/>
@@ -997,12 +997,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizard</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="553"/>
<location filename="../src/gui/folderwizard.cpp" line="542"/>
<source>Add Folder Sync Connection</source>
<translation type="unfinished"/>
<translation>Afegeix connexions de carpetes sincronitzades</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="555"/>
<location filename="../src/gui/folderwizard.cpp" line="544"/>
<source>Add Sync Connection</source>
<translation type="unfinished"/>
</message>
@@ -1020,7 +1020,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<translation>Introduïu la ruta del directori local.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="133"/>
<location filename="../src/gui/folderwizard.cpp" line="126"/>
<source>Select the source folder</source>
<translation>Seleccioneu la carpeta font</translation>
</message>
@@ -1028,52 +1028,52 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardRemotePath</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="191"/>
<location filename="../src/gui/folderwizard.cpp" line="176"/>
<source>Create Remote Folder</source>
<translation>Crea una carpeta remota</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="192"/>
<location filename="../src/gui/folderwizard.cpp" line="177"/>
<source>Enter the name of the new folder to be created below &apos;%1&apos;:</source>
<translation>Introduïu el nom de la carpeta nova que es crearà a sota &apos;%1&apos;:</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="221"/>
<location filename="../src/gui/folderwizard.cpp" line="206"/>
<source>Folder was successfully created on %1.</source>
<translation>La carpeta s&apos;ha creat correctament a %1.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="232"/>
<location filename="../src/gui/folderwizard.cpp" line="217"/>
<source>Authentication failed accessing %1</source>
<translation>Autentificació fallida en accedir %1</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="234"/>
<location filename="../src/gui/folderwizard.cpp" line="219"/>
<source>Failed to create the folder on %1. Please check manually.</source>
<translation>No s&apos;ha pogut crear el directori en %1. Si us plau, comproveu-lo manualment.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="241"/>
<location filename="../src/gui/folderwizard.cpp" line="226"/>
<source>Failed to list a folder. Error: %1</source>
<translation>Ha fallat en llistar una carpeta. Error: %1</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="322"/>
<location filename="../src/gui/folderwizard.cpp" line="307"/>
<source>Choose this to sync the entire account</source>
<translation>Escolliu-ho per sincronitzar el compte sencer</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="451"/>
<location filename="../src/gui/folderwizard.cpp" line="436"/>
<source>This folder is already being synced.</source>
<translation>Ja s&apos;està sincronitzant aquest directori.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="453"/>
<location filename="../src/gui/folderwizard.cpp" line="438"/>
<source>You are already syncing &lt;i&gt;%1&lt;/i&gt;, which is a parent folder of &lt;i&gt;%2&lt;/i&gt;.</source>
<translation>Ja esteu sincronitzant &lt;i&gt;%1&lt;/i&gt;, que és una carpeta dins de &lt;i&gt;%2&lt;/i&gt;.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="457"/>
<location filename="../src/gui/folderwizard.cpp" line="442"/>
<source>You are already syncing all your files. Syncing another folder is &lt;b&gt;not&lt;/b&gt; supported. If you want to sync multiple folders, please remove the currently configured root folder sync.</source>
<translation>Ja esteu sincronitzant tots els vostres fitxers. Sincronitzar una altra carpeta &lt;b&gt;no&lt;/b&gt; està permes. Si voleu sincronitzar múltiples carpetes, elimineu la configuració de sincronització de la carpeta arrel.</translation>
</message>
@@ -1081,7 +1081,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardSelectiveSync</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="495"/>
<location filename="../src/gui/folderwizard.cpp" line="480"/>
<source>Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize.</source>
<translation>Trieu què sincronitzar: podeu seleccionar opcionalment quines subcarpetes remotes no voleu sincronitzar.</translation>
</message>
@@ -1376,27 +1376,27 @@ Els elements que poden ser eliminats s&apos;eliminaran si impedeixen que una car
<context>
<name>OCC::NSISUpdater</name>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
<source>New Version Available</source>
<translation>Versió nova disponible</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
<source>&lt;p&gt;A new version of the %1 Client is available.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; is available for download. The installed version is %3.&lt;/p&gt;</source>
<translation>&lt;p&gt;Hi ha una nova versió del client %1 disponible.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; està disponible per a la baixada. La versió instal·lada és la %3.&lt;/p&gt;</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<source>Skip this version</source>
<translation>Omet aquesta versió</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
<source>Skip this time</source>
<translation>Omet aquesta vegada</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
<source>Get update</source>
<translation>Obtingueu l&apos;actualització</translation>
</message>
@@ -1952,17 +1952,17 @@ No és aconsellada usar-la.</translation>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="694"/>
<location filename="../src/libsync/propagatedownload.cpp" line="693"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="742"/>
<location filename="../src/libsync/propagatedownload.cpp" line="741"/>
<source>File has changed since discovery</source>
<translation>El fitxer ha canviat des de que es va descobrir</translation>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="792"/>
<location filename="../src/libsync/propagatedownload.cpp" line="791"/>
<source>Error writing metadata to the database</source>
<translation>Error en escriure les metadades a la base de dades</translation>
</message>
@@ -2096,48 +2096,48 @@ No és aconsellada usar-la.</translation>
<context>
<name>OCC::PropagateUploadFileQNAM</name>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="289"/>
<location filename="../src/libsync/propagateupload.cpp" line="291"/>
<source>File Removed</source>
<translation>Fitxer eliminat</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="301"/>
<location filename="../src/libsync/propagateupload.cpp" line="303"/>
<source>Local file changed during syncing. It will be resumed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="313"/>
<location filename="../src/libsync/propagateupload.cpp" line="694"/>
<location filename="../src/libsync/propagateupload.cpp" line="315"/>
<location filename="../src/libsync/propagateupload.cpp" line="704"/>
<source>Local file changed during sync.</source>
<translation>El fitxer local ha canviat durant la sincronització.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="621"/>
<location filename="../src/libsync/propagateupload.cpp" line="631"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="629"/>
<location filename="../src/libsync/propagateupload.cpp" line="639"/>
<source>The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file.</source>
<translation>El fitxer s&apos;ha editat localment però és part d&apos;una compartició només de lectura. S&apos;ha restaurat i la vostra edició és en el fitxer en conflicte.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="660"/>
<location filename="../src/libsync/propagateupload.cpp" line="670"/>
<source>Poll URL missing</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="683"/>
<location filename="../src/libsync/propagateupload.cpp" line="693"/>
<source>The local file was removed during sync.</source>
<translation>El fitxer local s&apos;ha eliminat durant la sincronització.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="709"/>
<location filename="../src/libsync/propagateupload.cpp" line="719"/>
<source>The server did not acknowledge the last chunk. (No e-tag was present)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="782"/>
<location filename="../src/libsync/propagateupload.cpp" line="792"/>
<source>Error writing metadata to the database</source>
<translation>Error en escriure les metadades a la base de dades</translation>
</message>
@@ -2180,17 +2180,17 @@ No és aconsellada usar-la.</translation>
<translation>Mida</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="72"/>
<location filename="../src/gui/protocolwidget.cpp" line="78"/>
<source>Local sync protocol</source>
<translation type="unfinished"/>
<translation>Protocol de sincronització local</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="74"/>
<location filename="../src/gui/protocolwidget.cpp" line="80"/>
<source>Copy</source>
<translation>Copia</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="75"/>
<location filename="../src/gui/protocolwidget.cpp" line="81"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Copia la llista d&apos;activitats al porta-retalls.</translation>
</message>
@@ -2477,7 +2477,7 @@ No és aconsellada usar-la.</translation>
<translation>Comparteix amb usuaris o grups ...</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="226"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="224"/>
<source>No results for &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
@@ -2510,17 +2510,17 @@ No és aconsellada usar-la.</translation>
<translation>...</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="302"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="300"/>
<source>create</source>
<translation>crea</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="305"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="303"/>
<source>change</source>
<translation>canvi</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="308"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="306"/>
<source>delete</source>
<translation>elimina</translation>
</message>
@@ -2541,17 +2541,17 @@ No és aconsellada usar-la.</translation>
<context>
<name>OCC::ShibbolethWebView</name>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="74"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="79"/>
<source>%1 - Authenticate</source>
<translation>%1 - Autenticat</translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Reauthentication required</source>
<translation>Es requereix nova acreditació</translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Your session has expired. You need to re-login to continue to use the client.</source>
<translation>La vostra sessió ha vençut. Heu d&apos;acreditar-vos de nou per continuar usant el client.</translation>
</message>
@@ -2853,23 +2853,23 @@ No és aconsellada usar-la.</translation>
<translation>Error en llegir la carpeta.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<location filename="../src/libsync/syncengine.cpp" line="440"/>
<source>File/Folder is ignored because it&apos;s hidden.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="690"/>
<location filename="../src/libsync/syncengine.cpp" line="701"/>
<source>Only %1 are available, need at least %2 to start</source>
<comment>Placeholders are postfixed with file sizes using Utility::octetsToString()</comment>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1121"/>
<location filename="../src/libsync/syncengine.cpp" line="1132"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1128"/>
<location filename="../src/libsync/syncengine.cpp" line="1139"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"/>
</message>
@@ -2889,7 +2889,7 @@ No és aconsellada usar-la.</translation>
<translation>Aturat per l&apos;usuari</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="425"/>
<location filename="../src/libsync/syncengine.cpp" line="434"/>
<source>Filename contains invalid characters that can not be synced cross platform.</source>
<translation>El nom del fitxer conté caràcters no vàlids que no es poden sincronitzar entre plataformes.</translation>
</message>
@@ -2929,109 +2929,109 @@ No és aconsellada usar-la.</translation>
<translation>S&apos;ha produït l&apos;error intern número %1.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="254"/>
<location filename="../src/libsync/syncengine.cpp" line="263"/>
<source>The item is not synced because of previous errors: %1</source>
<translation>L&apos;element no s&apos;ha sincronitzat degut a errors previs: %1</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="419"/>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<source>Symbolic links are not supported in syncing.</source>
<translation>La sincronització d&apos;enllaços simbòlics no està implementada.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="422"/>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<source>File is listed on the ignore list.</source>
<translation>El fitxer està a la llista d&apos;ignorats.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<source>Filename is too long.</source>
<translation>El nom de fitxer és massa llarg.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<location filename="../src/libsync/syncengine.cpp" line="446"/>
<source>Stat failed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="464"/>
<location filename="../src/libsync/syncengine.cpp" line="473"/>
<source>Filename encoding is not valid</source>
<translation>La codificació del nom de fitxer no és vàlida</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="635"/>
<location filename="../src/libsync/syncengine.cpp" line="644"/>
<source>Invalid characters, please rename &quot;%1&quot;</source>
<translation>Caràcters no vàlids. Reanomeneu &quot;%1&quot;</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="724"/>
<location filename="../src/libsync/syncengine.cpp" line="735"/>
<source>Unable to initialize a sync journal.</source>
<translation>No es pot inicialitzar un periòdic de sincronització</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="743"/>
<location filename="../src/libsync/syncengine.cpp" line="754"/>
<source>Unable to read the blacklist from the local database</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="776"/>
<location filename="../src/libsync/syncengine.cpp" line="787"/>
<source>Unable to read from the sync journal.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="822"/>
<location filename="../src/libsync/syncengine.cpp" line="833"/>
<source>Cannot open the sync journal</source>
<translation>No es pot obrir el diari de sincronització</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="876"/>
<location filename="../src/libsync/syncengine.cpp" line="887"/>
<source>File name contains at least one invalid character</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1080"/>
<location filename="../src/libsync/syncengine.cpp" line="1087"/>
<location filename="../src/libsync/syncengine.cpp" line="1091"/>
<location filename="../src/libsync/syncengine.cpp" line="1098"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>S&apos;ignora degut al filtre a «Trieu què sincronitzar»</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1106"/>
<location filename="../src/libsync/syncengine.cpp" line="1117"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1148"/>
<location filename="../src/libsync/syncengine.cpp" line="1159"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>No es permet pujar aquest fitxer perquè només és de lectura en el servidor, es restaura</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1165"/>
<location filename="../src/libsync/syncengine.cpp" line="1185"/>
<location filename="../src/libsync/syncengine.cpp" line="1176"/>
<location filename="../src/libsync/syncengine.cpp" line="1196"/>
<source>Not allowed to remove, restoring</source>
<translation>No es permet l&apos;eliminació, es restaura</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1198"/>
<location filename="../src/libsync/syncengine.cpp" line="1209"/>
<source>Local files and share folder removed.</source>
<translation>Fitxers locals i carpeta compartida esborrats.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1253"/>
<location filename="../src/libsync/syncengine.cpp" line="1265"/>
<source>Move not allowed, item restored</source>
<translation>No es permet moure&apos;l, l&apos;element es restaura</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1262"/>
<location filename="../src/libsync/syncengine.cpp" line="1276"/>
<source>Move not allowed because %1 is read-only</source>
<translation>No es permet moure perquè %1 només és de lectura</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the destination</source>
<translation>el destí</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the source</source>
<translation>l&apos;origen</translation>
</message>
@@ -3505,37 +3505,37 @@ No és aconsellada usar-la.</translation>
<context>
<name>QObject</name>
<message>
<location filename="../src/libsync/utility.cpp" line="468"/>
<location filename="../src/libsync/utility.cpp" line="473"/>
<source>in the future</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="464"/>
<location filename="../src/libsync/utility.cpp" line="469"/>
<source>%n day(s) ago</source>
<translation><numerusform>fa %n dia</numerusform><numerusform>fa %n dies</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="472"/>
<location filename="../src/libsync/utility.cpp" line="477"/>
<source>%n hour(s) ago</source>
<translation><numerusform>fa %n hora</numerusform><numerusform>fa %n hores</numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="477"/>
<location filename="../src/libsync/utility.cpp" line="482"/>
<source>now</source>
<translation>ara</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="479"/>
<location filename="../src/libsync/utility.cpp" line="484"/>
<source>Less than a minute ago</source>
<translation>Fa menys d&apos;un minut</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="482"/>
<location filename="../src/libsync/utility.cpp" line="487"/>
<source>%n minute(s) ago</source>
<translation><numerusform>fa %n minut</numerusform><numerusform>fa %n minuts</numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="485"/>
<location filename="../src/libsync/utility.cpp" line="490"/>
<source>Some time ago</source>
<translation>Fa una estona</translation>
</message>
@@ -3562,38 +3562,38 @@ No és aconsellada usar-la.</translation>
<source>%L1 B</source>
<translation>%L1 B</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln any/s</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln mes/os</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln dia/es</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln hora/es</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln minut/s</translation>
</message>
<message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln segon/s</translation>
<source>%n year(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="320"/>
<source>%n month(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="321"/>
<source>%n day(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="322"/>
<source>%n hour(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="323"/>
<source>%n minute(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="324"/>
<source>%n second(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
<location filename="../src/libsync/utility.cpp" line="348"/>
<source>%1 %2</source>
<translation>%1 %2</translation>
</message>
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+132 -132
Ver Arquivo
@@ -594,103 +594,103 @@
<translation>%1 ist nicht lesbar.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="386"/>
<location filename="../src/gui/folder.cpp" line="387"/>
<source>%1: %2</source>
<extracomment>this displays an error string (%2) for a file %1</extracomment>
<translation>%1: %2</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="496"/>
<location filename="../src/gui/folder.cpp" line="497"/>
<source>%1 has been removed.</source>
<comment>%1 names a file.</comment>
<translation>%1 wurde gelöscht.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="503"/>
<location filename="../src/gui/folder.cpp" line="504"/>
<source>%1 has been downloaded.</source>
<comment>%1 names a file.</comment>
<translation>%1 wurde heruntergeladen.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="510"/>
<location filename="../src/gui/folder.cpp" line="511"/>
<source>%1 has been updated.</source>
<comment>%1 names a file.</comment>
<translation>%1 wurde aktualisiert.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="517"/>
<location filename="../src/gui/folder.cpp" line="518"/>
<source>%1 has been renamed to %2.</source>
<comment>%1 and %2 name files.</comment>
<translation>%1 wurde in %2 umbenannt.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="524"/>
<location filename="../src/gui/folder.cpp" line="525"/>
<source>%1 has been moved to %2.</source>
<translation>%1 wurde in %2 verschoben.</translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="494"/>
<location filename="../src/gui/folder.cpp" line="495"/>
<source>%1 and %n other file(s) have been removed.</source>
<translation><numerusform>%1 und %n andere Datei wurde gelöscht.</numerusform><numerusform>%1 und %n andere Dateien wurden gelöscht.</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="501"/>
<location filename="../src/gui/folder.cpp" line="502"/>
<source>%1 and %n other file(s) have been downloaded.</source>
<translation><numerusform>%1 und %n andere Datei wurde heruntergeladen.</numerusform><numerusform>%1 und %n andere Dateien wurden heruntergeladen.</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="508"/>
<location filename="../src/gui/folder.cpp" line="509"/>
<source>%1 and %n other file(s) have been updated.</source>
<translation><numerusform>%1 und %n andere Datei wurde aktualisiert.</numerusform><numerusform>%1 und %n andere Dateien wurden aktualisiert.</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="515"/>
<location filename="../src/gui/folder.cpp" line="516"/>
<source>%1 has been renamed to %2 and %n other file(s) have been renamed.</source>
<translation><numerusform>%1 wurde in %2 umbenannt und %n andere Datei wurde umbenannt.</numerusform><numerusform>%1 wurde in %2 umbenannt und %n andere Dateien wurden umbenannt.</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="522"/>
<location filename="../src/gui/folder.cpp" line="523"/>
<source>%1 has been moved to %2 and %n other file(s) have been moved.</source>
<translation><numerusform>%1 wurde in %2 verschoben und %n andere Datei wurde verschoben.</numerusform><numerusform>%1 wurde in %2 verschoben und %n andere Dateien wurden verschoben.</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="529"/>
<location filename="../src/gui/folder.cpp" line="530"/>
<source>%1 has and %n other file(s) have sync conflicts.</source>
<translation><numerusform>%1 und %n andere Datei haben Konflikte beim Abgleichen.</numerusform><numerusform>%1 und %n andere Dateien haben Konflikte beim Abgleichen.</numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="531"/>
<location filename="../src/gui/folder.cpp" line="532"/>
<source>%1 has a sync conflict. Please check the conflict file!</source>
<translation>Es gab einen Konflikt bei der Synchronisierung von %1. Bitte prüfen Sie die Konfliktdatei!</translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="536"/>
<location filename="../src/gui/folder.cpp" line="537"/>
<source>%1 and %n other file(s) could not be synced due to errors. See the log for details.</source>
<translation><numerusform>%1 und %n weitere Datei konnten aufgrund von Fehlern nicht synchronisiert werden. Schauen Sie in das Protokoll für Details.</numerusform><numerusform>%1 und %n weitere Dateien konnten aufgrund von Fehlern nicht synchronisiert werden. Schauen Sie in das Protokoll für Details.</numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="538"/>
<location filename="../src/gui/folder.cpp" line="539"/>
<source>%1 could not be synced due to an error. See the log for details.</source>
<translation>%1 konnte aufgrund eines Fehlers nicht synchronisiert werden. Schauen Sie in das Protokoll für Details.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="544"/>
<location filename="../src/gui/folder.cpp" line="545"/>
<source>Sync Activity</source>
<translation>Synchronisierungsaktivität</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="750"/>
<location filename="../src/gui/folder.cpp" line="751"/>
<source>Could not read system exclude file</source>
<translation>Systemeigene Ausschlussdatei kann nicht gelesen werden</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="961"/>
<location filename="../src/gui/folder.cpp" line="962"/>
<source>A new folder larger than %1 MB has been added: %2.
Please go in the settings to select it if you wish to download it.</source>
<translation>Ein neue Order größer als %1 MB wurde hinzugefügt: %2. Bitte besuchen Sie die Einstellungen, falls sie ihn herunterladen wollen.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="979"/>
<location filename="../src/gui/folder.cpp" line="980"/>
<source>This sync would remove all the files in the sync folder '%1'.
This might be because the folder was silently reconfigured, or that all the files were manually removed.
Are you sure you want to perform this operation?</source>
@@ -699,22 +699,22 @@ Die Ursache ist, dass der Ordner entweder neu konfiguriert wurde, oder weil alle
Sind Sie sicher, dass Sie diese Operation durchführen möchten?</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="983"/>
<location filename="../src/gui/folder.cpp" line="984"/>
<source>Remove All Files?</source>
<translation>Alle Dateien löschen?</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="985"/>
<location filename="../src/gui/folder.cpp" line="986"/>
<source>Remove all files</source>
<translation>Lösche alle Dateien</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="986"/>
<location filename="../src/gui/folder.cpp" line="987"/>
<source>Keep files</source>
<translation>Dateien behalten</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1004"/>
<location filename="../src/gui/folder.cpp" line="1005"/>
<source>This sync would reset the files to an erlier 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?</source>
@@ -723,17 +723,17 @@ Der Grund dafür ist möglicherweise, dass auf dem Server ein Backup eingespielt
Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älteren Versionen überschrieben. Möchten Sie die neueren Dateien als Konflikt-Dateien behalten?</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1009"/>
<location filename="../src/gui/folder.cpp" line="1010"/>
<source>Backup detected</source>
<translation>Backup erkannt</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1011"/>
<location filename="../src/gui/folder.cpp" line="1012"/>
<source>Normal Synchronisation</source>
<translation>Normale Synchronisation</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1012"/>
<location filename="../src/gui/folder.cpp" line="1013"/>
<source>Keep Local Files as Conflict</source>
<translation>Lokale Konfliktdateien behalten</translation>
</message>
@@ -1000,12 +1000,12 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter
<context>
<name>OCC::FolderWizard</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="553"/>
<location filename="../src/gui/folderwizard.cpp" line="542"/>
<source>Add Folder Sync Connection</source>
<translation>Ordner Synchronisation hinzufügen</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="555"/>
<location filename="../src/gui/folderwizard.cpp" line="544"/>
<source>Add Sync Connection</source>
<translation>Ordner Synchronisation hinzufügen</translation>
</message>
@@ -1023,7 +1023,7 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter
<translation>Pfad zum lokalen Verzeichnis eingeben</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="133"/>
<location filename="../src/gui/folderwizard.cpp" line="126"/>
<source>Select the source folder</source>
<translation>Den Quellordner wählen</translation>
</message>
@@ -1031,52 +1031,52 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter
<context>
<name>OCC::FolderWizardRemotePath</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="191"/>
<location filename="../src/gui/folderwizard.cpp" line="176"/>
<source>Create Remote Folder</source>
<translation>Entfernten Ordner erstellen</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="192"/>
<location filename="../src/gui/folderwizard.cpp" line="177"/>
<source>Enter the name of the new folder to be created below &apos;%1&apos;:</source>
<translation>Geben Sie den Namen des neuen, unter &apos;%1&apos; zu erstellenden Ordners ein: </translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="221"/>
<location filename="../src/gui/folderwizard.cpp" line="206"/>
<source>Folder was successfully created on %1.</source>
<translation>Order erfolgreich auf %1 erstellt.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="232"/>
<location filename="../src/gui/folderwizard.cpp" line="217"/>
<source>Authentication failed accessing %1</source>
<translation>Beim Zugriff auf %1 ist die Authentifizierung fehlgeschlagen</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="234"/>
<location filename="../src/gui/folderwizard.cpp" line="219"/>
<source>Failed to create the folder on %1. Please check manually.</source>
<translation>Die Erstellung des Ordners auf %1 ist fehlgeschlagen. Bitte prüfen Sie dies manuell.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="241"/>
<location filename="../src/gui/folderwizard.cpp" line="226"/>
<source>Failed to list a folder. Error: %1</source>
<translation>Konnte Ordner nicht listen. Fehler: %1</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="322"/>
<location filename="../src/gui/folderwizard.cpp" line="307"/>
<source>Choose this to sync the entire account</source>
<translation>Wählen Sie dies, um das gesamte Konto zu synchronisieren</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="451"/>
<location filename="../src/gui/folderwizard.cpp" line="436"/>
<source>This folder is already being synced.</source>
<translation>Dieser Ordner wird bereits synchronisiert.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="453"/>
<location filename="../src/gui/folderwizard.cpp" line="438"/>
<source>You are already syncing &lt;i&gt;%1&lt;/i&gt;, which is a parent folder of &lt;i&gt;%2&lt;/i&gt;.</source>
<translation>Sie synchronisieren bereits &lt;i&gt;%1&lt;/i&gt;, das ein übergeordneten Ordner von &lt;i&gt;%2&lt;/i&gt; ist.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="457"/>
<location filename="../src/gui/folderwizard.cpp" line="442"/>
<source>You are already syncing all your files. Syncing another folder is &lt;b&gt;not&lt;/b&gt; supported. If you want to sync multiple folders, please remove the currently configured root folder sync.</source>
<translation>Sie synchronisieren bereits alle Ihre Dateien. Die Synchronisation anderer Verzeichnisse wird &lt;b&gt;nicht&lt;/b&gt; unterstützt. Wenn Sie mehrere Ordner synchronisieren möchten, entfernen Sie bitte das aktuell konfigurierte Wurzelverzeichnis zur Synchronisation.</translation>
</message>
@@ -1084,7 +1084,7 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter
<context>
<name>OCC::FolderWizardSelectiveSync</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="495"/>
<location filename="../src/gui/folderwizard.cpp" line="480"/>
<source>Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize.</source>
<translation>Zu synchronisierende Elemente auswählen: Sie können optional Unterordner des Servers abwählen, die nicht synchronisiert werden sollen.</translation>
</message>
@@ -1379,27 +1379,27 @@ Objekte, bei denen Löschen erlaubt ist, werden gelöscht, wenn sie die Löschun
<context>
<name>OCC::NSISUpdater</name>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
<source>New Version Available</source>
<translation>Eine neue Version ist verfügbar.</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
<source>&lt;p&gt;A new version of the %1 Client is available.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; is available for download. The installed version is %3.&lt;/p&gt;</source>
<translation>&lt;p&gt;Eine neue Version des %1 - Klients ist verfügbar.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; steht zum Herunterladen bereit. Die installierte Version ist %3.&lt;/p&gt;</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<source>Skip this version</source>
<translation>Diese Version auslassen</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
<source>Skip this time</source>
<translation>Dieses Mal überspringen</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
<source>Get update</source>
<translation>Update durchführen</translation>
</message>
@@ -1954,17 +1954,17 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<translation>Die heruntergeladene Datei ist leer, obwohl der Server %1 als Größe übermittelt hat.</translation>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="694"/>
<location filename="../src/libsync/propagatedownload.cpp" line="693"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Die Datei %1 kann aufgrund eines Konfliktes mit dem lokalen Dateinamen nicht gespeichert geladen werden!</translation>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="742"/>
<location filename="../src/libsync/propagatedownload.cpp" line="741"/>
<source>File has changed since discovery</source>
<translation>Datei ist seit der Entdeckung geändert worden</translation>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="792"/>
<location filename="../src/libsync/propagatedownload.cpp" line="791"/>
<source>Error writing metadata to the database</source>
<translation>Fehler beim Schreiben der Metadaten in die Datenbank</translation>
</message>
@@ -2098,48 +2098,48 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<context>
<name>OCC::PropagateUploadFileQNAM</name>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="289"/>
<location filename="../src/libsync/propagateupload.cpp" line="291"/>
<source>File Removed</source>
<translation>Datei gelöscht</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="301"/>
<location filename="../src/libsync/propagateupload.cpp" line="303"/>
<source>Local file changed during syncing. It will be resumed.</source>
<translation>Lokale Datei hat sich während der Synchronisation geändert. Die Synchronisation wird wiederaufgenommen.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="313"/>
<location filename="../src/libsync/propagateupload.cpp" line="694"/>
<location filename="../src/libsync/propagateupload.cpp" line="315"/>
<location filename="../src/libsync/propagateupload.cpp" line="704"/>
<source>Local file changed during sync.</source>
<translation>Eine lokale Datei wurde während der Synchronisation geändert.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="621"/>
<location filename="../src/libsync/propagateupload.cpp" line="631"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Auftragsabbruch beim Rücksetzen der HTTP-Verbindung mit QT &lt; 5.4.2 wird erzwungen.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="629"/>
<location filename="../src/libsync/propagateupload.cpp" line="639"/>
<source>The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file.</source>
<translation>Die Datei wurde von einer Nur-Lese-Freigabe lokal bearbeitet. Die Datei wurde wiederhergestellt und Ihre Bearbeitung ist in der Konflikte-Datei.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="660"/>
<location filename="../src/libsync/propagateupload.cpp" line="670"/>
<source>Poll URL missing</source>
<translation>Poll-URL fehlt</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="683"/>
<location filename="../src/libsync/propagateupload.cpp" line="693"/>
<source>The local file was removed during sync.</source>
<translation>Die lokale Datei wurde während der Synchronisation gelöscht.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="709"/>
<location filename="../src/libsync/propagateupload.cpp" line="719"/>
<source>The server did not acknowledge the last chunk. (No e-tag was present)</source>
<translation>Der Server hat den letzten Block nicht bestätigt. (Der E-Tag war nicht vorhanden)</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="782"/>
<location filename="../src/libsync/propagateupload.cpp" line="792"/>
<source>Error writing metadata to the database</source>
<translation>Fehler beim Schreiben der Metadaten in die Datenbank</translation>
</message>
@@ -2182,17 +2182,17 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<translation>Größe</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="72"/>
<location filename="../src/gui/protocolwidget.cpp" line="78"/>
<source>Local sync protocol</source>
<translation>Lokales Sychronisationsprotokoll</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="74"/>
<location filename="../src/gui/protocolwidget.cpp" line="80"/>
<source>Copy</source>
<translation>Kopieren</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="75"/>
<location filename="../src/gui/protocolwidget.cpp" line="81"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Aktivitätsliste in die Zwischenablage kopieren.</translation>
</message>
@@ -2479,7 +2479,7 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<translation>Mit Benutzern oder Gruppen teilen</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="226"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="224"/>
<source>No results for &apos;%1&apos;</source>
<translation>Keine Ergebnisse für &apos;%1&apos;</translation>
</message>
@@ -2512,17 +2512,17 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<translation>...</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="302"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="300"/>
<source>create</source>
<translation>erstellen</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="305"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="303"/>
<source>change</source>
<translation>Ändern</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="308"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="306"/>
<source>delete</source>
<translation>löschen</translation>
</message>
@@ -2543,17 +2543,17 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<context>
<name>OCC::ShibbolethWebView</name>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="74"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="79"/>
<source>%1 - Authenticate</source>
<translation>%1 - Authentifikation</translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Reauthentication required</source>
<translation>Erneute Authentifizierung erforderlich</translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Your session has expired. You need to re-login to continue to use the client.</source>
<translation>Ihre Sitzung ist abgelaufen. Sie müssen sich zur weiteren Nutzung des Clients neu Anmelden.</translation>
</message>
@@ -2855,23 +2855,23 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<translation>Fehler beim Lesen eines Ordners.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<location filename="../src/libsync/syncengine.cpp" line="440"/>
<source>File/Folder is ignored because it&apos;s hidden.</source>
<translation>Datei wird ignoriert, weil sie versteckt ist.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="690"/>
<location filename="../src/libsync/syncengine.cpp" line="701"/>
<source>Only %1 are available, need at least %2 to start</source>
<comment>Placeholders are postfixed with file sizes using Utility::octetsToString()</comment>
<translation>Nur %1 sind verfügbar. Zum Beginnen werden mindestens %2 benötigt.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1121"/>
<location filename="../src/libsync/syncengine.cpp" line="1132"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Nicht erlaubt, da Sie keine Rechte zur Erstellung von Unterordnern haben</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1128"/>
<location filename="../src/libsync/syncengine.cpp" line="1139"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Nicht erlaubt, da Sie keine Rechte zum Hinzufügen von Dateien in diesen Ordner haben</translation>
</message>
@@ -2891,7 +2891,7 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<translation>Abbruch durch den Benutzer</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="425"/>
<location filename="../src/libsync/syncengine.cpp" line="434"/>
<source>Filename contains invalid characters that can not be synced cross platform.</source>
<translation>Dateiname enthält Zeichen die nicht auf allen Betriebssystemen dargestellt werden können.</translation>
</message>
@@ -2931,109 +2931,109 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<translation>Ein interner Fehler mit der Fehlernummer %1 ist aufgetreten.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="254"/>
<location filename="../src/libsync/syncengine.cpp" line="263"/>
<source>The item is not synced because of previous errors: %1</source>
<translation>Das Element ist aufgrund vorheriger Fehler nicht synchronisiert: %1</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="419"/>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<source>Symbolic links are not supported in syncing.</source>
<translation>Symbolische Verknüpfungen werden bei der Synchronisation nicht unterstützt.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="422"/>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<source>File is listed on the ignore list.</source>
<translation>Die Datei ist in der Ignorierliste geführt.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<source>Filename is too long.</source>
<translation>Der Dateiname ist zu lang.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<location filename="../src/libsync/syncengine.cpp" line="446"/>
<source>Stat failed.</source>
<translation>Stat fehlgeschlagen.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="464"/>
<location filename="../src/libsync/syncengine.cpp" line="473"/>
<source>Filename encoding is not valid</source>
<translation>Dateikodierung ist ungültig</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="635"/>
<location filename="../src/libsync/syncengine.cpp" line="644"/>
<source>Invalid characters, please rename &quot;%1&quot;</source>
<translation>Ungültige Zeichenm bitte benennen Sie &quot;%1&quot; um</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="724"/>
<location filename="../src/libsync/syncengine.cpp" line="735"/>
<source>Unable to initialize a sync journal.</source>
<translation>Synchronisationsbericht konnte nicht initialisiert werden.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="743"/>
<location filename="../src/libsync/syncengine.cpp" line="754"/>
<source>Unable to read the blacklist from the local database</source>
<translation>Fehler beim Einlesen der Blacklist aus der lokalen Datenbank</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="776"/>
<location filename="../src/libsync/syncengine.cpp" line="787"/>
<source>Unable to read from the sync journal.</source>
<translation>Fehler beim Einlesen des Synchronisierungsprotokolls.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="822"/>
<location filename="../src/libsync/syncengine.cpp" line="833"/>
<source>Cannot open the sync journal</source>
<translation>Synchronisationsbericht kann nicht geöffnet werden</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="876"/>
<location filename="../src/libsync/syncengine.cpp" line="887"/>
<source>File name contains at least one invalid character</source>
<translation>Der Dateiname enthält mindestens ein ungültiges Zeichen</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1080"/>
<location filename="../src/libsync/syncengine.cpp" line="1087"/>
<location filename="../src/libsync/syncengine.cpp" line="1091"/>
<location filename="../src/libsync/syncengine.cpp" line="1098"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Aufgrund der »Zu synchronisierende Elemente auswählen«-Sperrliste ignoriert</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1106"/>
<location filename="../src/libsync/syncengine.cpp" line="1117"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Nicht erlaubt, da Sie keine Rechte zur Erstellung von Unterordnern haben</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1148"/>
<location filename="../src/libsync/syncengine.cpp" line="1159"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Das Hochladen dieser Datei ist nicht erlaubt, da die Datei auf dem Server schreibgeschützt ist, Wiederherstellung</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1165"/>
<location filename="../src/libsync/syncengine.cpp" line="1185"/>
<location filename="../src/libsync/syncengine.cpp" line="1176"/>
<location filename="../src/libsync/syncengine.cpp" line="1196"/>
<source>Not allowed to remove, restoring</source>
<translation>Löschen nicht erlaubt, Wiederherstellung</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1198"/>
<location filename="../src/libsync/syncengine.cpp" line="1209"/>
<source>Local files and share folder removed.</source>
<translation>Lokale Dateien und Freigabeordner wurden entfernt.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1253"/>
<location filename="../src/libsync/syncengine.cpp" line="1265"/>
<source>Move not allowed, item restored</source>
<translation>Verschieben nicht erlaubt, Element wiederhergestellt</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1262"/>
<location filename="../src/libsync/syncengine.cpp" line="1276"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Verschieben nicht erlaubt, da %1 schreibgeschützt ist</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the destination</source>
<translation>Das Ziel</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the source</source>
<translation>Die Quelle</translation>
</message>
@@ -3507,37 +3507,37 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<context>
<name>QObject</name>
<message>
<location filename="../src/libsync/utility.cpp" line="468"/>
<location filename="../src/libsync/utility.cpp" line="473"/>
<source>in the future</source>
<translation>in der Zukunft</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="464"/>
<location filename="../src/libsync/utility.cpp" line="469"/>
<source>%n day(s) ago</source>
<translation><numerusform>vor %n Tage(n)</numerusform><numerusform>vor %n Tage(n)</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="472"/>
<location filename="../src/libsync/utility.cpp" line="477"/>
<source>%n hour(s) ago</source>
<translation><numerusform>vor %n Stunde(n)</numerusform><numerusform>vor %n Stunde(n)</numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="477"/>
<location filename="../src/libsync/utility.cpp" line="482"/>
<source>now</source>
<translation>jetzt</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="479"/>
<location filename="../src/libsync/utility.cpp" line="484"/>
<source>Less than a minute ago</source>
<translation>vor weniger als einer Minute</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="482"/>
<location filename="../src/libsync/utility.cpp" line="487"/>
<source>%n minute(s) ago</source>
<translation><numerusform>vor %n Minute(n)</numerusform><numerusform>vor %n Minute(n)</numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="485"/>
<location filename="../src/libsync/utility.cpp" line="490"/>
<source>Some time ago</source>
<translation>vor einiger Zeit</translation>
</message>
@@ -3564,38 +3564,38 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<source>%L1 B</source>
<translation>%L1 B</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln Jahr(e)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln Monat(e)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln Tag(e)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln Stunde(n)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln Minute(n)</translation>
</message>
<message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln Sekunde(n)</translation>
<source>%n year(s)</source>
<translation><numerusform>%n Jahr</numerusform><numerusform>%n Jahre</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="320"/>
<source>%n month(s)</source>
<translation><numerusform>%n Monat</numerusform><numerusform>%n Monate</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="321"/>
<source>%n day(s)</source>
<translation><numerusform>%n Tag</numerusform><numerusform>%n Tage</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="322"/>
<source>%n hour(s)</source>
<translation><numerusform>%n Stunde</numerusform><numerusform>%n Stunden</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="323"/>
<source>%n minute(s)</source>
<translation><numerusform>%n Minute</numerusform><numerusform>%n Minuten</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="324"/>
<source>%n second(s)</source>
<translation><numerusform>%n Sekunde</numerusform><numerusform>%n Sekunden</numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
<location filename="../src/libsync/utility.cpp" line="348"/>
<source>%1 %2</source>
<translation>%1 %2</translation>
</message>
+132 -132
Ver Arquivo
@@ -594,104 +594,104 @@
<translation> Το %1 δεν είναι αναγνώσιμο. </translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="386"/>
<location filename="../src/gui/folder.cpp" line="387"/>
<source>%1: %2</source>
<extracomment>this displays an error string (%2) for a file %1</extracomment>
<translation>%1: %2</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="496"/>
<location filename="../src/gui/folder.cpp" line="497"/>
<source>%1 has been removed.</source>
<comment>%1 names a file.</comment>
<translation>Το %1 αφαιρέθηκε.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="503"/>
<location filename="../src/gui/folder.cpp" line="504"/>
<source>%1 has been downloaded.</source>
<comment>%1 names a file.</comment>
<translation>Το %1 έχει ληφθεί.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="510"/>
<location filename="../src/gui/folder.cpp" line="511"/>
<source>%1 has been updated.</source>
<comment>%1 names a file.</comment>
<translation>Το %1 έχει ενημερωθεί.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="517"/>
<location filename="../src/gui/folder.cpp" line="518"/>
<source>%1 has been renamed to %2.</source>
<comment>%1 and %2 name files.</comment>
<translation>Το %1 έχει μετονομαστεί σε %2.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="524"/>
<location filename="../src/gui/folder.cpp" line="525"/>
<source>%1 has been moved to %2.</source>
<translation>Το %1 έχει μετακινηθεί στο %2.</translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="494"/>
<location filename="../src/gui/folder.cpp" line="495"/>
<source>%1 and %n other file(s) have been removed.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="501"/>
<location filename="../src/gui/folder.cpp" line="502"/>
<source>%1 and %n other file(s) have been downloaded.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="508"/>
<location filename="../src/gui/folder.cpp" line="509"/>
<source>%1 and %n other file(s) have been updated.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="515"/>
<location filename="../src/gui/folder.cpp" line="516"/>
<source>%1 has been renamed to %2 and %n other file(s) have been renamed.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="522"/>
<location filename="../src/gui/folder.cpp" line="523"/>
<source>%1 has been moved to %2 and %n other file(s) have been moved.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="529"/>
<location filename="../src/gui/folder.cpp" line="530"/>
<source>%1 has and %n other file(s) have sync conflicts.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="531"/>
<location filename="../src/gui/folder.cpp" line="532"/>
<source>%1 has a sync conflict. Please check the conflict file!</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="536"/>
<location filename="../src/gui/folder.cpp" line="537"/>
<source>%1 and %n other file(s) could not be synced due to errors. See the log for details.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="538"/>
<location filename="../src/gui/folder.cpp" line="539"/>
<source>%1 could not be synced due to an error. See the log for details.</source>
<translation>%1 δεν ήταν δυνατό να συγχρονιστεί εξαιτίας ενός σφάλματος. Δείτε το αρχείο καταγραφής για λεπτομέρειες.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="544"/>
<location filename="../src/gui/folder.cpp" line="545"/>
<source>Sync Activity</source>
<translation>Δραστηριότητα Συγχρονισμού</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="750"/>
<location filename="../src/gui/folder.cpp" line="751"/>
<source>Could not read system exclude file</source>
<translation>Αδυναμία ανάγνωσης αρχείου αποκλεισμού συστήματος</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="961"/>
<location filename="../src/gui/folder.cpp" line="962"/>
<source>A new folder larger than %1 MB has been added: %2.
Please go in the settings to select it if you wish to download it.</source>
<translation>Ένας νέος φάκελος μεγαλύτερος από %1 MB έχει προστεθεί: %2.
Παρακαλούμε πηγαίνετε στις ρυθμίσεις για να επιλέξετε αν επιθυμείτε να τον κατεβάσετε.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="979"/>
<location filename="../src/gui/folder.cpp" line="980"/>
<source>This sync would remove all the files in the sync folder '%1'.
This might be because the folder was silently reconfigured, or that all the files were manually removed.
Are you sure you want to perform this operation?</source>
@@ -700,39 +700,39 @@ Are you sure you want to perform this operation?</source>
Είστε σίγουροι ότι θέλετε να εκτελέσετε αυτή τη λειτουργία;</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="983"/>
<location filename="../src/gui/folder.cpp" line="984"/>
<source>Remove All Files?</source>
<translation>Αφαίρεση Όλων των Αρχείων;</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="985"/>
<location filename="../src/gui/folder.cpp" line="986"/>
<source>Remove all files</source>
<translation>Αφαίρεση όλων των αρχείων</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="986"/>
<location filename="../src/gui/folder.cpp" line="987"/>
<source>Keep files</source>
<translation>Διατήρηση αρχείων</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1004"/>
<location filename="../src/gui/folder.cpp" line="1005"/>
<source>This sync would reset the files to an erlier 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?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1009"/>
<location filename="../src/gui/folder.cpp" line="1010"/>
<source>Backup detected</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1011"/>
<location filename="../src/gui/folder.cpp" line="1012"/>
<source>Normal Synchronisation</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1012"/>
<location filename="../src/gui/folder.cpp" line="1013"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"/>
</message>
@@ -999,12 +999,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizard</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="553"/>
<location filename="../src/gui/folderwizard.cpp" line="542"/>
<source>Add Folder Sync Connection</source>
<translation>Προσθήκη Σύνδεσης Συγχρονισμού Φακέλου</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="555"/>
<location filename="../src/gui/folderwizard.cpp" line="544"/>
<source>Add Sync Connection</source>
<translation>Προσθήκη Σύνδεσης Συγχρονισμού</translation>
</message>
@@ -1022,7 +1022,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<translation>Εισάγετε τη διαδρομή προς τον τοπικό φάκελο.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="133"/>
<location filename="../src/gui/folderwizard.cpp" line="126"/>
<source>Select the source folder</source>
<translation>Επιλογή του φακέλου προέλευσης</translation>
</message>
@@ -1030,52 +1030,52 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardRemotePath</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="191"/>
<location filename="../src/gui/folderwizard.cpp" line="176"/>
<source>Create Remote Folder</source>
<translation>Δημιουργία Απομακρυσμένου Φακέλου</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="192"/>
<location filename="../src/gui/folderwizard.cpp" line="177"/>
<source>Enter the name of the new folder to be created below &apos;%1&apos;:</source>
<translation>Εισάγετε το όνομα του νέου φακέλου που θα δημιουργηθεί παρακάτω &apos;%1&apos;:</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="221"/>
<location filename="../src/gui/folderwizard.cpp" line="206"/>
<source>Folder was successfully created on %1.</source>
<translation>Επιτυχής δημιουργία φακέλου στο %1.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="232"/>
<location filename="../src/gui/folderwizard.cpp" line="217"/>
<source>Authentication failed accessing %1</source>
<translation>Η πιστοποίηση απέτυχε κατά την πρόσβαση %1</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="234"/>
<location filename="../src/gui/folderwizard.cpp" line="219"/>
<source>Failed to create the folder on %1. Please check manually.</source>
<translation>Αποτυχία δημιουργίας φακέλου στο %1. Παρακαλώ ελέγξτε χειροκίνητα.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="241"/>
<location filename="../src/gui/folderwizard.cpp" line="226"/>
<source>Failed to list a folder. Error: %1</source>
<translation>Αδυναμία εμφάνισης ενός φακέλου. Σφάλμα: %1</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="322"/>
<location filename="../src/gui/folderwizard.cpp" line="307"/>
<source>Choose this to sync the entire account</source>
<translation>Επιλέξτε να συγχρονίσετε ολόκληρο το λογαριασμό</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="451"/>
<location filename="../src/gui/folderwizard.cpp" line="436"/>
<source>This folder is already being synced.</source>
<translation>Αυτός ο φάκελος συγχρονίζεται ήδη.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="453"/>
<location filename="../src/gui/folderwizard.cpp" line="438"/>
<source>You are already syncing &lt;i&gt;%1&lt;/i&gt;, which is a parent folder of &lt;i&gt;%2&lt;/i&gt;.</source>
<translation>Ο φάκελος &lt;i&gt;%1&lt;/i&gt;, ο οποίος είναι γονεϊκός φάκελος του &lt;i&gt;%2&lt;/i&gt;, συγχρονίζεται ήδη.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="457"/>
<location filename="../src/gui/folderwizard.cpp" line="442"/>
<source>You are already syncing all your files. Syncing another folder is &lt;b&gt;not&lt;/b&gt; supported. If you want to sync multiple folders, please remove the currently configured root folder sync.</source>
<translation>Συγχρονίζετε ήδη όλα σας τα αρχεία. Ο συγχρονισμός ενός ακόμα φακέλου &lt;b&gt;δεν&lt;/b&gt; υποστηρίζεται. Εάν θέλετε να συγχρονίσετε πολλαπλούς φακέλους, παρακαλώ αφαιρέστε την τρέχουσα ρύθμιση συχρονισμού του βασικού φακέλου.</translation>
</message>
@@ -1083,7 +1083,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardSelectiveSync</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="495"/>
<location filename="../src/gui/folderwizard.cpp" line="480"/>
<source>Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize.</source>
<translation>Επιλέξτε Τι θα Συγχρονιστεί: Μπορείτε προαιρετικά να καταργήστε την επιλογή υποφακέλων που δεν επιθυμείτε να συγχρονίσετε.</translation>
</message>
@@ -1378,27 +1378,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<context>
<name>OCC::NSISUpdater</name>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
<source>New Version Available</source>
<translation>Νέα Έκδοση Διαθέσιμη </translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
<source>&lt;p&gt;A new version of the %1 Client is available.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; is available for download. The installed version is %3.&lt;/p&gt;</source>
<translation>&lt;p&gt;Μια νέα έκδοση του %1 Δέκτη είναι διαθέσιμη.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; είναι διαθέσιμη για λήψη. Η εγκατεστημένη έκδοση είναι %3.&lt;/p&gt;</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<source>Skip this version</source>
<translation>Παράλειψη αυτής της έκδοσης</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
<source>Skip this time</source>
<translation>Παράλειψη αυτή τη φορά</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
<source>Get update</source>
<translation>Λήψη ενημέρωσης</translation>
</message>
@@ -1954,17 +1954,17 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="694"/>
<location filename="../src/libsync/propagatedownload.cpp" line="693"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Το αρχείο %1 δεν είναι δυνατό να αποθηκευτεί λόγω διένεξης με το όνομα ενός τοπικού ονόματος αρχείου!</translation>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="742"/>
<location filename="../src/libsync/propagatedownload.cpp" line="741"/>
<source>File has changed since discovery</source>
<translation>Το αρχείο έχει αλλάξει από όταν ανακαλύφθηκε</translation>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="792"/>
<location filename="../src/libsync/propagatedownload.cpp" line="791"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2098,48 +2098,48 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileQNAM</name>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="289"/>
<location filename="../src/libsync/propagateupload.cpp" line="291"/>
<source>File Removed</source>
<translation>Το αρχείο αφαιρέθηκε</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="301"/>
<location filename="../src/libsync/propagateupload.cpp" line="303"/>
<source>Local file changed during syncing. It will be resumed.</source>
<translation>Το τοπικό αρχείο τροποποιήθηκε κατά τη διάρκεια του συγχρονισμού. Θα συγχρονιστεί πάλι.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="313"/>
<location filename="../src/libsync/propagateupload.cpp" line="694"/>
<location filename="../src/libsync/propagateupload.cpp" line="315"/>
<location filename="../src/libsync/propagateupload.cpp" line="704"/>
<source>Local file changed during sync.</source>
<translation>Το τοπικό αρχείο τροποποιήθηκε κατά τον συγχρονισμό.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="621"/>
<location filename="../src/libsync/propagateupload.cpp" line="631"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Εξαναγκασμός ακύρωσης εργασίας στην επαναφορά σύνδεσης HTTP με Qt &lt; 5.4.2</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="629"/>
<location filename="../src/libsync/propagateupload.cpp" line="639"/>
<source>The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file.</source>
<translation>Το αρχείο υπέστη επεξεργασία τοπικά αλλά είναι τμήμα ενός διαμοιρασμένου καταλόγου μόνο για ανάγνωση. Επαναφέρθηκε και το επεξεργασμένο βρίσκεται στο αρχείο συγκρούσεων.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="660"/>
<location filename="../src/libsync/propagateupload.cpp" line="670"/>
<source>Poll URL missing</source>
<translation>Η διεύθυνση poll URL λείπει</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="683"/>
<location filename="../src/libsync/propagateupload.cpp" line="693"/>
<source>The local file was removed during sync.</source>
<translation>Το τοπικό αρχείο αφαιρέθηκε κατά το συγχρονισμό.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="709"/>
<location filename="../src/libsync/propagateupload.cpp" line="719"/>
<source>The server did not acknowledge the last chunk. (No e-tag was present)</source>
<translation>Ο διακομιστής δεν αναγνώρισε το τελευταίο τμήμα. (Δεν υπήρχε e-tag)</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="782"/>
<location filename="../src/libsync/propagateupload.cpp" line="792"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2182,17 +2182,17 @@ It is not advisable to use it.</source>
<translation>Μέγεθος</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="72"/>
<location filename="../src/gui/protocolwidget.cpp" line="78"/>
<source>Local sync protocol</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="74"/>
<location filename="../src/gui/protocolwidget.cpp" line="80"/>
<source>Copy</source>
<translation>Αντιγραφή</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="75"/>
<location filename="../src/gui/protocolwidget.cpp" line="81"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Αντιγραφή της λίστας δραστηριότητας στο πρόχειρο.</translation>
</message>
@@ -2479,7 +2479,7 @@ It is not advisable to use it.</source>
<translation>Διαμοιρασμός με χρήστες ή ομάδες ...</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="226"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="224"/>
<source>No results for &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
@@ -2512,17 +2512,17 @@ It is not advisable to use it.</source>
<translation>...</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="302"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="300"/>
<source>create</source>
<translation>δημιουργία</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="305"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="303"/>
<source>change</source>
<translation>αλλαγή</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="308"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="306"/>
<source>delete</source>
<translation>διαγραφή</translation>
</message>
@@ -2543,17 +2543,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ShibbolethWebView</name>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="74"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="79"/>
<source>%1 - Authenticate</source>
<translation>%1 - Πιστοποίηση</translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Reauthentication required</source>
<translation>Απαιτείται επανάληψη πιστοποίησης</translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Your session has expired. You need to re-login to continue to use the client.</source>
<translation>Η συνεδρία σας έληξε. Πρέπει να εισέλθετε ξανά για να συνεχίσετε να χρησιμοποιείτε το πρόγραμμα.</translation>
</message>
@@ -2855,23 +2855,23 @@ It is not advisable to use it.</source>
<translation>Σφάλμα κατά την ανάγνωση του φακέλου.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<location filename="../src/libsync/syncengine.cpp" line="440"/>
<source>File/Folder is ignored because it&apos;s hidden.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="690"/>
<location filename="../src/libsync/syncengine.cpp" line="701"/>
<source>Only %1 are available, need at least %2 to start</source>
<comment>Placeholders are postfixed with file sizes using Utility::octetsToString()</comment>
<translation>Μόνο %1 είναι διαθέσιμα, απαιτούνται τουλάχιστον %2 για την εκκίνηση</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1121"/>
<location filename="../src/libsync/syncengine.cpp" line="1132"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Δεν επιτρέπεται επειδή δεν έχετε δικαιώματα να προσθέσετε γονικό κατάλογο</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1128"/>
<location filename="../src/libsync/syncengine.cpp" line="1139"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Δεν επιτρέπεται επειδή δεν έχετε δικαιώματα να προσθέσετε αρχεία σε αυτόν τον φάκελο</translation>
</message>
@@ -2891,7 +2891,7 @@ It is not advisable to use it.</source>
<translation>Ματαιώθηκε από το χρήστη</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="425"/>
<location filename="../src/libsync/syncengine.cpp" line="434"/>
<source>Filename contains invalid characters that can not be synced cross platform.</source>
<translation>Το όνομα αρχείου περιέχει χαρακτήρες που δεν μπορούν να συγχρονιστούν σε όλα τα συστήματα.</translation>
</message>
@@ -2931,109 +2931,109 @@ It is not advisable to use it.</source>
<translation>Προέκυψε ένα εσωτερικό σφάλμα με αριθμό %1.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="254"/>
<location filename="../src/libsync/syncengine.cpp" line="263"/>
<source>The item is not synced because of previous errors: %1</source>
<translation>Το αντικείμενο δεν είναι συγχρονισμένο λόγω προηγούμενων σφαλμάτων: %1</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="419"/>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<source>Symbolic links are not supported in syncing.</source>
<translation>Οι συμβολικού σύνδεσμοι δεν υποστηρίζονται για το συγχρονισμό.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="422"/>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<source>File is listed on the ignore list.</source>
<translation>Το αρχείο περιέχεται στη λίστα αρχείων προς αγνόηση.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<source>Filename is too long.</source>
<translation>Το όνομα αρχείου είνια πολύ μεγάλο.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<location filename="../src/libsync/syncengine.cpp" line="446"/>
<source>Stat failed.</source>
<translation>Απέτυχε.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="464"/>
<location filename="../src/libsync/syncengine.cpp" line="473"/>
<source>Filename encoding is not valid</source>
<translation>Η κωδικοποίηση του ονόματος αρχείου δεν είναι έγκυρη</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="635"/>
<location filename="../src/libsync/syncengine.cpp" line="644"/>
<source>Invalid characters, please rename &quot;%1&quot;</source>
<translation>Μη έγκυροι χαρακτήρες, παρακαλώ μετονομάστε το &quot;%1&quot;</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="724"/>
<location filename="../src/libsync/syncengine.cpp" line="735"/>
<source>Unable to initialize a sync journal.</source>
<translation>Αδυναμία προετοιμασίας αρχείου συγχρονισμού.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="743"/>
<location filename="../src/libsync/syncengine.cpp" line="754"/>
<source>Unable to read the blacklist from the local database</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="776"/>
<location filename="../src/libsync/syncengine.cpp" line="787"/>
<source>Unable to read from the sync journal.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="822"/>
<location filename="../src/libsync/syncengine.cpp" line="833"/>
<source>Cannot open the sync journal</source>
<translation>Αδυναμία ανοίγματος του αρχείου συγχρονισμού</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="876"/>
<location filename="../src/libsync/syncengine.cpp" line="887"/>
<source>File name contains at least one invalid character</source>
<translation>Το όνομα αρχείου περιέχει έναν τουλάχιστον μη έγκυρο χαρακτήρα</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1080"/>
<location filename="../src/libsync/syncengine.cpp" line="1087"/>
<location filename="../src/libsync/syncengine.cpp" line="1091"/>
<location filename="../src/libsync/syncengine.cpp" line="1098"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Αγνοήθηκε εξαιτίας της μαύρης λίστας &quot;διάλεξε τι να συγχρονιστεί&quot;</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1106"/>
<location filename="../src/libsync/syncengine.cpp" line="1117"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Δεν επιτρέπεται επειδή δεν έχετε δικαιώματα να προσθέσετε υποφακέλους σε αυτό τον φάκελο</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1148"/>
<location filename="../src/libsync/syncengine.cpp" line="1159"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Δεν επιτρέπεται να μεταφορτώσετε αυτό το αρχείο επειδή είναι μόνο για ανάγνωση στο διακομιστή, αποκατάσταση σε εξέλιξη</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1165"/>
<location filename="../src/libsync/syncengine.cpp" line="1185"/>
<location filename="../src/libsync/syncengine.cpp" line="1176"/>
<location filename="../src/libsync/syncengine.cpp" line="1196"/>
<source>Not allowed to remove, restoring</source>
<translation>Δεν επιτρέπεται η αφαίρεση, αποκατάσταση σε εξέλιξη</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1198"/>
<location filename="../src/libsync/syncengine.cpp" line="1209"/>
<source>Local files and share folder removed.</source>
<translation>Οι τοπικοί φάκελοι και ο φάκελος κοινής χρήσης αφαιρέθηκαν.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1253"/>
<location filename="../src/libsync/syncengine.cpp" line="1265"/>
<source>Move not allowed, item restored</source>
<translation>Η μετακίνηση δεν επιτρέπεται, το αντικείμενο αποκαταστάθηκε</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1262"/>
<location filename="../src/libsync/syncengine.cpp" line="1276"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Η μετακίνηση δεν επιτρέπεται επειδή το %1 είναι μόνο για ανάγνωση</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the destination</source>
<translation>ο προορισμός</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the source</source>
<translation>η προέλευση</translation>
</message>
@@ -3507,37 +3507,37 @@ It is not advisable to use it.</source>
<context>
<name>QObject</name>
<message>
<location filename="../src/libsync/utility.cpp" line="468"/>
<location filename="../src/libsync/utility.cpp" line="473"/>
<source>in the future</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="464"/>
<location filename="../src/libsync/utility.cpp" line="469"/>
<source>%n day(s) ago</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="472"/>
<location filename="../src/libsync/utility.cpp" line="477"/>
<source>%n hour(s) ago</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="477"/>
<location filename="../src/libsync/utility.cpp" line="482"/>
<source>now</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="479"/>
<location filename="../src/libsync/utility.cpp" line="484"/>
<source>Less than a minute ago</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="482"/>
<location filename="../src/libsync/utility.cpp" line="487"/>
<source>%n minute(s) ago</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="485"/>
<location filename="../src/libsync/utility.cpp" line="490"/>
<source>Some time ago</source>
<translation type="unfinished"/>
</message>
@@ -3564,38 +3564,38 @@ It is not advisable to use it.</source>
<source>%L1 B</source>
<translation>%L1 B</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln έτος(η)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln μήνας(ες)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln ημέρα(ες)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln ώρα(ες)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln λεπτό(ά)</translation>
</message>
<message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln δευτερόλεπτο(α)</translation>
<source>%n year(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="320"/>
<source>%n month(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="321"/>
<source>%n day(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="322"/>
<source>%n hour(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="323"/>
<source>%n minute(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="324"/>
<source>%n second(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
<location filename="../src/libsync/utility.cpp" line="348"/>
<source>%1 %2</source>
<translation>%1 %2</translation>
</message>
+150 -132
Ver Arquivo
@@ -602,42 +602,42 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="386"/>
<location filename="../src/gui/folder.cpp" line="387"/>
<source>%1: %2</source>
<extracomment>this displays an error string (%2) for a file %1</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="496"/>
<location filename="../src/gui/folder.cpp" line="497"/>
<source>%1 has been removed.</source>
<comment>%1 names a file.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="503"/>
<location filename="../src/gui/folder.cpp" line="504"/>
<source>%1 has been downloaded.</source>
<comment>%1 names a file.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="510"/>
<location filename="../src/gui/folder.cpp" line="511"/>
<source>%1 has been updated.</source>
<comment>%1 names a file.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="517"/>
<location filename="../src/gui/folder.cpp" line="518"/>
<source>%1 has been renamed to %2.</source>
<comment>%1 and %2 name files.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="524"/>
<location filename="../src/gui/folder.cpp" line="525"/>
<source>%1 has been moved to %2.</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="494"/>
<location filename="../src/gui/folder.cpp" line="495"/>
<source>%1 and %n other file(s) have been removed.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -645,7 +645,7 @@
</translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="501"/>
<location filename="../src/gui/folder.cpp" line="502"/>
<source>%1 and %n other file(s) have been downloaded.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -653,7 +653,7 @@
</translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="508"/>
<location filename="../src/gui/folder.cpp" line="509"/>
<source>%1 and %n other file(s) have been updated.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -661,7 +661,7 @@
</translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="515"/>
<location filename="../src/gui/folder.cpp" line="516"/>
<source>%1 has been renamed to %2 and %n other file(s) have been renamed.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -669,7 +669,7 @@
</translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="522"/>
<location filename="../src/gui/folder.cpp" line="523"/>
<source>%1 has been moved to %2 and %n other file(s) have been moved.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -677,7 +677,7 @@
</translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="529"/>
<location filename="../src/gui/folder.cpp" line="530"/>
<source>%1 has and %n other file(s) have sync conflicts.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -685,12 +685,12 @@
</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="531"/>
<location filename="../src/gui/folder.cpp" line="532"/>
<source>%1 has a sync conflict. Please check the conflict file!</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="536"/>
<location filename="../src/gui/folder.cpp" line="537"/>
<source>%1 and %n other file(s) could not be synced due to errors. See the log for details.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -698,67 +698,67 @@
</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="538"/>
<location filename="../src/gui/folder.cpp" line="539"/>
<source>%1 could not be synced due to an error. See the log for details.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="544"/>
<location filename="../src/gui/folder.cpp" line="545"/>
<source>Sync Activity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="750"/>
<location filename="../src/gui/folder.cpp" line="751"/>
<source>Could not read system exclude file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="961"/>
<location filename="../src/gui/folder.cpp" line="962"/>
<source>A new folder larger than %1 MB has been added: %2.
Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="979"/>
<location filename="../src/gui/folder.cpp" line="980"/>
<source>This sync would remove all the files in the sync folder &apos;%1&apos;.
This might be because the folder was silently reconfigured, or that all the files were manually removed.
Are you sure you want to perform this operation?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="983"/>
<location filename="../src/gui/folder.cpp" line="984"/>
<source>Remove All Files?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="985"/>
<location filename="../src/gui/folder.cpp" line="986"/>
<source>Remove all files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="986"/>
<location filename="../src/gui/folder.cpp" line="987"/>
<source>Keep files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1004"/>
<location filename="../src/gui/folder.cpp" line="1005"/>
<source>This sync would reset the files to an erlier time in the sync folder &apos;%1&apos;.
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?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1009"/>
<location filename="../src/gui/folder.cpp" line="1010"/>
<source>Backup detected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1011"/>
<location filename="../src/gui/folder.cpp" line="1012"/>
<source>Normal Synchronisation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1012"/>
<location filename="../src/gui/folder.cpp" line="1013"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"></translation>
</message>
@@ -1028,12 +1028,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizard</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="553"/>
<location filename="../src/gui/folderwizard.cpp" line="542"/>
<source>Add Folder Sync Connection</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="555"/>
<location filename="../src/gui/folderwizard.cpp" line="544"/>
<source>Add Sync Connection</source>
<translation type="unfinished"></translation>
</message>
@@ -1051,7 +1051,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="133"/>
<location filename="../src/gui/folderwizard.cpp" line="126"/>
<source>Select the source folder</source>
<translation type="unfinished"></translation>
</message>
@@ -1059,52 +1059,52 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardRemotePath</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="191"/>
<location filename="../src/gui/folderwizard.cpp" line="176"/>
<source>Create Remote Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="192"/>
<location filename="../src/gui/folderwizard.cpp" line="177"/>
<source>Enter the name of the new folder to be created below &apos;%1&apos;:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="221"/>
<location filename="../src/gui/folderwizard.cpp" line="206"/>
<source>Folder was successfully created on %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="232"/>
<location filename="../src/gui/folderwizard.cpp" line="217"/>
<source>Authentication failed accessing %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="234"/>
<location filename="../src/gui/folderwizard.cpp" line="219"/>
<source>Failed to create the folder on %1. Please check manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="241"/>
<location filename="../src/gui/folderwizard.cpp" line="226"/>
<source>Failed to list a folder. Error: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="322"/>
<location filename="../src/gui/folderwizard.cpp" line="307"/>
<source>Choose this to sync the entire account</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="451"/>
<location filename="../src/gui/folderwizard.cpp" line="436"/>
<source>This folder is already being synced.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="453"/>
<location filename="../src/gui/folderwizard.cpp" line="438"/>
<source>You are already syncing &lt;i&gt;%1&lt;/i&gt;, which is a parent folder of &lt;i&gt;%2&lt;/i&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="457"/>
<location filename="../src/gui/folderwizard.cpp" line="442"/>
<source>You are already syncing all your files. Syncing another folder is &lt;b&gt;not&lt;/b&gt; supported. If you want to sync multiple folders, please remove the currently configured root folder sync.</source>
<translation type="unfinished"></translation>
</message>
@@ -1112,7 +1112,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardSelectiveSync</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="495"/>
<location filename="../src/gui/folderwizard.cpp" line="480"/>
<source>Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize.</source>
<translation type="unfinished"></translation>
</message>
@@ -1401,27 +1401,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<context>
<name>OCC::NSISUpdater</name>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
<source>New Version Available</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
<source>&lt;p&gt;A new version of the %1 Client is available.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; is available for download. The installed version is %3.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<source>Skip this version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
<source>Skip this time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
<source>Get update</source>
<translation type="unfinished"></translation>
</message>
@@ -1975,17 +1975,17 @@ It is not advisable to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="694"/>
<location filename="../src/libsync/propagatedownload.cpp" line="693"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="742"/>
<location filename="../src/libsync/propagatedownload.cpp" line="741"/>
<source>File has changed since discovery</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="792"/>
<location filename="../src/libsync/propagatedownload.cpp" line="791"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"></translation>
</message>
@@ -2119,48 +2119,48 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileQNAM</name>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="289"/>
<location filename="../src/libsync/propagateupload.cpp" line="291"/>
<source>File Removed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="301"/>
<location filename="../src/libsync/propagateupload.cpp" line="303"/>
<source>Local file changed during syncing. It will be resumed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="313"/>
<location filename="../src/libsync/propagateupload.cpp" line="694"/>
<location filename="../src/libsync/propagateupload.cpp" line="315"/>
<location filename="../src/libsync/propagateupload.cpp" line="704"/>
<source>Local file changed during sync.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="621"/>
<location filename="../src/libsync/propagateupload.cpp" line="631"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="629"/>
<location filename="../src/libsync/propagateupload.cpp" line="639"/>
<source>The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="660"/>
<location filename="../src/libsync/propagateupload.cpp" line="670"/>
<source>Poll URL missing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="683"/>
<location filename="../src/libsync/propagateupload.cpp" line="693"/>
<source>The local file was removed during sync.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="709"/>
<location filename="../src/libsync/propagateupload.cpp" line="719"/>
<source>The server did not acknowledge the last chunk. (No e-tag was present)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="782"/>
<location filename="../src/libsync/propagateupload.cpp" line="792"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"></translation>
</message>
@@ -2203,17 +2203,17 @@ It is not advisable to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="72"/>
<location filename="../src/gui/protocolwidget.cpp" line="78"/>
<source>Local sync protocol</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="74"/>
<location filename="../src/gui/protocolwidget.cpp" line="80"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="75"/>
<location filename="../src/gui/protocolwidget.cpp" line="81"/>
<source>Copy the activity list to the clipboard.</source>
<translation type="unfinished"></translation>
</message>
@@ -2500,7 +2500,7 @@ It is not advisable to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="226"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="224"/>
<source>No results for &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
@@ -2533,17 +2533,17 @@ It is not advisable to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="302"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="300"/>
<source>create</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="305"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="303"/>
<source>change</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="308"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="306"/>
<source>delete</source>
<translation type="unfinished"></translation>
</message>
@@ -2564,17 +2564,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ShibbolethWebView</name>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="74"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="79"/>
<source>%1 - Authenticate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Reauthentication required</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Your session has expired. You need to re-login to continue to use the client.</source>
<translation type="unfinished"></translation>
</message>
@@ -2874,23 +2874,23 @@ It is not advisable to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<location filename="../src/libsync/syncengine.cpp" line="440"/>
<source>File/Folder is ignored because it&apos;s hidden.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="690"/>
<location filename="../src/libsync/syncengine.cpp" line="701"/>
<source>Only %1 are available, need at least %2 to start</source>
<comment>Placeholders are postfixed with file sizes using Utility::octetsToString()</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1121"/>
<location filename="../src/libsync/syncengine.cpp" line="1132"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1128"/>
<location filename="../src/libsync/syncengine.cpp" line="1139"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"></translation>
</message>
@@ -2910,7 +2910,7 @@ It is not advisable to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="425"/>
<location filename="../src/libsync/syncengine.cpp" line="434"/>
<source>Filename contains invalid characters that can not be synced cross platform.</source>
<translation type="unfinished"></translation>
</message>
@@ -2950,109 +2950,109 @@ It is not advisable to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="254"/>
<location filename="../src/libsync/syncengine.cpp" line="263"/>
<source>The item is not synced because of previous errors: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="419"/>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<source>Symbolic links are not supported in syncing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="422"/>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<source>File is listed on the ignore list.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<source>Filename is too long.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<location filename="../src/libsync/syncengine.cpp" line="446"/>
<source>Stat failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="464"/>
<location filename="../src/libsync/syncengine.cpp" line="473"/>
<source>Filename encoding is not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="635"/>
<location filename="../src/libsync/syncengine.cpp" line="644"/>
<source>Invalid characters, please rename &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="724"/>
<location filename="../src/libsync/syncengine.cpp" line="735"/>
<source>Unable to initialize a sync journal.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="743"/>
<location filename="../src/libsync/syncengine.cpp" line="754"/>
<source>Unable to read the blacklist from the local database</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="776"/>
<location filename="../src/libsync/syncengine.cpp" line="787"/>
<source>Unable to read from the sync journal.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="822"/>
<location filename="../src/libsync/syncengine.cpp" line="833"/>
<source>Cannot open the sync journal</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="876"/>
<location filename="../src/libsync/syncengine.cpp" line="887"/>
<source>File name contains at least one invalid character</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1080"/>
<location filename="../src/libsync/syncengine.cpp" line="1087"/>
<location filename="../src/libsync/syncengine.cpp" line="1091"/>
<location filename="../src/libsync/syncengine.cpp" line="1098"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1106"/>
<location filename="../src/libsync/syncengine.cpp" line="1117"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1148"/>
<location filename="../src/libsync/syncengine.cpp" line="1159"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1165"/>
<location filename="../src/libsync/syncengine.cpp" line="1185"/>
<location filename="../src/libsync/syncengine.cpp" line="1176"/>
<location filename="../src/libsync/syncengine.cpp" line="1196"/>
<source>Not allowed to remove, restoring</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1198"/>
<location filename="../src/libsync/syncengine.cpp" line="1209"/>
<source>Local files and share folder removed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1253"/>
<location filename="../src/libsync/syncengine.cpp" line="1265"/>
<source>Move not allowed, item restored</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1262"/>
<location filename="../src/libsync/syncengine.cpp" line="1276"/>
<source>Move not allowed because %1 is read-only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the destination</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the source</source>
<translation type="unfinished"></translation>
</message>
@@ -3526,12 +3526,12 @@ It is not advisable to use it.</source>
<context>
<name>QObject</name>
<message>
<location filename="../src/libsync/utility.cpp" line="468"/>
<location filename="../src/libsync/utility.cpp" line="473"/>
<source>in the future</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="464"/>
<location filename="../src/libsync/utility.cpp" line="469"/>
<source>%n day(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -3539,7 +3539,7 @@ It is not advisable to use it.</source>
</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="472"/>
<location filename="../src/libsync/utility.cpp" line="477"/>
<source>%n hour(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -3547,17 +3547,17 @@ It is not advisable to use it.</source>
</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="477"/>
<location filename="../src/libsync/utility.cpp" line="482"/>
<source>now</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="479"/>
<location filename="../src/libsync/utility.cpp" line="484"/>
<source>Less than a minute ago</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="482"/>
<location filename="../src/libsync/utility.cpp" line="487"/>
<source>%n minute(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -3565,7 +3565,7 @@ It is not advisable to use it.</source>
</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="485"/>
<location filename="../src/libsync/utility.cpp" line="490"/>
<source>Some time ago</source>
<translation type="unfinished"></translation>
</message>
@@ -3592,38 +3592,56 @@ It is not advisable to use it.</source>
<source>%L1 B</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation type="unfinished"></translation>
<source>%n year(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="320"/>
<source>%n month(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="321"/>
<source>%n day(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="322"/>
<source>%n hour(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="323"/>
<source>%n minute(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="324"/>
<source>%n second(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
<location filename="../src/libsync/utility.cpp" line="348"/>
<source>%1 %2</source>
<translation type="unfinished"></translation>
</message>
+134 -134
Ver Arquivo
@@ -218,7 +218,7 @@
<message>
<location filename="../src/gui/accountsettings.cpp" line="552"/>
<source>Log in</source>
<translation>Ingresar</translation>
<translation>Iniciar sesión</translation>
</message>
<message>
<location filename="../src/gui/accountsettings.cpp" line="636"/>
@@ -594,104 +594,104 @@
<translation>%1 es ilegible.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="386"/>
<location filename="../src/gui/folder.cpp" line="387"/>
<source>%1: %2</source>
<extracomment>this displays an error string (%2) for a file %1</extracomment>
<translation>%1: %2</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="496"/>
<location filename="../src/gui/folder.cpp" line="497"/>
<source>%1 has been removed.</source>
<comment>%1 names a file.</comment>
<translation>%1 ha sido eliminado.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="503"/>
<location filename="../src/gui/folder.cpp" line="504"/>
<source>%1 has been downloaded.</source>
<comment>%1 names a file.</comment>
<translation>%1 ha sido descargado.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="510"/>
<location filename="../src/gui/folder.cpp" line="511"/>
<source>%1 has been updated.</source>
<comment>%1 names a file.</comment>
<translation>%1 ha sido actualizado.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="517"/>
<location filename="../src/gui/folder.cpp" line="518"/>
<source>%1 has been renamed to %2.</source>
<comment>%1 and %2 name files.</comment>
<translation>%1 ha sido renombrado a %2.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="524"/>
<location filename="../src/gui/folder.cpp" line="525"/>
<source>%1 has been moved to %2.</source>
<translation>%1 ha sido movido a %2.</translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="494"/>
<location filename="../src/gui/folder.cpp" line="495"/>
<source>%1 and %n other file(s) have been removed.</source>
<translation><numerusform>%1 y otro archivo han sido borrados.</numerusform><numerusform>%1 y otros %n archivos han sido borrados.</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="501"/>
<location filename="../src/gui/folder.cpp" line="502"/>
<source>%1 and %n other file(s) have been downloaded.</source>
<translation><numerusform>%1 y otro archivo han sido descargados.</numerusform><numerusform>%1 y otros %n archivos han sido descargados.</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="508"/>
<location filename="../src/gui/folder.cpp" line="509"/>
<source>%1 and %n other file(s) have been updated.</source>
<translation><numerusform>%1 y otro archivo han sido actualizados.</numerusform><numerusform>%1 y otros %n archivos han sido actualizados.</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="515"/>
<location filename="../src/gui/folder.cpp" line="516"/>
<source>%1 has been renamed to %2 and %n other file(s) have been renamed.</source>
<translation><numerusform>%1 ha sido renombrado a %2 y otro archivo ha sido renombrado.</numerusform><numerusform>%1 ha sido renombrado a %2 y otros %n archivos han sido renombrado.</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="522"/>
<location filename="../src/gui/folder.cpp" line="523"/>
<source>%1 has been moved to %2 and %n other file(s) have been moved.</source>
<translation><numerusform>%1 ha sido movido a %2 y otro archivo ha sido movido.</numerusform><numerusform>%1 ha sido movido a %2 y otros %n archivos han sido movidos.</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="529"/>
<location filename="../src/gui/folder.cpp" line="530"/>
<source>%1 has and %n other file(s) have sync conflicts.</source>
<translation><numerusform>%1 y otro archivo han tenido conflictos al sincronizar.</numerusform><numerusform>%1 y otros %n archivos han tenido conflictos al sincronizar.</numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="531"/>
<location filename="../src/gui/folder.cpp" line="532"/>
<source>%1 has a sync conflict. Please check the conflict file!</source>
<translation>Conflicto al sincronizar %1. Por favor compruebe el archivo!</translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="536"/>
<location filename="../src/gui/folder.cpp" line="537"/>
<source>%1 and %n other file(s) could not be synced due to errors. See the log for details.</source>
<translation><numerusform>%1 y otro archivo no pudieron ser sincronizados debido a errores. Para más detalles vea el registro.</numerusform><numerusform>%1 y otros %n archivos no pudieron ser sincronizados debido a errores. Para más detalles vea el registro.</numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="538"/>
<location filename="../src/gui/folder.cpp" line="539"/>
<source>%1 could not be synced due to an error. See the log for details.</source>
<translation>%1 no pudo ser sincronizado debido a un error. Para más detalles, vea el registro.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="544"/>
<location filename="../src/gui/folder.cpp" line="545"/>
<source>Sync Activity</source>
<translation>Actividad de la sincronización</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="750"/>
<location filename="../src/gui/folder.cpp" line="751"/>
<source>Could not read system exclude file</source>
<translation>No se ha podido leer el archivo de exclusión del sistema</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="961"/>
<location filename="../src/gui/folder.cpp" line="962"/>
<source>A new folder larger than %1 MB has been added: %2.
Please go in the settings to select it if you wish to download it.</source>
<translation>Se ha añadido una nueva carpeta más grande de %1 MB: %2.
Por favor diríjase a los ajustes para seleccionarlo si desea descargarlo.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="979"/>
<location filename="../src/gui/folder.cpp" line="980"/>
<source>This sync would remove all the files in the sync folder '%1'.
This might be because the folder was silently reconfigured, or that all the files were manually removed.
Are you sure you want to perform this operation?</source>
@@ -700,22 +700,22 @@ Esto se puede deber a que la carpeta fue reconfigurada de forma silenciosa o a q
¿Está seguro de que desea realizar esta operación?</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="983"/>
<location filename="../src/gui/folder.cpp" line="984"/>
<source>Remove All Files?</source>
<translation>¿Eliminar todos los archivos?</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="985"/>
<location filename="../src/gui/folder.cpp" line="986"/>
<source>Remove all files</source>
<translation>Eliminar todos los archivos</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="986"/>
<location filename="../src/gui/folder.cpp" line="987"/>
<source>Keep files</source>
<translation>Conservar archivos</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1004"/>
<location filename="../src/gui/folder.cpp" line="1005"/>
<source>This sync would reset the files to an erlier 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?</source>
@@ -724,17 +724,17 @@ esto es similar a restaurar un backup en el servidor.
Continuar con la sincronización hará que todos los archivos sean sobreescritos con versiones anteriores de los mismos. Desea mantener los archivos locales sin cambios en caso de conflicto?</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1009"/>
<location filename="../src/gui/folder.cpp" line="1010"/>
<source>Backup detected</source>
<translation>Backup detectado</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1011"/>
<location filename="../src/gui/folder.cpp" line="1012"/>
<source>Normal Synchronisation</source>
<translation>Sincronización Normal</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1012"/>
<location filename="../src/gui/folder.cpp" line="1013"/>
<source>Keep Local Files as Conflict</source>
<translation>Mantener los archivos locales en caso de conflicto</translation>
</message>
@@ -1001,12 +1001,12 @@ Continuar con la sincronización hará que todos los archivos sean sobreescritos
<context>
<name>OCC::FolderWizard</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="553"/>
<location filename="../src/gui/folderwizard.cpp" line="542"/>
<source>Add Folder Sync Connection</source>
<translation>Añadir Conexión para el Directorio de Sincronización</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="555"/>
<location filename="../src/gui/folderwizard.cpp" line="544"/>
<source>Add Sync Connection</source>
<translation>Añadir Sincronización de Conexión</translation>
</message>
@@ -1024,7 +1024,7 @@ Continuar con la sincronización hará que todos los archivos sean sobreescritos
<translation>Ingrese la ruta de la carpeta local.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="133"/>
<location filename="../src/gui/folderwizard.cpp" line="126"/>
<source>Select the source folder</source>
<translation>Seleccione la carpeta de origen</translation>
</message>
@@ -1032,52 +1032,52 @@ Continuar con la sincronización hará que todos los archivos sean sobreescritos
<context>
<name>OCC::FolderWizardRemotePath</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="191"/>
<location filename="../src/gui/folderwizard.cpp" line="176"/>
<source>Create Remote Folder</source>
<translation>Crear carpeta remota</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="192"/>
<location filename="../src/gui/folderwizard.cpp" line="177"/>
<source>Enter the name of the new folder to be created below &apos;%1&apos;:</source>
<translation>Introduzca más abajo el nombre de la nueva carpeta que crear &apos;%1&apos;:</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="221"/>
<location filename="../src/gui/folderwizard.cpp" line="206"/>
<source>Folder was successfully created on %1.</source>
<translation>La carpeta fue creada con éxito en %1.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="232"/>
<location filename="../src/gui/folderwizard.cpp" line="217"/>
<source>Authentication failed accessing %1</source>
<translation>Falló la autenticación al acceder a %1</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="234"/>
<location filename="../src/gui/folderwizard.cpp" line="219"/>
<source>Failed to create the folder on %1. Please check manually.</source>
<translation>Fallo al crear la carpeta %1. Por favor, revíselo manualmente.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="241"/>
<location filename="../src/gui/folderwizard.cpp" line="226"/>
<source>Failed to list a folder. Error: %1</source>
<translation>Falló al listar una carpeta. Error: %1</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="322"/>
<location filename="../src/gui/folderwizard.cpp" line="307"/>
<source>Choose this to sync the entire account</source>
<translation>Elija esto para sincronizar la cuenta entera</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="451"/>
<location filename="../src/gui/folderwizard.cpp" line="436"/>
<source>This folder is already being synced.</source>
<translation>Este directorio ya se ha sincronizado.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="453"/>
<location filename="../src/gui/folderwizard.cpp" line="438"/>
<source>You are already syncing &lt;i&gt;%1&lt;/i&gt;, which is a parent folder of &lt;i&gt;%2&lt;/i&gt;.</source>
<translation>Ya ha sincronizado &lt;i&gt;%1&lt;/i&gt;, el cual es la carpeta de &lt;i&gt;%2&lt;/i&gt;.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="457"/>
<location filename="../src/gui/folderwizard.cpp" line="442"/>
<source>You are already syncing all your files. Syncing another folder is &lt;b&gt;not&lt;/b&gt; supported. If you want to sync multiple folders, please remove the currently configured root folder sync.</source>
<translation>Todavía se están sincronizando ficheros. &lt;b&gt;No&lt;/b&gt; se admite la sincronización de otras carpetas. Si quiere sincronizar múltiples carpetas, por favor revise la carpeta raíz configurada.</translation>
</message>
@@ -1085,7 +1085,7 @@ Continuar con la sincronización hará que todos los archivos sean sobreescritos
<context>
<name>OCC::FolderWizardSelectiveSync</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="495"/>
<location filename="../src/gui/folderwizard.cpp" line="480"/>
<source>Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize.</source>
<translation>Elija qué sinconizar: Opcionalmente puede deseleccionar subcarpetas remotas que no desee sincronizar</translation>
</message>
@@ -1209,7 +1209,7 @@ Continuar con la sincronización hará que todos los archivos sean sobreescritos
User: %2
Account: %3
</source>
<translation>Por favor introduzca %1 contraseña:
<translation>Por favor introduzca la contraseña de %1:
Usuario: %2
Cuenta: %3
@@ -1380,27 +1380,27 @@ Los elementos cuya eliminación está permitida serán eliminados si impiden que
<context>
<name>OCC::NSISUpdater</name>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
<source>New Version Available</source>
<translation>Nueva versión disponible</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
<source>&lt;p&gt;A new version of the %1 Client is available.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; is available for download. The installed version is %3.&lt;/p&gt;</source>
<translation>&lt;p&gt;Una nueva versión del programa cliente de %1 está disponible.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; está disponible para descargar. La versión instalada es la %3.&lt;/p&gt;</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<source>Skip this version</source>
<translation>Saltarse esta versión</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
<source>Skip this time</source>
<translation>Omitir esta vez</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
<source>Get update</source>
<translation>Actualizar</translation>
</message>
@@ -1955,17 +1955,17 @@ No se recomienda usarla.</translation>
<translation>El archivo descargado está vacio aunque el servidor dice que deberia haber sido %1.</translation>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="694"/>
<location filename="../src/libsync/propagatedownload.cpp" line="693"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>¡El fichero %1 no puede guardarse debido a un conflicto con el nombre de otro fichero local!</translation>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="742"/>
<location filename="../src/libsync/propagatedownload.cpp" line="741"/>
<source>File has changed since discovery</source>
<translation>El archivo ha cambiado desde que fue descubierto</translation>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="792"/>
<location filename="../src/libsync/propagatedownload.cpp" line="791"/>
<source>Error writing metadata to the database</source>
<translation>Error al escribir los metadatos en la base de datos</translation>
</message>
@@ -2099,48 +2099,48 @@ No se recomienda usarla.</translation>
<context>
<name>OCC::PropagateUploadFileQNAM</name>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="289"/>
<location filename="../src/libsync/propagateupload.cpp" line="291"/>
<source>File Removed</source>
<translation>Archivo eliminado</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="301"/>
<location filename="../src/libsync/propagateupload.cpp" line="303"/>
<source>Local file changed during syncing. It will be resumed.</source>
<translation>Archivo local cambió durante la sincronización. Será actualizado.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="313"/>
<location filename="../src/libsync/propagateupload.cpp" line="694"/>
<location filename="../src/libsync/propagateupload.cpp" line="315"/>
<location filename="../src/libsync/propagateupload.cpp" line="704"/>
<source>Local file changed during sync.</source>
<translation>Un archivo local fue modificado durante la sincronización.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="621"/>
<location filename="../src/libsync/propagateupload.cpp" line="631"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Forzar el trabajo en una conexión HTTP, causará un Reset si Qt&lt; 5.4.2.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="629"/>
<location filename="../src/libsync/propagateupload.cpp" line="639"/>
<source>The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file.</source>
<translation>El archivo fue modificado localmente; pero es parte de una carpeta compartida en modo de sólo lectura. Ha sido recuperado y su modificación está en el archivo de conflicto.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="660"/>
<location filename="../src/libsync/propagateupload.cpp" line="670"/>
<source>Poll URL missing</source>
<translation>Falta la URL de la encuesta</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="683"/>
<location filename="../src/libsync/propagateupload.cpp" line="693"/>
<source>The local file was removed during sync.</source>
<translation>El archivo local ha sido eliminado durante la sincronización.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="709"/>
<location filename="../src/libsync/propagateupload.cpp" line="719"/>
<source>The server did not acknowledge the last chunk. (No e-tag was present)</source>
<translation>El servidor no reconoció la última parte. (No había una e-tag presente)</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="782"/>
<location filename="../src/libsync/propagateupload.cpp" line="792"/>
<source>Error writing metadata to the database</source>
<translation>Error al escribir los metadatos en la base de datos</translation>
</message>
@@ -2183,17 +2183,17 @@ No se recomienda usarla.</translation>
<translation>Tamaño</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="72"/>
<location filename="../src/gui/protocolwidget.cpp" line="78"/>
<source>Local sync protocol</source>
<translation>Protocolo de sincronización local</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="74"/>
<location filename="../src/gui/protocolwidget.cpp" line="80"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="75"/>
<location filename="../src/gui/protocolwidget.cpp" line="81"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Copie la lista de actividades al portapapeles</translation>
</message>
@@ -2480,7 +2480,7 @@ No se recomienda usarla.</translation>
<translation>Compartir con usuarios o grupos ...</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="226"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="224"/>
<source>No results for &apos;%1&apos;</source>
<translation>No hay resultados para &apos;%1&apos;</translation>
</message>
@@ -2513,17 +2513,17 @@ No se recomienda usarla.</translation>
<translation>...</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="302"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="300"/>
<source>create</source>
<translation>crear</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="305"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="303"/>
<source>change</source>
<translation>cambio</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="308"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="306"/>
<source>delete</source>
<translation>borrar</translation>
</message>
@@ -2544,17 +2544,17 @@ No se recomienda usarla.</translation>
<context>
<name>OCC::ShibbolethWebView</name>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="74"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="79"/>
<source>%1 - Authenticate</source>
<translation>%1 - Autenticar</translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Reauthentication required</source>
<translation>Debe volver a autenticarse</translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Your session has expired. You need to re-login to continue to use the client.</source>
<translation>Su sesión ha caducado. Necesita volver a iniciarla para continuar usando el cliente.</translation>
</message>
@@ -2856,23 +2856,23 @@ No se recomienda usarla.</translation>
<translation>Error al leer el directorio.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<location filename="../src/libsync/syncengine.cpp" line="440"/>
<source>File/Folder is ignored because it&apos;s hidden.</source>
<translation>Se ignoran los Archivos/Carpetas ocultos.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="690"/>
<location filename="../src/libsync/syncengine.cpp" line="701"/>
<source>Only %1 are available, need at least %2 to start</source>
<comment>Placeholders are postfixed with file sizes using Utility::octetsToString()</comment>
<translation>Solo %1 disponible, se necesita por lo menos %2 para comenzar</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1121"/>
<location filename="../src/libsync/syncengine.cpp" line="1132"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>No permitido porque no tienes permiso para añadir un directorio padre</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1128"/>
<location filename="../src/libsync/syncengine.cpp" line="1139"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>No permitido porque no tienes permiso para añadir archivos a ese directorio</translation>
</message>
@@ -2892,7 +2892,7 @@ No se recomienda usarla.</translation>
<translation>Interrumpido por el usuario</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="425"/>
<location filename="../src/libsync/syncengine.cpp" line="434"/>
<source>Filename contains invalid characters that can not be synced cross platform.</source>
<translation>El nombre del archivo contiene caracteres inválidos que no pueden ser sincronizados entre las plataformas.</translation>
</message>
@@ -2932,109 +2932,109 @@ No se recomienda usarla.</translation>
<translation>Ocurrió un error interno número %1.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="254"/>
<location filename="../src/libsync/syncengine.cpp" line="263"/>
<source>The item is not synced because of previous errors: %1</source>
<translation>El elemento no está sincronizado por errores previos: %1</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="419"/>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<source>Symbolic links are not supported in syncing.</source>
<translation>No se admiten enlaces simbólicos en la sincronización.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="422"/>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<source>File is listed on the ignore list.</source>
<translation>El fichero está en la lista de ignorados</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<source>Filename is too long.</source>
<translation>El nombre del archivo es demasiado largo.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<location filename="../src/libsync/syncengine.cpp" line="446"/>
<source>Stat failed.</source>
<translation>Stat ha fallado.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="464"/>
<location filename="../src/libsync/syncengine.cpp" line="473"/>
<source>Filename encoding is not valid</source>
<translation>Los caracteres del nombre de fichero no son válidos</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="635"/>
<location filename="../src/libsync/syncengine.cpp" line="644"/>
<source>Invalid characters, please rename &quot;%1&quot;</source>
<translation>Caracteres inválidos, por favor renombre &quot;%1&quot;</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="724"/>
<location filename="../src/libsync/syncengine.cpp" line="735"/>
<source>Unable to initialize a sync journal.</source>
<translation>No se pudo inicializar un registro (journal) de sincronización.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="743"/>
<location filename="../src/libsync/syncengine.cpp" line="754"/>
<source>Unable to read the blacklist from the local database</source>
<translation>No se pudo leer la lista de bloqueo de la base de datos local</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="776"/>
<location filename="../src/libsync/syncengine.cpp" line="787"/>
<source>Unable to read from the sync journal.</source>
<translation>No se ha podido leer desde el registro de sincronización</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="822"/>
<location filename="../src/libsync/syncengine.cpp" line="833"/>
<source>Cannot open the sync journal</source>
<translation>No es posible abrir el diario de sincronización</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="876"/>
<location filename="../src/libsync/syncengine.cpp" line="887"/>
<source>File name contains at least one invalid character</source>
<translation>Nombre de archivo contiene al menos un caracter no válido</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1080"/>
<location filename="../src/libsync/syncengine.cpp" line="1087"/>
<location filename="../src/libsync/syncengine.cpp" line="1091"/>
<location filename="../src/libsync/syncengine.cpp" line="1098"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Ignorado porque se encuentra en la lista negra de &quot;elija qué va a sincronizar&quot;</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1106"/>
<location filename="../src/libsync/syncengine.cpp" line="1117"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>No permitido porque no tienes permiso para añadir subdirectorios a ese directorio</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1148"/>
<location filename="../src/libsync/syncengine.cpp" line="1159"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>No está permitido subir este archivo porque es de solo lectura en el servidor, restaurando.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1165"/>
<location filename="../src/libsync/syncengine.cpp" line="1185"/>
<location filename="../src/libsync/syncengine.cpp" line="1176"/>
<location filename="../src/libsync/syncengine.cpp" line="1196"/>
<source>Not allowed to remove, restoring</source>
<translation>No está permitido borrar, restaurando.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1198"/>
<location filename="../src/libsync/syncengine.cpp" line="1209"/>
<source>Local files and share folder removed.</source>
<translation>Se han eliminado los archivos locales y la carpeta compartida.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1253"/>
<location filename="../src/libsync/syncengine.cpp" line="1265"/>
<source>Move not allowed, item restored</source>
<translation>No está permitido mover, elemento restaurado.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1262"/>
<location filename="../src/libsync/syncengine.cpp" line="1276"/>
<source>Move not allowed because %1 is read-only</source>
<translation>No está permitido mover, porque %1 es de sólo lectura.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the destination</source>
<translation>destino</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the source</source>
<translation>origen</translation>
</message>
@@ -3508,37 +3508,37 @@ No se recomienda usarla.</translation>
<context>
<name>QObject</name>
<message>
<location filename="../src/libsync/utility.cpp" line="468"/>
<location filename="../src/libsync/utility.cpp" line="473"/>
<source>in the future</source>
<translation>en el futuro</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="464"/>
<location filename="../src/libsync/utility.cpp" line="469"/>
<source>%n day(s) ago</source>
<translation><numerusform>Hace %n día(s)</numerusform><numerusform>Hace %n día(s)</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="472"/>
<location filename="../src/libsync/utility.cpp" line="477"/>
<source>%n hour(s) ago</source>
<translation><numerusform>Hace %n hora(s)</numerusform><numerusform>Hace %n hora(s)</numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="477"/>
<location filename="../src/libsync/utility.cpp" line="482"/>
<source>now</source>
<translation>ahora</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="479"/>
<location filename="../src/libsync/utility.cpp" line="484"/>
<source>Less than a minute ago</source>
<translation>Hace menos de un minuto</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="482"/>
<location filename="../src/libsync/utility.cpp" line="487"/>
<source>%n minute(s) ago</source>
<translation><numerusform>Hace %n minutos(s)</numerusform><numerusform>Hace %n minutos(s)</numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="485"/>
<location filename="../src/libsync/utility.cpp" line="490"/>
<source>Some time ago</source>
<translation>Hace unos momentos</translation>
</message>
@@ -3565,38 +3565,38 @@ No se recomienda usarla.</translation>
<source>%L1 B</source>
<translation>%L1 B</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln año(s)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln meses(s)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln dia(s)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln hora(s)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln minuto(s)</translation>
</message>
<message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln segundos(s)</translation>
<source>%n year(s)</source>
<translation><numerusform>%n año</numerusform><numerusform>%n año(s)</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="320"/>
<source>%n month(s)</source>
<translation><numerusform>%n Mes</numerusform><numerusform>%n Mese(s)</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="321"/>
<source>%n day(s)</source>
<translation><numerusform>%n dia</numerusform><numerusform>%n dia(s)</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="322"/>
<source>%n hour(s)</source>
<translation><numerusform>%n hora</numerusform><numerusform>%n hora(s)</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="323"/>
<source>%n minute(s)</source>
<translation><numerusform>%n minuto</numerusform><numerusform>%n minuto(s)</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="324"/>
<source>%n second(s)</source>
<translation><numerusform>%n segundo</numerusform><numerusform>%n segundo(s)</numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
<location filename="../src/libsync/utility.cpp" line="348"/>
<source>%1 %2</source>
<translation>%1 %2</translation>
</message>
+132 -132
Ver Arquivo
@@ -594,142 +594,142 @@
<translation>No se puede leer %1.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="386"/>
<location filename="../src/gui/folder.cpp" line="387"/>
<source>%1: %2</source>
<extracomment>this displays an error string (%2) for a file %1</extracomment>
<translation>%1: %2</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="496"/>
<location filename="../src/gui/folder.cpp" line="497"/>
<source>%1 has been removed.</source>
<comment>%1 names a file.</comment>
<translation>%1 ha sido eliminado.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="503"/>
<location filename="../src/gui/folder.cpp" line="504"/>
<source>%1 has been downloaded.</source>
<comment>%1 names a file.</comment>
<translation>%1 ha sido descargado.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="510"/>
<location filename="../src/gui/folder.cpp" line="511"/>
<source>%1 has been updated.</source>
<comment>%1 names a file.</comment>
<translation>%1 ha sido actualizado</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="517"/>
<location filename="../src/gui/folder.cpp" line="518"/>
<source>%1 has been renamed to %2.</source>
<comment>%1 and %2 name files.</comment>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="524"/>
<location filename="../src/gui/folder.cpp" line="525"/>
<source>%1 has been moved to %2.</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="494"/>
<location filename="../src/gui/folder.cpp" line="495"/>
<source>%1 and %n other file(s) have been removed.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="501"/>
<location filename="../src/gui/folder.cpp" line="502"/>
<source>%1 and %n other file(s) have been downloaded.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="508"/>
<location filename="../src/gui/folder.cpp" line="509"/>
<source>%1 and %n other file(s) have been updated.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="515"/>
<location filename="../src/gui/folder.cpp" line="516"/>
<source>%1 has been renamed to %2 and %n other file(s) have been renamed.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="522"/>
<location filename="../src/gui/folder.cpp" line="523"/>
<source>%1 has been moved to %2 and %n other file(s) have been moved.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="529"/>
<location filename="../src/gui/folder.cpp" line="530"/>
<source>%1 has and %n other file(s) have sync conflicts.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="531"/>
<location filename="../src/gui/folder.cpp" line="532"/>
<source>%1 has a sync conflict. Please check the conflict file!</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="536"/>
<location filename="../src/gui/folder.cpp" line="537"/>
<source>%1 and %n other file(s) could not be synced due to errors. See the log for details.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="538"/>
<location filename="../src/gui/folder.cpp" line="539"/>
<source>%1 could not be synced due to an error. See the log for details.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="544"/>
<location filename="../src/gui/folder.cpp" line="545"/>
<source>Sync Activity</source>
<translation>Actividad de Sync</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="750"/>
<location filename="../src/gui/folder.cpp" line="751"/>
<source>Could not read system exclude file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="961"/>
<location filename="../src/gui/folder.cpp" line="962"/>
<source>A new folder larger than %1 MB has been added: %2.
Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="979"/>
<location filename="../src/gui/folder.cpp" line="980"/>
<source>This sync would remove all the files in the sync folder '%1'.
This might be because the folder was silently reconfigured, or that all the files were manually removed.
Are you sure you want to perform this operation?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="983"/>
<location filename="../src/gui/folder.cpp" line="984"/>
<source>Remove All Files?</source>
<translation>¿Borrar todos los archivos?</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="985"/>
<location filename="../src/gui/folder.cpp" line="986"/>
<source>Remove all files</source>
<translation>Borrar todos los archivos</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="986"/>
<location filename="../src/gui/folder.cpp" line="987"/>
<source>Keep files</source>
<translation>Conservar archivos</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1004"/>
<location filename="../src/gui/folder.cpp" line="1005"/>
<source>This sync would reset the files to an erlier 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?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1009"/>
<location filename="../src/gui/folder.cpp" line="1010"/>
<source>Backup detected</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1011"/>
<location filename="../src/gui/folder.cpp" line="1012"/>
<source>Normal Synchronisation</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1012"/>
<location filename="../src/gui/folder.cpp" line="1013"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"/>
</message>
@@ -996,12 +996,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizard</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="553"/>
<location filename="../src/gui/folderwizard.cpp" line="542"/>
<source>Add Folder Sync Connection</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="555"/>
<location filename="../src/gui/folderwizard.cpp" line="544"/>
<source>Add Sync Connection</source>
<translation type="unfinished"/>
</message>
@@ -1019,7 +1019,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<translation>Ingrese el path al directorio local.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="133"/>
<location filename="../src/gui/folderwizard.cpp" line="126"/>
<source>Select the source folder</source>
<translation>Seleccioná el directorio origen</translation>
</message>
@@ -1027,52 +1027,52 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardRemotePath</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="191"/>
<location filename="../src/gui/folderwizard.cpp" line="176"/>
<source>Create Remote Folder</source>
<translation>Crear carpeta remota</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="192"/>
<location filename="../src/gui/folderwizard.cpp" line="177"/>
<source>Enter the name of the new folder to be created below &apos;%1&apos;:</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="221"/>
<location filename="../src/gui/folderwizard.cpp" line="206"/>
<source>Folder was successfully created on %1.</source>
<translation>El directorio fue creado con éxito en %1.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="232"/>
<location filename="../src/gui/folderwizard.cpp" line="217"/>
<source>Authentication failed accessing %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="234"/>
<location filename="../src/gui/folderwizard.cpp" line="219"/>
<source>Failed to create the folder on %1. Please check manually.</source>
<translation>Fallo al crear el directorio en %1. Por favor chequee manualmente.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="241"/>
<location filename="../src/gui/folderwizard.cpp" line="226"/>
<source>Failed to list a folder. Error: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="322"/>
<location filename="../src/gui/folderwizard.cpp" line="307"/>
<source>Choose this to sync the entire account</source>
<translation>Seleccioná acá para sincronizar la cuenta completa</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="451"/>
<location filename="../src/gui/folderwizard.cpp" line="436"/>
<source>This folder is already being synced.</source>
<translation>Este folder ya está siendo sincronizado.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="453"/>
<location filename="../src/gui/folderwizard.cpp" line="438"/>
<source>You are already syncing &lt;i&gt;%1&lt;/i&gt;, which is a parent folder of &lt;i&gt;%2&lt;/i&gt;.</source>
<translation>Ya estás sincronizando &lt;i&gt;%1&lt;/i&gt;, el cual es el directorio de &lt;i&gt;%2&lt;/i&gt;.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="457"/>
<location filename="../src/gui/folderwizard.cpp" line="442"/>
<source>You are already syncing all your files. Syncing another folder is &lt;b&gt;not&lt;/b&gt; supported. If you want to sync multiple folders, please remove the currently configured root folder sync.</source>
<translation type="unfinished"/>
</message>
@@ -1080,7 +1080,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardSelectiveSync</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="495"/>
<location filename="../src/gui/folderwizard.cpp" line="480"/>
<source>Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize.</source>
<translation type="unfinished"/>
</message>
@@ -1369,27 +1369,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<context>
<name>OCC::NSISUpdater</name>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
<source>New Version Available</source>
<translation>Nueva versión disponible</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
<source>&lt;p&gt;A new version of the %1 Client is available.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; is available for download. The installed version is %3.&lt;/p&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<source>Skip this version</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
<source>Skip this time</source>
<translation>Saltear esta vez</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
<source>Get update</source>
<translation>Obtener actualización</translation>
</message>
@@ -1943,17 +1943,17 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="694"/>
<location filename="../src/libsync/propagatedownload.cpp" line="693"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="742"/>
<location filename="../src/libsync/propagatedownload.cpp" line="741"/>
<source>File has changed since discovery</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="792"/>
<location filename="../src/libsync/propagatedownload.cpp" line="791"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2087,48 +2087,48 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileQNAM</name>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="289"/>
<location filename="../src/libsync/propagateupload.cpp" line="291"/>
<source>File Removed</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="301"/>
<location filename="../src/libsync/propagateupload.cpp" line="303"/>
<source>Local file changed during syncing. It will be resumed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="313"/>
<location filename="../src/libsync/propagateupload.cpp" line="694"/>
<location filename="../src/libsync/propagateupload.cpp" line="315"/>
<location filename="../src/libsync/propagateupload.cpp" line="704"/>
<source>Local file changed during sync.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="621"/>
<location filename="../src/libsync/propagateupload.cpp" line="631"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="629"/>
<location filename="../src/libsync/propagateupload.cpp" line="639"/>
<source>The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="660"/>
<location filename="../src/libsync/propagateupload.cpp" line="670"/>
<source>Poll URL missing</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="683"/>
<location filename="../src/libsync/propagateupload.cpp" line="693"/>
<source>The local file was removed during sync.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="709"/>
<location filename="../src/libsync/propagateupload.cpp" line="719"/>
<source>The server did not acknowledge the last chunk. (No e-tag was present)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="782"/>
<location filename="../src/libsync/propagateupload.cpp" line="792"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2171,17 +2171,17 @@ It is not advisable to use it.</source>
<translation>Tamaño</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="72"/>
<location filename="../src/gui/protocolwidget.cpp" line="78"/>
<source>Local sync protocol</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="74"/>
<location filename="../src/gui/protocolwidget.cpp" line="80"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="75"/>
<location filename="../src/gui/protocolwidget.cpp" line="81"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Copiar la lista de actividades al portapapeles.</translation>
</message>
@@ -2468,7 +2468,7 @@ It is not advisable to use it.</source>
<translation>Compartir con usuario o grupo ...</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="226"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="224"/>
<source>No results for &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
@@ -2501,17 +2501,17 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="302"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="300"/>
<source>create</source>
<translation>crear</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="305"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="303"/>
<source>change</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="308"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="306"/>
<source>delete</source>
<translation>borrar</translation>
</message>
@@ -2532,17 +2532,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ShibbolethWebView</name>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="74"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="79"/>
<source>%1 - Authenticate</source>
<translation>%1 - Autenticarse</translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Reauthentication required</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Your session has expired. You need to re-login to continue to use the client.</source>
<translation type="unfinished"/>
</message>
@@ -2842,23 +2842,23 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<location filename="../src/libsync/syncengine.cpp" line="440"/>
<source>File/Folder is ignored because it&apos;s hidden.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="690"/>
<location filename="../src/libsync/syncengine.cpp" line="701"/>
<source>Only %1 are available, need at least %2 to start</source>
<comment>Placeholders are postfixed with file sizes using Utility::octetsToString()</comment>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1121"/>
<location filename="../src/libsync/syncengine.cpp" line="1132"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1128"/>
<location filename="../src/libsync/syncengine.cpp" line="1139"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"/>
</message>
@@ -2878,7 +2878,7 @@ It is not advisable to use it.</source>
<translation>Interrumpido por el usuario</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="425"/>
<location filename="../src/libsync/syncengine.cpp" line="434"/>
<source>Filename contains invalid characters that can not be synced cross platform.</source>
<translation type="unfinished"/>
</message>
@@ -2918,109 +2918,109 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="254"/>
<location filename="../src/libsync/syncengine.cpp" line="263"/>
<source>The item is not synced because of previous errors: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="419"/>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<source>Symbolic links are not supported in syncing.</source>
<translation>Los vínculos simbólicos no está soportados al sincronizar.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="422"/>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<source>File is listed on the ignore list.</source>
<translation>El archivo está en la lista de ignorados.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<source>Filename is too long.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<location filename="../src/libsync/syncengine.cpp" line="446"/>
<source>Stat failed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="464"/>
<location filename="../src/libsync/syncengine.cpp" line="473"/>
<source>Filename encoding is not valid</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="635"/>
<location filename="../src/libsync/syncengine.cpp" line="644"/>
<source>Invalid characters, please rename &quot;%1&quot;</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="724"/>
<location filename="../src/libsync/syncengine.cpp" line="735"/>
<source>Unable to initialize a sync journal.</source>
<translation>Imposible inicializar un diario de sincronización.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="743"/>
<location filename="../src/libsync/syncengine.cpp" line="754"/>
<source>Unable to read the blacklist from the local database</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="776"/>
<location filename="../src/libsync/syncengine.cpp" line="787"/>
<source>Unable to read from the sync journal.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="822"/>
<location filename="../src/libsync/syncengine.cpp" line="833"/>
<source>Cannot open the sync journal</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="876"/>
<location filename="../src/libsync/syncengine.cpp" line="887"/>
<source>File name contains at least one invalid character</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1080"/>
<location filename="../src/libsync/syncengine.cpp" line="1087"/>
<location filename="../src/libsync/syncengine.cpp" line="1091"/>
<location filename="../src/libsync/syncengine.cpp" line="1098"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1106"/>
<location filename="../src/libsync/syncengine.cpp" line="1117"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1148"/>
<location filename="../src/libsync/syncengine.cpp" line="1159"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1165"/>
<location filename="../src/libsync/syncengine.cpp" line="1185"/>
<location filename="../src/libsync/syncengine.cpp" line="1176"/>
<location filename="../src/libsync/syncengine.cpp" line="1196"/>
<source>Not allowed to remove, restoring</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1198"/>
<location filename="../src/libsync/syncengine.cpp" line="1209"/>
<source>Local files and share folder removed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1253"/>
<location filename="../src/libsync/syncengine.cpp" line="1265"/>
<source>Move not allowed, item restored</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1262"/>
<location filename="../src/libsync/syncengine.cpp" line="1276"/>
<source>Move not allowed because %1 is read-only</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the destination</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the source</source>
<translation type="unfinished"/>
</message>
@@ -3495,37 +3495,37 @@ It is not advisable to use it.</source>
<context>
<name>QObject</name>
<message>
<location filename="../src/libsync/utility.cpp" line="468"/>
<location filename="../src/libsync/utility.cpp" line="473"/>
<source>in the future</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="464"/>
<location filename="../src/libsync/utility.cpp" line="469"/>
<source>%n day(s) ago</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="472"/>
<location filename="../src/libsync/utility.cpp" line="477"/>
<source>%n hour(s) ago</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="477"/>
<location filename="../src/libsync/utility.cpp" line="482"/>
<source>now</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="479"/>
<location filename="../src/libsync/utility.cpp" line="484"/>
<source>Less than a minute ago</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="482"/>
<location filename="../src/libsync/utility.cpp" line="487"/>
<source>%n minute(s) ago</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="485"/>
<location filename="../src/libsync/utility.cpp" line="490"/>
<source>Some time ago</source>
<translation type="unfinished"/>
</message>
@@ -3552,38 +3552,38 @@ It is not advisable to use it.</source>
<source>%L1 B</source>
<translation>%L1 B</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation type="unfinished"/>
</message>
<message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln segundo(s)</translation>
<source>%n year(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="320"/>
<source>%n month(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="321"/>
<source>%n day(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="322"/>
<source>%n hour(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="323"/>
<source>%n minute(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="324"/>
<source>%n second(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
<location filename="../src/libsync/utility.cpp" line="348"/>
<source>%1 %2</source>
<translation>%1 %2</translation>
</message>
+132 -132
Ver Arquivo
@@ -594,142 +594,142 @@
<translation>%1 pole loetav.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="386"/>
<location filename="../src/gui/folder.cpp" line="387"/>
<source>%1: %2</source>
<extracomment>this displays an error string (%2) for a file %1</extracomment>
<translation>%1: %2</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="496"/>
<location filename="../src/gui/folder.cpp" line="497"/>
<source>%1 has been removed.</source>
<comment>%1 names a file.</comment>
<translation>%1 on eemaldatud.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="503"/>
<location filename="../src/gui/folder.cpp" line="504"/>
<source>%1 has been downloaded.</source>
<comment>%1 names a file.</comment>
<translation>%1 on alla laaditud.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="510"/>
<location filename="../src/gui/folder.cpp" line="511"/>
<source>%1 has been updated.</source>
<comment>%1 names a file.</comment>
<translation>%1 on uuendatud.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="517"/>
<location filename="../src/gui/folder.cpp" line="518"/>
<source>%1 has been renamed to %2.</source>
<comment>%1 and %2 name files.</comment>
<translation>%1 on ümber nimetatud %2.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="524"/>
<location filename="../src/gui/folder.cpp" line="525"/>
<source>%1 has been moved to %2.</source>
<translation>%1 on tõstetud %2.</translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="494"/>
<location filename="../src/gui/folder.cpp" line="495"/>
<source>%1 and %n other file(s) have been removed.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="501"/>
<location filename="../src/gui/folder.cpp" line="502"/>
<source>%1 and %n other file(s) have been downloaded.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="508"/>
<location filename="../src/gui/folder.cpp" line="509"/>
<source>%1 and %n other file(s) have been updated.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="515"/>
<location filename="../src/gui/folder.cpp" line="516"/>
<source>%1 has been renamed to %2 and %n other file(s) have been renamed.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="522"/>
<location filename="../src/gui/folder.cpp" line="523"/>
<source>%1 has been moved to %2 and %n other file(s) have been moved.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="529"/>
<location filename="../src/gui/folder.cpp" line="530"/>
<source>%1 has and %n other file(s) have sync conflicts.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="531"/>
<location filename="../src/gui/folder.cpp" line="532"/>
<source>%1 has a sync conflict. Please check the conflict file!</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="536"/>
<location filename="../src/gui/folder.cpp" line="537"/>
<source>%1 and %n other file(s) could not be synced due to errors. See the log for details.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="538"/>
<location filename="../src/gui/folder.cpp" line="539"/>
<source>%1 could not be synced due to an error. See the log for details.</source>
<translation>%1 sünkroniseerimine ebaõnnestus tõrke tõttu. Lisainfot vaata logist.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="544"/>
<location filename="../src/gui/folder.cpp" line="545"/>
<source>Sync Activity</source>
<translation>Sünkroniseerimise tegevus</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="750"/>
<location filename="../src/gui/folder.cpp" line="751"/>
<source>Could not read system exclude file</source>
<translation>Süsteemi väljajätmiste faili lugemine ebaõnnestus</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="961"/>
<location filename="../src/gui/folder.cpp" line="962"/>
<source>A new folder larger than %1 MB has been added: %2.
Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="979"/>
<location filename="../src/gui/folder.cpp" line="980"/>
<source>This sync would remove all the files in the sync folder '%1'.
This might be because the folder was silently reconfigured, or that all the files were manually removed.
Are you sure you want to perform this operation?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="983"/>
<location filename="../src/gui/folder.cpp" line="984"/>
<source>Remove All Files?</source>
<translation>Kustutada kõik failid?</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="985"/>
<location filename="../src/gui/folder.cpp" line="986"/>
<source>Remove all files</source>
<translation>Kustutada kõik failid</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="986"/>
<location filename="../src/gui/folder.cpp" line="987"/>
<source>Keep files</source>
<translation>Säilita failid</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1004"/>
<location filename="../src/gui/folder.cpp" line="1005"/>
<source>This sync would reset the files to an erlier 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?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1009"/>
<location filename="../src/gui/folder.cpp" line="1010"/>
<source>Backup detected</source>
<translation>Leiti varukoopia</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1011"/>
<location filename="../src/gui/folder.cpp" line="1012"/>
<source>Normal Synchronisation</source>
<translation>Tavaline sünkroonimine</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1012"/>
<location filename="../src/gui/folder.cpp" line="1013"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"/>
</message>
@@ -996,12 +996,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizard</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="553"/>
<location filename="../src/gui/folderwizard.cpp" line="542"/>
<source>Add Folder Sync Connection</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="555"/>
<location filename="../src/gui/folderwizard.cpp" line="544"/>
<source>Add Sync Connection</source>
<translation type="unfinished"/>
</message>
@@ -1019,7 +1019,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<translation>Sisesta otsingutee kohaliku kataloogini.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="133"/>
<location filename="../src/gui/folderwizard.cpp" line="126"/>
<source>Select the source folder</source>
<translation>Vali algne kaust</translation>
</message>
@@ -1027,52 +1027,52 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardRemotePath</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="191"/>
<location filename="../src/gui/folderwizard.cpp" line="176"/>
<source>Create Remote Folder</source>
<translation>Loo kaugkaust</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="192"/>
<location filename="../src/gui/folderwizard.cpp" line="177"/>
<source>Enter the name of the new folder to be created below &apos;%1&apos;:</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="221"/>
<location filename="../src/gui/folderwizard.cpp" line="206"/>
<source>Folder was successfully created on %1.</source>
<translation>%1 - kaust on loodud.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="232"/>
<location filename="../src/gui/folderwizard.cpp" line="217"/>
<source>Authentication failed accessing %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="234"/>
<location filename="../src/gui/folderwizard.cpp" line="219"/>
<source>Failed to create the folder on %1. Please check manually.</source>
<translation>Kausta loomine ebaõnnestus - %1. Palun kontrolli käsitsi.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="241"/>
<location filename="../src/gui/folderwizard.cpp" line="226"/>
<source>Failed to list a folder. Error: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="322"/>
<location filename="../src/gui/folderwizard.cpp" line="307"/>
<source>Choose this to sync the entire account</source>
<translation>Vali see sünkroniseering tervele kontole</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="451"/>
<location filename="../src/gui/folderwizard.cpp" line="436"/>
<source>This folder is already being synced.</source>
<translation>Seda kataloogi juba sünkroniseeritakse.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="453"/>
<location filename="../src/gui/folderwizard.cpp" line="438"/>
<source>You are already syncing &lt;i&gt;%1&lt;/i&gt;, which is a parent folder of &lt;i&gt;%2&lt;/i&gt;.</source>
<translation>Sa juba sünkroniseerid &lt;i&gt;%1&lt;/i&gt;, mis on &lt;i&gt;%2&lt;/i&gt; ülemkataloog.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="457"/>
<location filename="../src/gui/folderwizard.cpp" line="442"/>
<source>You are already syncing all your files. Syncing another folder is &lt;b&gt;not&lt;/b&gt; supported. If you want to sync multiple folders, please remove the currently configured root folder sync.</source>
<translation>Sa juba sünkroniseerid kõiki oma faile. Teise kataloogi sünkroniseering &lt;b&gt;ei ole&lt;/b&gt; toetatud. Kui soovid sünkroniseerida mitut kataloogi, palun eemalda hektel seadistatud sünkroniseeritav juurkataloog.</translation>
</message>
@@ -1080,7 +1080,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardSelectiveSync</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="495"/>
<location filename="../src/gui/folderwizard.cpp" line="480"/>
<source>Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize.</source>
<translation type="unfinished"/>
</message>
@@ -1369,27 +1369,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<context>
<name>OCC::NSISUpdater</name>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
<source>New Version Available</source>
<translation>Saadaval on uuem versioon</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
<source>&lt;p&gt;A new version of the %1 Client is available.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; is available for download. The installed version is %3.&lt;/p&gt;</source>
<translation>&lt;p&gt;Uus versioon %1 kliendist on saadaval.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; on saadaval alla laadimiseks. Paigaldatud on versioon %3.&lt;p&gt;</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<source>Skip this version</source>
<translation>Jäta see versioon vahele</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
<source>Skip this time</source>
<translation>Jäta seekord vahele</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
<source>Get update</source>
<translation>Hangi uuendus</translation>
</message>
@@ -1944,17 +1944,17 @@ Selle kasutamine pole soovitatav.</translation>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="694"/>
<location filename="../src/libsync/propagatedownload.cpp" line="693"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Faili %1 ei saa salvestada kuna on nime konflikt kohaliku failiga!</translation>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="742"/>
<location filename="../src/libsync/propagatedownload.cpp" line="741"/>
<source>File has changed since discovery</source>
<translation>Faili on pärast avastamist muudetud</translation>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="792"/>
<location filename="../src/libsync/propagatedownload.cpp" line="791"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2088,48 +2088,48 @@ Selle kasutamine pole soovitatav.</translation>
<context>
<name>OCC::PropagateUploadFileQNAM</name>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="289"/>
<location filename="../src/libsync/propagateupload.cpp" line="291"/>
<source>File Removed</source>
<translation>Fail eemaldatud</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="301"/>
<location filename="../src/libsync/propagateupload.cpp" line="303"/>
<source>Local file changed during syncing. It will be resumed.</source>
<translation>Kohalik fail muutus sünkroniseeringu käigus. See taastakse.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="313"/>
<location filename="../src/libsync/propagateupload.cpp" line="694"/>
<location filename="../src/libsync/propagateupload.cpp" line="315"/>
<location filename="../src/libsync/propagateupload.cpp" line="704"/>
<source>Local file changed during sync.</source>
<translation>Kohalik fail muutus sünkroniseeringu käigus.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="621"/>
<location filename="../src/libsync/propagateupload.cpp" line="631"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="629"/>
<location filename="../src/libsync/propagateupload.cpp" line="639"/>
<source>The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file.</source>
<translation>Faili on lokaalselt muudetud, kuid see on osa kirjutamisõiguseta jagamisest. See on taastatud ning sinu muudatus on konfliktses failis.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="660"/>
<location filename="../src/libsync/propagateupload.cpp" line="670"/>
<source>Poll URL missing</source>
<translation>Küsitluse URL puudub</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="683"/>
<location filename="../src/libsync/propagateupload.cpp" line="693"/>
<source>The local file was removed during sync.</source>
<translation>Kohalik fail on eemaldatud sünkroniseeringu käigus.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="709"/>
<location filename="../src/libsync/propagateupload.cpp" line="719"/>
<source>The server did not acknowledge the last chunk. (No e-tag was present)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="782"/>
<location filename="../src/libsync/propagateupload.cpp" line="792"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2172,17 +2172,17 @@ Selle kasutamine pole soovitatav.</translation>
<translation>Suurus</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="72"/>
<location filename="../src/gui/protocolwidget.cpp" line="78"/>
<source>Local sync protocol</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="74"/>
<location filename="../src/gui/protocolwidget.cpp" line="80"/>
<source>Copy</source>
<translation>Kopeeri</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="75"/>
<location filename="../src/gui/protocolwidget.cpp" line="81"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Kopeeri tegevuste nimistu puhvrisse.</translation>
</message>
@@ -2469,7 +2469,7 @@ Selle kasutamine pole soovitatav.</translation>
<translation>Jaga kasutajate või gruppidega ...</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="226"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="224"/>
<source>No results for &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
@@ -2502,17 +2502,17 @@ Selle kasutamine pole soovitatav.</translation>
<translation>...</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="302"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="300"/>
<source>create</source>
<translation>loo</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="305"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="303"/>
<source>change</source>
<translation>muuda</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="308"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="306"/>
<source>delete</source>
<translation>kustuta</translation>
</message>
@@ -2533,17 +2533,17 @@ Selle kasutamine pole soovitatav.</translation>
<context>
<name>OCC::ShibbolethWebView</name>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="74"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="79"/>
<source>%1 - Authenticate</source>
<translation>%1 - autentimine</translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Reauthentication required</source>
<translation>Vajalik on uuesti autentimine</translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Your session has expired. You need to re-login to continue to use the client.</source>
<translation>Sinu sessioon on aegunud. Sa pead kliendi kasutamiseks uuesti sisse logima.</translation>
</message>
@@ -2845,23 +2845,23 @@ Selle kasutamine pole soovitatav.</translation>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<location filename="../src/libsync/syncengine.cpp" line="440"/>
<source>File/Folder is ignored because it&apos;s hidden.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="690"/>
<location filename="../src/libsync/syncengine.cpp" line="701"/>
<source>Only %1 are available, need at least %2 to start</source>
<comment>Placeholders are postfixed with file sizes using Utility::octetsToString()</comment>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1121"/>
<location filename="../src/libsync/syncengine.cpp" line="1132"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1128"/>
<location filename="../src/libsync/syncengine.cpp" line="1139"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"/>
</message>
@@ -2881,7 +2881,7 @@ Selle kasutamine pole soovitatav.</translation>
<translation>Kasutaja poolt tühistatud</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="425"/>
<location filename="../src/libsync/syncengine.cpp" line="434"/>
<source>Filename contains invalid characters that can not be synced cross platform.</source>
<translation type="unfinished"/>
</message>
@@ -2921,109 +2921,109 @@ Selle kasutamine pole soovitatav.</translation>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="254"/>
<location filename="../src/libsync/syncengine.cpp" line="263"/>
<source>The item is not synced because of previous errors: %1</source>
<translation>Üksust ei sünkroniseeritud eelnenud vigade tõttu: %1</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="419"/>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<source>Symbolic links are not supported in syncing.</source>
<translation>Sümboolsed lingid ei ole sünkroniseerimisel toetatud.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="422"/>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<source>File is listed on the ignore list.</source>
<translation>Fail on märgitud ignoreeritavate nimistus.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<source>Filename is too long.</source>
<translation>Faili nimi on liiga pikk.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<location filename="../src/libsync/syncengine.cpp" line="446"/>
<source>Stat failed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="464"/>
<location filename="../src/libsync/syncengine.cpp" line="473"/>
<source>Filename encoding is not valid</source>
<translation>Failinime kodeering pole kehtiv</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="635"/>
<location filename="../src/libsync/syncengine.cpp" line="644"/>
<source>Invalid characters, please rename &quot;%1&quot;</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="724"/>
<location filename="../src/libsync/syncengine.cpp" line="735"/>
<source>Unable to initialize a sync journal.</source>
<translation>Ei suuda lähtestada sünkroniseeringu zurnaali.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="743"/>
<location filename="../src/libsync/syncengine.cpp" line="754"/>
<source>Unable to read the blacklist from the local database</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="776"/>
<location filename="../src/libsync/syncengine.cpp" line="787"/>
<source>Unable to read from the sync journal.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="822"/>
<location filename="../src/libsync/syncengine.cpp" line="833"/>
<source>Cannot open the sync journal</source>
<translation>Ei suuda avada sünkroniseeringu zurnaali</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="876"/>
<location filename="../src/libsync/syncengine.cpp" line="887"/>
<source>File name contains at least one invalid character</source>
<translation>Faili nimesonvähemalt üks keelatud märk</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1080"/>
<location filename="../src/libsync/syncengine.cpp" line="1087"/>
<location filename="../src/libsync/syncengine.cpp" line="1091"/>
<location filename="../src/libsync/syncengine.cpp" line="1098"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>&quot;Vali, mida sünkroniseerida&quot; musta nimekirja tõttu vahele jäetud</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1106"/>
<location filename="../src/libsync/syncengine.cpp" line="1117"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1148"/>
<location filename="../src/libsync/syncengine.cpp" line="1159"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Pole lubatud üles laadida, kuna tegemist on ainult-loetava serveriga, taastan</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1165"/>
<location filename="../src/libsync/syncengine.cpp" line="1185"/>
<location filename="../src/libsync/syncengine.cpp" line="1176"/>
<location filename="../src/libsync/syncengine.cpp" line="1196"/>
<source>Not allowed to remove, restoring</source>
<translation>Eemaldamine pole lubatud, taastan</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1198"/>
<location filename="../src/libsync/syncengine.cpp" line="1209"/>
<source>Local files and share folder removed.</source>
<translation>Kohalikud failid ja jagatud kaustad eemaldatud.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1253"/>
<location filename="../src/libsync/syncengine.cpp" line="1265"/>
<source>Move not allowed, item restored</source>
<translation>Liigutamine pole lubatud, üksus taastatud</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1262"/>
<location filename="../src/libsync/syncengine.cpp" line="1276"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Liigutamien pole võimalik kuna %1 on ainult lugemiseks</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the destination</source>
<translation>sihtkoht</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the source</source>
<translation>allikas</translation>
</message>
@@ -3497,37 +3497,37 @@ Selle kasutamine pole soovitatav.</translation>
<context>
<name>QObject</name>
<message>
<location filename="../src/libsync/utility.cpp" line="468"/>
<location filename="../src/libsync/utility.cpp" line="473"/>
<source>in the future</source>
<translation>tulevikus</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="464"/>
<location filename="../src/libsync/utility.cpp" line="469"/>
<source>%n day(s) ago</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="472"/>
<location filename="../src/libsync/utility.cpp" line="477"/>
<source>%n hour(s) ago</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="477"/>
<location filename="../src/libsync/utility.cpp" line="482"/>
<source>now</source>
<translation>kohe</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="479"/>
<location filename="../src/libsync/utility.cpp" line="484"/>
<source>Less than a minute ago</source>
<translation>Vähem kui minut tagasi</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="482"/>
<location filename="../src/libsync/utility.cpp" line="487"/>
<source>%n minute(s) ago</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="485"/>
<location filename="../src/libsync/utility.cpp" line="490"/>
<source>Some time ago</source>
<translation>Mõni aeg tagasi</translation>
</message>
@@ -3554,38 +3554,38 @@ Selle kasutamine pole soovitatav.</translation>
<source>%L1 B</source>
<translation>%L1 B</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln aasta(t)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln kuu(d)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln päeva(a)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln tund(i)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln minut(it)</translation>
</message>
<message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln sekund(it)</translation>
<source>%n year(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="320"/>
<source>%n month(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="321"/>
<source>%n day(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="322"/>
<source>%n hour(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="323"/>
<source>%n minute(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="324"/>
<source>%n second(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
<location filename="../src/libsync/utility.cpp" line="348"/>
<source>%1 %2</source>
<translation>%1 %2</translation>
</message>
+132 -132
Ver Arquivo
@@ -594,142 +594,142 @@
<translation>%1 ezin da irakurri.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="386"/>
<location filename="../src/gui/folder.cpp" line="387"/>
<source>%1: %2</source>
<extracomment>this displays an error string (%2) for a file %1</extracomment>
<translation>%1: %2</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="496"/>
<location filename="../src/gui/folder.cpp" line="497"/>
<source>%1 has been removed.</source>
<comment>%1 names a file.</comment>
<translation>%1 ezabatua izan da.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="503"/>
<location filename="../src/gui/folder.cpp" line="504"/>
<source>%1 has been downloaded.</source>
<comment>%1 names a file.</comment>
<translation>%1 deskargatu da.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="510"/>
<location filename="../src/gui/folder.cpp" line="511"/>
<source>%1 has been updated.</source>
<comment>%1 names a file.</comment>
<translation>%1 kargatu da.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="517"/>
<location filename="../src/gui/folder.cpp" line="518"/>
<source>%1 has been renamed to %2.</source>
<comment>%1 and %2 name files.</comment>
<translation>%1 %2-(e)ra berrizendatu da.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="524"/>
<location filename="../src/gui/folder.cpp" line="525"/>
<source>%1 has been moved to %2.</source>
<translation>%1 %2-(e)ra mugitu da.</translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="494"/>
<location filename="../src/gui/folder.cpp" line="495"/>
<source>%1 and %n other file(s) have been removed.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="501"/>
<location filename="../src/gui/folder.cpp" line="502"/>
<source>%1 and %n other file(s) have been downloaded.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="508"/>
<location filename="../src/gui/folder.cpp" line="509"/>
<source>%1 and %n other file(s) have been updated.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="515"/>
<location filename="../src/gui/folder.cpp" line="516"/>
<source>%1 has been renamed to %2 and %n other file(s) have been renamed.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="522"/>
<location filename="../src/gui/folder.cpp" line="523"/>
<source>%1 has been moved to %2 and %n other file(s) have been moved.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="529"/>
<location filename="../src/gui/folder.cpp" line="530"/>
<source>%1 has and %n other file(s) have sync conflicts.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="531"/>
<location filename="../src/gui/folder.cpp" line="532"/>
<source>%1 has a sync conflict. Please check the conflict file!</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="536"/>
<location filename="../src/gui/folder.cpp" line="537"/>
<source>%1 and %n other file(s) could not be synced due to errors. See the log for details.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="538"/>
<location filename="../src/gui/folder.cpp" line="539"/>
<source>%1 could not be synced due to an error. See the log for details.</source>
<translation>%1 ezin izan da sinkronizatu akats bat dela eta. Ikusi egunerkoa zehaztapen gehiago izateko.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="544"/>
<location filename="../src/gui/folder.cpp" line="545"/>
<source>Sync Activity</source>
<translation>Sinkronizazio Jarduerak</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="750"/>
<location filename="../src/gui/folder.cpp" line="751"/>
<source>Could not read system exclude file</source>
<translation>Ezin izan da sistemako baztertutakoen fitxategia irakurri</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="961"/>
<location filename="../src/gui/folder.cpp" line="962"/>
<source>A new folder larger than %1 MB has been added: %2.
Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="979"/>
<location filename="../src/gui/folder.cpp" line="980"/>
<source>This sync would remove all the files in the sync folder '%1'.
This might be because the folder was silently reconfigured, or that all the files were manually removed.
Are you sure you want to perform this operation?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="983"/>
<location filename="../src/gui/folder.cpp" line="984"/>
<source>Remove All Files?</source>
<translation>Ezabatu Fitxategi Guztiak?</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="985"/>
<location filename="../src/gui/folder.cpp" line="986"/>
<source>Remove all files</source>
<translation>Ezabatu fitxategi guztiak</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="986"/>
<location filename="../src/gui/folder.cpp" line="987"/>
<source>Keep files</source>
<translation>Mantendu fitxategiak</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1004"/>
<location filename="../src/gui/folder.cpp" line="1005"/>
<source>This sync would reset the files to an erlier 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?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1009"/>
<location filename="../src/gui/folder.cpp" line="1010"/>
<source>Backup detected</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1011"/>
<location filename="../src/gui/folder.cpp" line="1012"/>
<source>Normal Synchronisation</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1012"/>
<location filename="../src/gui/folder.cpp" line="1013"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"/>
</message>
@@ -996,12 +996,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizard</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="553"/>
<location filename="../src/gui/folderwizard.cpp" line="542"/>
<source>Add Folder Sync Connection</source>
<translation>Gehitu Karpeta Sinkronizatzeko Konexioa</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="555"/>
<location filename="../src/gui/folderwizard.cpp" line="544"/>
<source>Add Sync Connection</source>
<translation>Gehitu Sinkronizazio Konexioa</translation>
</message>
@@ -1019,7 +1019,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<translation>Sartu bertako karpeta berriaren bidea:</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="133"/>
<location filename="../src/gui/folderwizard.cpp" line="126"/>
<source>Select the source folder</source>
<translation>Hautatu jatorrizko karpeta</translation>
</message>
@@ -1027,52 +1027,52 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardRemotePath</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="191"/>
<location filename="../src/gui/folderwizard.cpp" line="176"/>
<source>Create Remote Folder</source>
<translation>Sortu Urruneko Karpeta</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="192"/>
<location filename="../src/gui/folderwizard.cpp" line="177"/>
<source>Enter the name of the new folder to be created below &apos;%1&apos;:</source>
<translation>Sartu behean sortuko den karpeta berriaren izena &apos;%1&apos;:</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="221"/>
<location filename="../src/gui/folderwizard.cpp" line="206"/>
<source>Folder was successfully created on %1.</source>
<translation>%1-en karpeta ongi sortu da.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="232"/>
<location filename="../src/gui/folderwizard.cpp" line="217"/>
<source>Authentication failed accessing %1</source>
<translation>Autentikazioak huts egin du %1en sartzean</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="234"/>
<location filename="../src/gui/folderwizard.cpp" line="219"/>
<source>Failed to create the folder on %1. Please check manually.</source>
<translation>Huts egin du %1-(e)an karpeta sortzen. Egiaztatu eskuz.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="241"/>
<location filename="../src/gui/folderwizard.cpp" line="226"/>
<source>Failed to list a folder. Error: %1</source>
<translation>Karpetaren zerrenda lortzeak huts egin du: Error: %1</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="322"/>
<location filename="../src/gui/folderwizard.cpp" line="307"/>
<source>Choose this to sync the entire account</source>
<translation>Hautatu hau kontu osoa sinkronizatzeko</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="451"/>
<location filename="../src/gui/folderwizard.cpp" line="436"/>
<source>This folder is already being synced.</source>
<translation>Karpeta hau dagoeneko sinkronizatzen ari da.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="453"/>
<location filename="../src/gui/folderwizard.cpp" line="438"/>
<source>You are already syncing &lt;i&gt;%1&lt;/i&gt;, which is a parent folder of &lt;i&gt;%2&lt;/i&gt;.</source>
<translation>Dagoeneko &lt;i&gt;%1&lt;/i&gt; sinkronizatzen ari zara, &lt;i&gt;%2&lt;/i&gt;-ren guraso karpeta dena.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="457"/>
<location filename="../src/gui/folderwizard.cpp" line="442"/>
<source>You are already syncing all your files. Syncing another folder is &lt;b&gt;not&lt;/b&gt; supported. If you want to sync multiple folders, please remove the currently configured root folder sync.</source>
<translation>Dagoeneko fitxategi guztiak sinkronizatzen ari zara. &lt;b&gt;Ezin&lt;b&gt; da sinkronizatu beste karpeta bat. Hainbat karpeta batera sinkronizatu nahi baduzu ezaba ezazu orain konfiguratuta duzun sinkronizazio karpeta nagusia.</translation>
</message>
@@ -1080,7 +1080,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardSelectiveSync</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="495"/>
<location filename="../src/gui/folderwizard.cpp" line="480"/>
<source>Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize.</source>
<translation>Hautatu zer nahi duzun sinkronizatzea: Sinkronizatu nahi ez dituzun urruneko azpikarpetak desmarkatu ditzazkezu.</translation>
</message>
@@ -1375,27 +1375,27 @@ Ezabatzeko baimena duten itemak ezabatuko dira hauek karpeta bat ezabatzea uzten
<context>
<name>OCC::NSISUpdater</name>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
<source>New Version Available</source>
<translation>Bertsio berria eskuragarri</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
<source>&lt;p&gt;A new version of the %1 Client is available.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; is available for download. The installed version is %3.&lt;/p&gt;</source>
<translation>&lt;p&gt; %1 bezeroaren bertsio berri bat eskuragarri dago.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt;deskargatzeko prest dago. Instalatuta dagoen bersioa %3 da.&lt;/p&gt;</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<source>Skip this version</source>
<translation>Ez eguneratu bertsio hau</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
<source>Skip this time</source>
<translation>Utzi aldi honetan</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
<source>Get update</source>
<translation>Eskuratu eguneraketa</translation>
</message>
@@ -1950,17 +1950,17 @@ Ez da gomendagarria erabltzea.</translation>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="694"/>
<location filename="../src/libsync/propagatedownload.cpp" line="693"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="742"/>
<location filename="../src/libsync/propagatedownload.cpp" line="741"/>
<source>File has changed since discovery</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="792"/>
<location filename="../src/libsync/propagatedownload.cpp" line="791"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2094,48 +2094,48 @@ Ez da gomendagarria erabltzea.</translation>
<context>
<name>OCC::PropagateUploadFileQNAM</name>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="289"/>
<location filename="../src/libsync/propagateupload.cpp" line="291"/>
<source>File Removed</source>
<translation>Fitxategia Ezabatua</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="301"/>
<location filename="../src/libsync/propagateupload.cpp" line="303"/>
<source>Local file changed during syncing. It will be resumed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="313"/>
<location filename="../src/libsync/propagateupload.cpp" line="694"/>
<location filename="../src/libsync/propagateupload.cpp" line="315"/>
<location filename="../src/libsync/propagateupload.cpp" line="704"/>
<source>Local file changed during sync.</source>
<translation>Fitxategi lokala aldatu da sinkronizazioan.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="621"/>
<location filename="../src/libsync/propagateupload.cpp" line="631"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="629"/>
<location filename="../src/libsync/propagateupload.cpp" line="639"/>
<source>The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="660"/>
<location filename="../src/libsync/propagateupload.cpp" line="670"/>
<source>Poll URL missing</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="683"/>
<location filename="../src/libsync/propagateupload.cpp" line="693"/>
<source>The local file was removed during sync.</source>
<translation>Fitxategi lokala ezabatu da sinkronizazioan.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="709"/>
<location filename="../src/libsync/propagateupload.cpp" line="719"/>
<source>The server did not acknowledge the last chunk. (No e-tag was present)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="782"/>
<location filename="../src/libsync/propagateupload.cpp" line="792"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2178,17 +2178,17 @@ Ez da gomendagarria erabltzea.</translation>
<translation>Tamaina</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="72"/>
<location filename="../src/gui/protocolwidget.cpp" line="78"/>
<source>Local sync protocol</source>
<translation>Bertako sinkronizazio protokolo</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="74"/>
<location filename="../src/gui/protocolwidget.cpp" line="80"/>
<source>Copy</source>
<translation>Kopiatu</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="75"/>
<location filename="../src/gui/protocolwidget.cpp" line="81"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Kopiatu jarduera zerrenda arbelara.</translation>
</message>
@@ -2475,7 +2475,7 @@ Ez da gomendagarria erabltzea.</translation>
<translation>Elkarbanatu erabiltzaile edo taldearekin...</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="226"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="224"/>
<source>No results for &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
@@ -2508,17 +2508,17 @@ Ez da gomendagarria erabltzea.</translation>
<translation>...</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="302"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="300"/>
<source>create</source>
<translation>sortu</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="305"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="303"/>
<source>change</source>
<translation>aldatu</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="308"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="306"/>
<source>delete</source>
<translation>ezabatu</translation>
</message>
@@ -2539,17 +2539,17 @@ Ez da gomendagarria erabltzea.</translation>
<context>
<name>OCC::ShibbolethWebView</name>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="74"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="79"/>
<source>%1 - Authenticate</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Reauthentication required</source>
<translation>Berautentikatzea beharrezkoa</translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Your session has expired. You need to re-login to continue to use the client.</source>
<translation type="unfinished"/>
</message>
@@ -2849,23 +2849,23 @@ Ez da gomendagarria erabltzea.</translation>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<location filename="../src/libsync/syncengine.cpp" line="440"/>
<source>File/Folder is ignored because it&apos;s hidden.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="690"/>
<location filename="../src/libsync/syncengine.cpp" line="701"/>
<source>Only %1 are available, need at least %2 to start</source>
<comment>Placeholders are postfixed with file sizes using Utility::octetsToString()</comment>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1121"/>
<location filename="../src/libsync/syncengine.cpp" line="1132"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1128"/>
<location filename="../src/libsync/syncengine.cpp" line="1139"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"/>
</message>
@@ -2885,7 +2885,7 @@ Ez da gomendagarria erabltzea.</translation>
<translation>Erabiltzaileak bertan behera utzita</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="425"/>
<location filename="../src/libsync/syncengine.cpp" line="434"/>
<source>Filename contains invalid characters that can not be synced cross platform.</source>
<translation type="unfinished"/>
</message>
@@ -2925,109 +2925,109 @@ Ez da gomendagarria erabltzea.</translation>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="254"/>
<location filename="../src/libsync/syncengine.cpp" line="263"/>
<source>The item is not synced because of previous errors: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="419"/>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<source>Symbolic links are not supported in syncing.</source>
<translation>Esteka sinbolikoak ezin dira sinkronizatu.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="422"/>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<source>File is listed on the ignore list.</source>
<translation>Fitxategia baztertutakoen zerrendan dago.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<source>Filename is too long.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<location filename="../src/libsync/syncengine.cpp" line="446"/>
<source>Stat failed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="464"/>
<location filename="../src/libsync/syncengine.cpp" line="473"/>
<source>Filename encoding is not valid</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="635"/>
<location filename="../src/libsync/syncengine.cpp" line="644"/>
<source>Invalid characters, please rename &quot;%1&quot;</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="724"/>
<location filename="../src/libsync/syncengine.cpp" line="735"/>
<source>Unable to initialize a sync journal.</source>
<translation>Ezin izan da sinkronizazio egunerokoa hasieratu.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="743"/>
<location filename="../src/libsync/syncengine.cpp" line="754"/>
<source>Unable to read the blacklist from the local database</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="776"/>
<location filename="../src/libsync/syncengine.cpp" line="787"/>
<source>Unable to read from the sync journal.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="822"/>
<location filename="../src/libsync/syncengine.cpp" line="833"/>
<source>Cannot open the sync journal</source>
<translation>Ezin da sinkronizazio egunerokoa ireki</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="876"/>
<location filename="../src/libsync/syncengine.cpp" line="887"/>
<source>File name contains at least one invalid character</source>
<translation>Fitxategi izenak behintzat baliogabeko karaktere bat du</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1080"/>
<location filename="../src/libsync/syncengine.cpp" line="1087"/>
<location filename="../src/libsync/syncengine.cpp" line="1091"/>
<location filename="../src/libsync/syncengine.cpp" line="1098"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1106"/>
<location filename="../src/libsync/syncengine.cpp" line="1117"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1148"/>
<location filename="../src/libsync/syncengine.cpp" line="1159"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1165"/>
<location filename="../src/libsync/syncengine.cpp" line="1185"/>
<location filename="../src/libsync/syncengine.cpp" line="1176"/>
<location filename="../src/libsync/syncengine.cpp" line="1196"/>
<source>Not allowed to remove, restoring</source>
<translation>Ezabatzeko baimenik gabe, berrezartzen</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1198"/>
<location filename="../src/libsync/syncengine.cpp" line="1209"/>
<source>Local files and share folder removed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1253"/>
<location filename="../src/libsync/syncengine.cpp" line="1265"/>
<source>Move not allowed, item restored</source>
<translation>Mugitzea ez dago baimenduta, elementua berrezarri da</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1262"/>
<location filename="../src/libsync/syncengine.cpp" line="1276"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Mugitzea ez dago baimenduta %1 irakurtzeko bakarrik delako</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the destination</source>
<translation>helburua</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the source</source>
<translation>jatorria</translation>
</message>
@@ -3501,37 +3501,37 @@ Ez da gomendagarria erabltzea.</translation>
<context>
<name>QObject</name>
<message>
<location filename="../src/libsync/utility.cpp" line="468"/>
<location filename="../src/libsync/utility.cpp" line="473"/>
<source>in the future</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="464"/>
<location filename="../src/libsync/utility.cpp" line="469"/>
<source>%n day(s) ago</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="472"/>
<location filename="../src/libsync/utility.cpp" line="477"/>
<source>%n hour(s) ago</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="477"/>
<location filename="../src/libsync/utility.cpp" line="482"/>
<source>now</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="479"/>
<location filename="../src/libsync/utility.cpp" line="484"/>
<source>Less than a minute ago</source>
<translation>Orain dela minutu bat baino gutxiago</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="482"/>
<location filename="../src/libsync/utility.cpp" line="487"/>
<source>%n minute(s) ago</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="485"/>
<location filename="../src/libsync/utility.cpp" line="490"/>
<source>Some time ago</source>
<translation type="unfinished"/>
</message>
@@ -3558,38 +3558,38 @@ Ez da gomendagarria erabltzea.</translation>
<source>%L1 B</source>
<translation>%L1 B</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln urte</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln hilabete</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln egun</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln ordu</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln minutu</translation>
</message>
<message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln segundu</translation>
<source>%n year(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="320"/>
<source>%n month(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="321"/>
<source>%n day(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="322"/>
<source>%n hour(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="323"/>
<source>%n minute(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="324"/>
<source>%n second(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
<location filename="../src/libsync/utility.cpp" line="348"/>
<source>%1 %2</source>
<translation>%1 %2</translation>
</message>
+132 -132
Ver Arquivo
@@ -594,142 +594,142 @@
<translation>%1 قابل خواندن نیست.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="386"/>
<location filename="../src/gui/folder.cpp" line="387"/>
<source>%1: %2</source>
<extracomment>this displays an error string (%2) for a file %1</extracomment>
<translation>%1: %2</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="496"/>
<location filename="../src/gui/folder.cpp" line="497"/>
<source>%1 has been removed.</source>
<comment>%1 names a file.</comment>
<translation>%1 حذف شده است.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="503"/>
<location filename="../src/gui/folder.cpp" line="504"/>
<source>%1 has been downloaded.</source>
<comment>%1 names a file.</comment>
<translation>%1 بارگزاری شد.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="510"/>
<location filename="../src/gui/folder.cpp" line="511"/>
<source>%1 has been updated.</source>
<comment>%1 names a file.</comment>
<translation>%1 بروز رسانی شده است.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="517"/>
<location filename="../src/gui/folder.cpp" line="518"/>
<source>%1 has been renamed to %2.</source>
<comment>%1 and %2 name files.</comment>
<translation>%1 به %2 تغییر نام داده شده است.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="524"/>
<location filename="../src/gui/folder.cpp" line="525"/>
<source>%1 has been moved to %2.</source>
<translation>%1 به %2 انتقال داده شده است.</translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="494"/>
<location filename="../src/gui/folder.cpp" line="495"/>
<source>%1 and %n other file(s) have been removed.</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="501"/>
<location filename="../src/gui/folder.cpp" line="502"/>
<source>%1 and %n other file(s) have been downloaded.</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="508"/>
<location filename="../src/gui/folder.cpp" line="509"/>
<source>%1 and %n other file(s) have been updated.</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="515"/>
<location filename="../src/gui/folder.cpp" line="516"/>
<source>%1 has been renamed to %2 and %n other file(s) have been renamed.</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="522"/>
<location filename="../src/gui/folder.cpp" line="523"/>
<source>%1 has been moved to %2 and %n other file(s) have been moved.</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="529"/>
<location filename="../src/gui/folder.cpp" line="530"/>
<source>%1 has and %n other file(s) have sync conflicts.</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="531"/>
<location filename="../src/gui/folder.cpp" line="532"/>
<source>%1 has a sync conflict. Please check the conflict file!</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="536"/>
<location filename="../src/gui/folder.cpp" line="537"/>
<source>%1 and %n other file(s) could not be synced due to errors. See the log for details.</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="538"/>
<location filename="../src/gui/folder.cpp" line="539"/>
<source>%1 could not be synced due to an error. See the log for details.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="544"/>
<location filename="../src/gui/folder.cpp" line="545"/>
<source>Sync Activity</source>
<translation>فعالیت همگام سازی</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="750"/>
<location filename="../src/gui/folder.cpp" line="751"/>
<source>Could not read system exclude file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="961"/>
<location filename="../src/gui/folder.cpp" line="962"/>
<source>A new folder larger than %1 MB has been added: %2.
Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="979"/>
<location filename="../src/gui/folder.cpp" line="980"/>
<source>This sync would remove all the files in the sync folder '%1'.
This might be because the folder was silently reconfigured, or that all the files were manually removed.
Are you sure you want to perform this operation?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="983"/>
<location filename="../src/gui/folder.cpp" line="984"/>
<source>Remove All Files?</source>
<translation>حذف تمام فایل ها؟</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="985"/>
<location filename="../src/gui/folder.cpp" line="986"/>
<source>Remove all files</source>
<translation>حذف تمام فایل ها</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="986"/>
<location filename="../src/gui/folder.cpp" line="987"/>
<source>Keep files</source>
<translation>نگه داشتن فایل ها</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1004"/>
<location filename="../src/gui/folder.cpp" line="1005"/>
<source>This sync would reset the files to an erlier 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?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1009"/>
<location filename="../src/gui/folder.cpp" line="1010"/>
<source>Backup detected</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1011"/>
<location filename="../src/gui/folder.cpp" line="1012"/>
<source>Normal Synchronisation</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1012"/>
<location filename="../src/gui/folder.cpp" line="1013"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"/>
</message>
@@ -996,12 +996,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizard</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="553"/>
<location filename="../src/gui/folderwizard.cpp" line="542"/>
<source>Add Folder Sync Connection</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="555"/>
<location filename="../src/gui/folderwizard.cpp" line="544"/>
<source>Add Sync Connection</source>
<translation type="unfinished"/>
</message>
@@ -1019,7 +1019,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="133"/>
<location filename="../src/gui/folderwizard.cpp" line="126"/>
<source>Select the source folder</source>
<translation>پوشه ی اصلی را انتخاب کنید</translation>
</message>
@@ -1027,52 +1027,52 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardRemotePath</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="191"/>
<location filename="../src/gui/folderwizard.cpp" line="176"/>
<source>Create Remote Folder</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="192"/>
<location filename="../src/gui/folderwizard.cpp" line="177"/>
<source>Enter the name of the new folder to be created below &apos;%1&apos;:</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="221"/>
<location filename="../src/gui/folderwizard.cpp" line="206"/>
<source>Folder was successfully created on %1.</source>
<translation>پوشه با موفقیت ایجاد شده است %1.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="232"/>
<location filename="../src/gui/folderwizard.cpp" line="217"/>
<source>Authentication failed accessing %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="234"/>
<location filename="../src/gui/folderwizard.cpp" line="219"/>
<source>Failed to create the folder on %1. Please check manually.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="241"/>
<location filename="../src/gui/folderwizard.cpp" line="226"/>
<source>Failed to list a folder. Error: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="322"/>
<location filename="../src/gui/folderwizard.cpp" line="307"/>
<source>Choose this to sync the entire account</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="451"/>
<location filename="../src/gui/folderwizard.cpp" line="436"/>
<source>This folder is already being synced.</source>
<translation>این پوشه همگامسازی شده است.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="453"/>
<location filename="../src/gui/folderwizard.cpp" line="438"/>
<source>You are already syncing &lt;i&gt;%1&lt;/i&gt;, which is a parent folder of &lt;i&gt;%2&lt;/i&gt;.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="457"/>
<location filename="../src/gui/folderwizard.cpp" line="442"/>
<source>You are already syncing all your files. Syncing another folder is &lt;b&gt;not&lt;/b&gt; supported. If you want to sync multiple folders, please remove the currently configured root folder sync.</source>
<translation type="unfinished"/>
</message>
@@ -1080,7 +1080,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardSelectiveSync</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="495"/>
<location filename="../src/gui/folderwizard.cpp" line="480"/>
<source>Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize.</source>
<translation type="unfinished"/>
</message>
@@ -1369,27 +1369,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<context>
<name>OCC::NSISUpdater</name>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
<source>New Version Available</source>
<translation>نسخه جدید در دسترس است</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
<source>&lt;p&gt;A new version of the %1 Client is available.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; is available for download. The installed version is %3.&lt;/p&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<source>Skip this version</source>
<translation>نادیده گرفتن این نسخه</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
<source>Skip this time</source>
<translation>نادیده گرفتن این زمان</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
<source>Get update</source>
<translation>به دست آوردن به روز رسانی</translation>
</message>
@@ -1943,17 +1943,17 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="694"/>
<location filename="../src/libsync/propagatedownload.cpp" line="693"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="742"/>
<location filename="../src/libsync/propagatedownload.cpp" line="741"/>
<source>File has changed since discovery</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="792"/>
<location filename="../src/libsync/propagatedownload.cpp" line="791"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2087,48 +2087,48 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileQNAM</name>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="289"/>
<location filename="../src/libsync/propagateupload.cpp" line="291"/>
<source>File Removed</source>
<translation>فایل حذف شد</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="301"/>
<location filename="../src/libsync/propagateupload.cpp" line="303"/>
<source>Local file changed during syncing. It will be resumed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="313"/>
<location filename="../src/libsync/propagateupload.cpp" line="694"/>
<location filename="../src/libsync/propagateupload.cpp" line="315"/>
<location filename="../src/libsync/propagateupload.cpp" line="704"/>
<source>Local file changed during sync.</source>
<translation>فایل محلی در حین همگامسازی تغییر کرده است.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="621"/>
<location filename="../src/libsync/propagateupload.cpp" line="631"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="629"/>
<location filename="../src/libsync/propagateupload.cpp" line="639"/>
<source>The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="660"/>
<location filename="../src/libsync/propagateupload.cpp" line="670"/>
<source>Poll URL missing</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="683"/>
<location filename="../src/libsync/propagateupload.cpp" line="693"/>
<source>The local file was removed during sync.</source>
<translation>فایل محلی در حین همگامسازی حذف شده است.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="709"/>
<location filename="../src/libsync/propagateupload.cpp" line="719"/>
<source>The server did not acknowledge the last chunk. (No e-tag was present)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="782"/>
<location filename="../src/libsync/propagateupload.cpp" line="792"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2171,17 +2171,17 @@ It is not advisable to use it.</source>
<translation>اندازه</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="72"/>
<location filename="../src/gui/protocolwidget.cpp" line="78"/>
<source>Local sync protocol</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="74"/>
<location filename="../src/gui/protocolwidget.cpp" line="80"/>
<source>Copy</source>
<translation>کپی کردن</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="75"/>
<location filename="../src/gui/protocolwidget.cpp" line="81"/>
<source>Copy the activity list to the clipboard.</source>
<translation type="unfinished"/>
</message>
@@ -2468,7 +2468,7 @@ It is not advisable to use it.</source>
<translation>اشتراک گذاری با کاربران یا گروه ها ...</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="226"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="224"/>
<source>No results for &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
@@ -2501,17 +2501,17 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="302"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="300"/>
<source>create</source>
<translation>ایجاد</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="305"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="303"/>
<source>change</source>
<translation>تغییر</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="308"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="306"/>
<source>delete</source>
<translation>حذف</translation>
</message>
@@ -2532,17 +2532,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ShibbolethWebView</name>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="74"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="79"/>
<source>%1 - Authenticate</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Reauthentication required</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Your session has expired. You need to re-login to continue to use the client.</source>
<translation type="unfinished"/>
</message>
@@ -2842,23 +2842,23 @@ It is not advisable to use it.</source>
<translation>خطا در هنگام خواندن پوشه</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<location filename="../src/libsync/syncengine.cpp" line="440"/>
<source>File/Folder is ignored because it&apos;s hidden.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="690"/>
<location filename="../src/libsync/syncengine.cpp" line="701"/>
<source>Only %1 are available, need at least %2 to start</source>
<comment>Placeholders are postfixed with file sizes using Utility::octetsToString()</comment>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1121"/>
<location filename="../src/libsync/syncengine.cpp" line="1132"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1128"/>
<location filename="../src/libsync/syncengine.cpp" line="1139"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"/>
</message>
@@ -2878,7 +2878,7 @@ It is not advisable to use it.</source>
<translation>متوقف شده توسط کاربر</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="425"/>
<location filename="../src/libsync/syncengine.cpp" line="434"/>
<source>Filename contains invalid characters that can not be synced cross platform.</source>
<translation type="unfinished"/>
</message>
@@ -2918,109 +2918,109 @@ It is not advisable to use it.</source>
<translation>یک خطای داخلی با شماره خطای %1 رخ داده است.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="254"/>
<location filename="../src/libsync/syncengine.cpp" line="263"/>
<source>The item is not synced because of previous errors: %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="419"/>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<source>Symbolic links are not supported in syncing.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="422"/>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<source>File is listed on the ignore list.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<source>Filename is too long.</source>
<translation>نام فایل خیلی طولانی است.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<location filename="../src/libsync/syncengine.cpp" line="446"/>
<source>Stat failed.</source>
<translation>وضعیت ناموفق</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="464"/>
<location filename="../src/libsync/syncengine.cpp" line="473"/>
<source>Filename encoding is not valid</source>
<translation>رمزگذاری نام فایل معتبر نیست</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="635"/>
<location filename="../src/libsync/syncengine.cpp" line="644"/>
<source>Invalid characters, please rename &quot;%1&quot;</source>
<translation>کاراکتر نامعتبر، لطفا &quot;%1&quot; را تغییر نام دهید</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="724"/>
<location filename="../src/libsync/syncengine.cpp" line="735"/>
<source>Unable to initialize a sync journal.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="743"/>
<location filename="../src/libsync/syncengine.cpp" line="754"/>
<source>Unable to read the blacklist from the local database</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="776"/>
<location filename="../src/libsync/syncengine.cpp" line="787"/>
<source>Unable to read from the sync journal.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="822"/>
<location filename="../src/libsync/syncengine.cpp" line="833"/>
<source>Cannot open the sync journal</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="876"/>
<location filename="../src/libsync/syncengine.cpp" line="887"/>
<source>File name contains at least one invalid character</source>
<translation>نام فایل دارای حداقل یک کاراکتر نامعتبر است</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1080"/>
<location filename="../src/libsync/syncengine.cpp" line="1087"/>
<location filename="../src/libsync/syncengine.cpp" line="1091"/>
<location filename="../src/libsync/syncengine.cpp" line="1098"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1106"/>
<location filename="../src/libsync/syncengine.cpp" line="1117"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>با توجه به عدم اجازهی شما به ایجاد زیرپوشه به پوشه مجاز نیست</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1148"/>
<location filename="../src/libsync/syncengine.cpp" line="1159"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>آپلود این فایل با توجه به فقط-خواندنی بودن آن در سرور مجاز نیست، در حال بازگرداندن</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1165"/>
<location filename="../src/libsync/syncengine.cpp" line="1185"/>
<location filename="../src/libsync/syncengine.cpp" line="1176"/>
<location filename="../src/libsync/syncengine.cpp" line="1196"/>
<source>Not allowed to remove, restoring</source>
<translation>حذف مجاز نیست، در حال بازگردادن</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1198"/>
<location filename="../src/libsync/syncengine.cpp" line="1209"/>
<source>Local files and share folder removed.</source>
<translation>فایلهای محلی و پوشهی اشتراک حذف شد.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1253"/>
<location filename="../src/libsync/syncengine.cpp" line="1265"/>
<source>Move not allowed, item restored</source>
<translation>انتقال مجاز نیست، مورد بازگردانده شد</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1262"/>
<location filename="../src/libsync/syncengine.cpp" line="1276"/>
<source>Move not allowed because %1 is read-only</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the destination</source>
<translation>مقصد</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the source</source>
<translation>مبدا</translation>
</message>
@@ -3494,37 +3494,37 @@ It is not advisable to use it.</source>
<context>
<name>QObject</name>
<message>
<location filename="../src/libsync/utility.cpp" line="468"/>
<location filename="../src/libsync/utility.cpp" line="473"/>
<source>in the future</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="464"/>
<location filename="../src/libsync/utility.cpp" line="469"/>
<source>%n day(s) ago</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="472"/>
<location filename="../src/libsync/utility.cpp" line="477"/>
<source>%n hour(s) ago</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="477"/>
<location filename="../src/libsync/utility.cpp" line="482"/>
<source>now</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="479"/>
<location filename="../src/libsync/utility.cpp" line="484"/>
<source>Less than a minute ago</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="482"/>
<location filename="../src/libsync/utility.cpp" line="487"/>
<source>%n minute(s) ago</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="485"/>
<location filename="../src/libsync/utility.cpp" line="490"/>
<source>Some time ago</source>
<translation type="unfinished"/>
</message>
@@ -3551,38 +3551,38 @@ It is not advisable to use it.</source>
<source>%L1 B</source>
<translation>%L1 B</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln سال(s)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln ماه(s)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln روز(s)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln ساعت(s)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln دقیقه (s)</translation>
</message>
<message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln ثانیه(s)</translation>
<source>%n year(s)</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="320"/>
<source>%n month(s)</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="321"/>
<source>%n day(s)</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="322"/>
<source>%n hour(s)</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="323"/>
<source>%n minute(s)</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="324"/>
<source>%n second(s)</source>
<translation type="unfinished"><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
<location filename="../src/libsync/utility.cpp" line="348"/>
<source>%1 %2</source>
<translation>%1 %2</translation>
</message>
+132 -132
Ver Arquivo
@@ -594,143 +594,143 @@
<translation>%1 ei ole luettavissa.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="386"/>
<location filename="../src/gui/folder.cpp" line="387"/>
<source>%1: %2</source>
<extracomment>this displays an error string (%2) for a file %1</extracomment>
<translation>%1: %2</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="496"/>
<location filename="../src/gui/folder.cpp" line="497"/>
<source>%1 has been removed.</source>
<comment>%1 names a file.</comment>
<translation>%1 on poistettu.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="503"/>
<location filename="../src/gui/folder.cpp" line="504"/>
<source>%1 has been downloaded.</source>
<comment>%1 names a file.</comment>
<translation>%1 on ladattu.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="510"/>
<location filename="../src/gui/folder.cpp" line="511"/>
<source>%1 has been updated.</source>
<comment>%1 names a file.</comment>
<translation>%1 on päivitetty.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="517"/>
<location filename="../src/gui/folder.cpp" line="518"/>
<source>%1 has been renamed to %2.</source>
<comment>%1 and %2 name files.</comment>
<translation>%1 on nimetty uudeelleen muotoon %2.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="524"/>
<location filename="../src/gui/folder.cpp" line="525"/>
<source>%1 has been moved to %2.</source>
<translation>%1 on siirretty kohteeseen %2.</translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="494"/>
<location filename="../src/gui/folder.cpp" line="495"/>
<source>%1 and %n other file(s) have been removed.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="501"/>
<location filename="../src/gui/folder.cpp" line="502"/>
<source>%1 and %n other file(s) have been downloaded.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="508"/>
<location filename="../src/gui/folder.cpp" line="509"/>
<source>%1 and %n other file(s) have been updated.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="515"/>
<location filename="../src/gui/folder.cpp" line="516"/>
<source>%1 has been renamed to %2 and %n other file(s) have been renamed.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="522"/>
<location filename="../src/gui/folder.cpp" line="523"/>
<source>%1 has been moved to %2 and %n other file(s) have been moved.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="529"/>
<location filename="../src/gui/folder.cpp" line="530"/>
<source>%1 has and %n other file(s) have sync conflicts.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="531"/>
<location filename="../src/gui/folder.cpp" line="532"/>
<source>%1 has a sync conflict. Please check the conflict file!</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<location filename="../src/gui/folder.cpp" line="536"/>
<location filename="../src/gui/folder.cpp" line="537"/>
<source>%1 and %n other file(s) could not be synced due to errors. See the log for details.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="538"/>
<location filename="../src/gui/folder.cpp" line="539"/>
<source>%1 could not be synced due to an error. See the log for details.</source>
<translation>Kohdetta %1 ei voi synkronoida virheen vuoksi. Katso tarkemmat tiedot lokista.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="544"/>
<location filename="../src/gui/folder.cpp" line="545"/>
<source>Sync Activity</source>
<translation>Synkronointiaktiviteetti</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="750"/>
<location filename="../src/gui/folder.cpp" line="751"/>
<source>Could not read system exclude file</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="961"/>
<location filename="../src/gui/folder.cpp" line="962"/>
<source>A new folder larger than %1 MB has been added: %2.
Please go in the settings to select it if you wish to download it.</source>
<translation>Uusi kansio, joka on suurempi kuin %1 Mt, on lisätty: %2.
Siirry asetuksiin valitaksesi sen, jos haluat ladata kyseisen kansion.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="979"/>
<location filename="../src/gui/folder.cpp" line="980"/>
<source>This sync would remove all the files in the sync folder '%1'.
This might be because the folder was silently reconfigured, or that all the files were manually removed.
Are you sure you want to perform this operation?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="983"/>
<location filename="../src/gui/folder.cpp" line="984"/>
<source>Remove All Files?</source>
<translation>Poistetaanko kaikki tiedostot?</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="985"/>
<location filename="../src/gui/folder.cpp" line="986"/>
<source>Remove all files</source>
<translation>Poista kaikki tiedostot</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="986"/>
<location filename="../src/gui/folder.cpp" line="987"/>
<source>Keep files</source>
<translation>Säilytä tiedostot</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1004"/>
<location filename="../src/gui/folder.cpp" line="1005"/>
<source>This sync would reset the files to an erlier 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?</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1009"/>
<location filename="../src/gui/folder.cpp" line="1010"/>
<source>Backup detected</source>
<translation>Varmuuskopio poistettu</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1011"/>
<location filename="../src/gui/folder.cpp" line="1012"/>
<source>Normal Synchronisation</source>
<translation>Normaali synkronointi</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1012"/>
<location filename="../src/gui/folder.cpp" line="1013"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"/>
</message>
@@ -997,12 +997,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizard</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="553"/>
<location filename="../src/gui/folderwizard.cpp" line="542"/>
<source>Add Folder Sync Connection</source>
<translation>Lisää kansion synkronointiyhteys</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="555"/>
<location filename="../src/gui/folderwizard.cpp" line="544"/>
<source>Add Sync Connection</source>
<translation>Lisää synkronointiyhteys</translation>
</message>
@@ -1020,7 +1020,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<translation>Anna paikallisen kansion polku</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="133"/>
<location filename="../src/gui/folderwizard.cpp" line="126"/>
<source>Select the source folder</source>
<translation>Valitse lähdekansio</translation>
</message>
@@ -1028,52 +1028,52 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardRemotePath</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="191"/>
<location filename="../src/gui/folderwizard.cpp" line="176"/>
<source>Create Remote Folder</source>
<translation>Luo etäkansio</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="192"/>
<location filename="../src/gui/folderwizard.cpp" line="177"/>
<source>Enter the name of the new folder to be created below &apos;%1&apos;:</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="221"/>
<location filename="../src/gui/folderwizard.cpp" line="206"/>
<source>Folder was successfully created on %1.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="232"/>
<location filename="../src/gui/folderwizard.cpp" line="217"/>
<source>Authentication failed accessing %1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="234"/>
<location filename="../src/gui/folderwizard.cpp" line="219"/>
<source>Failed to create the folder on %1. Please check manually.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="241"/>
<location filename="../src/gui/folderwizard.cpp" line="226"/>
<source>Failed to list a folder. Error: %1</source>
<translation>Kansion listaaminen epäonnistui. Virhe: %1</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="322"/>
<location filename="../src/gui/folderwizard.cpp" line="307"/>
<source>Choose this to sync the entire account</source>
<translation>Valitse tämä synkronoidaksesi koko tilin</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="451"/>
<location filename="../src/gui/folderwizard.cpp" line="436"/>
<source>This folder is already being synced.</source>
<translation>Tätä kansiota synkronoidaan jo.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="453"/>
<location filename="../src/gui/folderwizard.cpp" line="438"/>
<source>You are already syncing &lt;i&gt;%1&lt;/i&gt;, which is a parent folder of &lt;i&gt;%2&lt;/i&gt;.</source>
<translation>Synkronoit jo kansiota &lt;i&gt;%1&lt;/i&gt;, ja se on kansion &lt;i&gt;%2&lt;/i&gt; yläkansio.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="457"/>
<location filename="../src/gui/folderwizard.cpp" line="442"/>
<source>You are already syncing all your files. Syncing another folder is &lt;b&gt;not&lt;/b&gt; supported. If you want to sync multiple folders, please remove the currently configured root folder sync.</source>
<translation type="unfinished"/>
</message>
@@ -1081,7 +1081,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::FolderWizardSelectiveSync</name>
<message>
<location filename="../src/gui/folderwizard.cpp" line="495"/>
<location filename="../src/gui/folderwizard.cpp" line="480"/>
<source>Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize.</source>
<translation>Päätä mitä synkronoidaan: voit valinnaisesti jättää valitsematta etäkansioita, joita et halua synkronoitavan.</translation>
</message>
@@ -1376,27 +1376,27 @@ Kohteet, joiden poisto on sallittu, poistetaan, jos ne estävät kansion poistam
<context>
<name>OCC::NSISUpdater</name>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
<source>New Version Available</source>
<translation>Uusi versio saatavilla</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
<source>&lt;p&gt;A new version of the %1 Client is available.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; is available for download. The installed version is %3.&lt;/p&gt;</source>
<translation>&lt;p&gt;Uusi versio %1-asiakasohjelmistosta on saatavilla.&lt;/p&gt;&lt;p&gt;&lt;b&gt;%2&lt;/b&gt; on ladattavissa. Asennettu versio on %3.&lt;/p&gt;</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<source>Skip this version</source>
<translation>Ohita tämä versio</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
<source>Skip this time</source>
<translation>Ohita tämän kerran</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
<source>Get update</source>
<translation>Päivitä</translation>
</message>
@@ -1951,17 +1951,17 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="694"/>
<location filename="../src/libsync/propagatedownload.cpp" line="693"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="742"/>
<location filename="../src/libsync/propagatedownload.cpp" line="741"/>
<source>File has changed since discovery</source>
<translation>Tiedosto on muuttunut löytymisen jälkeen</translation>
</message>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="792"/>
<location filename="../src/libsync/propagatedownload.cpp" line="791"/>
<source>Error writing metadata to the database</source>
<translation>Virhe kirjoittaessa metadataa tietokantaan</translation>
</message>
@@ -2095,48 +2095,48 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<context>
<name>OCC::PropagateUploadFileQNAM</name>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="289"/>
<location filename="../src/libsync/propagateupload.cpp" line="291"/>
<source>File Removed</source>
<translation>Tiedosto poistettu</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="301"/>
<location filename="../src/libsync/propagateupload.cpp" line="303"/>
<source>Local file changed during syncing. It will be resumed.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="313"/>
<location filename="../src/libsync/propagateupload.cpp" line="694"/>
<location filename="../src/libsync/propagateupload.cpp" line="315"/>
<location filename="../src/libsync/propagateupload.cpp" line="704"/>
<source>Local file changed during sync.</source>
<translation>Paikallinen tiedosto muuttui synkronoinnin aikana.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="621"/>
<location filename="../src/libsync/propagateupload.cpp" line="631"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="629"/>
<location filename="../src/libsync/propagateupload.cpp" line="639"/>
<source>The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="660"/>
<location filename="../src/libsync/propagateupload.cpp" line="670"/>
<source>Poll URL missing</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="683"/>
<location filename="../src/libsync/propagateupload.cpp" line="693"/>
<source>The local file was removed during sync.</source>
<translation>Paikallinen tiedosto poistettiin synkronoinnin aikana.</translation>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="709"/>
<location filename="../src/libsync/propagateupload.cpp" line="719"/>
<source>The server did not acknowledge the last chunk. (No e-tag was present)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateupload.cpp" line="782"/>
<location filename="../src/libsync/propagateupload.cpp" line="792"/>
<source>Error writing metadata to the database</source>
<translation>Virhe kirjoittaessa metadataa tietokantaan</translation>
</message>
@@ -2179,17 +2179,17 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<translation>Koko</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="72"/>
<location filename="../src/gui/protocolwidget.cpp" line="78"/>
<source>Local sync protocol</source>
<translation>Paikallinen synkronointiprotokolla</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="74"/>
<location filename="../src/gui/protocolwidget.cpp" line="80"/>
<source>Copy</source>
<translation>Kopioi</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="75"/>
<location filename="../src/gui/protocolwidget.cpp" line="81"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Kopioi toimilista leikepöydälle.</translation>
</message>
@@ -2476,7 +2476,7 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<translation>Jaa käyttäjien tai ryhmien kanssa</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="226"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="224"/>
<source>No results for &apos;%1&apos;</source>
<translation>Ei tuloksia haulla &apos;%1&apos;</translation>
</message>
@@ -2509,17 +2509,17 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<translation>...</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="302"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="300"/>
<source>create</source>
<translation>luo</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="305"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="303"/>
<source>change</source>
<translation>muuta</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="308"/>
<location filename="../src/gui/shareusergroupwidget.cpp" line="306"/>
<source>delete</source>
<translation>poista</translation>
</message>
@@ -2540,17 +2540,17 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<context>
<name>OCC::ShibbolethWebView</name>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="74"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="79"/>
<source>%1 - Authenticate</source>
<translation>%1 - Tunnistaudu</translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Reauthentication required</source>
<translation>Tunnistaudu uudelleen</translation>
</message>
<message>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="80"/>
<location filename="../src/gui/creds/shibboleth/shibbolethwebview.cpp" line="85"/>
<source>Your session has expired. You need to re-login to continue to use the client.</source>
<translation>Istunto on vanhentunut. Kirjaudu uudelleen jatkaaksesi sovelluksen käyttämistä.</translation>
</message>
@@ -2852,23 +2852,23 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<translation>Kansiota lukiessa tapahtui virhe</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<location filename="../src/libsync/syncengine.cpp" line="440"/>
<source>File/Folder is ignored because it&apos;s hidden.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="690"/>
<location filename="../src/libsync/syncengine.cpp" line="701"/>
<source>Only %1 are available, need at least %2 to start</source>
<comment>Placeholders are postfixed with file sizes using Utility::octetsToString()</comment>
<translation>Vain %1 on käytettävissä, käynnistymiseen tarvitaan %2</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1121"/>
<location filename="../src/libsync/syncengine.cpp" line="1132"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Ei sallittu, koska käyttöoikeutesi eivät riitä ylätason kansion lisäämiseen</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1128"/>
<location filename="../src/libsync/syncengine.cpp" line="1139"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Ei sallittu, koska käyttöoikeutesi eivät riitä tiedostojen lisäämiseen kyseiseen kansioon</translation>
</message>
@@ -2888,7 +2888,7 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<translation>Keskeytetty käyttäjän toimesta</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="425"/>
<location filename="../src/libsync/syncengine.cpp" line="434"/>
<source>Filename contains invalid characters that can not be synced cross platform.</source>
<translation>Tiedoston nimi sisältää virheellisiä merkkejä, joita ei voi synkronoida alustariippumattomasti.</translation>
</message>
@@ -2928,109 +2928,109 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<translation>Sisäinen virhe, numero %1.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="254"/>
<location filename="../src/libsync/syncengine.cpp" line="263"/>
<source>The item is not synced because of previous errors: %1</source>
<translation>Kohdetta ei synkronoitu aiempien virheiden vuoksi: %1</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="419"/>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<source>Symbolic links are not supported in syncing.</source>
<translation>Symboliset linkit eivät ole tuettuja synkronoinnissa.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="422"/>
<location filename="../src/libsync/syncengine.cpp" line="431"/>
<source>File is listed on the ignore list.</source>
<translation>Tiedosto on ohituslistalla.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="428"/>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<source>Filename is too long.</source>
<translation>Tiedoston nimi on liian pitkä.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="437"/>
<location filename="../src/libsync/syncengine.cpp" line="446"/>
<source>Stat failed.</source>
<translation>Stat epäonnistui.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="464"/>
<location filename="../src/libsync/syncengine.cpp" line="473"/>
<source>Filename encoding is not valid</source>
<translation>Tiedostonimen merkistökoodaus ei ole kelvollista</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="635"/>
<location filename="../src/libsync/syncengine.cpp" line="644"/>
<source>Invalid characters, please rename &quot;%1&quot;</source>
<translation>Virheellisiä merkkejä, anna uusi nimi kohteelle &quot;%1&quot;</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="724"/>
<location filename="../src/libsync/syncengine.cpp" line="735"/>
<source>Unable to initialize a sync journal.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="743"/>
<location filename="../src/libsync/syncengine.cpp" line="754"/>
<source>Unable to read the blacklist from the local database</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="776"/>
<location filename="../src/libsync/syncengine.cpp" line="787"/>
<source>Unable to read from the sync journal.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="822"/>
<location filename="../src/libsync/syncengine.cpp" line="833"/>
<source>Cannot open the sync journal</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="876"/>
<location filename="../src/libsync/syncengine.cpp" line="887"/>
<source>File name contains at least one invalid character</source>
<translation>Tiedoston nimi sisältää ainakin yhden virheellisen merkin</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1080"/>
<location filename="../src/libsync/syncengine.cpp" line="1087"/>
<location filename="../src/libsync/syncengine.cpp" line="1091"/>
<location filename="../src/libsync/syncengine.cpp" line="1098"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1106"/>
<location filename="../src/libsync/syncengine.cpp" line="1117"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Ei sallittu, koska oikeutesi eivät riitä alikansioiden lisäämiseen kyseiseen kansioon</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1148"/>
<location filename="../src/libsync/syncengine.cpp" line="1159"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1165"/>
<location filename="../src/libsync/syncengine.cpp" line="1185"/>
<location filename="../src/libsync/syncengine.cpp" line="1176"/>
<location filename="../src/libsync/syncengine.cpp" line="1196"/>
<source>Not allowed to remove, restoring</source>
<translation>Poistaminen ei ole sallittua, palautetaan</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1198"/>
<location filename="../src/libsync/syncengine.cpp" line="1209"/>
<source>Local files and share folder removed.</source>
<translation>Paikalliset tiedostot ja jakokansio poistettu.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1253"/>
<location filename="../src/libsync/syncengine.cpp" line="1265"/>
<source>Move not allowed, item restored</source>
<translation>Siirtäminen ei ole sallittua, kohde palautettu</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1262"/>
<location filename="../src/libsync/syncengine.cpp" line="1276"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Siirto ei ole sallittu, koska %1 on &quot;vain luku&quot;-tilassa</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the destination</source>
<translation>kohde</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the source</source>
<translation>lähde</translation>
</message>
@@ -3504,37 +3504,37 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<context>
<name>QObject</name>
<message>
<location filename="../src/libsync/utility.cpp" line="468"/>
<location filename="../src/libsync/utility.cpp" line="473"/>
<source>in the future</source>
<translation>tulevaisuudessa</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="464"/>
<location filename="../src/libsync/utility.cpp" line="469"/>
<source>%n day(s) ago</source>
<translation><numerusform>%n päivä sitten</numerusform><numerusform>%n päivää sitten</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="472"/>
<location filename="../src/libsync/utility.cpp" line="477"/>
<source>%n hour(s) ago</source>
<translation><numerusform>%n tunti sitten</numerusform><numerusform>%n tuntia sitten</numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="477"/>
<location filename="../src/libsync/utility.cpp" line="482"/>
<source>now</source>
<translation>nyt</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="479"/>
<location filename="../src/libsync/utility.cpp" line="484"/>
<source>Less than a minute ago</source>
<translation>Alle minuutti sitten</translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="482"/>
<location filename="../src/libsync/utility.cpp" line="487"/>
<source>%n minute(s) ago</source>
<translation><numerusform>%n minuutti sitten</numerusform><numerusform>%n minuuttia sitten</numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="485"/>
<location filename="../src/libsync/utility.cpp" line="490"/>
<source>Some time ago</source>
<translation>Jokin aika sitten</translation>
</message>
@@ -3561,38 +3561,38 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<source>%L1 B</source>
<translation>%L1 t</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln v</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln kk</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln pv</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln t</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln min</translation>
</message>
<message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln s</translation>
<source>%n year(s)</source>
<translation><numerusform>%n vuosi</numerusform><numerusform>%n vuotta</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="320"/>
<source>%n month(s)</source>
<translation><numerusform>%n kuukausi</numerusform><numerusform>%n kuukautta</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="321"/>
<source>%n day(s)</source>
<translation><numerusform>%n päivä</numerusform><numerusform>%n päivää</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="322"/>
<source>%n hour(s)</source>
<translation><numerusform>%n tunti</numerusform><numerusform>%n tuntia</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="323"/>
<source>%n minute(s)</source>
<translation><numerusform>%n minuutti</numerusform><numerusform>%n minuuttia</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/libsync/utility.cpp" line="324"/>
<source>%n second(s)</source>
<translation><numerusform>%n sekunti</numerusform><numerusform>%n sekuntia</numerusform></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
<location filename="../src/libsync/utility.cpp" line="348"/>
<source>%1 %2</source>
<translation>%1 %2</translation>
</message>

Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais