Comparar commits

..

79 Commits

Autor SHA1 Mensagem Data
Roeland Jago Douma b6dd13f353 First step in getting share by email to work 2016-06-01 15:02:13 +02:00
Jenkins for ownCloud e031f7d090 [tx-robot] updated from transifex 2016-06-01 01:18:50 -04: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
Daniel Molkentin 763016bd8f Merge pull request #4916 from mwleeds/patch-1
Fix typo in folder.cpp
2016-05-27 18:13:05 +02:00
Matthew Leeds 7f0cc5b699 Fix typo in folder.cpp 2016-05-27 11:13:18 -04:00
Jenkins for ownCloud d3a93cbaeb [tx-robot] updated from transifex 2016-05-27 01:15:50 -04: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
Daniel Molkentin 9d6701ecbe Windows Shell Integration: Fix another spot where the pipe path was constructed manually 2016-05-10 13:49:14 +02:00
Daniel Molkentin d659c54798 Update binary sub module 2016-05-10 10:36:49 +02:00
Daniel Molkentin 0e9170cb36 Windows Shell Integration: Unify path lookups 2016-05-10 10:18:53 +02:00
Markus Goetz 8820bc1c17 Windows: Fix Share menu #4781 2016-05-09 14:37:46 +02:00
Jenkins for ownCloud 74f67c97a9 [tx-robot] updated from transifex 2016-05-09 02:19:15 -04:00
Jenkins for ownCloud fd96b482c5 [tx-robot] updated from transifex 2016-05-07 02:19:16 -04:00
Jocelyn Turcotte 727e73d640 [shell/windows] Fix the windows status push not working (#4784)
Since the windows implementation first does cache lookups using the
path string, directories need to be passed identically as through
RETRIEVE_FILE_STATUS.

Change the convention to never have a trailing slash for directories
in the protocol. This allows the convention to be applied without
having to access the disk (since we'd need to know if the path is
represented by a directory) and also matches the convention of the
rest of the sync engine. Individual file manager plugins are then
responsible of handling pushed paths as not ending with a trailing
slash.

This also:
- Moves the trailing slash removal logic from the SyncFileStatusTracker
  to the SocketApi class
- Remove the unneeded QString::normalized call in fileStatus, since
  this should already be done by the FolderWatcher and plugins
2016-05-06 12:32:01 +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 14232 adições e 4903 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 -5
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()
@@ -151,11 +163,6 @@ endif()
find_package(ZLIB)
find_package(LibsnoreQt5 0.6.0)
if(LibsnoreQt5_FOUND)
find_package(LibsnoreSettingsQt5)
endif()
configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
configure_file(test/test_journal.db "${CMAKE_BINARY_DIR}/test/test_journal.db" COPYONLY)
+28
Ver Arquivo
@@ -1,5 +1,33 @@
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)
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
@@ -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¡)"
+4 -4
Ver Arquivo
@@ -3,12 +3,12 @@ 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 $PageReinstall_NEW_Field_1 "Uma versão antiga de ${APPLICATION_NAME} está instalada no sistema. É recomendado que 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 $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: a56480559d...d27d472817
+1
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;
}
+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($)
+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:
+91 -4
Ver Arquivo
@@ -11,11 +11,98 @@ 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
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[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[id]=Klien sinkronisasi desktop @APPLICATION_NAME@
GenericName[id]=Folder Sync
Name[id]=Klien sync desktop @APPLICATION_NAME@
Icon[id]=@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[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
GenericName[ja_JP]=フォルダ同期
Name[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
Icon[ja_JP]=@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@
GenericName[zh_CN]=文件夹同步
GenericName[zh_TW]=資料夾同步
Comment[pt_PT]=@APPLICATION_NAME@ cliente de sincronização para ambiente de trabalho
GenericName[pt_PT]=Sincronizar Pasta
Name[pt_PT]=@APPLICATION_NAME@ cliente de sincronização para ambiente de trabalho
Icon[pt_PT]=@APPLICATION_EXECUTABLE@
Comment[th_TH]=@APPLICATION_NAME@ ไคลเอนต์ประสานข้อมูลเดสก์ท็อป
GenericName[th_TH]=ประสานข้อมูลโฟลเดอร์
Name[th_TH]= @APPLICATION_NAME@ ไคลเอนต์ประสานข้อมูลเดสก์ท็อป
Icon[th_TH]=@APPLICATION_EXECUTABLE@
@@ -36,8 +36,7 @@ using namespace std;
OCClientInterface::ContextMenuInfo OCClientInterface::FetchInfo()
{
auto pipename = std::wstring(L"\\\\.\\pipe\\");
pipename += L"ownCloud";
auto pipename = CommunicationSocket::DefaultPipePath();
CommunicationSocket socket;
if (!WaitNamedPipe(pipename.data(), PIPE_TIMEOUT)) {
@@ -72,8 +71,7 @@ OCClientInterface::ContextMenuInfo OCClientInterface::FetchInfo()
void OCClientInterface::ShareObject(const std::wstring &path)
{
auto pipename = std::wstring(L"\\\\.\\pipe\\");
pipename += L"ownCloud";
auto pipename = CommunicationSocket::DefaultPipePath();
CommunicationSocket socket;
if (!WaitNamedPipe(pipename.data(), PIPE_TIMEOUT)) {
@@ -24,11 +24,31 @@
#include <fstream>
#define BUFSIZE 1024
#define DEFAULT_BUFLEN 4096
using namespace std;
#define DEFAULT_BUFLEN 4096
namespace {
std::wstring getUserName() {
DWORD len = DEFAULT_BUFLEN;
TCHAR buf[DEFAULT_BUFLEN];
if (GetUserName(buf, &len)) {
return std::wstring(&buf[0], len);
} else {
return std::wstring();
}
}
}
std::wstring CommunicationSocket::DefaultPipePath()
{
auto pipename = std::wstring(L"\\\\.\\pipe\\");
pipename += L"ownCloud\\";
pipename += getUserName();
return pipename;
}
CommunicationSocket::CommunicationSocket()
: _pipe(INVALID_HANDLE_VALUE)
@@ -26,6 +26,8 @@
class __declspec(dllexport) CommunicationSocket
{
public:
static std::wstring DefaultPipePath();
CommunicationSocket();
~CommunicationSocket();
@@ -43,4 +45,4 @@ private:
bool _connected;
};
#endif
#endif
@@ -31,25 +31,10 @@
using namespace std;
#define BUFSIZE 512
std::wstring getUserName() {
DWORD len = BUFSIZE;
TCHAR buf[BUFSIZE];
if (GetUserName(buf, &len)) {
return std::wstring(&buf[0], len);
} else {
return std::wstring();
}
}
// This code is run in a thread
void RemotePathChecker::workerThreadLoop()
{
auto pipename = std::wstring(L"\\\\.\\pipe\\");
pipename += L"ownCloud\\";
pipename += getUserName();
auto pipename = CommunicationSocket::DefaultPipePath();
bool connected = false;
CommunicationSocket socket;
std::unordered_set<std::wstring> asked;
+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
+2 -6
Ver Arquivo
@@ -45,7 +45,7 @@ qt_wrap_ui(client_UI_SRCS ${client_UI})
set(client_SRCS
accountmanager.cpp
accountsettings.cpp
ocapplication.cpp
application.cpp
folder.cpp
folderman.cpp
folderstatusmodel.cpp
@@ -72,6 +72,7 @@ set(client_SRCS
settingsdialog.cpp
share.cpp
sharedialog.cpp
shareemailwidget.cpp
sharelinkwidget.cpp
shareusergroupwidget.cpp
sharee.cpp
@@ -212,10 +213,6 @@ if(QTKEYCHAIN_FOUND OR QT5KEYCHAIN_FOUND)
list(APPEND libsync_LINK_TARGETS ${QTKEYCHAIN_LIBRARY})
include_directories(${QTKEYCHAIN_INCLUDE_DIR})
endif()
if(LibsnoreQt5_FOUND)
add_definitions(-DHAVE_LIBSNORE)
endif()
# add executable icon on windows and osx
include( AddAppIconMacro )
@@ -293,7 +290,6 @@ target_link_libraries( ${APPLICATION_EXECUTABLE} ${QT_LIBRARIES} )
target_link_libraries( ${APPLICATION_EXECUTABLE} ${synclib_NAME} )
target_link_libraries( ${APPLICATION_EXECUTABLE} updater )
target_link_libraries( ${APPLICATION_EXECUTABLE} ${OS_SPECIFIC_LINK_LIBRARIES} )
target_link_libraries( ${APPLICATION_EXECUTABLE} Snore::Libsnore Snore::LibsnoreSettings )
if(WITH_CRASHREPORTER)
target_link_libraries( ${APPLICATION_EXECUTABLE} crashreporter-handler)
+1 -1
Ver Arquivo
@@ -21,7 +21,7 @@
#include "folderstatusmodel.h"
#include "folderstatusdelegate.h"
#include "utility.h"
#include "ocapplication.h"
#include "application.h"
#include "configfile.h"
#include "account.h"
#include "accountstate.h"
+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;
+3 -2
Ver Arquivo
@@ -41,7 +41,7 @@ class ActivityListModel;
namespace Ui {
class ActivityWidget;
}
class oCApplication;
class Application;
/**
* @brief The ActivityWidget class
@@ -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&);
@@ -14,7 +14,7 @@
* for more details.
*/
#include "ocapplication.h"
#include "application.h"
#include <iostream>
@@ -91,7 +91,7 @@ QString applicationTrPath()
// ----------------------------------------------------------------------------------
oCApplication::oCApplication(int &argc, char **argv) :
Application::Application(int &argc, char **argv) :
SharedTools::QtSingleApplication(Theme::instance()->appName() ,argc, argv),
_gui(0),
_theme(Theme::instance()),
@@ -179,6 +179,8 @@ oCApplication::oCApplication(int &argc, char **argv) :
connect(FolderMan::instance()->socketApi(), SIGNAL(shareCommandReceived(QString, QString, bool)),
_gui, SLOT(slotShowShareDialog(QString, QString, bool)));
connect(FolderMan::instance()->socketApi(), SIGNAL(shareEmailCommandReceived(QString,QString,bool)),
_gui, SLOT(slowSendShareLink(QString, QString, bool)));
// startup procedure.
connect(&_checkConnectionTimer, SIGNAL(timeout()), this, SLOT(slotCheckConnection()));
@@ -202,7 +204,7 @@ oCApplication::oCApplication(int &argc, char **argv) :
connect (this, SIGNAL(aboutToQuit()), SLOT(slotCleanup()));
}
oCApplication::~oCApplication()
Application::~Application()
{
// Make sure all folders are gone, otherwise removing the
// accounts will remove the associated folders from the settings.
@@ -214,7 +216,7 @@ oCApplication::~oCApplication()
AccountManager::instance()->shutdown();
}
void oCApplication::slotAccountStateRemoved(AccountState *accountState)
void Application::slotAccountStateRemoved(AccountState *accountState)
{
if (_gui) {
disconnect(accountState, SIGNAL(stateChanged(int)),
@@ -237,7 +239,7 @@ void oCApplication::slotAccountStateRemoved(AccountState *accountState)
}
}
void oCApplication::slotAccountStateAdded(AccountState *accountState)
void Application::slotAccountStateAdded(AccountState *accountState)
{
connect(accountState, SIGNAL(stateChanged(int)),
_gui, SLOT(slotAccountStateChanged()));
@@ -251,7 +253,7 @@ void oCApplication::slotAccountStateAdded(AccountState *accountState)
_gui->slotTrayMessageIfServerUnsupported(accountState->account().data());
}
void oCApplication::slotCleanup()
void Application::slotCleanup()
{
AccountManager::instance()->save();
FolderMan::instance()->unloadAndDeleteAllFolders();
@@ -263,7 +265,7 @@ void oCApplication::slotCleanup()
// FIXME: This is not ideal yet since a ConnectionValidator might already be running and is in
// progress of timing out in some seconds.
// Maybe we need 2 validators, one triggered by timer, one by network configuration changes?
void oCApplication::slotSystemOnlineConfigurationChanged(QNetworkConfiguration cnf)
void Application::slotSystemOnlineConfigurationChanged(QNetworkConfiguration cnf)
{
if (cnf.state() & QNetworkConfiguration::Active) {
//qDebug() << "Trying fast reconnect";
@@ -271,7 +273,7 @@ void oCApplication::slotSystemOnlineConfigurationChanged(QNetworkConfiguration c
}
}
void oCApplication::slotCheckConnection()
void Application::slotCheckConnection()
{
auto list = AccountManager::instance()->accounts();
foreach (const auto &accountState , list) {
@@ -293,12 +295,12 @@ void oCApplication::slotCheckConnection()
}
}
void oCApplication::slotCrash()
void Application::slotCrash()
{
Utility::crash();
}
void oCApplication::slotownCloudWizardDone( int res )
void Application::slotownCloudWizardDone( int res )
{
AccountManager *accountMan = AccountManager::instance();
FolderMan *folderMan = FolderMan::instance();
@@ -335,7 +337,7 @@ void oCApplication::slotownCloudWizardDone( int res )
}
}
void oCApplication::setupLogging()
void Application::setupLogging()
{
// might be called from second instance
Logger::instance()->setLogFile(_logFile);
@@ -352,12 +354,12 @@ void oCApplication::setupLogging()
}
void oCApplication::slotUseMonoIconsChanged(bool)
void Application::slotUseMonoIconsChanged(bool)
{
_gui->slotComputeOverallSyncStatus();
}
void oCApplication::slotParseMessage(const QString &msg, QObject*)
void Application::slotParseMessage(const QString &msg, QObject*)
{
if (msg.startsWith(QLatin1String("MSG_PARSEOPTIONS:"))) {
const int lengthOfMsgPrefix = 17;
@@ -375,7 +377,7 @@ void oCApplication::slotParseMessage(const QString &msg, QObject*)
}
}
void oCApplication::parseOptions(const QStringList &options)
void Application::parseOptions(const QStringList &options)
{
QStringListIterator it(options);
// skip file name;
@@ -455,7 +457,7 @@ static void displayHelpText(const QString &t)
}
#endif
void oCApplication::showHelp()
void Application::showHelp()
{
setHelp();
QString helpText;
@@ -473,7 +475,7 @@ void oCApplication::showHelp()
displayHelpText(helpText);
}
void oCApplication::showVersion()
void Application::showVersion()
{
QString helpText;
QTextStream stream(&helpText);
@@ -485,7 +487,7 @@ void oCApplication::showVersion()
displayHelpText(helpText);
}
void oCApplication::showHint(std::string errorHint)
void Application::showHint(std::string errorHint)
{
static QString binName = QFileInfo(QCoreApplication::applicationFilePath()).fileName();
std::cerr << errorHint << std::endl;
@@ -493,12 +495,12 @@ void oCApplication::showHint(std::string errorHint)
std::exit(1);
}
bool oCApplication::debugMode()
bool Application::debugMode()
{
return _debugMode;
}
void oCApplication::setHelp()
void Application::setHelp()
{
_helpOnly = true;
}
@@ -518,7 +520,7 @@ QString substLang(const QString &lang)
return lang;
}
void oCApplication::setupTranslations()
void Application::setupTranslations()
{
QStringList uiLanguages;
// uiLanguages crashes on Windows with 4.8.0 release builds
@@ -582,20 +584,21 @@ void oCApplication::setupTranslations()
#endif
}
bool oCApplication::giveHelp()
bool Application::giveHelp()
{
return _helpOnly;
}
bool oCApplication::versionOnly()
bool Application::versionOnly()
{
return _versionOnly;
}
void oCApplication::showSettingsDialog()
void Application::showSettingsDialog()
{
_gui->slotShowSettings();
}
} // namespace OCC
@@ -12,8 +12,8 @@
* for more details.
*/
#ifndef OCAPPLICATION_H
#define OCAPPLICATION_H
#ifndef APPLICATION_H
#define APPLICATION_H
#include <QApplication>
#include <QPointer>
@@ -49,12 +49,12 @@ class SslErrorDialog;
* @brief The Application class
* @ingroup gui
*/
class oCApplication : public SharedTools::QtSingleApplication
class Application : public SharedTools::QtSingleApplication
{
Q_OBJECT
public:
explicit oCApplication(int &argc, char **argv);
~oCApplication();
explicit Application(int &argc, char **argv);
~Application();
bool giveHelp();
void showHelp();
+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();
}
+2 -2
Ver Arquivo
@@ -915,7 +915,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 +1001,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. "
+2 -2
Ver Arquivo
@@ -29,7 +29,7 @@ class TestFolderMan;
namespace OCC {
class oCApplication;
class Application;
class SyncResult;
class SocketApi;
class LockWatcher;
@@ -255,7 +255,7 @@ private:
static FolderMan *_instance;
explicit FolderMan(QObject *parent = 0);
friend class OCC::oCApplication;
friend class OCC::Application;
friend class ::TestFolderMan;
};
+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;
+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();
}
+1 -1
Ver Arquivo
@@ -16,7 +16,7 @@
#include "theme.h"
#include "configfile.h"
#include "ocapplication.h"
#include "application.h"
#include "utility.h"
#include "configfile.h"
#include "owncloudsetupwizard.h"
+2 -2
Ver Arquivo
@@ -21,7 +21,7 @@
#include <sys/resource.h>
#endif
#include "ocapplication.h"
#include "application.h"
#include "theme.h"
#include "utility.h"
#include "cocoainitializer.h"
@@ -63,7 +63,7 @@ int main(int argc, char **argv)
#ifdef Q_OS_MAC
Mac::CocoaInitializer cocoaInit; // RIIA
#endif
OCC::oCApplication app(argc, argv);
OCC::Application app(argc, argv);
#ifdef Q_OS_WIN
// The Windows style still has pixelated elements with Qt 5.6,
+1 -1
Ver Arquivo
@@ -16,7 +16,7 @@
#include "theme.h"
#include "configfile.h"
#include "ocapplication.h"
#include "application.h"
#include "utility.h"
#include "configfile.h"
#include "folderman.h"
+37 -32
Ver Arquivo
@@ -11,7 +11,7 @@
* for more details.
*/
#include "ocapplication.h"
#include "application.h"
#include "owncloudgui.h"
#include "theme.h"
#include "folderman.h"
@@ -20,6 +20,7 @@
#include "progressdispatcher.h"
#include "owncloudsetupwizard.h"
#include "sharedialog.h"
#include "shareemailwidget.h"
#if defined(Q_OS_MAC)
# include "settingsdialogmac.h"
# include "macwindow.h" // qtmacgoodies
@@ -47,7 +48,7 @@ namespace OCC {
const char propertyAccountC[] = "oc_account";
ownCloudGui::ownCloudGui(oCApplication *parent) :
ownCloudGui::ownCloudGui(Application *parent) :
QObject(parent),
_tray(0),
#if defined(Q_OS_MAC)
@@ -96,10 +97,10 @@ ownCloudGui::ownCloudGui(oCApplication *parent) :
connect( AccountManager::instance(), SIGNAL(accountRemoved(AccountState*)),
SLOT(setupContextMenu()));
connect( Logger::instance(), SIGNAL(guiLog(QString,QString, Logger::NotificationType)),
SLOT(slotShowTrayMessage(QString,QString, Logger::NotificationType)));
connect( Logger::instance(), SIGNAL(optionalGuiLog(QString,QString, Logger::NotificationType)),
SLOT(slotShowOptionalTrayMessage(QString,QString,Logger::NotificationType)));
connect( Logger::instance(), SIGNAL(guiLog(QString,QString)),
SLOT(slotShowTrayMessage(QString,QString)));
connect( Logger::instance(), SIGNAL(optionalGuiLog(QString,QString)),
SLOT(slotShowOptionalTrayMessage(QString,QString)));
connect( Logger::instance(), SIGNAL(guiMessage(QString,QString)),
SLOT(slotShowGuiMessage(QString,QString)));
@@ -237,8 +238,7 @@ void ownCloudGui::slotTrayMessageIfServerUnsupported(Account* account)
tr("The server on account %1 runs an old and unsupported version %2. "
"Using this client with unsupported server versions is untested and "
"potentially dangerous. Proceed at your own risk.")
.arg(account->displayName(), account->serverVersion()),
Logger::Critical );
.arg(account->displayName(), account->serverVersion()));
}
}
@@ -536,36 +536,19 @@ void ownCloudGui::setupContextMenu()
}
void ownCloudGui::slotShowTrayMessage(const QString &title, const QString &msg, Logger::NotificationType type)
void ownCloudGui::slotShowTrayMessage(const QString &title, const QString &msg)
{
if( _tray ) {
QSystemTrayIcon::MessageIcon trayIcon = QSystemTrayIcon::NoIcon;
switch( type ) {
case Logger::NoIcon:
break;
case Logger::Information:
trayIcon = QSystemTrayIcon::Information;
break;
case Logger::SoftError:
trayIcon = QSystemTrayIcon::Warning;
break;
case Logger::Error:
case Logger::Critical:
trayIcon = QSystemTrayIcon::Critical;
break;
}
_tray->showMessage(title, msg, trayIcon);
} else {
if( _tray )
_tray->showMessage(title, msg);
else
qDebug() << "Tray not ready: " << msg;
}
}
void ownCloudGui::slotShowOptionalTrayMessage(const QString &title, const QString &msg, Logger::NotificationType type)
void ownCloudGui::slotShowOptionalTrayMessage(const QString &title, const QString &msg)
{
ConfigFile cfg;
if (cfg.optionalDesktopNotifications()) {
slotShowTrayMessage(title, msg, type);
slotShowTrayMessage(title, msg);
}
}
@@ -703,7 +686,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()));
@@ -929,5 +912,27 @@ void ownCloudGui::slotRemoveDestroyedShareDialogs()
}
}
void ownCloudGui::slowSendShareLink(const QString &sharePath, const QString &localPath, bool resharingAllowed)
{
const auto folder = FolderMan::instance()->folderForPath(localPath);
if (!folder) {
qDebug() << "Could not open share email widget for" << localPath << "no responsible folder found";
return;
}
// For https://github.com/owncloud/client/issues/3783
_settingsDialog->hide();
if (!resharingAllowed) {
qDebug() << "Could not open share email widget for" << localPath << "no reshare permissions";
return;
}
qDebug() << Q_FUNC_INFO << "Opening share email widget" << sharePath << localPath;
ShareEmailWidget *w = new ShareEmailWidget(folder->accountState()->account(), sharePath);
w->setAttribute( Qt::WA_DeleteOnClose, true );
raiseDialog(w);
}
} // end namespace
+6 -6
Ver Arquivo
@@ -17,7 +17,6 @@
#include "systray.h"
#include "connectionvalidator.h"
#include "progressdispatcher.h"
#include "logger.h"
#include <QObject>
#include <QPointer>
@@ -33,7 +32,7 @@ class Folder;
class SettingsDialog;
class SettingsDialogMac;
class ShareDialog;
class oCApplication;
class Application;
class LogBrowser;
class AccountState;
@@ -45,7 +44,7 @@ class ownCloudGui : public QObject
{
Q_OBJECT
public:
explicit ownCloudGui(oCApplication *parent = 0);
explicit ownCloudGui(Application *parent = 0);
bool checkAccountExists(bool openSettings);
@@ -59,8 +58,8 @@ signals:
public slots:
void setupContextMenu();
void slotComputeOverallSyncStatus();
void slotShowTrayMessage(const QString &title, const QString &msg, Logger::NotificationType type);
void slotShowOptionalTrayMessage(const QString &title, const QString &msg, Logger::NotificationType type);
void slotShowTrayMessage(const QString &title, const QString &msg);
void slotShowOptionalTrayMessage(const QString &title, const QString &msg);
void slotFolderOpenAction( const QString& alias );
void slotRebuildRecentMenus();
void slotUpdateProgress(const QString &folder, const ProgressInfo& progress);
@@ -80,6 +79,7 @@ public slots:
void slotTrayMessageIfServerUnsupported(Account *account);
void slotShowShareDialog(const QString &sharePath, const QString &localPath, bool resharingAllowed);
void slotRemoveDestroyedShareDialogs();
void slowSendShareLink(const QString &sharePath, const QString &localPath, bool resharingAllowed);
private slots:
void slotDisplayIdle();
@@ -123,7 +123,7 @@ private:
QSignalMapper *_folderOpenActionMapper;
QSignalMapper *_recentItemsMapper;
oCApplication *_app;
Application *_app;
};
} // namespace OCC
+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
@@ -31,7 +31,7 @@ class SyncResult;
namespace Ui {
class ProtocolWidget;
}
class oCApplication;
class Application;
/**
* @brief The ProtocolWidget class
+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);
+1 -1
Ver Arquivo
@@ -33,7 +33,7 @@ namespace Ui {
class SettingsDialog;
}
class AccountSettings;
class oCApplication;
class Application;
class FolderMan;
class ownCloudGui;
class ActivitySettings;
+59
Ver Arquivo
@@ -0,0 +1,59 @@
#include "shareemailwidget.h"
#include "share.h"
#include <QDesktopServices>
#include <QSharedPointer>
#include <QUrl>
namespace OCC {
ShareEmailWidget::ShareEmailWidget(AccountPtr account,
const QString &sharePath,
QWidget *parent)
: QWidget(parent),
_account(account),
_sharePath(sharePath)
{
resize(200,200);
_layout.addWidget(&_spinner);
_layout.addWidget(&_label);
_label.setText(tr("Fetching share link"));
_spinner.startAnimation();
setLayout(&_layout);
/*
* Create the share manager and connect it properly
*/
_manager = new ShareManager(_account, this);
connect(_manager, SIGNAL(linkShareCreated(QSharedPointer<LinkShare>)), this, SLOT(slotLinkShareCreated(QSharedPointer<LinkShare>)));
_manager->createLinkShare(_sharePath);
}
ShareEmailWidget::~ShareEmailWidget()
{
}
void ShareEmailWidget::slotLinkShareCreated(const QSharedPointer<LinkShare> share)
{
QUrl mailto("mailto:");
QString body = tr("I shared a file with you at %1.").arg(share->getLink().toString());
if (share->getExpireDate().isValid()) {
body += tr("\nThis share expires at %1.").arg(share->getExpireDate().toString());
}
mailto.setQuery("body?"+body);
// Open app
QDesktopServices::openUrl(mailto);
close();
}
}
+46
Ver Arquivo
@@ -0,0 +1,46 @@
#ifndef SHAREEMAILDIALOG_H
#define SHAREEMAILDIALOG_H
#include "accountfwd.h"
#include "QProgressIndicator.h"
#include "share.h"
#include <QHBoxLayout>
#include <QLabel>
#include <QSharedPointer>
#include <QString>
#include <QWidget>
namespace OCC {
class ShareManager;
class ShareEmailWidget : public QWidget
{
public:
explicit ShareEmailWidget(AccountPtr account,
const QString &sharePath,
QWidget *parent = 0);
~ShareEmailWidget();
private slots:
void slotLinkShareCreated(const QSharedPointer<LinkShare> share);
void slotPasswordEnterd();
void slotPasswordRequired();
private:
void share(const QString &sharePath, const QString &password);
AccountPtr _account;
QString _sharePath;
QHBoxLayout _layout;
QLabel _label;
QProgressIndicator _spinner;
ShareManager *_manager;
};
}
#endif // SHAREEMAILDIALOG_H
+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);
+79 -7
Ver Arquivo
@@ -56,6 +56,13 @@
// The second number should be changed when there are new features.
#define MIRALL_SOCKET_API_VERSION "1.0"
static inline QString removeTrailingSlash(QString path)
{
Q_ASSERT(path.endsWith(QLatin1Char('/')));
path.truncate(path.length()-1);
return path;
}
namespace OCC {
#define DEBUG qDebug() << "SocketApi: "
@@ -142,7 +149,7 @@ void SocketApi::slotNewConnection()
foreach( Folder *f, FolderMan::instance()->map() ) {
if (f->canSync()) {
QString message = buildRegisterPathMessage(f->path());
QString message = buildRegisterPathMessage(removeTrailingSlash(f->path()));
sendMessage(socket, message);
}
}
@@ -189,7 +196,7 @@ void SocketApi::slotRegisterPath( const QString& alias )
Folder *f = FolderMan::instance()->folder(alias);
if (f) {
QString message = buildRegisterPathMessage(f->path());
QString message = buildRegisterPathMessage(removeTrailingSlash(f->path()));
foreach(QIODevice *socket, _listeners) {
sendMessage(socket, message);
}
@@ -205,7 +212,7 @@ void SocketApi::slotUnregisterPath( const QString& alias )
Folder *f = FolderMan::instance()->folder(alias);
if (f)
broadcastMessage(QLatin1String("UNREGISTER_PATH"), f->path(), QString::null, true );
broadcastMessage(QLatin1String("UNREGISTER_PATH"), removeTrailingSlash(f->path()), QString::null, true );
_registeredAliases.remove(alias);
}
@@ -225,10 +232,11 @@ void SocketApi::slotUpdateFolderView(Folder *f)
f->syncResult().status() == SyncResult::Error ||
f->syncResult().status() == SyncResult::SetupError ) {
broadcastMessage(QLatin1String("STATUS"), f->path() ,
QString rootPath = removeTrailingSlash(f->path());
broadcastMessage(QLatin1String("STATUS"), rootPath,
f->syncEngine().syncFileStatusTracker().fileStatus("").toSocketAPIString());
broadcastMessage(QLatin1String("UPDATE_VIEW"), f->path() );
broadcastMessage(QLatin1String("UPDATE_VIEW"), rootPath);
} else {
qDebug() << "Not sending UPDATE_VIEW for" << f->alias() << "because status() is" << f->syncResult().status();
}
@@ -302,8 +310,12 @@ void SocketApi::command_RETRIEVE_FILE_STATUS(const QString& argument, QIODevice*
// this can happen in offline mode e.g.: nothing to worry about
statusString = QLatin1String("NOP");
} else {
const QString file = QDir::cleanPath(argument).mid(syncFolder->cleanPath().length()+1);
SyncFileStatus fileStatus = syncFolder->syncEngine().syncFileStatusTracker().fileStatus(file);
QString relativePath = QDir::cleanPath(argument).mid(syncFolder->cleanPath().length()+1);
if( relativePath.endsWith(QLatin1Char('/')) ) {
relativePath.truncate(relativePath.length()-1);
qWarning() << "Removed trailing slash for directory: " << relativePath << "Status pushes won't have one.";
}
SyncFileStatus fileStatus = syncFolder->syncEngine().syncFileStatusTracker().fileStatus(relativePath);
statusString = fileStatus.toSocketAPIString();
}
@@ -441,6 +453,66 @@ void SocketApi::command_SHARE_MENU_TITLE(const QString &, QIODevice* socket)
sendMessage(socket, QLatin1String("SHARE_MENU_TITLE:") + tr("Share with %1", "parameter is ownCloud").arg(Theme::instance()->appNameGUI()));
}
void SocketApi::command_SHARE_EMAIL(const QString& localFile, QIODevice* socket)
{
if (!socket) {
qDebug() << Q_FUNC_INFO << "No valid socket object.";
return;
}
qDebug() << Q_FUNC_INFO << localFile;
auto theme = Theme::instance();
Folder *shareFolder = FolderMan::instance()->folderForPath(localFile);
if (!shareFolder) {
const QString message = QLatin1String("SHARE_EMAIL:NOP:")+QDir::toNativeSeparators(localFile);
// files that are not within a sync folder are not synced.
sendMessage(socket, message);
} else if (!shareFolder->accountState()->isConnected()) {
const QString message = QLatin1String("SHARE_EMAIL:NOTCONNECTED:")+QDir::toNativeSeparators(localFile);
// if the folder isn't connected, don't open the share dialog
sendMessage(socket, message);
} else if (!theme->linkSharing()) {
const QString message = QLatin1String("SHARE_EMAIL:NOP:")+QDir::toNativeSeparators(localFile);
sendMessage(socket, message);
} else {
const QString localFileClean = QDir::cleanPath(localFile);
const QString file = localFileClean.mid(shareFolder->cleanPath().length()+1);
SyncFileStatus fileStatus = shareFolder->syncEngine().syncFileStatusTracker().fileStatus(file);
// Verify the file is on the server (to our knowledge of course)
if (fileStatus.tag() != SyncFileStatus::StatusUpToDate) {
const QString message = QLatin1String("SHARE:NOTSYNCED:")+QDir::toNativeSeparators(localFile);
sendMessage(socket, message);
return;
}
const QString remotePath = QDir(shareFolder->remotePath()).filePath(file);
// Can't share root folder
if (remotePath == "/") {
const QString message = QLatin1String("SHARE_EMAIL:CANNOTSHAREROOT:")+QDir::toNativeSeparators(localFile);
sendMessage(socket, message);
return;
}
SyncJournalFileRecord rec = shareFolder->journalDb()->getFileRecord(localFileClean);
bool allowReshare = true; // lets assume the good
if( rec.isValid() ) {
// check the permission: Is resharing allowed?
if( !rec._remotePerm.contains('R') ) {
allowReshare = false;
}
}
const QString message = QLatin1String("SHARE_EMAIL:OK:")+QDir::toNativeSeparators(localFile);
sendMessage(socket, message);
emit shareEmailCommandReceived(remotePath, localFileClean, allowReshare);
}
}
QString SocketApi::buildRegisterPathMessage(const QString& path)
{
QFileInfo fi(path);
+2
Ver Arquivo
@@ -56,6 +56,7 @@ public slots:
signals:
void shareCommandReceived(const QString &sharePath, const QString &localPath, bool resharingAllowed);
void shareUserGroupCommandReceived(const QString &sharePath, const QString &localPath, bool resharingAllowed);
void shareEmailCommandReceived(const QString &sharePath, const QString &localPath, bool resharingAllowed);
private slots:
void slotNewConnection();
@@ -70,6 +71,7 @@ private:
Q_INVOKABLE void command_RETRIEVE_FOLDER_STATUS(const QString& argument, QIODevice* socket);
Q_INVOKABLE void command_RETRIEVE_FILE_STATUS(const QString& argument, QIODevice* socket);
Q_INVOKABLE void command_SHARE(const QString& localFile, QIODevice* socket);
Q_INVOKABLE void command_SHARE_EMAIL(const QString& localFile, QIODevice* socket);
Q_INVOKABLE void command_VERSION(const QString& argument, QIODevice* socket);
+1 -53
Ver Arquivo
@@ -12,15 +12,9 @@
* for more details.
*/
#ifdef HAVE_LIBSNORE
#include <libsnore/application.h>
#include <libsnore/notification/icon.h>
#endif
#include "systray.h"
#include "theme.h"
#include <QDebug>
#include <QPointer>
#ifdef USE_FDO_NOTIFICATIONS
#include <QDBusConnection>
@@ -34,54 +28,8 @@
namespace OCC {
Systray::Systray( )
void Systray::showMessage(const QString & title, const QString & message, MessageIcon icon, int millisecondsTimeoutHint)
{
#ifdef HAVE_LIBSNORE
Snore::SnoreCore &snore = Snore::SnoreCore::instance();
snore.loadPlugins( Snore::SnorePlugin::Backend | Snore::SnorePlugin::SecondaryBackend );
snore.setDefaultSettingsValue("Silent", true, Snore::LocalSetting );
_application = Snore::Application( Theme::instance()->appName(), Theme::instance()->applicationIcon() );
_application.hints().setValue( "use-markup", true );
_application.hints().setValue( "windows-app-id", Theme::instance()->appName() );
_application.hints().setValue( "desktop-entry", Theme::instance()->appNameGUI() );
_application.hints().setValue( "tray-icon", qVariantFromValue(QPointer<QSystemTrayIcon>(this)));
// register the Alerts.
Snore::Alert alert( Theme::instance()->appNameGUI(), QIcon() );
_alerts.insert( QSystemTrayIcon::NoIcon, alert);
_application.addAlert(alert);
Snore::Alert alert2( Theme::instance()->appNameGUI(), Theme::instance()->syncStateIcon(SyncResult::Success, false ));
_alerts.insert( QSystemTrayIcon::Information, alert2);
_application.addAlert(alert2);
Snore::Alert alert3( Theme::instance()->appNameGUI(), Theme::instance()->syncStateIcon(SyncResult::Problem, false ));
_alerts.insert( QSystemTrayIcon::Warning, alert3);
_application.addAlert(alert3);
Snore::Alert alert4( Theme::instance()->appNameGUI(), Theme::instance()->syncStateIcon(SyncResult::Error, false ));
_alerts.insert( QSystemTrayIcon::Critical, alert4);
_application.addAlert(alert4);
snore.registerApplication( _application );
snore.setDefaultApplication( _application );
// connect( &snore, SIGNAL( actionInvoked( Snore::Notification ) ), this, SLOT( slotActionInvoked( Snore::Notification ) ) );
#endif
}
void Systray::showMessage(const QString & title, const QString & message, MessageIcon icon,
int millisecondsTimeoutHint)
{
#ifdef HAVE_LIBSNORE
Snore::Alert a = _alerts[NoIcon];
if( _alerts.contains(icon) ) {
a = _alerts[icon];
}
Snore::Notification n( _application , a, title, message, a.icon() );
Snore::SnoreCore::instance().broadcastNotification( n );
return;
#endif
#ifdef USE_FDO_NOTIFICATIONS
if(QDBusInterface(NOTIFICATIONS_SERVICE, NOTIFICATIONS_PATH, NOTIFICATIONS_IFACE).isValid()) {
+1 -15
Ver Arquivo
@@ -15,13 +15,8 @@
#ifndef SYSTRAY_H
#define SYSTRAY_H
#include "logger.h"
#include <QSystemTrayIcon>
#ifdef HAVE_LIBSNORE
#include <libsnore/snore.h>
#endif
class QIcon;
namespace OCC {
@@ -39,17 +34,8 @@ class Systray : public QSystemTrayIcon
{
Q_OBJECT
public:
explicit Systray();
void showMessage(const QString & title, const QString & message, MessageIcon icon = Information,
int millisecondsTimeoutHint = 10000);
void showMessage(const QString & title, const QString & message, MessageIcon icon = Information, int millisecondsTimeoutHint = 10000);
void setToolTip(const QString &tip);
private:
#ifdef HAVE_LIBSNORE
Snore::Application _application;
QHash<QSystemTrayIcon::MessageIcon, Snore::Alert> _alerts;
#endif
};
} // namespace OCC
+4 -4
Ver Arquivo
@@ -74,14 +74,14 @@ Logger::~Logger() {
}
void Logger::postGuiLog(const QString &title, const QString &message, NotificationType type )
void Logger::postGuiLog(const QString &title, const QString &message)
{
emit guiLog(title, message, type);
emit guiLog(title, message);
}
void Logger::postOptionalGuiLog(const QString &title, const QString &message, NotificationType type )
void Logger::postOptionalGuiLog(const QString &title, const QString &message)
{
emit optionalGuiLog(title, message, type);
emit optionalGuiLog(title, message);
}
void Logger::postGuiMessage(const QString &title, const QString &message)
+4 -12
Ver Arquivo
@@ -45,14 +45,6 @@ class OWNCLOUDSYNC_EXPORT Logger : public QObject
{
Q_OBJECT
public:
enum NotificationType {
NoIcon = 0,
Information,
SoftError,
Error,
Critical
};
bool isNoop() const;
void log(Log log);
@@ -65,8 +57,8 @@ public:
static Logger* instance();
void postGuiLog(const QString& title, const QString& message, NotificationType type = Information);
void postOptionalGuiLog(const QString& title, const QString& message, NotificationType type = Information);
void postGuiLog(const QString& title, const QString& message);
void postOptionalGuiLog(const QString& title, const QString& message);
void postGuiMessage(const QString& title, const QString& message);
void setLogFile( const QString & name );
@@ -76,9 +68,9 @@ public:
signals:
void newLog(const QString&);
void guiLog(const QString&, const QString&, Logger::NotificationType type);
void guiLog(const QString&, const QString&);
void guiMessage(const QString&, const QString&);
void optionalGuiLog(const QString&, const QString&, Logger::NotificationType type);
void optionalGuiLog(const QString&, const QString&);
public slots:
void enterNextLogFile();
+6 -1
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 */
+19 -2
Ver Arquivo
@@ -127,13 +127,30 @@ 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();
}
+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.
-1
Ver Arquivo
@@ -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();
+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;
+20 -6
Ver Arquivo
@@ -203,6 +203,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 +240,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.
@@ -539,10 +548,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 +580,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++;
@@ -673,6 +682,8 @@ void SyncEngine::startSync()
_syncRunning = true;
_anotherSyncNeeded = false;
_progressInfo->reset();
if (!QDir(_localPath).exists()) {
// No _tr, it should only occur in non-mirall
emit csyncError("Unable to find local sync folder.");
@@ -909,7 +920,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() ) {
@@ -1244,15 +1255,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) {
+19 -25
Ver Arquivo
@@ -92,15 +92,11 @@ SyncFileItem SyncFileStatusTracker::rootSyncFileItem()
return fakeRootItem;
}
SyncFileStatus SyncFileStatusTracker::fileStatus(const QString& systemFileName)
SyncFileStatus SyncFileStatusTracker::fileStatus(const QString& relativePath)
{
QString fileName = systemFileName.normalized(QString::NormalizationForm_C);
if( fileName.endsWith(QLatin1Char('/')) ) {
fileName.truncate(fileName.length()-1);
qDebug() << "Removed trailing slash: " << fileName;
}
Q_ASSERT(!relativePath.endsWith(QLatin1Char('/')));
if( fileName.isEmpty() ) {
if (relativePath.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());
}
@@ -111,22 +107,22 @@ SyncFileStatus SyncFileStatusTracker::fileStatus(const QString& systemFileName)
// 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() + fileName,
if( _syncEngine->excludedFiles().isExcluded(_syncEngine->localPath() + relativePath,
_syncEngine->localPath(),
_syncEngine->ignoreHiddenFiles()) ) {
return SyncFileStatus(SyncFileStatus::StatusWarning);
}
if ( _dirtyPaths.contains(fileName) )
if ( _dirtyPaths.contains(relativePath) )
return SyncFileStatus::StatusSync;
SyncFileItem* item = _syncEngine->findSyncItem(fileName);
SyncFileItem* item = _syncEngine->findSyncItem(relativePath);
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(fileName);
SyncJournalFileRecord rec = _syncEngine->journal()->getFileRecord(relativePath);
if (rec.isValid()) {
return syncFileItemStatus(rec.toSyncFileItem());
}
@@ -158,7 +154,7 @@ void SyncFileStatusTracker::slotAboutToPropagate(SyncFileItemVector& items)
} else if (showWarningInSocketApi(*item)) {
_syncProblems[item->_file] = SyncFileStatus::StatusWarning;
}
emit fileStatusChanged(getSystemDestination(*item), syncFileItemStatus(*item));
emit fileStatusChanged(getSystemDestination(item->destination()), syncFileItemStatus(*item));
}
// Make sure to push any status that might have been resolved indirectly since the last sync
@@ -170,7 +166,7 @@ void SyncFileStatusTracker::slotAboutToPropagate(SyncFileItemVector& items)
SyncFileStatus::SyncFileStatusTag severity = it->second;
if (severity == SyncFileStatus::StatusError)
invalidateParentPaths(path);
emit fileStatusChanged(_syncEngine->localPath() + path, fileStatus(path));
emit fileStatusChanged(getSystemDestination(path), fileStatus(path));
}
}
@@ -184,11 +180,10 @@ 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), syncFileItemStatus(item));
emit fileStatusChanged(getSystemDestination(item.destination()), syncFileItemStatus(item));
}
void SyncFileStatusTracker::slotSyncEngineRunningChanged()
@@ -236,20 +231,19 @@ void SyncFileStatusTracker::invalidateParentPaths(const QString& path)
QStringList splitPath = path.split('/', QString::SkipEmptyParts);
for (int i = 0; i < splitPath.size(); ++i) {
QString parentPath = QStringList(splitPath.mid(0, i)).join(QLatin1String("/"));
emit fileStatusChanged(_syncEngine->localPath() + parentPath, fileStatus(parentPath));
emit fileStatusChanged(getSystemDestination(parentPath), fileStatus(parentPath));
}
}
QString SyncFileStatusTracker::getSystemDestination(const SyncFileItem& item)
QString SyncFileStatusTracker::getSystemDestination(const QString& relativePath)
{
QString systemFileName = _syncEngine->localPath() + item.destination();
// the trailing slash for directories must be appended as the filenames coming in
// from the plugins have that too. Otherwise the matching entry item is not found
// in the plugin.
if( item._type == SyncFileItem::Type::Directory ) {
systemFileName += QLatin1Char('/');
QString systemPath = _syncEngine->localPath() + relativePath;
// SyncEngine::localPath() has a trailing slash, make sure to remove it if the
// destination is empty.
if( systemPath.endsWith(QLatin1Char('/')) ) {
systemPath.truncate(systemPath.length()-1);
}
return systemFileName;
return systemPath;
}
}
+2 -2
Ver Arquivo
@@ -35,7 +35,7 @@ class OWNCLOUDSYNC_EXPORT SyncFileStatusTracker : public QObject
Q_OBJECT
public:
explicit SyncFileStatusTracker(SyncEngine* syncEngine);
SyncFileStatus fileStatus(const QString& systemFileName);
SyncFileStatus fileStatus(const QString& relativePath);
public slots:
void slotPathTouched(const QString& fileName);
@@ -54,7 +54,7 @@ private:
SyncFileItem rootSyncFileItem();
void invalidateParentPaths(const QString& path);
QString getSystemDestination(const SyncFileItem& syncEnginePath);
QString getSystemDestination(const QString& relativePath);
SyncEngine* _syncEngine;
+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;
+23 -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,17 @@ namespace {
QString description(quint64 value) const
{
return QCoreApplication::translate(
"Utiliy", name, 0, QCoreApplication::UnicodeUTF8,
"Utility", name, 0, QCoreApplication::UnicodeUTF8,
value);
}
};
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)") , 365*24*3600*1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%n month(s)") , 30*24*3600*1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%n day(s)") , 24*3600*1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%n hour(s)") , 3600*1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%n minute(s)") , 60*1000LL },
{ QT_TRANSLATE_NOOP("Utility", "%n second(s)") , 1000LL },
{ 0, 0 }
};
} // anonymous namespace
@@ -541,4 +545,16 @@ 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);
#else
fileNames.sort(Qt::CaseInsensitive);
#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"
+12 -11
Ver Arquivo
@@ -26,24 +26,25 @@ 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));
bool x = 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", 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"
+74 -74
Ver Arquivo
@@ -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"/>
</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>
@@ -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"/>
</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>
@@ -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>
@@ -2559,7 +2559,7 @@ No és aconsellada usar-la.</translation>
<context>
<name>OCC::SocketApi</name>
<message>
<location filename="../src/gui/socketapi.cpp" line="441"/>
<location filename="../src/gui/socketapi.cpp" line="453"/>
<source>Share with %1</source>
<comment>parameter is ownCloud</comment>
<translation>Comparteix amb %1</translation>
@@ -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>
@@ -3564,33 +3564,33 @@ No és aconsellada usar-la.</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln any/s</translation>
<source>%n year(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln mes/os</translation>
<source>%n month(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln dia/es</translation>
<source>%n day(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln hora/es</translation>
<source>%n hour(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln minut/s</translation>
<source>%n minute(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln segon/s</translation>
<source>%n second(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
+130 -130
Ver Arquivo
@@ -17,7 +17,7 @@
<message>
<location filename="../src/gui/folderwizardsourcepage.ui" line="33"/>
<source>Pick a local folder on your computer to sync</source>
<translation>Zvolte místní složku na svém počítači k synchronizaci</translation>
<translation>Zvolte místní adresář na svém počítači k synchronizaci</translation>
</message>
<message>
<location filename="../src/gui/folderwizardsourcepage.ui" line="44"/>
@@ -35,7 +35,7 @@
<message>
<location filename="../src/gui/folderwizardtargetpage.ui" line="131"/>
<source>Select a remote destination folder</source>
<translation>Zvolte vzdálenou cílovou složku</translation>
<translation>Zvolte vzdálený cílový adresář</translation>
</message>
<message>
<location filename="../src/gui/folderwizardtargetpage.ui" line="143"/>
@@ -50,7 +50,7 @@
<message>
<location filename="../src/gui/folderwizardtargetpage.ui" line="177"/>
<source>Folders</source>
<translation>Složky</translation>
<translation>Adresáře</translation>
</message>
<message>
<location filename="../src/gui/folderwizardtargetpage.ui" line="110"/>
@@ -101,7 +101,7 @@
<message>
<location filename="../src/gui/accountsettings.ui" line="146"/>
<source>Unchecked folders will be &lt;b&gt;removed&lt;/b&gt; from your local file system and will not be synchronized to this computer anymore</source>
<translation>Neoznačené složky budou &lt;b&gt;odstraněny&lt;/b&gt; z místního souborového systému a nebudou již synchronizovány na tento počítač</translation>
<translation>Neoznačené adresáře budou &lt;b&gt;odstraněny&lt;/b&gt; z místního souborového systému a nebudou již synchronizovány na tento počítač</translation>
</message>
<message>
<location filename="../src/gui/accountsettings.ui" line="193"/>
@@ -542,7 +542,7 @@
<message>
<location filename="../src/libsync/connectionvalidator.cpp" line="128"/>
<source>Please update to the latest server and restart the client.</source>
<translation>Prosím, aktualizujte na poslední verzi serveru a restartujte klienta.</translation>
<translation>Aktualizujte prosím na poslední verzi serveru a restartujte klienta.</translation>
</message>
<message>
<location filename="../src/libsync/connectionvalidator.cpp" line="148"/>
@@ -581,7 +581,7 @@
<message>
<location filename="../src/gui/folder.cpp" line="135"/>
<source>Local folder %1 does not exist.</source>
<translation>Místní složka %1 neexistuje.</translation>
<translation>Místní adresář %1 neexistuje.</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="138"/>
@@ -695,8 +695,8 @@ Pokud ho chcete stáhnout, přejděte prosím do nastavení a označte ho.</tran
<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>Tato synchronizace by smazala všechny soubory ve složce &apos;%1&apos;.
Toto může být způsobeno změnou v nastavení synchronizace složky nebo tím, že byly všechny soubory ručně odstraněny.
<translation>Tato synchronizace by smazala všechny soubory v adresáři &apos;%1&apos;.
Toto může být způsobeno změnou v nastavení synchronizace adresáře nebo tím, že byly všechny soubory ručně odstraněny.
Opravdu chcete provést tuto akci?</translation>
</message>
<message>
@@ -744,7 +744,7 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st
<message>
<location filename="../src/gui/folderman.cpp" line="265"/>
<source>Could not reset folder state</source>
<translation>Nelze obnovit stav složky</translation>
<translation>Nelze obnovit stav adresáře</translation>
</message>
<message>
<location filename="../src/gui/folderman.cpp" line="266"/>
@@ -824,7 +824,7 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st
<message>
<location filename="../src/gui/folderman.cpp" line="1193"/>
<source>You have no permission to write to the selected folder!</source>
<translation>Nemáte oprávnění pro zápis do zvolené složky!</translation>
<translation>Nemáte oprávnění pro zápis do zvoleného adresáře!</translation>
</message>
<message>
<location filename="../src/gui/folderman.cpp" line="1208"/>
@@ -839,17 +839,17 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st
<message>
<location filename="../src/gui/folderman.cpp" line="1220"/>
<source>The local folder %1 is a symbolic link. The link target already contains a folder used in a folder sync connection. Please pick another one!</source>
<translation>Místní adresář %1 je symbolickým obsahem. Cíl odkazu již obsahuje adresář použitý pro synchronizaci adresáře. Vyberte, prosím, jiný!</translation>
<translation>Místní adresář %1 je symbolickým obsahem. Cíl odkazu již obsahuje adresář použitý pro synchronizaci adresáře. Vyberte prosím jiný!</translation>
</message>
<message>
<location filename="../src/gui/folderman.cpp" line="1227"/>
<source>The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one!</source>
<translation>Místní adresář %1 je již obsažen ve složce použité pro synchronizaci. Vyberte, prosím, jiný!</translation>
<translation>Místní adresář %1 je již obsažen ve adresáři použitém pro synchronizaci. Vyberte prosím jiný!</translation>
</message>
<message>
<location filename="../src/gui/folderman.cpp" line="1233"/>
<source>The local folder %1 is a symbolic link. The link target is already contained in a folder used in a folder sync connection. Please pick another one!</source>
<translation>Místní adresář %1 je symbolickým obsahem. Cíl odkazu je již obsažen v adresáři použitém pro synchronizaci. Vyberte, prosím, jiný!</translation>
<translation>Místní adresář %1 je symbolickým obsahem. Cíl odkazu je již obsažen v adresáři použitém pro synchronizaci. Vyberte prosím jiný!</translation>
</message>
</context>
<context>
@@ -1001,12 +1001,12 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st
<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>Přidat synchronizaci adresáře</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>Přidat synchronizační připojení</translation>
</message>
@@ -1016,78 +1016,78 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st
<message>
<location filename="../src/gui/folderwizard.cpp" line="65"/>
<source>Click to select a local folder to sync.</source>
<translation>Kliknutím zvolíte místní složku k synchronizaci.</translation>
<translation>Kliknutím zvolíte místní adresář k synchronizaci.</translation>
</message>
<message>
<location filename="../src/gui/folderwizard.cpp" line="69"/>
<source>Enter the path to the local folder.</source>
<translation>Zadejte cestu k místní složce.</translation>
<translation>Zadejte cestu k místnímu adresáři.</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>Zvolte zdrojovou složku</translation>
<translation>Zvolte zdrojový adresář</translation>
</message>
</context>
<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>Vytvořit vzdálenou složku</translation>
<translation>Vytvořit vzdálený adresář</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>Zadejte název nově vytvářené složky níže &apos;%1&apos;:</translation>
<translation>Zadejte název nově vytvářeného adresáře níže &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>Složka byla úspěšně vytvořena na %1.</translation>
<translation>Adresář byl úspěšně vytvořen na %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>Ověření selhalo při připojení %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>Na %1 selhalo vytvoření složky. Zkontrolujte to, prosím, ručně.</translation>
<translation>Na %1 selhalo vytvoření adresáře. Zkontrolujte to prosím ručně.</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>Chyba při vypsání adresáře. Chyba: %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>Zvolte toto k provedení synchronizace celého účtu</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>Tato složka je již synchronizována.</translation>
<translation>Tento adresář je již synchronizován.</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>Již synchronizujete složku &lt;i&gt;%1&lt;/i&gt;, která je složce &lt;i&gt;%2&lt;/i&gt; nadřazená.</translation>
<translation>Již synchronizujete adresář &lt;i&gt;%1&lt;/i&gt;, který je adresáři &lt;i&gt;%2&lt;/i&gt; nadřazený.</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>Již synchronizujete všechny své soubory. Synchronizování další složky &lt;b&gt;není&lt;/b&gt; podporováno. Pokud chcete synchronizovat více složek, odstraňte prosím synchronizaci aktuální kořenové složky.</translation>
<translation>Již synchronizujete všechny své soubory. Synchronizování dalšího adresáře &lt;b&gt;není&lt;/b&gt; podporováno. Pokud chcete synchronizovat více adresářů, odstraňte prosím synchronizaci aktuálního kořenového adresáře.</translation>
</message>
</context>
<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>Výběr synchronizace: Můžete dodatečně označit podsložky, které si nepřejete synchronizovat.</translation>
<translation>Výběr synchronizace: Můžete dodatečně označit podadresáře, které si nepřejete synchronizovat.</translation>
</message>
</context>
<context>
@@ -1565,7 +1565,7 @@ můžete být požádáni o dodatečná oprávnění.</translation>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="145"/>
<source>Could not download update. Please click &lt;a href=&apos;%1&apos;&gt;here&lt;/a&gt; to download the update manually.</source>
<translation>Nemohu stáhnout aktualizaci. Klikněte, prosím, na &lt;a href=&apos;%1&apos;&gt;tento odkaz&lt;/a&gt; pro ruční stažení aktualizace.</translation>
<translation>Nemohu stáhnout aktualizaci. Klikněte prosím na &lt;a href=&apos;%1&apos;&gt;tento odkaz&lt;/a&gt; pro ruční stažení aktualizace.</translation>
</message>
<message>
<location filename="../src/gui/updater/ocupdater.cpp" line="147"/>
@@ -1613,7 +1613,7 @@ můžete být požádáni o dodatečná oprávnění.</translation>
<message>
<location filename="../src/gui/wizard/owncloudadvancedsetuppage.cpp" line="51"/>
<source>Setup local folder options</source>
<translation>Možnosti nastavení místní složky</translation>
<translation>Možnosti nastavení místního adresáře</translation>
</message>
<message>
<location filename="../src/gui/wizard/owncloudadvancedsetuppage.cpp" line="60"/>
@@ -1623,7 +1623,7 @@ můžete být požádáni o dodatečná oprávnění.</translation>
<message>
<location filename="../src/gui/wizard/owncloudadvancedsetuppage.cpp" line="139"/>
<source>%1 folder &apos;%2&apos; is synced to local folder &apos;%3&apos;</source>
<translation>%1 složka &apos;%2&apos; je synchronizována do místní složky &apos;%3&apos;</translation>
<translation>%1 adresář &apos;%2&apos; je synchronizován do místního adresáře &apos;%3&apos;</translation>
</message>
<message>
<location filename="../src/gui/wizard/owncloudadvancedsetuppage.cpp" line="142"/>
@@ -1638,7 +1638,7 @@ můžete být požádáni o dodatečná oprávnění.</translation>
<message>
<location filename="../src/gui/wizard/owncloudadvancedsetuppage.cpp" line="246"/>
<source>Local Sync Folder</source>
<translation>Místní synchronizovaná složka</translation>
<translation>Místní synchronizovaný adresář</translation>
</message>
<message>
<location filename="../src/gui/wizard/owncloudadvancedsetuppage.cpp" line="285"/>
@@ -1768,7 +1768,7 @@ Nedoporučuje se jí používat.</translation>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="303"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Místní synchronizovaná složka %1 již existuje, nastavuji ji pro synchronizaci.&lt;br/&gt;&lt;br/&gt;</translation>
<translation>Místní synchronizovaný adresář %1 již existuje, nastavuji jej pro synchronizaci.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="305"/>
@@ -1788,12 +1788,12 @@ Nedoporučuje se jí používat.</translation>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="313"/>
<source>Could not create local folder %1</source>
<translation>Nelze vytvořit místní složku %1</translation>
<translation>Nelze vytvořit místní adresář %1</translation>
</message>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="338"/>
<source>No remote folder specified!</source>
<translation>Žádná vzdálená složka nenastavena!</translation>
<translation>Není nastaven žádný vzdálený adresář!</translation>
</message>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="344"/>
@@ -1803,39 +1803,39 @@ Nedoporučuje se jí používat.</translation>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="357"/>
<source>creating folder on ownCloud: %1</source>
<translation>vytvářím složku na ownCloudu: %1</translation>
<translation>vytvářím adresář na ownCloudu: %1</translation>
</message>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="373"/>
<source>Remote folder %1 created successfully.</source>
<translation>Vzdálená složka %1 byla úspěšně vytvořena.</translation>
<translation>Vzdálený adresář %1 byl úspěšně vytvořen.</translation>
</message>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="375"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Vzdálená složka %1 již existuje. Spojuji ji pro synchronizaci.</translation>
<translation>Vzdálený adresář %1 již existuje. Spojuji jej pro synchronizaci.</translation>
</message>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="377"/>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="379"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Vytvoření složky selhalo HTTP chybou %1</translation>
<translation>Vytvoření adresáře selhalo s HTTP chybou %1</translation>
</message>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="381"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Vytvoření vzdálené složky selhalo, pravděpodobně z důvodu neplatných přihlašovacích údajů.&lt;br/&gt;Vraťte se, prosím, zpět a zkontrolujte je.&lt;/p&gt;</translation>
<translation>Vytvoření vzdáleného adresáře selhalo, pravděpodobně z důvodu neplatných přihlašovacích údajů.&lt;br/&gt;Vraťte se prosím zpět a zkontrolujte je.&lt;/p&gt;</translation>
</message>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="384"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Vytvoření vzdálené složky selhalo, pravděpodobně z důvodu neplatných přihlašovacích údajů.&lt;/font&gt;&lt;br/&gt;Vraťte se, prosím, zpět a zkontrolujte je.&lt;/p&gt;</translation>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Vytvoření vzdáleného adresáře selhalo, pravděpodobně z důvodu neplatných přihlašovacích údajů.&lt;/font&gt;&lt;br/&gt;Vraťte se prosím zpět a zkontrolujte je.&lt;/p&gt;</translation>
</message>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="389"/>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="390"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Vytváření vzdálené složky %1 selhalo s chybou &lt;tt&gt;%2&lt;/tt&gt;.</translation>
<translation>Vytváření vzdáleného adresáře %1 selhalo s chybou &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="406"/>
@@ -1855,7 +1855,7 @@ Nedoporučuje se jí používat.</translation>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="431"/>
<source>Folder rename failed</source>
<translation>Přejmenování složky selhalo</translation>
<translation>Přejmenování adresáře selhalo</translation>
</message>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="432"/>
@@ -1865,7 +1865,7 @@ Nedoporučuje se jí používat.</translation>
<message>
<location filename="../src/gui/owncloudsetupwizard.cpp" line="474"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Místní synchronizovaná složka %1 byla vytvořena úspěšně!&lt;/b&gt;&lt;/font&gt;</translation>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Místní synchronizovaný adresář %1 byl úspěšně vytvořen!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
</context>
<context>
@@ -1878,7 +1878,7 @@ Nedoporučuje se jí používat.</translation>
<message>
<location filename="../src/gui/wizard/owncloudwizard.cpp" line="80"/>
<source>Skip folders configuration</source>
<translation>Přeskočit konfiguraci složek</translation>
<translation>Přeskočit konfiguraci adresářů</translation>
</message>
</context>
<context>
@@ -1891,7 +1891,7 @@ Nedoporučuje se jí používat.</translation>
<message>
<location filename="../src/gui/wizard/owncloudwizardresultpage.cpp" line="42"/>
<source>Open Local Folder</source>
<translation>Otevřít místní složku</translation>
<translation>Otevřít místní adresář</translation>
</message>
<message>
<location filename="../src/gui/wizard/owncloudwizardresultpage.cpp" line="50"/>
@@ -1953,20 +1953,20 @@ Nedoporučuje se jí používat.</translation>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="552"/>
<source>The downloaded file is empty despite the server announced it should have been %1.</source>
<translation type="unfinished"/>
<translation>Stažený soubor je prázdný, přestože server oznámil, že měl být %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>Soubor %1 nemohl být uložen z důvodu kolize názvu se souborem v místním systému!</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>Soubor se mezitím změnil</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>Chyba zápisu metadat do databáze</translation>
</message>
@@ -2074,12 +2074,12 @@ Nedoporučuje se jí používat.</translation>
<message>
<location filename="../src/libsync/propagateremotemove.cpp" line="87"/>
<source>This folder must not be renamed. It is renamed back to its original name.</source>
<translation>Tato složka nemůže být přejmenována. Byl vrácen původní název.</translation>
<translation>Tento adresář nemůže být přejmenován. Byl mu vrácen původní název.</translation>
</message>
<message>
<location filename="../src/libsync/propagateremotemove.cpp" line="89"/>
<source>This folder must not be renamed. Please name it back to Shared.</source>
<translation>Tato složka nemůže být přejmenována. Přejmenujte prosím zpět na Shared.</translation>
<translation>Tento adresář nemůže být přejmenován. Přejmenujte jej prosím zpět na Shared.</translation>
</message>
<message>
<location filename="../src/libsync/propagateremotemove.cpp" line="127"/>
@@ -2100,48 +2100,48 @@ Nedoporučuje se jí používat.</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>Soubor odebrán</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>Místní soubor se během synchronizace změnil. </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>Místní soubor byl změněn během synchronizace.</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>Vynucené ukončení procesu při resetu HTTP připojení s 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>Soubor zde byl editován, ale je součástí sdílení pouze pro čtení. Původní soubor byl obnoven a editovaná verze je uložena v konfliktním souboru.</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>Chybí adresa 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>Místní soubor byl odstraněn během synchronizace.</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>Server nepotvrdil poslední část dat. (Nebyl nalezen 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>Chyba zápisu metadat do databáze</translation>
</message>
@@ -2171,7 +2171,7 @@ Nedoporučuje se jí používat.</translation>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="56"/>
<source>Folder</source>
<translation>Složka</translation>
<translation>Adresář</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="57"/>
@@ -2184,17 +2184,17 @@ Nedoporučuje se jí používat.</translation>
<translation>Velikost</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>Místní protokol synchronizace</translation>
</message>
<message>
<location filename="../src/gui/protocolwidget.cpp" line="74"/>
<location filename="../src/gui/protocolwidget.cpp" line="80"/>
<source>Copy</source>
<translation>Kopie</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>Kopírovat záznam aktivity do schránky.</translation>
</message>
@@ -2237,17 +2237,17 @@ Nedoporučuje se jí používat.</translation>
<message>
<location filename="../src/gui/selectivesyncdialog.cpp" line="399"/>
<source>Unchecked folders will be &lt;b&gt;removed&lt;/b&gt; from your local file system and will not be synchronized to this computer anymore</source>
<translation>Neoznačené složky budou &lt;b&gt;odstraněny&lt;/b&gt; z místního souborového systému a nebudou již synchronizovány na tento počítač</translation>
<translation>Neoznačené adresáře budou &lt;b&gt;odstraněny&lt;/b&gt; z místního souborového systému a nebudou již synchronizovány na tento počítač</translation>
</message>
<message>
<location filename="../src/gui/selectivesyncdialog.cpp" line="416"/>
<source>Choose What to Sync: Select remote subfolders you wish to synchronize.</source>
<translation>Výběr synchronizace: Označte vzdálené podsložky, které si přejete synchronizovat.</translation>
<translation>Výběr synchronizace: Označte vzdálené podadresáře, které si přejete synchronizovat.</translation>
</message>
<message>
<location filename="../src/gui/selectivesyncdialog.cpp" line="417"/>
<source>Choose What to Sync: Deselect remote subfolders you do not wish to synchronize.</source>
<translation>Výběr synchronizace: Odznačte vzdálené podsložky, které si nepřejete synchronizovat.</translation>
<translation>Výběr synchronizace: Odznačte vzdálené podadresáře, které si nepřejete synchronizovat.</translation>
</message>
<message>
<location filename="../src/gui/selectivesyncdialog.cpp" line="423"/>
@@ -2545,17 +2545,17 @@ Nedoporučuje se jí používat.</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 - ověření</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>Vyžadováno opětovné ověření</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>Vaše sezení vypršelo. Chcete-li pokračovat v práci, musíte se znovu přihlásit.</translation>
</message>
@@ -2563,7 +2563,7 @@ Nedoporučuje se jí používat.</translation>
<context>
<name>OCC::SocketApi</name>
<message>
<location filename="../src/gui/socketapi.cpp" line="441"/>
<location filename="../src/gui/socketapi.cpp" line="453"/>
<source>Share with %1</source>
<comment>parameter is ownCloud</comment>
<translation>Sdílet s %1</translation>
@@ -2857,23 +2857,23 @@ Nedoporučuje se jí používat.</translation>
<translation>Chyba při čtení adresáře.</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>Soubor/adresář je ignorován, protože je skrytý.</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>Je dostupných pouze %1, pro spuštění je potřeba alespoň %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>Není povoleno, protože nemáte oprávnění vytvořit nadřazený adresář</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>Není povoleno, protože nemáte oprávnění přidávat soubory do tohoto adresáře</translation>
</message>
@@ -2893,7 +2893,7 @@ Nedoporučuje se jí používat.</translation>
<translation>Zrušeno uživatelem</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>Jméno souboru obsahuje neplatné znaky, které neumožňují synchronizaci mezi různými platformami.</translation>
</message>
@@ -2933,109 +2933,109 @@ Nedoporučuje se jí používat.</translation>
<translation>Došlo k interní chybě číslo %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>Položka nebyla synchronizována kvůli předchozí chybě: %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>Symbolické odkazy nejsou při synchronizaci podporovány.</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>Soubor se nachází na seznamu ignorovaných.</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>Jméno souboru je moc dlouhé.</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 selhal.</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>Kódování znaků jména soubor je neplatné</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>Neplatné znaky, prosím přejmenujte &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>Nemohu inicializovat synchronizační žurnál.</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>Nelze načíst blacklist z místní databáze</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>Nelze číst ze žurnálu synchronizace.</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>Nelze otevřít synchronizační žurnál</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>Jméno souboru obsahuje aelspoň jeden neplatný znak</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>Ignorováno podle nastavení &quot;vybrat co synchronizovat&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>Není povoleno, protože nemáte oprávnění přidávat podadresáře do tohoto adresáře</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>Není povoleno nahrát tento soubor, protože je na serveru uložen pouze pro čtení, obnovuji</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>Odstranění není povoleno, obnovuji</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>Místní soubory a sdílená složka byly odstraněny.</translation>
<translation>Místní soubory a sdílený adresář byly odstraněny.</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>Přesun není povolen, položka obnovena</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>Přesun není povolen, protože %1 je pouze pro čtení</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the destination</source>
<translation>cílové umístění</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="1263"/>
<location filename="../src/libsync/syncengine.cpp" line="1277"/>
<source>the source</source>
<translation>zdroj</translation>
</message>
@@ -3102,17 +3102,17 @@ Nedoporučuje se jí používat.</translation>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="317"/>
<source>Folder %1: %2</source>
<translation>Složka %1: %2</translation>
<translation>Adresář %1: %2</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="322"/>
<source>No sync folders configured.</source>
<translation>Nejsou nastaveny žádné synchronizované složky.</translation>
<translation>Nejsou nastaveny žádné synchronizované adresáře.</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="332"/>
<source>There are no sync folders configured.</source>
<translation>Nejsou nastaveny žádné složky pro synchronizaci.</translation>
<translation>Nejsou nastaveny žádné adresáře pro synchronizaci.</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="340"/>
@@ -3146,12 +3146,12 @@ Nedoporučuje se jí používat.</translation>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="367"/>
<source>Managed Folders:</source>
<translation>Spravované složky:</translation>
<translation>Spravované adresáře:</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="370"/>
<source>Open folder &apos;%1&apos;</source>
<translation>Otevřít složku &apos;%1&apos;</translation>
<translation>Otevřít adresář &apos;%1&apos;</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="342"/>
@@ -3489,7 +3489,7 @@ Nedoporučuje se jí používat.</translation>
<message>
<location filename="../src/gui/wizard/owncloudwizardresultpage.ui" line="163"/>
<source>Your entire account is synced to the local folder </source>
<translation>Celý váš účet je synchronizován do místní složky</translation>
<translation>Celý váš účet je synchronizován do místního adresáře</translation>
</message>
<message>
<location filename="../src/gui/wizard/owncloudwizardresultpage.ui" line="98"/>
@@ -3568,33 +3568,33 @@ Nedoporučuje se jí používat.</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln rok(ů)</translation>
<source>%n year(s)</source>
<translation>%n rok(ů)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln měsíc(ů)</translation>
<source>%n month(s)</source>
<translation>%n měsíc(ů)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln dny(ů)</translation>
<source>%n day(s)</source>
<translation>%n dní</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln hodina(y)</translation>
<source>%n hour(s)</source>
<translation>%n hodina(y)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln minuta(y)</translation>
<source>%n minute(s)</source>
<translation>%n minuta(y)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln sekunda(y)</translation>
<source>%n second(s)</source>
<translation>%n sekunda(y)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
+74 -74
Ver Arquivo
@@ -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>
@@ -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>
@@ -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>
@@ -2561,7 +2561,7 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<context>
<name>OCC::SocketApi</name>
<message>
<location filename="../src/gui/socketapi.cpp" line="441"/>
<location filename="../src/gui/socketapi.cpp" line="453"/>
<source>Share with %1</source>
<comment>parameter is ownCloud</comment>
<translation>Via %1 teilen</translation>
@@ -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>
@@ -3566,33 +3566,33 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln Jahr(e)</translation>
<source>%n year(s)</source>
<translation>%n Jahr(e)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln Monat(e)</translation>
<source>%n month(s)</source>
<translation>%n Monat(e)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln Tag(e)</translation>
<source>%n day(s)</source>
<translation>%n Tag(e)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln Stunde(n)</translation>
<source>%n hour(s)</source>
<translation>%n Stunde(n)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln Minute(n)</translation>
<source>%n minute(s)</source>
<translation>%n Minute(n)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln Sekunde(n)</translation>
<source>%n second(s)</source>
<translation>%n Sekunde(n)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
+74 -74
Ver Arquivo
@@ -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>
@@ -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>
@@ -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>
@@ -2561,7 +2561,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::SocketApi</name>
<message>
<location filename="../src/gui/socketapi.cpp" line="441"/>
<location filename="../src/gui/socketapi.cpp" line="453"/>
<source>Share with %1</source>
<comment>parameter is ownCloud</comment>
<translation>Διαμοιρασμός με %1</translation>
@@ -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>
@@ -3566,33 +3566,33 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln έτος(η)</translation>
<source>%n year(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln μήνας(ες)</translation>
<source>%n month(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln ημέρα(ες)</translation>
<source>%n day(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln ώρα(ες)</translation>
<source>%n hour(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln λεπτό(ά)</translation>
<source>%n minute(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln δευτερόλεπτο(α)</translation>
<source>%n second(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
+68 -68
Ver Arquivo
@@ -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>
@@ -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>
@@ -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>
@@ -2582,7 +2582,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::SocketApi</name>
<message>
<location filename="../src/gui/socketapi.cpp" line="441"/>
<location filename="../src/gui/socketapi.cpp" line="453"/>
<source>Share with %1</source>
<comment>parameter is ownCloud</comment>
<translation type="unfinished"></translation>
@@ -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>
@@ -3594,32 +3594,32 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<source>%n year(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<source>%n month(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<source>%n day(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<source>%n hour(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<source>%n minute(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<source>%n second(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
+81 -81
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"/>
@@ -440,17 +440,17 @@
<message numerus="yes">
<location filename="../src/gui/activitywidget.cpp" line="351"/>
<source>You received %n new notification(s) from %2.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
<translation><numerusform>Ha recibido %n nueva notificación de %2.</numerusform><numerusform>Ha recibido %n nueva notificacióne(s) de %2.</numerusform></translation>
</message>
<message numerus="yes">
<location filename="../src/gui/activitywidget.cpp" line="359"/>
<source>You received %n new notification(s) from %1 and %2.</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
<translation><numerusform>Ha recibido %n nueva notificación de %1 y de %2.</numerusform><numerusform>Ha recibido %n nuevas notificacióne(s) de %1 y de %2.</numerusform></translation>
</message>
<message>
<location filename="../src/gui/activitywidget.cpp" line="361"/>
<source>You received new notifications from %1, %2 and other accounts.</source>
<translation type="unfinished"/>
<translation>Ha recibido nuevas notificaciónes de %1, %2 y otras cuentas.</translation>
</message>
<message>
<location filename="../src/gui/activitywidget.cpp" line="365"/>
@@ -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>
@@ -1684,7 +1684,7 @@ for additional privileges during the process.</source>
<message>
<location filename="../src/gui/wizard/owncloudhttpcredspage.cpp" line="51"/>
<source>&amp;Email</source>
<translation type="unfinished"/>
<translation>&amp;Email</translation>
</message>
<message>
<location filename="../src/gui/wizard/owncloudhttpcredspage.cpp" line="61"/>
@@ -1952,20 +1952,20 @@ No se recomienda usarla.</translation>
<message>
<location filename="../src/libsync/propagatedownload.cpp" line="552"/>
<source>The downloaded file is empty despite the server announced it should have been %1.</source>
<translation type="unfinished"/>
<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>
@@ -2384,7 +2384,7 @@ No se recomienda usarla.</translation>
<message>
<location filename="../src/gui/sharedialog.cpp" line="113"/>
<source>Retrieving maximum possible sharing permissions from server...</source>
<translation type="unfinished"/>
<translation>Descargando el maximo número de permisos compartidos del servidor...</translation>
</message>
<message>
<location filename="../src/gui/sharedialog.cpp" line="169"/>
@@ -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>
@@ -2562,7 +2562,7 @@ No se recomienda usarla.</translation>
<context>
<name>OCC::SocketApi</name>
<message>
<location filename="../src/gui/socketapi.cpp" line="441"/>
<location filename="../src/gui/socketapi.cpp" line="453"/>
<source>Share with %1</source>
<comment>parameter is ownCloud</comment>
<translation>Compartir con %1</translation>
@@ -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>
@@ -3567,33 +3567,33 @@ No se recomienda usarla.</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln año(s)</translation>
<source>%n year(s)</source>
<translation>%n año(s)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln meses(s)</translation>
<source>%n month(s)</source>
<translation>%n Mese(s)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln dia(s)</translation>
<source>%n day(s)</source>
<translation>%n dia(s)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln hora(s)</translation>
<source>%n hour(s)</source>
<translation>%n hora(s)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln minuto(s)</translation>
<source>%n minute(s)</source>
<translation>%n minuto(s)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln segundos(s)</translation>
<source>%n second(s)</source>
<translation>%n segundo(s)</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
+69 -69
Ver Arquivo
@@ -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>
@@ -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>
@@ -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>
@@ -2550,7 +2550,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::SocketApi</name>
<message>
<location filename="../src/gui/socketapi.cpp" line="441"/>
<location filename="../src/gui/socketapi.cpp" line="453"/>
<source>Share with %1</source>
<comment>parameter is ownCloud</comment>
<translation type="unfinished"/>
@@ -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>
@@ -3554,33 +3554,33 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<source>%n year(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<source>%n month(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<source>%n day(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<source>%n hour(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<source>%n minute(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln segundo(s)</translation>
<source>%n second(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
+74 -74
Ver Arquivo
@@ -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>
@@ -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>
@@ -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>
@@ -2551,7 +2551,7 @@ Selle kasutamine pole soovitatav.</translation>
<context>
<name>OCC::SocketApi</name>
<message>
<location filename="../src/gui/socketapi.cpp" line="441"/>
<location filename="../src/gui/socketapi.cpp" line="453"/>
<source>Share with %1</source>
<comment>parameter is ownCloud</comment>
<translation>Jagatud kasutajaga %1</translation>
@@ -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>
@@ -3556,33 +3556,33 @@ Selle kasutamine pole soovitatav.</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln aasta(t)</translation>
<source>%n year(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln kuu(d)</translation>
<source>%n month(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln päeva(a)</translation>
<source>%n day(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln tund(i)</translation>
<source>%n hour(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln minut(it)</translation>
<source>%n minute(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln sekund(it)</translation>
<source>%n second(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
+74 -74
Ver Arquivo
@@ -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>
@@ -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>
@@ -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>
@@ -2557,7 +2557,7 @@ Ez da gomendagarria erabltzea.</translation>
<context>
<name>OCC::SocketApi</name>
<message>
<location filename="../src/gui/socketapi.cpp" line="441"/>
<location filename="../src/gui/socketapi.cpp" line="453"/>
<source>Share with %1</source>
<comment>parameter is ownCloud</comment>
<translation type="unfinished"/>
@@ -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>
@@ -3560,33 +3560,33 @@ Ez da gomendagarria erabltzea.</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln urte</translation>
<source>%n year(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln hilabete</translation>
<source>%n month(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln egun</translation>
<source>%n day(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln ordu</translation>
<source>%n hour(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln minutu</translation>
<source>%n minute(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln segundu</translation>
<source>%n second(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
+74 -74
Ver Arquivo
@@ -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>
@@ -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>
@@ -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>
@@ -2550,7 +2550,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::SocketApi</name>
<message>
<location filename="../src/gui/socketapi.cpp" line="441"/>
<location filename="../src/gui/socketapi.cpp" line="453"/>
<source>Share with %1</source>
<comment>parameter is ownCloud</comment>
<translation>اشتراکگذاری با %1</translation>
@@ -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>
@@ -3553,33 +3553,33 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln سال(s)</translation>
<source>%n year(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln ماه(s)</translation>
<source>%n month(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln روز(s)</translation>
<source>%n day(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln ساعت(s)</translation>
<source>%n hour(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln دقیقه (s)</translation>
<source>%n minute(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln ثانیه(s)</translation>
<source>%n second(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>
+74 -74
Ver Arquivo
@@ -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>
@@ -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>
@@ -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>
@@ -2558,7 +2558,7 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<context>
<name>OCC::SocketApi</name>
<message>
<location filename="../src/gui/socketapi.cpp" line="441"/>
<location filename="../src/gui/socketapi.cpp" line="453"/>
<source>Share with %1</source>
<comment>parameter is ownCloud</comment>
<translation type="unfinished"/>
@@ -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>
@@ -3563,33 +3563,33 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="314"/>
<source>%Ln year(s)</source>
<translation>%Ln v</translation>
<source>%n year(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="315"/>
<source>%Ln month(s)</source>
<translation>%Ln kk</translation>
<source>%n month(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="316"/>
<source>%Ln day(s)</source>
<translation>%Ln pv</translation>
<source>%n day(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="317"/>
<source>%Ln hour(s)</source>
<translation>%Ln t</translation>
<source>%n hour(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="318"/>
<source>%Ln minute(s)</source>
<translation>%Ln min</translation>
<source>%n minute(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="319"/>
<source>%Ln second(s)</source>
<translation>%Ln s</translation>
<source>%n second(s)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/utility.cpp" line="343"/>

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