diff --git a/CMakeLists.txt b/CMakeLists.txt index a721e55e9..20a0de8be 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,8 @@ endif() project(client) +set(BIN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") + set(OEM_THEME_DIR "" CACHE STRING "Define directory containing a custom theme") if ( EXISTS ${OEM_THEME_DIR}/OEM.cmake ) include ( ${OEM_THEME_DIR}/OEM.cmake ) @@ -58,9 +60,6 @@ if( UNIX AND NOT APPLE ) endif() #### -# Enable Q_ASSERT etc. in all builds -add_definitions( -DQT_FORCE_ASSERTS ) - include(GNUInstallDirs) include(DefineInstallationPaths) include(GenerateExportHeader) diff --git a/ChangeLog b/ChangeLog index 6d7b4da9c..54ec96d00 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,11 @@ ChangeLog ========= -version 2.3.0 (2017-0x-xx) -* WiP! -* WiP Switch Windows and OS X build to 5.6.2 -* WiP Performance improvements for exclude detection +version 2.3.0 (2017-02-xx) +* Decreased memory usage during sync +* Overlay icons: Lower CPU usage +* Allow to not sync the server's external storages by default +* Switch Windows and OS X build to 5.6.2 * Switch to new ownCloud server WebDAV endpoint * Chunking NG: New file upload chunking algorithmn for ownCloud server 9.2 * Allow to sync a folder to multiple different servers (Filename change from .csync_journal.db to _sync_$HASH.db) diff --git a/Jenkinsfile b/Jenkinsfile index 4809b440b..16b26a54b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,7 +39,7 @@ node('CLIENT') { stage 'Win32' - def win32 = docker.image('deepdiver/docker-owncloud-client-win32:latest') + def win32 = docker.image('guruz/docker-owncloud-client-win32:latest') win32.pull() // make sure we have the latest available from Docker Hub win32.inside { sh ''' diff --git a/admin/win/docker/Dockerfile b/admin/win/docker/Dockerfile index 76e2986d5..8e40a4991 100644 --- a/admin/win/docker/Dockerfile +++ b/admin/win/docker/Dockerfile @@ -9,7 +9,7 @@ ENV REFRESHED_AT 20160421 RUN zypper --non-interactive --gpg-auto-import-keys refresh RUN zypper --non-interactive --gpg-auto-import-keys ar http://download.opensuse.org/repositories/windows:/mingw/openSUSE_42.1/windows:mingw.repo -RUN zypper --non-interactive --gpg-auto-import-keys ar http://download.opensuse.org/repositories/isv:ownCloud:toolchains:mingw:win32:2.2/openSUSE_Leap_42.1/isv:ownCloud:toolchains:mingw:win32:2.2.repo +RUN zypper --non-interactive --gpg-auto-import-keys ar http://download.opensuse.org/repositories/isv:ownCloud:toolchains:mingw:win32:2.3/openSUSE_Leap_42.1/isv:ownCloud:toolchains:mingw:win32:2.3.repo RUN zypper --non-interactive --gpg-auto-import-keys install cmake make mingw32-cross-binutils mingw32-cross-cpp mingw32-cross-gcc \ mingw32-cross-gcc-c++ mingw32-cross-pkg-config mingw32-filesystem \ mingw32-headers mingw32-runtime site-config mingw32-libwebp \ diff --git a/admin/win/nsi/l10n/Ukrainian.nsh b/admin/win/nsi/l10n/Ukrainian.nsh index a9db0b68b..31d99d5f6 100644 --- a/admin/win/nsi/l10n/Ukrainian.nsh +++ b/admin/win/nsi/l10n/Ukrainian.nsh @@ -3,7 +3,7 @@ StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Показати примітки StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Знайдено процес(и) ${APPLICATION_EXECUTABLE}, які необхідно зупинити.$\nХочете щоб програма установки зробила це самостійно?" StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Завершення процесів ${APPLICATION_EXECUTABLE}." StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Не знайдено процеси, які необхідно зупинити!" -StrCpy $PageReinstall_NEW_Field_1 "Знайдено застарілу версію програми ${APPLICATION_NAME}. Рекомендуємо її спочатку видалити. Оберіть подальшу дію та натисніть $\"Далі$\"." +StrCpy $PageReinstall_NEW_Field_1 "У вашої системі встановлена застаріла версія додатку ${APPLICATION_NAME}. Рекомендуємо видалити її перед початком встановлення поточної версії. Оберіть подальшу дію та натисніть $\"Далі$\"." StrCpy $PageReinstall_NEW_Field_2 "Видалити перед установкою" StrCpy $PageReinstall_NEW_Field_3 "Не видаляти" StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Установлено" diff --git a/csync/CMakeLists.txt b/csync/CMakeLists.txt index d34926c59..2d4b94f2a 100644 --- a/csync/CMakeLists.txt +++ b/csync/CMakeLists.txt @@ -28,7 +28,6 @@ include(ConfigureChecks.cmake) set(SOURCE_DIR ${CMAKE_SOURCE_DIR}) -set(BIN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") include_directories(${CMAKE_CURRENT_BINARY_DIR}) @@ -41,7 +40,7 @@ endif (MEM_NULL_TESTS) add_subdirectory(src) if (UNIT_TESTING) - set(WITH_UNIT_TESTING ON) + set(WITH_TESTING ON) find_package(CMocka) if (CMOCKA_FOUND) diff --git a/csync/config_csync.h.cmake b/csync/config_csync.h.cmake index c42eb1045..155329bbd 100644 --- a/csync/config_csync.h.cmake +++ b/csync/config_csync.h.cmake @@ -26,4 +26,4 @@ #cmakedefine HAVE___MINGW_ASPRINTF 1 #cmakedefine HAVE_ASPRINTF 1 -#cmakedefine WITH_UNIT_TESTING 1 +#cmakedefine WITH_TESTING 1 diff --git a/csync/src/csync_exclude.c b/csync/src/csync_exclude.c index bf636c3de..e125b3346 100644 --- a/csync/src/csync_exclude.c +++ b/csync/src/csync_exclude.c @@ -45,7 +45,7 @@ #define CSYNC_LOG_CATEGORY_NAME "csync.exclude" #include "csync_log.h" -#ifndef WITH_UNIT_TESTING +#ifndef WITH_TESTING static #endif int _csync_exclude_add(c_strlist_t **inList, const char *string) { diff --git a/csync/src/csync_exclude.h b/csync/src/csync_exclude.h index f9f26547d..ae49bbd8d 100644 --- a/csync/src/csync_exclude.h +++ b/csync/src/csync_exclude.h @@ -36,7 +36,7 @@ enum csync_exclude_type_e { }; typedef enum csync_exclude_type_e CSYNC_EXCLUDE_TYPE; -#ifdef WITH_UNIT_TESTING +#ifdef WITH_TESTING int OCSYNC_EXPORT _csync_exclude_add(c_strlist_t **inList, const char *string); #endif diff --git a/csync/src/csync_private.h b/csync/src/csync_private.h index f204107d2..48875d20e 100644 --- a/csync/src/csync_private.h +++ b/csync/src/csync_private.h @@ -89,7 +89,7 @@ struct csync_s { /* hooks for checking the white list (uses the update_callback_userdata) */ int (*checkSelectiveSyncBlackListHook)(void*, const char*); - int (*checkSelectiveSyncNewFolderHook)(void*, const char*); + int (*checkSelectiveSyncNewFolderHook)(void*, const char* /* path */, const char* /* remotePerm */); csync_vio_opendir_hook remote_opendir_hook; @@ -207,7 +207,7 @@ __attribute__ ((packed)) #endif ; -void csync_file_stat_free(csync_file_stat_t *st); +OCSYNC_EXPORT void csync_file_stat_free(csync_file_stat_t *st); /* * context for the treewalk function diff --git a/csync/src/csync_statedb.h b/csync/src/csync_statedb.h index 4aabe0b48..601e34a1b 100644 --- a/csync/src/csync_statedb.h +++ b/csync/src/csync_statedb.h @@ -56,17 +56,15 @@ int csync_get_statedb_exists(CSYNC *ctx); * * @return 0 on success, less than 0 if an error occurred with errno set. */ -int csync_statedb_load(CSYNC *ctx, const char *statedb, sqlite3 **pdb); +OCSYNC_EXPORT int csync_statedb_load(CSYNC *ctx, const char *statedb, sqlite3 **pdb); -int csync_statedb_close(CSYNC *ctx); +OCSYNC_EXPORT int csync_statedb_close(CSYNC *ctx); -csync_file_stat_t *csync_statedb_get_stat_by_hash(CSYNC *ctx, uint64_t phash); +OCSYNC_EXPORT csync_file_stat_t *csync_statedb_get_stat_by_hash(CSYNC *ctx, uint64_t phash); -csync_file_stat_t *csync_statedb_get_stat_by_inode(CSYNC *ctx, uint64_t inode); +OCSYNC_EXPORT csync_file_stat_t *csync_statedb_get_stat_by_inode(CSYNC *ctx, uint64_t inode); -csync_file_stat_t *csync_statedb_get_stat_by_file_id(CSYNC *ctx, const char *file_id); - -char *csync_statedb_get_etag(CSYNC *ctx, uint64_t jHash); +OCSYNC_EXPORT csync_file_stat_t *csync_statedb_get_stat_by_file_id(CSYNC *ctx, const char *file_id); /** * @brief Query all files metadata inside and below a path. diff --git a/csync/src/csync_update.c b/csync/src/csync_update.c index 2ac248d15..66c8e965c 100644 --- a/csync/src/csync_update.c +++ b/csync/src/csync_update.c @@ -436,7 +436,7 @@ static int _csync_detect_update(CSYNC *ctx, const char *file, st->instruction = CSYNC_INSTRUCTION_NEW; if (fs->type == CSYNC_VIO_FILE_TYPE_DIRECTORY && ctx->current == REMOTE_REPLICA && ctx->callbacks.checkSelectiveSyncNewFolderHook) { - if (ctx->callbacks.checkSelectiveSyncNewFolderHook(ctx->callbacks.update_callback_userdata, path)) { + if (ctx->callbacks.checkSelectiveSyncNewFolderHook(ctx->callbacks.update_callback_userdata, path, fs->remotePerm)) { csync_file_stat_free(st); return 1; } diff --git a/doc/architecture.rst b/doc/architecture.rst index 2e31bb575..d8e6319af 100644 --- a/doc/architecture.rst +++ b/doc/architecture.rst @@ -132,11 +132,16 @@ changed and no synchronization occurs. In the event a file has changed on both the local and the remote repository since the last sync run, it can not easily be decided which version of the file is the one that should be used. However, changes to any side will not be lost. Instead, -a *conflict case* is created. The client resolves this conflict by creating a -conflict file of the older of the two files and saving the newer file under the -original file name. Conflict files are always created on the client and never -on the server. The conflict file uses the same name as the original file, but -is appended with the timestamp of the conflict detection. +a *conflict case* is created. The client resolves this conflict by renaming the +local file, appending a conflict label and timestamp, and saving the remote file +under the original file name. + +Example: Assume there is a conflict in message.txt because its contents have +changed both locally and remotely since the last sync run. The local file with +the local changes will be renamed to message_conflict-20160101-153110.txt and +the remote file will be downloaded and saved as message.txt. + +Conflict files are always created on the client and never on the server. .. _ignored-files-label: @@ -153,8 +158,7 @@ By default, the ownCloud Client ignores the following files: * Files matched by one of the patterns defined in the Ignored Files Editor * Files containing characters that do not work on certain file systems ``(`\, /, :, ?, *, ", >, <, |`)``. -* Files starting with ``._sync_xxxxxxx.db`` and the old format ``.csync_journal.db``, -as these files are reserved for journalling. +* Files starting with ``._sync_xxxxxxx.db`` and the old format ``.csync_journal.db``, as these files are reserved for journalling. If a pattern selected using a checkbox in the `ignoredFilesEditor-label` (or if a line in the exclude file starts with the character ``]`` directly followed by @@ -163,12 +167,12 @@ data*. These files are ignored and *removed* by the client if found in the synchronized folder. This is suitable for meta files created by some applications that have no sustainable meaning. -If a pattern ends with the forwardslash (``/``) character, only directories are +If a pattern ends with the forward slash (``/``) character, only directories are matched. The pattern is only applied for directory components of filenames selected using the checkbox. -To match filenames against the exclude patterns, the unix standard C library -function fnmatch is used. This process checks the filename against the +To match filenames against the exclude patterns, the UNIX standard C library +function ``fnmatch`` is used. This process checks the filename against the specified pattern using standard shell wildcard pattern matching. For more information, please refer to `The opengroup website `_. @@ -207,9 +211,9 @@ In the communication between client and server a couple of custom WebDAV propert were introduced. They are either needed for sync functionality or help have a positive effect on synchronization performance. -This chapter describes additional xml elements which the server returns in response +This chapter describes additional XML elements which the server returns in response to a successful PROPFIND request on a file or directory. The elements are returned in -the namespace oc. +the namespace ``oc``. Server Side Permissions ------------------------ @@ -218,27 +222,27 @@ The XML element ```` represents the permission- and sharing stat item. It is a list of characters, and each of the chars has a meaning as outlined in the table below: -+----+----------------+-------------------------------------------+ -|Code| Resource | Description | -+----+----------------+-------------------------------------------+ -| S | File or Folder | is shared | -+----+----------------+-------------------------------------------+ -| R | File or Folder | can share (includes reshare) | -+----+----------------+-------------------------------------------+ -| M | File or Folder | is mounted (like on DropBox, Samba, etc.) | -+----+----------------+-------------------------------------------+ -| W | File | can write file | -+----+----------------+-------------------------------------------+ -| C | Folder |can create file in folder | -+----+----------------+-------------------------------------------+ -| K | Folder | can create folder (mkdir) | -+----+----------------+-------------------------------------------+ -| D | File or Folder |can delete file or folder | -+----+----------------+-------------------------------------------+ -| N | File or Folder | can rename file or folder | -+----+----------------+-------------------------------------------+ -| V | File or Folder | can move file or folder | -+----+----------------+-------------------------------------------+ ++------+----------------+-------------------------------------------+ +| Code | Resource | Description | ++------+----------------+-------------------------------------------+ +| S | File or Folder | is shared | ++------+----------------+-------------------------------------------+ +| R | File or Folder | can share (includes re-share) | ++------+----------------+-------------------------------------------+ +| M | File or Folder | is mounted (like on Dropbox, Samba, etc.) | ++------+----------------+-------------------------------------------+ +| W | File | can write file | ++------+----------------+-------------------------------------------+ +| C | Folder | can create file in folder | ++------+----------------+-------------------------------------------+ +| K | Folder | can create folder (mkdir) | ++------+----------------+-------------------------------------------+ +| D | File or Folder | can delete file or folder | ++------+----------------+-------------------------------------------+ +| N | File or Folder | can rename file or folder | ++------+----------------+-------------------------------------------+ +| V | File or Folder | can move file or folder | ++------+----------------+-------------------------------------------+ Example: diff --git a/doc/autoupdate.rst b/doc/autoupdate.rst index b0085e4f6..ad0ff0340 100644 --- a/doc/autoupdate.rst +++ b/doc/autoupdate.rst @@ -59,7 +59,7 @@ the auto-updater entirely. The following sections describe how to disable the auto-update mechanism for different operating systems. Preventing Automatic Updates in Windows Environments -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Users may disable automatic updates by adding this line to the [General] section of their ``owncloud.cfg`` files:: diff --git a/doc/building.rst b/doc/building.rst index 7001e4956..a5bf9b2c0 100644 --- a/doc/building.rst +++ b/doc/building.rst @@ -77,25 +77,29 @@ To set up your build environment for development using HomeBrew_: brew tap owncloud/owncloud -5. Install any missing dependencies:: +5. Install a Qt5 version with qtwebkit support:: + + brew install qt5 --with-qtwebkit + +6. Install any missing dependencies:: brew install $(brew deps owncloud-client) -3. Add Qt from brew to the path:: +7. Add Qt from brew to the path:: export PATH=/usr/local/Cellar/qt5/5.x.y/bin:$PATH - Where ``x.z`` is the current version of Qt 5 that brew has installed + Where ``x.y`` is the current version of Qt 5 that brew has installed on your machine. -4. Install qtkeychain from here: git clone https://github.com/frankosterfeld/qtkeychain.git +8. Install qtkeychain from here: git clone https://github.com/frankosterfeld/qtkeychain.git make sure you make the same install prefix as later while building the client e.g. - ``DCMAKE_INSTALL_PREFIX=/Path/to/client-install`` -5. For compilation of the client, follow the :ref:`generic-build-instructions`. +9. For compilation of the client, follow the :ref:`generic-build-instructions`. -6. Install the Packages_ package creation tool. +10. Install the Packages_ package creation tool. -7. In the build directory, run ``admin/osx/create_mac.sh +11. In the build directory, run ``admin/osx/create_mac.sh ``. If you have a developer signing certificate, you can specify its Common Name as a third parameter (use quotes) to have the package signed automatically. @@ -106,7 +110,7 @@ To set up your build environment for development using HomeBrew_: work correctly. Windows Development Build ------------------------ +------------------------- If you want to test some changes and deploy them locally, you can build natively on Windows using MinGW. If you want to generate an installer for deployment, please @@ -206,7 +210,7 @@ In order to make setup simple, you can use the provided Dockerfile to build your -in ${unsigned_file} \ -out ${installer_file} - for ``-in``, use the URL to the time stamping server provided by your CA along with the Authenticode certificate. Alternatively, + For ``-in``, use the URL to the time stamping server provided by your CA along with the Authenticode certificate. Alternatively, you may use the official Microsoft ``signtool`` utility on Microsoft Windows. If you're familiar with docker, you can use the version of ``osslsigncode`` that is part of the docker image. diff --git a/doc/introduction.rst b/doc/introduction.rst index 83783b36b..fe420d9ce 100644 --- a/doc/introduction.rst +++ b/doc/introduction.rst @@ -29,5 +29,5 @@ improvements. (See the `complete changelog * 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 - \ No newline at end of file + * Packaging of dolphin overlay icon module for bleeding edge distributions + diff --git a/doc/navigating.rst b/doc/navigating.rst index 4c899934a..c136b07b4 100644 --- a/doc/navigating.rst +++ b/doc/navigating.rst @@ -236,7 +236,7 @@ also to limit download and upload bandwidth. .. figure:: images/settings_network.png -.. _ignoredFilesEditor-label: +.. _usingIgnoredFilesEditor-label: Using the Ignored Files Editor ------------------------------ diff --git a/doc/options.rst b/doc/options.rst index 037f29b29..1aab3d08d 100644 --- a/doc/options.rst +++ b/doc/options.rst @@ -25,4 +25,6 @@ The other options are: Clears (flushes) the log file after each write action. ``--confdir`` `` - Uses the specified configuration directory. \ No newline at end of file + Uses the specified configuration directory. + + diff --git a/doc/owncloudcmd.1.rst b/doc/owncloudcmd.1.rst index b00c77199..573b0d1f1 100644 --- a/doc/owncloudcmd.1.rst +++ b/doc/owncloudcmd.1.rst @@ -60,7 +60,7 @@ OPTIONS Exclude list file ``--unsyncedfolders [file]`` - File containing the list of unsynced folders (selective sync) + File containing the list of un-synced folders (selective sync) ``--max-sync-retries [n]`` Retries maximum n times (defaults to 3) diff --git a/doc/owncloudcmd.rst b/doc/owncloudcmd.rst index 794b74089..74c97de31 100644 --- a/doc/owncloudcmd.rst +++ b/doc/owncloudcmd.rst @@ -49,7 +49,7 @@ Other command line switches supported by ``owncloudcmd`` include the following: Exclude list file ``--unsyncedfolders [file]`` - File containing the list of unsynced remote folders (selective sync) + File containing the list of un-synced remote folders (selective sync) ``--max-sync-retries [n]`` Retries maximum n times (defaults to 3) diff --git a/doc/troubleshooting.rst b/doc/troubleshooting.rst index f30995cbe..edf149516 100644 --- a/doc/troubleshooting.rst +++ b/doc/troubleshooting.rst @@ -27,7 +27,7 @@ Identifying Basic Functionality Problems misconfiguration of the WebDAV API. The ownCloud Client uses the built-in WebDAV access of the server content. - Verify that you can log on to ownClouds WebDAV server. To verify connectivity + Verify that you can log on to ownCloud's WebDAV server. To verify connectivity with the ownCloud WebDAV server: - Open a browser window and enter the address to the ownCloud WebDAV server. @@ -50,6 +50,21 @@ Identifying Basic Functionality Problems As an example, after installing the ``cadaver`` app, you can issue the ``propget`` command to obtain various properties pertaining to the current directory and also verify WebDAV server connection. + +"CSync unknown error" +--------------------- + +If you see this error message stop your client, delete the +``.csync_journal.db`` file, and then restart your client. +There is a ``.csync_journal.db`` file inside the folder of every account +configured on your client. + +.. NOTE:: + Please note that this will also erase some of your settings about which + files to download. + +See https://github.com/owncloud/client/issues/5226 for more discussion of this +issue. Isolating other issues @@ -63,17 +78,17 @@ Other issues can affect synchronization of your ownCloud files: - Synchronizing the same directory with ownCloud and other synchronization software such as Unison, rsync, Microsoft Windows Offline Folders, or other - cloud services such as DropBox or Microsoft SkyDrive is not supported and + cloud services such as Dropbox or Microsoft SkyDrive is not supported and should not be attempted. In the worst case, it is possible that synchronizing folders or files using ownCloud and other synchronization software or services can result in data loss. -- If you find that only specific files are not synrchronized, the +- If you find that only specific files are not synchronized, the synchronization protocol might be having an effect. Some files are automatically ignored because they are system files, other files might be ignored because their filename contains characters that are not supported on certain file systems. For more information about ignored files, see - :ref:`_ignored-files-label`. + :ref:`ignored-files-label`. - If you are operating your own server, and use the local storage backend (the default), make sure that ownCloud has exclusive access to the directory. @@ -119,7 +134,7 @@ To obtain the client log file: 5. Name the log file and click the 'Save' button. - The log file is saved in the location specifed. + The log file is saved in the location specified. Alternatively, you can launch the ownCloud Log Output window using the ``--logwindow`` command. After issuing this command, the Log Output window @@ -182,7 +197,7 @@ directly from the file system in the ownCloud server data directory. Webserver Log Files ~~~~~~~~~~~~~~~~~~~ -It can be helpful to view your webservers error log file to isolate any +It can be helpful to view your webserver's error log file to isolate any ownCloud-related problems. For Apache on Linux, the error logs are typically located in the ``/var/log/apache2`` directory. Some helpful files include the following: diff --git a/doc/visualtour.rst b/doc/visualtour.rst index c51da8109..f3a9402cb 100644 --- a/doc/visualtour.rst +++ b/doc/visualtour.rst @@ -61,7 +61,7 @@ Where: desired. * ``Storage Usage``: Provides further details on the storage utilization on the ownCloud server. -* ``Edit Ignored Files``: Provides a list of files which will be ignored, i.e. +* ``Edit Ignored Files``: Provides a list of files which will be ignored, i.e., will not sync between the client and server. The ignored files editor allows adding patterns for files or directories that should be excluded from the sync process. Besides normal characters, wild cards may be used, an asterisk @@ -124,7 +124,7 @@ The tab provides several useful options: :scale: 50 % * ``Launch on System Startup``: This option is automatically activated - once a user has conimaged his account. Unchecking the box will cause + once a user has conimaged his account. Un-checking the box will cause ownCloud client to not launch on startup for a particular user. * ``Show Desktop Nofications``: When checked, bubble notifications when a set of sync operations has been performed are provided. diff --git a/issue_template.md b/issue_template.md index 3747d5917..834d89e54 100644 --- a/issue_template.md +++ b/issue_template.md @@ -37,6 +37,10 @@ Operating system: OS language: +Qt version used by client package (Linux only, see also Settings dialog): + +Client package (From ownCloud or distro) (Linux only): + Installation path of client: ### Logs diff --git a/mirall.desktop.in b/mirall.desktop.in index e24dc4e15..71bd6dd60 100644 --- a/mirall.desktop.in +++ b/mirall.desktop.in @@ -640,6 +640,99 @@ X-GNOME-Autostart-Delay=3 # Translations +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + +# Translations + + # Translations Comment[oc]=@APPLICATION_NAME@ sincronizacion del client GenericName[oc]=Dorsièr de Sincronizacion @@ -665,7 +758,9 @@ Comment[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント GenericName[ja_JP]=フォルダー同期 Name[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント Icon[ja_JP]=@APPLICATION_EXECUTABLE@ +Comment[el]=@ΟΝΟΜΑ_ΕΦΑΡΜΟΓΗΣ@ συγχρονισμός επιφάνειας εργασίας πελάτη GenericName[el]=Συγχρονισμός φακέλου +Name[el]=@ΟΝΟΜΑ_ΕΦΑΡΜΟΓΗΣ@ συγχρονισμός επιφάνειας εργασίας πελάτη Icon[el]=@APPLICATION_EXECUTABLE@ Comment[en_GB]=@APPLICATION_NAME@ desktop synchronisation client GenericName[en_GB]=Folder Sync @@ -679,10 +774,13 @@ 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[pl]=@APPLICATION_NAME@ klient synchronizacji dla komputerów stacjonarnych -GenericName[pl]=Folder Synchronizacji -Name[pl]=@APPLICATION_NAME@ klient synchronizacji dla komputerów stacjonarnych -Icon[pl]=@APPLICATION_EXECUTABLE@ +Comment[bg_BG]=@APPLICATION_NAME@ клиент за десктоп синхронизация +GenericName[bg_BG]=Синхронизиране на папката +Name[bg_BG]=@APPLICATION_NAME@ клиент десктоп синхронизация +Icon[bg_BG]=@APPLICATION_EXECUTABLE@ +GenericName[fa]=همسان سازی پوشه‌ها +Name[fa]=@APPLICATION_EXECUTABLE@ نسخه‌ی همسان سازی مشتری +Icon[fa]=@APPLICATION_EXECUTABLE@ Comment[fr]=@APPLICATION_NAME@ synchronisation du client GenericName[fr]=Dossier de Synchronisation Name[fr]=@APPLICATION_NAME@ synchronisation du client @@ -691,6 +789,10 @@ Comment[he]=@APPLICATION_NAME@ לקוח סנכון שולחן עבודה GenericName[he]=סנכון תיקייה Name[he]=@APPLICATION_NAME@ לקוח סנכרון שולחן עבודה Icon[he]=@APPLICATION_EXECUTABLE@ +Comment[ia]=@APPLICATION_NAME@ cliente de synchronisation pro scriptorio +GenericName[ia]=Synchronisar Dossier +Name[ia]=@APPLICATION_NAME@ cliente de synchronisation pro scriptorio +Icon[ia]=@APPLICATION_EXECUTABLE@ Comment[id]=Klien sinkronisasi desktop @APPLICATION_NAME@ GenericName[id]=Folder Sync Name[id]=Klien sync desktop @APPLICATION_NAME@ @@ -718,10 +820,10 @@ Comment[et_EE]=@APPLICATION_NAME@ sünkroonimise klient töölauale GenericName[et_EE]=Kaustade sünkroonimine Name[et_EE]=@APPLICATION_NAME@ sünkroonimise klient töölauale Icon[et_EE]=@APPLICATION_EXECUTABLE@ -Comment[bg_BG]=@APPLICATION_NAME@ клиент за десктоп синхронизация -GenericName[bg_BG]=Синхронизиране на папката -Name[bg_BG]=@APPLICATION_NAME@ клиент десктоп синхронизация -Icon[bg_BG]=@APPLICATION_EXECUTABLE@ +Comment[pl]=@APPLICATION_NAME@ klient synchronizacji dla komputerów stacjonarnych +GenericName[pl]=Folder Synchronizacji +Name[pl]=@APPLICATION_NAME@ klient synchronizacji dla komputerów stacjonarnych +Icon[pl]=@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 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b28797702..4a7d756d4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,7 +1,6 @@ # TODO: OSX and LIB_ONLY seem to require this to go to binary dir only if(NOT TOKEN_AUTH_ONLY) endif() -set(BIN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") set(synclib_NAME ${APPLICATION_EXECUTABLE}sync) diff --git a/src/cmd/CMakeLists.txt b/src/cmd/CMakeLists.txt index 8240cdeb2..4a0d76d71 100644 --- a/src/cmd/CMakeLists.txt +++ b/src/cmd/CMakeLists.txt @@ -1,8 +1,6 @@ project(cmd) set(CMAKE_AUTOMOC TRUE) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") - set(cmd_NAME ${APPLICATION_EXECUTABLE}cmd) set(cmd_SRC cmd.cpp diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 733c1fb8d..8f2967466 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -3,8 +3,6 @@ set(CMAKE_AUTOMOC TRUE) add_subdirectory(updater) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") - #TODO Move resources files qt_add_resources(MIRALL_RC_SRC ../../client.qrc) if ( IS_DIRECTORY ${OEM_THEME_DIR} ) diff --git a/src/gui/accountmanager.cpp b/src/gui/accountmanager.cpp index ac804b0fc..84ad5d4a5 100644 --- a/src/gui/accountmanager.cpp +++ b/src/gui/accountmanager.cpp @@ -46,11 +46,17 @@ AccountManager *AccountManager::instance() bool AccountManager::restore() { auto settings = Utility::settingsWithGroup(QLatin1String(accountsC)); + if (settings->status() != QSettings::NoError) { + qDebug() << "Could not read settings from" << settings->fileName() + << settings->status(); + return false; + } // If there are no accounts, check the old format. if (settings->childGroups().isEmpty() && !settings->contains(QLatin1String(versionC))) { - return restoreFromLegacySettings(); + restoreFromLegacySettings(); + return true; } foreach (const auto& accountId, settings->childGroups()) { @@ -69,6 +75,9 @@ bool AccountManager::restore() bool AccountManager::restoreFromLegacySettings() { + qDebug() << "Migrate: restoreFromLegacySettings, checking settings group" + << Theme::instance()->appName(); + // try to open the correctly themed settings auto settings = Utility::settingsWithGroup(Theme::instance()->appName()); @@ -86,7 +95,7 @@ bool AccountManager::restoreFromLegacySettings() QFileInfo fi( oCCfgFile ); if( fi.isReadable() ) { - QSettings *oCSettings = new QSettings(oCCfgFile, QSettings::IniFormat); + std::unique_ptr oCSettings(new QSettings(oCCfgFile, QSettings::IniFormat)); oCSettings->beginGroup(QLatin1String("ownCloud")); // Check the theme url to see if it is the same url that the oC config was for @@ -101,9 +110,7 @@ bool AccountManager::restoreFromLegacySettings() qDebug() << "Migrate oC config if " << oCUrl << " == " << overrideUrl << ":" << (oCUrl == overrideUrl ? "Yes" : "No"); if( oCUrl == overrideUrl ) { - settings.reset( oCSettings ); - } else { - delete oCSettings; + settings = std::move(oCSettings); } } } @@ -196,8 +203,8 @@ void AccountManager::saveAccountHelper(Account* acc, QSettings& settings, bool s if (acc->_am) { CookieJar* jar = qobject_cast(acc->_am->cookieJar()); if (jar) { - qDebug() << "Saving cookies."; - jar->save(); + qDebug() << "Saving cookies." << acc->cookieJarPath(); + jar->save(acc->cookieJarPath()); } } } @@ -289,6 +296,8 @@ void AccountManager::deleteAccount(AccountState* account) auto copy = *it; // keep a reference to the shared pointer so it does not delete it just yet _accounts.erase(it); + QFile::remove(account->account()->cookieJarPath()); + auto settings = Utility::settingsWithGroup(QLatin1String(accountsC)); settings->remove(account->account()->id()); diff --git a/src/gui/accountmanager.h b/src/gui/accountmanager.h index 70a625da1..2dcb9c88d 100644 --- a/src/gui/accountmanager.h +++ b/src/gui/accountmanager.h @@ -36,7 +36,9 @@ public: /** * Creates account objects from a given settings file. - * return true if the account was restored + * + * Returns false if there was an error reading the settings, + * but note that settings not existing is not an error. */ bool restore(); diff --git a/src/gui/accountsettings.cpp b/src/gui/accountsettings.cpp index cceba75ba..0fb32cfbf 100644 --- a/src/gui/accountsettings.cpp +++ b/src/gui/accountsettings.cpp @@ -675,8 +675,13 @@ void AccountSettings::refreshSelectiveSyncStatus() ui->selectiveSyncButtons->setVisible(true); ui->bigFolderUi->setVisible(false); } else { - QString wholeMsg = tr("There are new folders that were not synchronized because they are too big: ") + msg; - ui->selectiveSyncNotification->setText(wholeMsg); + ConfigFile cfg; + QString info = + !cfg.confirmExternalStorage() ? tr("There are folders that were not synchronized because they are too big: ") : + !cfg.newBigFolderSizeLimit().first ? tr("There are folders that were not synchronized because they are external storages: ") : + tr("There are folders that were not synchronized because they are too big or external storages: "); + + ui->selectiveSyncNotification->setText(info + msg); ui->selectiveSyncButtons->setVisible(false); ui->bigFolderUi->setVisible(true); shouldBeVisible = true; diff --git a/src/gui/application.cpp b/src/gui/application.cpp index d67a0537c..d8c8b6fd4 100644 --- a/src/gui/application.cpp +++ b/src/gui/application.cpp @@ -156,7 +156,23 @@ Application::Application(int &argc, char **argv) : connect(this, SIGNAL(messageReceived(QString, QObject*)), SLOT(slotParseMessage(QString, QObject*))); - AccountManager::instance()->restore(); + if (!AccountManager::instance()->restore()) { + // If there is an error reading the account settings, try again + // after a couple of seconds, if that fails, give up. + // (non-existence is not an error) + Utility::sleep(5); + if (!AccountManager::instance()->restore()) { + qDebug() << "Could not read the account settings, quitting"; + QMessageBox::critical( + 0, + tr("Error accessing the configuration file"), + tr("There was an error while accessing the configuration " + "file at %1.").arg(ConfigFile().configFile()), + tr("Quit ownCloud")); + QTimer::singleShot(0, qApp, SLOT(quit())); + return; + } + } FolderMan::instance()->setSyncEnabled(true); diff --git a/src/gui/creds/shibbolethcredentials.cpp b/src/gui/creds/shibbolethcredentials.cpp index 5d0b21c25..664294b2e 100644 --- a/src/gui/creds/shibbolethcredentials.cpp +++ b/src/gui/creds/shibbolethcredentials.cpp @@ -130,7 +130,7 @@ void ShibbolethCredentials::fetchFromKeychain() ReadPasswordJob *job = new ReadPasswordJob(Theme::instance()->appName()); job->setSettings(Utility::settingsWithGroup(Theme::instance()->appName(), job).release()); job->setInsecureFallback(false); - job->setKey(keychainKey(_account->url().toString(), "shibAssertion")); + job->setKey(keychainKey(_account->url().toString(), user())); connect(job, SIGNAL(finished(QKeychain::Job*)), SLOT(slotReadJobDone(QKeychain::Job*))); job->start(); } @@ -309,7 +309,7 @@ void ShibbolethCredentials::storeShibCookie(const QNetworkCookie &cookie) job->setSettings(Utility::settingsWithGroup(Theme::instance()->appName(), job).release()); // we don't really care if it works... //connect(job, SIGNAL(finished(QKeychain::Job*)), SLOT(slotWriteJobDone(QKeychain::Job*))); - job->setKey(keychainKey(_account->url().toString(), "shibAssertion")); + job->setKey(keychainKey(_account->url().toString(), user())); job->setTextData(QString::fromUtf8(cookie.toRawForm())); job->start(); } @@ -318,7 +318,7 @@ void ShibbolethCredentials::removeShibCookie() { DeletePasswordJob *job = new DeletePasswordJob(Theme::instance()->appName()); job->setSettings(Utility::settingsWithGroup(Theme::instance()->appName(), job).release()); - job->setKey(keychainKey(_account->url().toString(), "shibAssertion")); + job->setKey(keychainKey(_account->url().toString(), user())); job->start(); } diff --git a/src/gui/folder.cpp b/src/gui/folder.cpp index 24ed2cc1c..4eae28f67 100644 --- a/src/gui/folder.cpp +++ b/src/gui/folder.cpp @@ -52,9 +52,7 @@ Folder::Folder(const FolderDefinition& definition, : QObject(parent) , _accountState(accountState) , _definition(definition) - , _csyncError(false) , _csyncUnavail(false) - , _wipeDb(false) , _proxyDirty(true) , _lastSyncDuration(0) , _consecutiveFailingSyncs(0) @@ -87,8 +85,6 @@ Folder::Folder(const FolderDefinition& definition, connect(_accountState.data(), SIGNAL(isConnectedChanged()), this, SIGNAL(canSyncChanged())); connect(_engine.data(), SIGNAL(rootEtag(QString)), this, SLOT(etagRetreivedFromSyncEngine(QString))); - connect(_engine.data(), SIGNAL(treeWalkResult(const SyncFileItemVector&)), - this, SLOT(slotThreadTreeWalkResult(const SyncFileItemVector&)), Qt::QueuedConnection); connect(_engine.data(), SIGNAL(started()), SLOT(slotSyncStarted()), Qt::QueuedConnection); connect(_engine.data(), SIGNAL(finished(bool)), SLOT(slotSyncFinished(bool)), Qt::QueuedConnection); @@ -102,9 +98,10 @@ Folder::Folder(const FolderDefinition& definition, SLOT(slotAboutToRestoreBackup(bool*))); connect(_engine.data(), SIGNAL(folderDiscovered(bool,QString)), this, SLOT(slotFolderDiscovered(bool,QString))); connect(_engine.data(), SIGNAL(transmissionProgress(ProgressInfo)), this, SLOT(slotTransmissionProgress(ProgressInfo))); - connect(_engine.data(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &)), - this, SLOT(slotItemCompleted(const SyncFileItem &, const PropagatorJob &))); - connect(_engine.data(), SIGNAL(newBigFolder(QString)), this, SLOT(slotNewBigFolderDiscovered(QString))); + connect(_engine.data(), SIGNAL(itemCompleted(const SyncFileItemPtr &)), + this, SLOT(slotItemCompleted(const SyncFileItemPtr &))); + connect(_engine.data(), SIGNAL(newBigFolder(QString,bool)), + this, SLOT(slotNewBigFolderDiscovered(QString,bool))); connect(_engine.data(), SIGNAL(seenLockedFile(QString)), FolderMan::instance(), SLOT(slotSyncOnceFileUnlocks(QString))); connect(_engine.data(), SIGNAL(aboutToPropagate(SyncFileItemVector&)), SLOT(slotLogPropagationStart())); @@ -138,13 +135,13 @@ void Folder::checkLocalPath() } else { // Check directory again if( !FileSystem::fileExists(_definition.localPath, fi) ) { - _syncResult.setErrorString(tr("Local folder %1 does not exist.").arg(_definition.localPath)); + _syncResult.appendErrorString(tr("Local folder %1 does not exist.").arg(_definition.localPath)); _syncResult.setStatus( SyncResult::SetupError ); } else if( !fi.isDir() ) { - _syncResult.setErrorString(tr("%1 should be a folder but is not.").arg(_definition.localPath)); + _syncResult.appendErrorString(tr("%1 should be a folder but is not.").arg(_definition.localPath)); _syncResult.setStatus( SyncResult::SetupError ); } else if( !fi.isReadable() ) { - _syncResult.setErrorString(tr("%1 is not readable.").arg(_definition.localPath)); + _syncResult.appendErrorString(tr("%1 is not readable.").arg(_definition.localPath)); _syncResult.setStatus( SyncResult::SetupError ); } } @@ -267,8 +264,8 @@ SyncResult Folder::syncResult() const void Folder::prepareToSync() { + _syncResult.reset(); _syncResult.setStatus( SyncResult::NotYetStarted ); - _syncResult.clearErrors(); } void Folder::slotRunEtagJob() @@ -322,120 +319,33 @@ void Folder::etagRetreivedFromSyncEngine(const QString& etag) } -void Folder::bubbleUpSyncResult() +void Folder::showSyncResultPopup() { - // count new, removed and updated items - int newItems = 0; - int removedItems = 0; - int updatedItems = 0; - int ignoredItems = 0; - int renamedItems = 0; - int conflictItems = 0; - int errorItems = 0; - - SyncFileItemPtr firstItemNew; - SyncFileItemPtr firstItemDeleted; - SyncFileItemPtr firstItemUpdated; - SyncFileItemPtr firstItemRenamed; - SyncFileItemPtr firstConflictItem; - SyncFileItemPtr firstItemError; - - QElapsedTimer timer; - timer.start(); - - foreach (const SyncFileItemPtr &item, _syncResult.syncFileItemVector() ) { - // Process the item to the gui - if( item->_status == SyncFileItem::FatalError || item->_status == SyncFileItem::NormalError ) { - //: this displays an error string (%2) for a file %1 - slotSyncError( tr("%1: %2").arg(item->_file, item->_errorString) ); - errorItems++; - if (!firstItemError) { - firstItemError = item; - } - } else if( item->_status == SyncFileItem::FileIgnored ) { - // ignored files don't show up in notifications - continue; - } else if( item->_status == SyncFileItem::Conflict ) { - conflictItems++; - if (!firstConflictItem) { - firstConflictItem = item; - } - } else { - // add new directories or remove gone away dirs to the watcher - if (item->_isDirectory && item->_instruction == CSYNC_INSTRUCTION_NEW ) { - FolderMan::instance()->addMonitorPath( alias(), path()+item->_file ); - } - if (item->_isDirectory && item->_instruction == CSYNC_INSTRUCTION_REMOVE ) { - FolderMan::instance()->removeMonitorPath( alias(), path()+item->_file ); - } - - if (!item->hasErrorStatus() && item->_direction == SyncFileItem::Down) { - switch (item->_instruction) { - case CSYNC_INSTRUCTION_NEW: - case CSYNC_INSTRUCTION_TYPE_CHANGE: - newItems++; - if (!firstItemNew) - firstItemNew = item; - break; - case CSYNC_INSTRUCTION_REMOVE: - removedItems++; - if (!firstItemDeleted) - firstItemDeleted = item; - break; - case CSYNC_INSTRUCTION_SYNC: - updatedItems++; - if (!firstItemUpdated) - firstItemUpdated = item; - break; - case CSYNC_INSTRUCTION_ERROR: - qDebug() << "Got Instruction ERROR. " << _syncResult.errorString(); - break; - case CSYNC_INSTRUCTION_RENAME: - if (!firstItemRenamed) { - firstItemRenamed = item; - } - renamedItems++; - break; - default: - // nothing. - break; - } - } else if( item->_direction == SyncFileItem::None ) { // ignored files counting. - if( item->_instruction == CSYNC_INSTRUCTION_IGNORE ) { - ignoredItems++; - } - } - } + if( _syncResult.firstItemNew() ) { + createGuiLog( _syncResult.firstItemNew()->_file, LogStatusNew, _syncResult.numNewItems() ); + } + if( _syncResult.firstItemDeleted() ) { + createGuiLog( _syncResult.firstItemDeleted()->_file, LogStatusRemove, _syncResult.numRemovedItems() ); + } + if( _syncResult.firstItemUpdated() ) { + createGuiLog( _syncResult.firstItemUpdated()->_file, LogStatusUpdated, _syncResult.numUpdatedItems() ); } - qDebug() << "Processing result list and logging took " << timer.elapsed() << " Milliseconds."; - _syncResult.setWarnCount(ignoredItems); - - if( firstItemNew ) { - createGuiLog( firstItemNew->_file, LogStatusNew, newItems ); - } - if( firstItemDeleted ) { - createGuiLog( firstItemDeleted->_file, LogStatusRemove, removedItems ); - } - if( firstItemUpdated ) { - createGuiLog( firstItemUpdated->_file, LogStatusUpdated, updatedItems ); - } - - if( firstItemRenamed ) { + if( _syncResult.firstItemRenamed() ) { LogStatus status(LogStatusRename); // if the path changes it's rather a move - QDir renTarget = QFileInfo(firstItemRenamed->_renameTarget).dir(); - QDir renSource = QFileInfo(firstItemRenamed->_file).dir(); + QDir renTarget = QFileInfo(_syncResult.firstItemRenamed()->_renameTarget).dir(); + QDir renSource = QFileInfo(_syncResult.firstItemRenamed()->_file).dir(); if(renTarget != renSource) { status = LogStatusMove; } - createGuiLog( firstItemRenamed->_originalFile, status, renamedItems, firstItemRenamed->_renameTarget ); + createGuiLog( _syncResult.firstItemRenamed()->_originalFile, status, _syncResult.numRenamedItems(), _syncResult.firstItemRenamed()->_renameTarget ); } - if( firstConflictItem ) { - createGuiLog( firstConflictItem->_file, LogStatusConflict, conflictItems ); + if( _syncResult.firstConflictItem() ) { + createGuiLog( _syncResult.firstConflictItem()->_file, LogStatusConflict, _syncResult.numConflictItems() ); } - createGuiLog( firstItemError->_file, LogStatusError, errorItems ); + createGuiLog( _syncResult.firstItemError()->_file, LogStatusError, _syncResult.numErrorItems() ); qDebug() << "OO folder slotSyncFinished: result: " << int(_syncResult.status()); } @@ -574,12 +484,6 @@ void Folder::slotWatchedPathChanged(const QString& path) scheduleThisFolderSoon(); } -void Folder::slotThreadTreeWalkResult(const SyncFileItemVector& items) -{ - _syncResult.setSyncFileItemVector(items); -} - - void Folder::saveToSettings() const { // Remove first to make sure we don't get duplicates @@ -642,9 +546,6 @@ void Folder::slotTerminateSync() if( _engine->isSyncRunning() ) { _engine->abort(); - // Do not display an error message, user knows his own actions. - // _errors.append( tr("The CSync thread terminated.") ); - // _csyncError = true; setSyncState(SyncResult::SyncAbortRequested); } } @@ -692,10 +593,9 @@ bool Folder::setIgnoredFiles() // a QSet of files to load. ConfigFile cfg; QString systemList = cfg.excludeFile(ConfigFile::SystemScope); - if( QFile::exists(systemList) ) { - qDebug() << "==== adding system ignore list to csync:" << systemList; - _engine->excludedFiles().addExcludeFilePath(systemList); - } + qDebug() << "==== adding system ignore list to csync:" << systemList; + _engine->excludedFiles().addExcludeFilePath(systemList); + QString userList = cfg.excludeFile(ConfigFile::UserScope); if( QFile::exists(userList) ) { qDebug() << "==== adding user defined ignore list to csync:" << userList; @@ -726,19 +626,17 @@ void Folder::startSync(const QStringList &pathList) qCritical() << "* ERROR csync is still running and new sync requested."; return; } - _errors.clear(); - _csyncError = false; _csyncUnavail = false; _timeSinceLastSyncStart.restart(); - _syncResult.clearErrors(); _syncResult.setStatus( SyncResult::SyncPrepare ); - _syncResult.setSyncFileItemVector(SyncFileItemVector()); emit syncStateChange(); qDebug() << "*** Start syncing " << remoteUrl().toString() << " - client version" << qPrintable(Theme::instance()->version()); + _fileLog->start(path()); + if (!setIgnoredFiles()) { slotSyncError(tr("Could not read system exclude file")); @@ -748,15 +646,15 @@ void Folder::startSync(const QStringList &pathList) setDirtyNetworkLimits(); + SyncOptions opt; ConfigFile cfgFile; auto newFolderLimit = cfgFile.newBigFolderSizeLimit(); - quint64 limit = newFolderLimit.first ? newFolderLimit.second * 1000 * 1000 : -1; // convert from MB to B - _engine->setNewBigFolderSizeLimit(limit); + opt._newBigFolderSizeLimit = newFolderLimit.first ? newFolderLimit.second * 1000LL * 1000LL : -1; // convert from MB to B + opt._confirmExternalStorage = cfgFile.confirmExternalStorage(); + _engine->setSyncOptions(opt); _engine->setIgnoreHiddenFiles(_definition.ignoreHiddenFiles); - _fileLog->start(path()); - QMetaObject::invokeMethod(_engine.data(), "startSync", Qt::QueuedConnection); emit syncStarted(); @@ -787,8 +685,7 @@ void Folder::setDirtyNetworkLimits() void Folder::slotSyncError(const QString& err) { - _errors.append( err ); - _csyncError = true; + _syncResult.appendErrorString(err); } void Folder::slotSyncStarted() @@ -810,29 +707,26 @@ void Folder::slotSyncFinished(bool success) #if QT_VERSION >= QT_VERSION_CHECK(5,0,0) << " SSL " << QSslSocket::sslLibraryVersionString().toUtf8().data() #endif - ; + ; - - if( _csyncError ) { - qDebug() << "-> SyncEngine finished with ERROR, warn count is" << _syncResult.warnCount(); + bool syncError = !_syncResult.errorStrings().isEmpty(); + if( syncError ) { + qDebug() << "-> SyncEngine finished with ERROR"; } else { qDebug() << "-> SyncEngine finished without problem."; } _fileLog->finish(); - bubbleUpSyncResult(); + showSyncResultPopup(); auto anotherSyncNeeded = _engine->isAnotherSyncNeeded(); - if (_csyncError) { + if (syncError) { _syncResult.setStatus(SyncResult::Error); - qDebug() << " ** error Strings: " << _errors; - _syncResult.setErrorStrings( _errors ); qDebug() << " * owncloud csync thread finished with error"; } else if (_csyncUnavail) { _syncResult.setStatus(SyncResult::Error); qDebug() << " ** csync not available."; - } else if( _syncResult.warnCount() > 0 ) { - // there have been warnings on the way. + } else if( _syncResult.foundFilesNotSynced() ) { _syncResult.setStatus(SyncResult::Problem); } else if( _definition.paused ) { // Maybe the sync was terminated because the user paused the folder @@ -909,26 +803,28 @@ void Folder::slotFolderDiscovered(bool, QString folderName) // and hand the result over to the progress dispatcher. void Folder::slotTransmissionProgress(const ProgressInfo &pi) { - if( !pi.isUpdatingEstimates() ) { - // this is the beginning of a sync, set the warning level to 0 - _syncResult.setWarnCount(0); - } emit progressInfo(pi); ProgressDispatcher::instance()->setProgressInfo(alias(), pi); } // a item is completed: count the errors and forward to the ProgressDispatcher -void Folder::slotItemCompleted(const SyncFileItem &item, const PropagatorJob& job) +void Folder::slotItemCompleted(const SyncFileItemPtr &item) { - if (Progress::isWarningKind(item._status)) { - // Count all error conditions. - _syncResult.setWarnCount(_syncResult.warnCount()+1); + // add new directories or remove gone away dirs to the watcher + if (item->_isDirectory && item->_instruction == CSYNC_INSTRUCTION_NEW ) { + FolderMan::instance()->addMonitorPath( alias(), path()+item->_file ); } - _fileLog->logItem(item); - emit ProgressDispatcher::instance()->itemCompleted(alias(), item, job); + if (item->_isDirectory && item->_instruction == CSYNC_INSTRUCTION_REMOVE ) { + FolderMan::instance()->removeMonitorPath( alias(), path()+item->_file ); + } + + _syncResult.processCompletedItem(item); + + _fileLog->logItem(*item); + emit ProgressDispatcher::instance()->itemCompleted(alias(), item); } -void Folder::slotNewBigFolderDiscovered(const QString &newF) +void Folder::slotNewBigFolderDiscovered(const QString &newF, bool isExternal) { auto newFolder = newF; if (!newFolder.endsWith(QLatin1Char('/'))) { @@ -953,9 +849,11 @@ void Folder::slotNewBigFolderDiscovered(const QString &newF) journal->setSelectiveSyncList(SyncJournalDb::SelectiveSyncUndecidedList, undecidedList); emit newBigFolderDiscovered(newFolder); } - QString message = tr("A new folder larger than %1 MB has been added: %2.\n" - "Please go in the settings to select it if you wish to download it.") - .arg(ConfigFile().newBigFolderSizeLimit().second).arg(newF); + QString message = !isExternal ? + (tr("A new folder larger than %1 MB has been added: %2.\n") + .arg(ConfigFile().newBigFolderSizeLimit().second).arg(newF)) + : (tr("A folder from an external storage has been added.\n")); + message += tr("Please go in the settings to select it if you wish to download it."); auto logger = Logger::instance(); logger->postOptionalGuiLog(Theme::instance()->appNameGUI(), message); @@ -984,19 +882,25 @@ void Folder::setSaveBackwardsCompatible(bool save) _saveBackwardsCompatible = save; } -void Folder::slotAboutToRemoveAllFiles(SyncFileItem::Direction, bool *cancel) +void Folder::slotAboutToRemoveAllFiles(SyncFileItem::Direction dir, bool *cancel) { ConfigFile cfgFile; if (!cfgFile.promptDeleteFiles()) return; - QString msg = - tr("This sync would remove all the files in the sync folder '%1'.\n" - "This might be because the folder was silently reconfigured, or that all " - "the files were manually removed.\n" - "Are you sure you want to perform this operation?"); + QString msg = dir == SyncFileItem::Down ? + tr("All files in the sync folder '%1' folder were deleted on the server.\n" + "These deletes will be synchronized to your local sync folder, making such files " + "unavailable unless you have a right to restore. \n" + "If you decide to keep the files, they will be re-synced with the server if you have rights to do so.\n" + "If you decide to delete the files, they will be unavailable to you, unless you are the owner.") : + tr("All the files in your local sync folder '%1' were deleted. These deletes will be " + "synchronized with your server, making such files unavailable unless restored.\n" + "Are you sure you want to sync those actions with the server?\n" + "If this was an accident and you decide to keep your files, they will be re-synced from the server."); QMessageBox msgBox(QMessageBox::Warning, tr("Remove All Files?"), msg.arg(shortGuiLocalPath())); + msgBox.setWindowFlags(msgBox.windowFlags() | Qt::WindowStaysOnTopHint); msgBox.addButton(tr("Remove all files"), QMessageBox::DestructiveRole); QPushButton* keepBtn = msgBox.addButton(tr("Keep files"), QMessageBox::AcceptRole); if (msgBox.exec() == -1) { @@ -1005,7 +909,7 @@ void Folder::slotAboutToRemoveAllFiles(SyncFileItem::Direction, bool *cancel) } *cancel = msgBox.clickedButton() == keepBtn; if (*cancel) { - wipe(); + journalDb()->clearFileTable(); _lastEtag.clear(); slotScheduleThisFolder(); } @@ -1021,6 +925,7 @@ void Folder::slotAboutToRestoreBackup(bool *restore) "Do you want to keep your local most recent files as conflict files?"); QMessageBox msgBox(QMessageBox::Warning, tr("Backup detected"), msg.arg(shortGuiLocalPath())); + msgBox.setWindowFlags(msgBox.windowFlags() | Qt::WindowStaysOnTopHint); msgBox.addButton(tr("Normal Synchronisation"), QMessageBox::DestructiveRole); QPushButton* keepBtn = msgBox.addButton(tr("Keep Local Files as Conflict"), QMessageBox::AcceptRole); diff --git a/src/gui/folder.h b/src/gui/folder.h index b44f5799b..c6739cfda 100644 --- a/src/gui/folder.h +++ b/src/gui/folder.h @@ -280,17 +280,15 @@ private slots: void slotFolderDiscovered(bool local, QString folderName); void slotTransmissionProgress(const ProgressInfo& pi); - void slotItemCompleted(const SyncFileItem&, const PropagatorJob&); + void slotItemCompleted(const SyncFileItemPtr&); void slotRunEtagJob(); void etagRetreived(const QString &); void etagRetreivedFromSyncEngine(const QString &); - void slotThreadTreeWalkResult(const SyncFileItemVector& ); // after sync is done - void slotEmitFinishedDelayed(); - void slotNewBigFolderDiscovered(const QString &); + void slotNewBigFolderDiscovered(const QString &, bool isExternal); void slotLogPropagationStart(); @@ -302,7 +300,7 @@ private slots: private: bool setIgnoredFiles(); - void bubbleUpSyncResult(); + void showSyncResultPopup(); void checkLocalPath(); @@ -325,10 +323,7 @@ private: SyncResult _syncResult; QScopedPointer _engine; - QStringList _errors; - bool _csyncError; bool _csyncUnavail; - bool _wipeDb; bool _proxyDirty; QPointer _requestEtagJob; QString _lastEtag; diff --git a/src/gui/folderman.cpp b/src/gui/folderman.cpp index 067f7fda9..1a230a28c 100644 --- a/src/gui/folderman.cpp +++ b/src/gui/folderman.cpp @@ -23,6 +23,7 @@ #include "accountmanager.h" #include "filesystem.h" #include "lockwatcher.h" +#include "asserts.h" #include #ifdef Q_OS_MAC @@ -48,7 +49,7 @@ FolderMan::FolderMan(QObject *parent) : _lockWatcher(new LockWatcher), _appRestartRequired(false) { - Q_ASSERT(!_instance); + ASSERT(!_instance); _instance = this; _socketApi.reset(new SocketApi); @@ -133,12 +134,13 @@ int FolderMan::unloadAndDeleteAllFolders() delete f; cnt++; } + ASSERT(_folderMap.isEmpty()); + _lastSyncFolder = 0; _currentSyncFolder = 0; _scheduledFolders.clear(); emit scheduleQueueChanged(); - Q_ASSERT(_folderMap.count() == 0); return cnt; } @@ -260,7 +262,6 @@ int FolderMan::setupFoldersMigration() { ConfigFile cfg; QDir storageDir(cfg.configPath()); - storageDir.mkpath(QLatin1String("folders")); _folderConfigPath = cfg.configPath() + QLatin1String("folders"); qDebug() << "* Setup folders from " << _folderConfigPath << "(migration)"; @@ -463,7 +464,7 @@ void FolderMan::slotFolderSyncPaused( Folder *f, bool paused ) void FolderMan::slotFolderCanSyncChanged() { Folder *f = qobject_cast(sender()); - Q_ASSERT(f); + ASSERT(f); if (f->canSync()) { _socketApi->slotRegisterPath(f->alias()); } else { @@ -1121,7 +1122,7 @@ void FolderMan::setDirtyNetworkLimits() SyncResult FolderMan::accountStatus(const QList &folders) { - SyncResult overallResult(SyncResult::Undefined); + SyncResult overallResult; int cnt = folders.count(); @@ -1235,10 +1236,10 @@ SyncResult FolderMan::accountStatus(const QList &folders) return overallResult; } -QString FolderMan::statusToString( SyncResult syncStatus, bool paused ) const +QString FolderMan::statusToString( SyncResult::Status syncStatus, bool paused ) const { QString folderMessage; - switch( syncStatus.status() ) { + switch( syncStatus ) { case SyncResult::Undefined: folderMessage = tr( "Undefined State." ); break; diff --git a/src/gui/folderman.h b/src/gui/folderman.h index 911db7089..7386335b4 100644 --- a/src/gui/folderman.h +++ b/src/gui/folderman.h @@ -106,7 +106,7 @@ public: /** Creates a new and empty local directory. */ bool startFromScratch( const QString& ); - QString statusToString(SyncResult, bool paused ) const; + QString statusToString(SyncResult::Status, bool paused ) const; static SyncResult accountStatus( const QList &folders ); diff --git a/src/gui/folderstatusmodel.cpp b/src/gui/folderstatusmodel.cpp index 42b787d14..ebd9ab0b7 100644 --- a/src/gui/folderstatusmodel.cpp +++ b/src/gui/folderstatusmodel.cpp @@ -16,6 +16,7 @@ #include "folderman.h" #include "accountstate.h" #include "utility.h" +#include "asserts.h" #include #include #include "folderstatusdelegate.h" @@ -29,6 +30,14 @@ Q_DECLARE_METATYPE(QPersistentModelIndex) namespace OCC { static const char propertyParentIndexC[] = "oc_parentIndex"; +static const char propertyPermissionMap[] = "oc_permissionMap"; + +static QString removeTrailingSlash(const QString &s) { + if (s.endsWith('/')) { + return s.left(s.size() - 1); + } + return s; +} FolderStatusModel::FolderStatusModel(QObject *parent) :QAbstractItemModel(parent), _accountState(0), _dirty(false) @@ -162,7 +171,7 @@ QVariant FolderStatusModel::data(const QModelIndex &index, int role) const case Qt::CheckStateRole: return x._checked; case Qt::DecorationRole: - return QFileIconProvider().icon(QFileIconProvider::Folder); + return QFileIconProvider().icon(x._isExternal ? QFileIconProvider::Network : QFileIconProvider::Folder); case Qt::ForegroundRole: if (x._isUndecided) { return QColor(Qt::red); @@ -368,6 +377,9 @@ FolderStatusModel::SubFolderInfo* FolderStatusModel::infoForIndex(const QModelIn if (parentInfo->hasLabel()) { return 0; } + if (index.row() >= parentInfo->_subs.size()) { + return 0; + } return &parentInfo->_subs[index.row()]; } else { if (index.row() >= _folders.count()) { @@ -469,14 +481,14 @@ QModelIndex FolderStatusModel::parent(const QModelIndex& child) const } auto pathIdx = static_cast(child.internalPointer())->_pathIdx; int i = 1; - Q_ASSERT(pathIdx.at(0) < _folders.count()); + ASSERT(pathIdx.at(0) < _folders.count()); if (pathIdx.count() == 1) { return createIndex(pathIdx.at(0), 0/*, nullptr*/); } const SubFolderInfo *info = &_folders[pathIdx.at(0)]; while (i < pathIdx.count() - 1) { - Q_ASSERT(pathIdx.at(i) < info->_subs.count()); + ASSERT(pathIdx.at(i) < info->_subs.count()); info = &info->_subs[pathIdx.at(i)]; ++i; } @@ -537,12 +549,15 @@ void FolderStatusModel::fetchMore(const QModelIndex& parent) path += info->_path; } LsColJob *job = new LsColJob(_accountState->account(), path, this); - job->setProperties(QList() << "resourcetype" << "http://owncloud.org/ns:size"); + job->setProperties(QList() << "resourcetype" << "http://owncloud.org/ns:size" << "http://owncloud.org/ns:permissions"); job->setTimeout(60 * 1000); connect(job, SIGNAL(directoryListingSubfolders(QStringList)), SLOT(slotUpdateDirectories(QStringList))); connect(job, SIGNAL(finishedWithError(QNetworkReply*)), this, SLOT(slotLscolFinishedWithError(QNetworkReply*))); + connect(job, SIGNAL(directoryListingIterated(const QString&, const QMap&)), + this, SLOT(slotGatherPermissions(const QString&, const QMap&))); + job->start(); QPersistentModelIndex persistentIndex(parent); @@ -553,10 +568,24 @@ void FolderStatusModel::fetchMore(const QModelIndex& parent) QTimer::singleShot(1000, this, SLOT(slotShowFetchProgress())); } +void FolderStatusModel::slotGatherPermissions(const QString &href, const QMap &map) +{ + auto it = map.find("permissions"); + if (it == map.end()) + return; + + auto job = sender(); + auto permissionMap = job->property(propertyPermissionMap).toMap(); + job->setProperty(propertyPermissionMap, QVariant()); // avoid a detach of the map while it is modified + ASSERT(!href.endsWith(QLatin1Char('/')), "LsColXMLParser::parse should remove the trailing slash before calling us."); + permissionMap[href] = *it; + job->setProperty(propertyPermissionMap, permissionMap); +} + void FolderStatusModel::slotUpdateDirectories(const QStringList &list) { auto job = qobject_cast(sender()); - Q_ASSERT(job); + ASSERT(job); QModelIndex idx = qvariant_cast(job->property(propertyParentIndexC)); auto parentInfo = infoForIndex(idx); if (!parentInfo) { @@ -598,6 +627,7 @@ void FolderStatusModel::slotUpdateDirectories(const QStringList &list) selectiveSyncUndecidedSet.insert(str); } } + const auto permissionMap = job->property(propertyPermissionMap).toMap(); QStringList sortedSubfolders = list; // skip the parent item (first in the list) @@ -618,8 +648,8 @@ void FolderStatusModel::slotUpdateDirectories(const QStringList &list) newInfo._folder = parentInfo->_folder; newInfo._pathIdx = parentInfo->_pathIdx; newInfo._pathIdx << newSubs.size(); - auto size = job ? job->_sizes.value(path) : 0; - newInfo._size = size; + newInfo._size = job->_sizes.value(path); + newInfo._isExternal = permissionMap.value(removeTrailingSlash(path)).toString().contains("M"); newInfo._path = relativePath; newInfo._name = relativePath.split('/', QString::SkipEmptyParts).last(); @@ -686,7 +716,7 @@ void FolderStatusModel::slotUpdateDirectories(const QStringList &list) void FolderStatusModel::slotLscolFinishedWithError(QNetworkReply* r) { auto job = qobject_cast(sender()); - Q_ASSERT(job); + ASSERT(job); QModelIndex idx = qvariant_cast(job->property(propertyParentIndexC)); if (!idx.isValid()) { return; @@ -701,7 +731,7 @@ void FolderStatusModel::slotLscolFinishedWithError(QNetworkReply* r) if (r->error() == QNetworkReply::ContentNotFoundError) { parentInfo->_fetched = true; } else { - Q_ASSERT(!parentInfo->hasLabel()); + ASSERT(!parentInfo->hasLabel()); beginInsertRows(idx, 0, 0); parentInfo->_hasError = true; endInsertRows(); @@ -981,7 +1011,7 @@ void FolderStatusModel::slotFolderSyncStateChange(Folder *f) auto& pi = _folders[folderIndex]._progress; SyncResult::Status state = f->syncResult().status(); - if (f->syncPaused()) { + if (!f->canSync()) { // Reset progress info. pi = SubFolderInfo::Progress(); } else if (state == SyncResult::NotYetStarted) { @@ -1012,18 +1042,10 @@ void FolderStatusModel::slotFolderSyncStateChange(Folder *f) // update the icon etc. now slotUpdateFolderState(f); - if (state == SyncResult::Success) { - foreach (const SyncFileItemPtr &i, f->syncResult().syncFileItemVector()) { - if (i->_isDirectory && (i->_instruction == CSYNC_INSTRUCTION_NEW - || i->_instruction == CSYNC_INSTRUCTION_TYPE_CHANGE - || i->_instruction == CSYNC_INSTRUCTION_REMOVE - || i->_instruction == CSYNC_INSTRUCTION_RENAME)) { - // There is a new or a removed folder. reset all data - auto & info = _folders[folderIndex]; - info.resetSubs(this, index(folderIndex)); - return; - } - } + if (state == SyncResult::Success && f->syncResult().folderStructureWasChanged()) { + // There is a new or a removed folder. reset all data + auto & info = _folders[folderIndex]; + info.resetSubs(this, index(folderIndex)); } } @@ -1114,7 +1136,7 @@ void FolderStatusModel::slotSyncNoPendingBigFolders() void FolderStatusModel::slotNewBigFolder() { auto f = qobject_cast(sender()); - Q_ASSERT(f); + ASSERT(f); int folderIndex = -1; for (int i = 0; i < _folders.count(); ++i) { diff --git a/src/gui/folderstatusmodel.h b/src/gui/folderstatusmodel.h index f1813ca1c..5071e1e30 100644 --- a/src/gui/folderstatusmodel.h +++ b/src/gui/folderstatusmodel.h @@ -51,7 +51,7 @@ public: struct SubFolderInfo { SubFolderInfo() - : _folder(0), _size(0), _fetched(false), _fetching(false), + : _folder(0), _size(0), _isExternal(false), _fetched(false), _fetching(false), _hasError(false), _fetchingLabel(false), _isUndecided(false), _checked(Qt::Checked) {} Folder *_folder; QString _name; @@ -59,6 +59,7 @@ public: QVector _pathIdx; QVector _subs; qint64 _size; + bool _isExternal; bool _fetched; // If we did the LSCOL for this folder already bool _fetching; // Whether a LSCOL job is currently running @@ -113,6 +114,7 @@ public slots: private slots: void slotUpdateDirectories(const QStringList &); + void slotGatherPermissions(const QString &name, const QMap &properties); void slotLscolFinishedWithError(QNetworkReply *r); void slotFolderSyncStateChange(Folder* f); void slotFolderScheduleQueueChanged(); diff --git a/src/gui/folderwizard.cpp b/src/gui/folderwizard.cpp index a521d4284..b786591c0 100644 --- a/src/gui/folderwizard.cpp +++ b/src/gui/folderwizard.cpp @@ -482,9 +482,8 @@ void FolderWizardRemotePath::showWarn( const QString& msg ) const FolderWizardSelectiveSync::FolderWizardSelectiveSync(const AccountPtr& account) { QVBoxLayout *layout = new QVBoxLayout(this); - _treeView = new SelectiveSyncTreeView(account, this); - layout->addWidget(new QLabel(tr("Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize."))); - layout->addWidget(_treeView); + _selectiveSync = new SelectiveSyncWidget(account, this); + layout->addWidget(_selectiveSync); } FolderWizardSelectiveSync::~FolderWizardSelectiveSync() @@ -501,13 +500,17 @@ void FolderWizardSelectiveSync::initializePage() QString alias = QFileInfo(targetPath).fileName(); if (alias.isEmpty()) alias = Theme::instance()->appName(); - _treeView->setFolderInfo(targetPath, alias); + QStringList initialBlacklist; + if (Theme::instance()->wizardSelectiveSyncDefaultNothing()) { + initialBlacklist = QStringList("/"); + } + _selectiveSync->setFolderInfo(targetPath, alias, initialBlacklist); QWizardPage::initializePage(); } bool FolderWizardSelectiveSync::validatePage() { - wizard()->setProperty("selectiveSyncBlackList", QVariant(_treeView->createBlackList())); + wizard()->setProperty("selectiveSyncBlackList", QVariant(_selectiveSync->createBlackList())); return true; } @@ -517,7 +520,7 @@ void FolderWizardSelectiveSync::cleanupPage() QString alias = QFileInfo(targetPath).fileName(); if (alias.isEmpty()) alias = Theme::instance()->appName(); - _treeView->setFolderInfo(targetPath, alias); + _selectiveSync->setFolderInfo(targetPath, alias); QWizardPage::cleanupPage(); } diff --git a/src/gui/folderwizard.h b/src/gui/folderwizard.h index 512a97562..f598b1475 100644 --- a/src/gui/folderwizard.h +++ b/src/gui/folderwizard.h @@ -27,7 +27,7 @@ namespace OCC { -class SelectiveSyncTreeView; +class SelectiveSyncWidget; class ownCloudInfo; @@ -127,7 +127,7 @@ public: virtual void cleanupPage() Q_DECL_OVERRIDE; private: - SelectiveSyncTreeView *_treeView; + SelectiveSyncWidget *_selectiveSync; }; diff --git a/src/gui/generalsettings.cpp b/src/gui/generalsettings.cpp index d6eae4116..dd8037d0e 100644 --- a/src/gui/generalsettings.cpp +++ b/src/gui/generalsettings.cpp @@ -32,12 +32,14 @@ #include #include +#include namespace OCC { GeneralSettings::GeneralSettings(QWidget *parent) : QWidget(parent), - _ui(new Ui::GeneralSettings) + _ui(new Ui::GeneralSettings), + _currentlyLoading(false) { _ui->setupUi(this); @@ -66,6 +68,7 @@ GeneralSettings::GeneralSettings(QWidget *parent) : connect(_ui->crashreporterCheckBox, SIGNAL(toggled(bool)), SLOT(saveMiscSettings())); connect(_ui->newFolderLimitCheckBox, SIGNAL(toggled(bool)), SLOT(saveMiscSettings())); connect(_ui->newFolderLimitSpinBox, SIGNAL(valueChanged(int)), SLOT(saveMiscSettings())); + connect(_ui->newExternalStorage, SIGNAL(toggled(bool)), SLOT(saveMiscSettings())); #ifndef WITH_CRASHREPORTER _ui->crashreporterCheckBox->setVisible(false); @@ -85,6 +88,9 @@ GeneralSettings::GeneralSettings(QWidget *parent) : _ui->monoIconsCheckBox->setVisible(QDir(themeDir).exists()); connect(_ui->ignoredFilesButton, SIGNAL(clicked()), SLOT(slotIgnoreFilesEditor())); + + // accountAdded means the wizard was finished and the wizard might change some options. + connect(AccountManager::instance(), SIGNAL(accountAdded(AccountState*)), this, SLOT(loadMiscSettings())); } GeneralSettings::~GeneralSettings() @@ -99,6 +105,12 @@ QSize GeneralSettings::sizeHint() const { void GeneralSettings::loadMiscSettings() { +#if QT_VERSION < QT_VERSION_CHECK( 5, 4, 0 ) + QScopedValueRollback scope(_currentlyLoading); + _currentlyLoading = true; +#else + QScopedValueRollback scope(_currentlyLoading, true); +#endif ConfigFile cfgFile; _ui->monoIconsCheckBox->setChecked(cfgFile.monoIcons()); _ui->desktopNotificationsCheckBox->setChecked(cfgFile.optionalDesktopNotifications()); @@ -106,6 +118,8 @@ void GeneralSettings::loadMiscSettings() auto newFolderLimit = cfgFile.newBigFolderSizeLimit(); _ui->newFolderLimitCheckBox->setChecked(newFolderLimit.first); _ui->newFolderLimitSpinBox->setValue(newFolderLimit.second); + _ui->newExternalStorage->setChecked(cfgFile.confirmExternalStorage()); + _ui->monoIconsCheckBox->setChecked(cfgFile.monoIcons()); } void GeneralSettings::slotUpdateInfo() @@ -130,6 +144,8 @@ void GeneralSettings::slotUpdateInfo() void GeneralSettings::saveMiscSettings() { + if (_currentlyLoading) + return; ConfigFile cfgFile; bool isChecked = _ui->monoIconsCheckBox->isChecked(); cfgFile.setMonoIcons(isChecked); @@ -138,6 +154,7 @@ void GeneralSettings::saveMiscSettings() cfgFile.setNewBigFolderSizeLimit(_ui->newFolderLimitCheckBox->isChecked(), _ui->newFolderLimitSpinBox->value()); + cfgFile.setConfirmExternalStorage(_ui->newExternalStorage->isChecked()); } void GeneralSettings::slotToggleLaunchOnStartup(bool enable) diff --git a/src/gui/generalsettings.h b/src/gui/generalsettings.h index 1746f3fb5..8652a7dbb 100644 --- a/src/gui/generalsettings.h +++ b/src/gui/generalsettings.h @@ -45,13 +45,14 @@ private slots: void slotToggleOptionalDesktopNotifications(bool); void slotUpdateInfo(); void slotIgnoreFilesEditor(); + void loadMiscSettings(); private: - void loadMiscSettings(); Ui::GeneralSettings *_ui; QPointer _ignoreEditor; QPointer _syncLogDialog; + bool _currentlyLoading; }; diff --git a/src/gui/generalsettings.ui b/src/gui/generalsettings.ui index 4bc4b9958..5a035a592 100644 --- a/src/gui/generalsettings.ui +++ b/src/gui/generalsettings.ui @@ -6,7 +6,7 @@ 0 0 - 706 + 785 523 @@ -52,33 +52,37 @@ Advanced - - - - - Edit &Ignored Files - - + + + + + + + Edit &Ignored Files + + + + + + + Qt::Horizontal + + + + 555 + 20 + + + + + - - - - Qt::Horizontal - - - - 555 - 20 - - - - - + - Ask &confirmation before downloading folders larger than + Ask for confirmation before synchronizing folders larger than true @@ -98,7 +102,7 @@ - MB + MB @@ -117,7 +121,14 @@ - + + + + Ask for confirmation before synchronizing external storages + + + + @@ -130,23 +141,6 @@ - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - diff --git a/src/gui/notificationwidget.cpp b/src/gui/notificationwidget.cpp index 8d09b2efd..7aa317802 100644 --- a/src/gui/notificationwidget.cpp +++ b/src/gui/notificationwidget.cpp @@ -15,6 +15,7 @@ #include "notificationwidget.h" #include "QProgressIndicator.h" #include "utility.h" +#include "asserts.h" #include @@ -33,8 +34,8 @@ void NotificationWidget::setActivity(const Activity& activity) { _myActivity = activity; - Q_ASSERT( !activity._accName.isEmpty() ); _accountName = activity._accName; + ASSERT(!_accountName.isEmpty()); // _ui._headerLabel->setText( ); _ui._subjectLabel->setVisible( !activity._subject.isEmpty() ); diff --git a/src/gui/owncloudgui.cpp b/src/gui/owncloudgui.cpp index 832297c6b..72d43ba26 100644 --- a/src/gui/owncloudgui.cpp +++ b/src/gui/owncloudgui.cpp @@ -924,6 +924,7 @@ void ownCloudGui::setPauseOnAllFoldersHelper(bool pause) void ownCloudGui::slotShowGuiMessage(const QString &title, const QString &message) { QMessageBox *msgBox = new QMessageBox; + msgBox->setWindowFlags(msgBox->windowFlags() | Qt::WindowStaysOnTopHint); msgBox->setAttribute(Qt::WA_DeleteOnClose); msgBox->setText(message); msgBox->setWindowTitle(title); diff --git a/src/gui/owncloudsetupwizard.cpp b/src/gui/owncloudsetupwizard.cpp index 4d977e0a4..24910f025 100644 --- a/src/gui/owncloudsetupwizard.cpp +++ b/src/gui/owncloudsetupwizard.cpp @@ -533,9 +533,11 @@ void OwncloudSetupWizard::slotAssistantFinished( int result ) if (f) { f->journalDb()->setSelectiveSyncList(SyncJournalDb::SelectiveSyncBlackList, _ocWizard->selectiveSyncBlacklist()); - // The user already accepted the selective sync dialog. everything is in the white list - f->journalDb()->setSelectiveSyncList(SyncJournalDb::SelectiveSyncWhiteList, + if (!_ocWizard->isConfirmBigFolderChecked()) { + // The user already accepted the selective sync dialog. everything is in the white list + f->journalDb()->setSelectiveSyncList(SyncJournalDb::SelectiveSyncWhiteList, QStringList() << QLatin1String("/")); + } } _ocWizard->appendToConfigurationLog(tr("Local sync folder %1 successfully created!").arg(localFolder)); } diff --git a/src/gui/protocolwidget.cpp b/src/gui/protocolwidget.cpp index e97ba9e14..8828d2fd6 100644 --- a/src/gui/protocolwidget.cpp +++ b/src/gui/protocolwidget.cpp @@ -27,7 +27,6 @@ #include "syncfileitem.h" #include "folder.h" #include "openfilemanager.h" -#include "owncloudpropagator.h" #include "activityitemdelegate.h" #include "ui_protocolwidget.h" @@ -45,8 +44,8 @@ ProtocolWidget::ProtocolWidget(QWidget *parent) : connect(ProgressDispatcher::instance(), SIGNAL(progressInfo(QString,ProgressInfo)), this, SLOT(slotProgressInfo(QString,ProgressInfo))); - connect(ProgressDispatcher::instance(), SIGNAL(itemCompleted(QString,SyncFileItem,PropagatorJob)), - this, SLOT(slotItemCompleted(QString,SyncFileItem,PropagatorJob))); + connect(ProgressDispatcher::instance(), SIGNAL(itemCompleted(QString,SyncFileItemPtr)), + this, SLOT(slotItemCompleted(QString,SyncFileItemPtr))); connect(_ui->_treeWidget, SIGNAL(itemActivated(QTreeWidgetItem*,int)), SLOT(slotOpenFile(QTreeWidgetItem*,int))); @@ -222,15 +221,11 @@ void ProtocolWidget::slotProgressInfo( const QString& folder, const ProgressInfo } } -void ProtocolWidget::slotItemCompleted(const QString &folder, const SyncFileItem &item, const PropagatorJob &job) +void ProtocolWidget::slotItemCompleted(const QString &folder, const SyncFileItemPtr &item) { - if (qobject_cast(&job)) { - return; - } - - QTreeWidgetItem *line = createCompletedTreewidgetItem(folder, item); + QTreeWidgetItem *line = createCompletedTreewidgetItem(folder, *item); if(line) { - if( item.hasErrorStatus() ) { + if( item->hasErrorStatus() ) { _issueItemView->insertTopLevelItem(0, line); emit issueItemCountUpdated(_issueItemView->topLevelItemCount()); } else { diff --git a/src/gui/protocolwidget.h b/src/gui/protocolwidget.h index a36d005f2..de11bdcd0 100644 --- a/src/gui/protocolwidget.h +++ b/src/gui/protocolwidget.h @@ -52,7 +52,7 @@ public: public slots: void slotProgressInfo( const QString& folder, const ProgressInfo& progress ); - void slotItemCompleted( const QString& folder, const SyncFileItem& item, const PropagatorJob& job); + void slotItemCompleted( const QString& folder, const SyncFileItemPtr& item); void slotOpenFile( QTreeWidgetItem* item, int ); protected: diff --git a/src/gui/selectivesyncdialog.cpp b/src/gui/selectivesyncdialog.cpp index 026ddbbb2..4f23e248b 100644 --- a/src/gui/selectivesyncdialog.cpp +++ b/src/gui/selectivesyncdialog.cpp @@ -18,6 +18,7 @@ #include "networkjobs.h" #include "theme.h" #include "folderman.h" +#include "configfile.h" #include #include #include @@ -29,6 +30,7 @@ #include #include #include +#include namespace OCC { @@ -54,32 +56,48 @@ private: } }; -SelectiveSyncTreeView::SelectiveSyncTreeView(AccountPtr account, QWidget* parent) - : QTreeWidget(parent), _inserting(false), _account(account) +SelectiveSyncWidget::SelectiveSyncWidget(AccountPtr account, QWidget *parent) + : QWidget(parent) + , _account(account) + , _inserting(false) + , _folderTree(new QTreeWidget(this)) { - _loading = new QLabel(tr("Loading ..."), this); - connect(this, SIGNAL(itemExpanded(QTreeWidgetItem*)), this, SLOT(slotItemExpanded(QTreeWidgetItem*))); - connect(this, SIGNAL(itemChanged(QTreeWidgetItem*,int)), this, SLOT(slotItemChanged(QTreeWidgetItem*,int))); - setSortingEnabled(true); - sortByColumn(0, Qt::AscendingOrder); - setColumnCount(2); + _loading = new QLabel(tr("Loading ..."), _folderTree); + + auto layout = new QVBoxLayout(this); + layout->setContentsMargins(0, 0, 0, 0); + + auto header = new QLabel(this); + header->setText(tr("Deselect remote folders you do not wish to synchronize.")); + header->setWordWrap(true); + layout->addWidget(header); + + layout->addWidget(_folderTree); + + connect(_folderTree, SIGNAL(itemExpanded(QTreeWidgetItem*)), + SLOT(slotItemExpanded(QTreeWidgetItem*))); + connect(_folderTree, SIGNAL(itemChanged(QTreeWidgetItem*,int)), + SLOT(slotItemChanged(QTreeWidgetItem*,int))); + _folderTree->setSortingEnabled(true); + _folderTree->sortByColumn(0, Qt::AscendingOrder); + _folderTree->setColumnCount(2); #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) - header()->setSectionResizeMode(0, QHeaderView::QHeaderView::ResizeToContents); - header()->setSectionResizeMode(1, QHeaderView::QHeaderView::ResizeToContents); + _folderTree->header()->setSectionResizeMode(0, QHeaderView::QHeaderView::ResizeToContents); + _folderTree->header()->setSectionResizeMode(1, QHeaderView::QHeaderView::ResizeToContents); #else - header()->resizeSection(0, sizeHint().width()/2); + _folderTree->header()->resizeSection(0, sizeHint().width()/2); #endif - header()->setStretchLastSection(true); - headerItem()->setText(0, tr("Name")); - headerItem()->setText(1, tr("Size")); + _folderTree->header()->setStretchLastSection(true); + _folderTree->headerItem()->setText(0, tr("Name")); + _folderTree->headerItem()->setText(1, tr("Size")); } -QSize SelectiveSyncTreeView::sizeHint() const +QSize SelectiveSyncWidget::sizeHint() const { - return QTreeView::sizeHint().expandedTo(QSize(400, 400)); + return QWidget::sizeHint().expandedTo(QSize(600, 600)); } -void SelectiveSyncTreeView::refreshFolders() +void SelectiveSyncWidget::refreshFolders() { LsColJob *job = new LsColJob(_account, _folderPath, this); job->setProperties(QList() << "resourcetype" << "http://owncloud.org/ns:size"); @@ -88,12 +106,12 @@ void SelectiveSyncTreeView::refreshFolders() connect(job, SIGNAL(finishedWithError(QNetworkReply*)), this, SLOT(slotLscolFinishedWithError(QNetworkReply*))); job->start(); - clear(); + _folderTree->clear(); _loading->show(); - _loading->move(10,header()->height() + 10); + _loading->move(10, _folderTree->header()->height() + 10); } -void SelectiveSyncTreeView::setFolderInfo(const QString& folderPath, const QString& rootName, const QStringList& oldBlackList) +void SelectiveSyncWidget::setFolderInfo(const QString& folderPath, const QString& rootName, const QStringList& oldBlackList) { _folderPath = folderPath; if (_folderPath.startsWith(QLatin1Char('/'))) { @@ -116,7 +134,7 @@ static QTreeWidgetItem* findFirstChild(QTreeWidgetItem *parent, const QString& t return 0; } -void SelectiveSyncTreeView::recursiveInsert(QTreeWidgetItem* parent, QStringList pathTrail, QString path, qint64 size) +void SelectiveSyncWidget::recursiveInsert(QTreeWidgetItem* parent, QStringList pathTrail, QString path, qint64 size) { QFileIconProvider prov; QIcon folderIcon = prov.icon(QFileIconProvider::Folder); @@ -159,13 +177,13 @@ void SelectiveSyncTreeView::recursiveInsert(QTreeWidgetItem* parent, QStringList } } -void SelectiveSyncTreeView::slotUpdateDirectories(QStringList list) +void SelectiveSyncWidget::slotUpdateDirectories(QStringList list) { auto job = qobject_cast(sender()); QScopedValueRollback isInserting(_inserting); _inserting = true; - SelectiveSyncTreeViewItem *root = static_cast(topLevelItem(0)); + SelectiveSyncTreeViewItem *root = static_cast(_folderTree->topLevelItem(0)); QUrl url = _account->davUrl(); QString pathToRemove = url.path(); @@ -206,15 +224,11 @@ void SelectiveSyncTreeView::slotUpdateDirectories(QStringList list) } if (!root) { - root = new SelectiveSyncTreeViewItem(this); + root = new SelectiveSyncTreeViewItem(_folderTree); root->setText(0, _rootName); root->setIcon(0, Theme::instance()->applicationIcon()); root->setData(0, Qt::UserRole, QString()); - if (_oldBlackList.isEmpty()) { - root->setCheckState(0, Qt::Checked); - } else { - root->setCheckState(0, Qt::PartiallyChecked); - } + root->setCheckState(0, Qt::Checked); qint64 size = job ? job->_sizes.value(pathToRemove, -1) : -1; if (size >= 0) { root->setText(1, Utility::octetsToString(size)); @@ -236,10 +250,19 @@ void SelectiveSyncTreeView::slotUpdateDirectories(QStringList list) recursiveInsert(root, paths, path, size); } + // Root is partially checked if any children are not checked + for (int i = 0; i < root->childCount(); ++i) { + const auto child = root->child(i); + if (child->checkState(0) != Qt::Checked) { + root->setCheckState(0, Qt::PartiallyChecked); + break; + } + } + root->setExpanded(true); } -void SelectiveSyncTreeView::slotLscolFinishedWithError(QNetworkReply *r) +void SelectiveSyncWidget::slotLscolFinishedWithError(QNetworkReply *r) { if (r->error() == QNetworkReply::ContentNotFoundError) { _loading->setText(tr("No subfolders currently on the server.")); @@ -249,7 +272,7 @@ void SelectiveSyncTreeView::slotLscolFinishedWithError(QNetworkReply *r) _loading->resize(_loading->sizeHint()); // because it's not in a layout } -void SelectiveSyncTreeView::slotItemExpanded(QTreeWidgetItem *item) +void SelectiveSyncWidget::slotItemExpanded(QTreeWidgetItem *item) { QString dir = item->data(0, Qt::UserRole).toString(); if (dir.isEmpty()) return; @@ -264,7 +287,7 @@ void SelectiveSyncTreeView::slotItemExpanded(QTreeWidgetItem *item) job->start(); } -void SelectiveSyncTreeView::slotItemChanged(QTreeWidgetItem *item, int col) +void SelectiveSyncWidget::slotItemChanged(QTreeWidgetItem *item, int col) { if (col != 0 || _inserting) return; @@ -322,10 +345,10 @@ void SelectiveSyncTreeView::slotItemChanged(QTreeWidgetItem *item, int col) } } -QStringList SelectiveSyncTreeView::createBlackList(QTreeWidgetItem* root) const +QStringList SelectiveSyncWidget::createBlackList(QTreeWidgetItem* root) const { if (!root) { - root = topLevelItem(0); + root = _folderTree->topLevelItem(0); } if (!root) return QStringList(); @@ -354,15 +377,15 @@ QStringList SelectiveSyncTreeView::createBlackList(QTreeWidgetItem* root) const return result; } -QStringList SelectiveSyncTreeView::oldBlackList() const +QStringList SelectiveSyncWidget::oldBlackList() const { return _oldBlackList; } -qint64 SelectiveSyncTreeView::estimatedSize(QTreeWidgetItem* root) +qint64 SelectiveSyncWidget::estimatedSize(QTreeWidgetItem* root) { if (!root) { - root = topLevelItem(0); + root = _folderTree->topLevelItem(0); } if (!root) return -1; @@ -396,10 +419,10 @@ SelectiveSyncDialog::SelectiveSyncDialog(AccountPtr account, Folder* folder, QWi _okButton(0) // defined in init() { bool ok; - init(account, tr("Unchecked folders will be removed from your local file system and will not be synchronized to this computer anymore")); + init(account); QStringList selectiveSyncList = _folder->journalDb()->getSelectiveSyncList(SyncJournalDb::SelectiveSyncBlackList, &ok); if( ok ) { - _treeView->setFolderInfo(_folder->remotePath(), _folder->alias(),selectiveSyncList); + _selectiveSync->setFolderInfo(_folder->remotePath(), _folder->alias(),selectiveSyncList); } else { _okButton->setEnabled(false); } @@ -411,22 +434,16 @@ SelectiveSyncDialog::SelectiveSyncDialog(AccountPtr account, const QString &fold const QStringList& blacklist, QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f), _folder(0) { - init(account, - Theme::instance()->wizardSelectiveSyncDefaultNothing() ? - tr("Choose What to Sync: Select remote subfolders you wish to synchronize.") : - tr("Choose What to Sync: Deselect remote subfolders you do not wish to synchronize.")); - _treeView->setFolderInfo(folder, folder, blacklist); + init(account); + _selectiveSync->setFolderInfo(folder, folder, blacklist); } -void SelectiveSyncDialog::init(const AccountPtr &account, const QString &labelText) +void SelectiveSyncDialog::init(const AccountPtr &account) { setWindowTitle(tr("Choose What to Sync")); QVBoxLayout *layout = new QVBoxLayout(this); - _treeView = new SelectiveSyncTreeView(account, this); - auto label = new QLabel(labelText); - label->setWordWrap(true); - layout->addWidget(label); - layout->addWidget(_treeView); + _selectiveSync = new SelectiveSyncWidget(account, this); + layout->addWidget(_selectiveSync); QDialogButtonBox *buttonBox = new QDialogButtonBox(Qt::Horizontal); _okButton = buttonBox->addButton(QDialogButtonBox::Ok); connect(_okButton, SIGNAL(clicked()), this, SLOT(accept())); @@ -444,7 +461,7 @@ void SelectiveSyncDialog::accept() if( ! ok ) { return; } - QStringList blackList = _treeView->createBlackList(); + QStringList blackList = _selectiveSync->createBlackList(); _folder->journalDb()->setSelectiveSyncList(SyncJournalDb::SelectiveSyncBlackList, blackList); FolderMan *folderMan = FolderMan::instance(); @@ -467,19 +484,18 @@ void SelectiveSyncDialog::accept() QStringList SelectiveSyncDialog::createBlackList() const { - return _treeView->createBlackList(); + return _selectiveSync->createBlackList(); } QStringList SelectiveSyncDialog::oldBlackList() const { - return _treeView->oldBlackList(); + return _selectiveSync->oldBlackList(); } qint64 SelectiveSyncDialog::estimatedSize() { - return _treeView->estimatedSize(); + return _selectiveSync->estimatedSize(); } - } diff --git a/src/gui/selectivesyncdialog.h b/src/gui/selectivesyncdialog.h index aebe426c6..e49dfee97 100644 --- a/src/gui/selectivesyncdialog.h +++ b/src/gui/selectivesyncdialog.h @@ -26,40 +26,50 @@ namespace OCC { class Folder; /** - * @brief The SelectiveSyncTreeView class + * @brief The SelectiveSyncWidget contains a folder tree with labels * @ingroup gui */ -class SelectiveSyncTreeView : public QTreeWidget { +class SelectiveSyncWidget : public QWidget { Q_OBJECT public: - explicit SelectiveSyncTreeView(AccountPtr account, QWidget* parent = 0); + explicit SelectiveSyncWidget(AccountPtr account, QWidget* parent = 0); /// Returns a list of blacklisted paths, each including the trailing / QStringList createBlackList(QTreeWidgetItem* root = 0) const; + + /** Returns the oldBlackList passed into setFolderInfo(), except that + * a "/" entry is expanded to all top-level folder names. + */ QStringList oldBlackList() const; // Estimates the total size of checked items (recursively) qint64 estimatedSize(QTreeWidgetItem *root = 0); - void refreshFolders(); // oldBlackList is a list of excluded paths, each including a trailing / void setFolderInfo(const QString &folderPath, const QString &rootName, const QStringList &oldBlackList = QStringList()); QSize sizeHint() const Q_DECL_OVERRIDE; + private slots: void slotUpdateDirectories(QStringList); void slotItemExpanded(QTreeWidgetItem *); void slotItemChanged(QTreeWidgetItem*,int); void slotLscolFinishedWithError(QNetworkReply*); private: + void refreshFolders(); void recursiveInsert(QTreeWidgetItem* parent, QStringList pathTrail, QString path, qint64 size); + + AccountPtr _account; + QString _folderPath; QString _rootName; QStringList _oldBlackList; + bool _inserting; // set to true when we are inserting new items on the list - AccountPtr _account; QLabel *_loading; + + QTreeWidget *_folderTree; }; /** @@ -85,9 +95,9 @@ public: private: - void init(const AccountPtr &account, const QString &label); + void init(const AccountPtr &account); - SelectiveSyncTreeView *_treeView; + SelectiveSyncWidget *_selectiveSync; Folder *_folder; QPushButton *_okButton; diff --git a/src/gui/sharelinkwidget.cpp b/src/gui/sharelinkwidget.cpp index d8b10d04c..116cea703 100644 --- a/src/gui/sharelinkwidget.cpp +++ b/src/gui/sharelinkwidget.cpp @@ -229,7 +229,7 @@ void ShareLinkWidget::slotSharesFetched(const QList> &shar Q_FOREACH(auto share, shares) { if (share->getShareType() == Share::TypeLink) { - _share = qSharedPointerObjectCast(share); + _share = qSharedPointerDynamicCast(share); _ui->pushButton_copy->show(); _ui->pushButton_mail->show(); diff --git a/src/gui/socketapi.cpp b/src/gui/socketapi.cpp index 0ca15c8c7..dac1e0f6d 100644 --- a/src/gui/socketapi.cpp +++ b/src/gui/socketapi.cpp @@ -31,6 +31,7 @@ #include "accountstate.h" #include "account.h" #include "capabilities.h" +#include "asserts.h" #include #include @@ -60,9 +61,6 @@ #define DEBUG qDebug() << "SocketApi: " -Q_DECLARE_METATYPE(OCC::SocketListener) - - static inline QString removeTrailingSlash(QString path) { Q_ASSERT(path.endsWith(QLatin1Char('/'))); @@ -113,7 +111,7 @@ class SocketListener { public: QIODevice* socket; - SocketListener(QIODevice* socket = nullptr) : socket(socket) { } + SocketListener(QIODevice* socket = 0) : socket(socket) { } void sendMessage(const QString& message, bool doWait = false) const { @@ -216,7 +214,7 @@ SocketApi::~SocketApi() DEBUG << "dtor"; _localServer.close(); // All remaining sockets will be destroyed with _localServer, their parent - Q_ASSERT(_listeners.isEmpty() || _listeners.first().socket->parent() == &_localServer); + ASSERT(_listeners.isEmpty() || _listeners.first().socket->parent() == &_localServer); _listeners.clear(); } @@ -231,7 +229,7 @@ void SocketApi::slotNewConnection() connect(socket, SIGNAL(readyRead()), this, SLOT(slotReadSocket())); connect(socket, SIGNAL(disconnected()), this, SLOT(onLostConnection())); connect(socket, SIGNAL(destroyed(QObject*)), this, SLOT(slotSocketDestroyed(QObject*))); - Q_ASSERT(socket->readAll().isEmpty()); + ASSERT(socket->readAll().isEmpty()); _listeners.append(SocketListener(socket)); SocketListener &listener = _listeners.last(); @@ -259,7 +257,7 @@ void SocketApi::slotSocketDestroyed(QObject* obj) void SocketApi::slotReadSocket() { QIODevice* socket = qobject_cast(sender()); - Q_ASSERT(socket); + ASSERT(socket); SocketListener *listener = &*std::find_if(_listeners.begin(), _listeners.end(), ListenerHasSocketPred(socket)); while(socket->canReadLine()) { diff --git a/src/gui/syncrunfilelog.cpp b/src/gui/syncrunfilelog.cpp index 13d7bdf99..c0f5c142f 100644 --- a/src/gui/syncrunfilelog.cpp +++ b/src/gui/syncrunfilelog.cpp @@ -145,18 +145,18 @@ void SyncRunFileLog::logItem( const SyncFileItem& item ) const QChar L = QLatin1Char('|'); _out << ts << L; - _out << QString::number(item._requestDuration) << L; - if( item.log._instruction != CSYNC_INSTRUCTION_RENAME ) { + _out << L; + if( item._instruction != CSYNC_INSTRUCTION_RENAME ) { _out << item._file << L; } else { _out << item._file << QLatin1String(" -> ") << item._renameTarget << L; } - _out << instructionToStr( item.log._instruction ) << L; + _out << instructionToStr( item._instruction ) << L; _out << directionToStr( item._direction ) << L; - _out << QString::number(item.log._modtime) << L; - _out << item.log._etag << L; - _out << QString::number(item.log._size) << L; - _out << item.log._fileId << L; + _out << QString::number(item._modtime) << L; + _out << item._etag << L; + _out << QString::number(item._size) << L; + _out << item._fileId << L; _out << item._status << L; _out << item._errorString << L; _out << QString::number(item._httpErrorCode) << L; diff --git a/src/gui/wizard/owncloudadvancedsetuppage.cpp b/src/gui/wizard/owncloudadvancedsetuppage.cpp index c0a038151..8de9ee339 100644 --- a/src/gui/wizard/owncloudadvancedsetuppage.cpp +++ b/src/gui/wizard/owncloudadvancedsetuppage.cpp @@ -68,6 +68,15 @@ OwncloudAdvancedSetupPage::OwncloudAdvancedSetupPage() _ui.lServerIcon->setPixmap(appIcon.pixmap(48)); _ui.lLocalIcon->setText(QString()); _ui.lLocalIcon->setPixmap(QPixmap(Theme::hidpiFileName(":/client/resources/folder-sync.png"))); + + if (theme->wizardHideExternalStorageConfirmationCheckbox()) { + _ui.confCheckBoxExternal->hide(); + } + if (theme->wizardHideFolderSizeLimitCheckbox()) { + _ui.confCheckBoxSize->hide(); + _ui.confSpinBox->hide(); + _ui.confTraillingSizeLabel->hide(); + } } void OwncloudAdvancedSetupPage::setupCustomization() @@ -118,6 +127,12 @@ void OwncloudAdvancedSetupPage::initializePage() _selectiveSyncBlacklist = QStringList("/"); QTimer::singleShot(0, this, SLOT(slotSelectiveSyncClicked())); } + + ConfigFile cfgFile; + auto newFolderLimit = cfgFile.newBigFolderSizeLimit(); + _ui.confCheckBoxSize->setChecked(newFolderLimit.first); + _ui.confSpinBox->setValue(newFolderLimit.second); + _ui.confCheckBoxExternal->setChecked(cfgFile.confirmExternalStorage()); } // Called if the user changes the user- or url field. Adjust the texts and @@ -200,6 +215,11 @@ QStringList OwncloudAdvancedSetupPage::selectiveSyncBlacklist() const return _selectiveSyncBlacklist; } +bool OwncloudAdvancedSetupPage::isConfirmBigFolderChecked() const +{ + return _ui.rSyncEverything->isChecked() && _ui.confCheckBoxSize->isChecked(); +} + bool OwncloudAdvancedSetupPage::validatePage() { if(!_created) { @@ -208,6 +228,13 @@ bool OwncloudAdvancedSetupPage::validatePage() startSpinner(); emit completeChanged(); + if (_ui.rSyncEverything->isChecked()) { + ConfigFile cfgFile; + cfgFile.setNewBigFolderSizeLimit(_ui.confCheckBoxSize->isChecked(), + _ui.confSpinBox->value()); + cfgFile.setConfirmExternalStorage(_ui.confCheckBoxExternal->isChecked()); + } + emit createLocalAndRemoteFolders(localFolder(), _remoteFolder); return false; } else { diff --git a/src/gui/wizard/owncloudadvancedsetuppage.h b/src/gui/wizard/owncloudadvancedsetuppage.h index 6b41477c6..3a1247290 100644 --- a/src/gui/wizard/owncloudadvancedsetuppage.h +++ b/src/gui/wizard/owncloudadvancedsetuppage.h @@ -41,6 +41,7 @@ public: bool validatePage() Q_DECL_OVERRIDE; QString localFolder() const; QStringList selectiveSyncBlacklist() const; + bool isConfirmBigFolderChecked() const; void setRemoteFolder( const QString& remoteFolder); void setMultipleFoldersExist( bool exist ); void directoriesCreated(); diff --git a/src/gui/wizard/owncloudadvancedsetuppage.ui b/src/gui/wizard/owncloudadvancedsetuppage.ui index 74ec741ea..ccf891d96 100644 --- a/src/gui/wizard/owncloudadvancedsetuppage.ui +++ b/src/gui/wizard/owncloudadvancedsetuppage.ui @@ -6,12 +6,12 @@ 0 0 - 917 - 493 + 912 + 633 - + 0 0 @@ -226,11 +226,14 @@ + + 0 + + + 0 + - - 0 - @@ -263,6 +266,64 @@ + + + + 0 + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 10 + 20 + + + + + + + + + + Ask for confirmation before synchroni&zing folders larger than + + + + + + + 999999 + + + 99 + + + + + + + MB + + + + + + + + + Ask for confirmation before synchronizing e&xternal storages + + + + + @@ -345,5 +406,70 @@ - + + + rSyncEverything + toggled(bool) + confCheckBoxSize + setEnabled(bool) + + + 217 + 78 + + + 298 + 126 + + + + + rSyncEverything + toggled(bool) + confSpinBox + setEnabled(bool) + + + 311 + 83 + + + 952 + 134 + + + + + rSyncEverything + toggled(bool) + confTraillingSizeLabel + setEnabled(bool) + + + 277 + 76 + + + 1076 + 136 + + + + + rSyncEverything + toggled(bool) + confCheckBoxExternal + setEnabled(bool) + + + 181 + 78 + + + 382 + 174 + + + + diff --git a/src/gui/wizard/owncloudsetupnocredspage.ui b/src/gui/wizard/owncloudsetupnocredspage.ui index b3ef7ab48..cbeeb5246 100644 --- a/src/gui/wizard/owncloudsetupnocredspage.ui +++ b/src/gui/wizard/owncloudsetupnocredspage.ui @@ -6,8 +6,8 @@ 0 0 - 602 - 193 + 506 + 515 @@ -80,7 +80,7 @@ - Server &Address + Ser&ver Address leUrl @@ -166,10 +166,13 @@ Qt::Vertical + + QSizePolicy::MinimumExpanding + 20 - 40 + 200 diff --git a/src/gui/wizard/owncloudshibbolethcredspage.cpp b/src/gui/wizard/owncloudshibbolethcredspage.cpp index 8fe1706bd..9b031c064 100644 --- a/src/gui/wizard/owncloudshibbolethcredspage.cpp +++ b/src/gui/wizard/owncloudshibbolethcredspage.cpp @@ -44,6 +44,7 @@ void OwncloudShibbolethCredsPage::setupBrowser() // i.e. if someone presses "back" QNetworkAccessManager *qnam = account->networkAccessManager(); CookieJar *jar = new CookieJar; + jar->restore(account->cookieJarPath()); // Implicitly deletes the old cookie jar, and reparents the jar qnam->setCookieJar(jar); diff --git a/src/gui/wizard/owncloudwizard.cpp b/src/gui/wizard/owncloudwizard.cpp index edd0479a0..6d85c5ffd 100644 --- a/src/gui/wizard/owncloudwizard.cpp +++ b/src/gui/wizard/owncloudwizard.cpp @@ -86,7 +86,6 @@ OwncloudWizard::OwncloudWizard(QWidget *parent) setTitleFormat(Qt::RichText); setSubTitleFormat(Qt::RichText); setButtonText(QWizard::CustomButton1, tr("Skip folders configuration")); - } void OwncloudWizard::setAccount(AccountPtr account) @@ -109,6 +108,10 @@ QStringList OwncloudWizard::selectiveSyncBlacklist() const return _advancedSetupPage->selectiveSyncBlacklist(); } +bool OwncloudWizard::isConfirmBigFolderChecked() const +{ + return _advancedSetupPage->isConfirmBigFolderChecked(); +} QString OwncloudWizard::ocUrl() const { diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h index 5c805cae4..ecb5510ab 100644 --- a/src/gui/wizard/owncloudwizard.h +++ b/src/gui/wizard/owncloudwizard.h @@ -59,6 +59,7 @@ public: QString ocUrl() const; QString localFolder() const; QStringList selectiveSyncBlacklist() const; + bool isConfirmBigFolderChecked() const; void enableFinishOnResultWidget(bool enable); diff --git a/src/libsync/CMakeLists.txt b/src/libsync/CMakeLists.txt index 689763eeb..cbece4b41 100644 --- a/src/libsync/CMakeLists.txt +++ b/src/libsync/CMakeLists.txt @@ -1,8 +1,6 @@ project(libsync) set(CMAKE_AUTOMOC TRUE) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") - configure_file( version.h.in "${CMAKE_CURRENT_BINARY_DIR}/version.h" ) include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/src/libsync/abstractnetworkjob.cpp b/src/libsync/abstractnetworkjob.cpp index aa3b49fde..ab09786fc 100644 --- a/src/libsync/abstractnetworkjob.cpp +++ b/src/libsync/abstractnetworkjob.cpp @@ -172,7 +172,6 @@ void AbstractNetworkJob::slotFinished() // get the Date timestamp from reply _responseTimestamp = _reply->rawHeader("Date"); - _duration = _durationTimer.elapsed(); if (_followRedirects) { // ### the qWarnings here should be exported via displayErrors() so they @@ -206,11 +205,6 @@ void AbstractNetworkJob::slotFinished() } } -quint64 AbstractNetworkJob::duration() -{ - return _duration; -} - QByteArray AbstractNetworkJob::responseTimestamp() { return _responseTimestamp; @@ -224,8 +218,6 @@ AbstractNetworkJob::~AbstractNetworkJob() void AbstractNetworkJob::start() { _timer.start(); - _durationTimer.start(); - _duration = 0; const QUrl url = account()->url(); const QString displayUrl = QString( "%1://%2%3").arg(url.scheme()).arg(url.host()).arg(url.path()); diff --git a/src/libsync/abstractnetworkjob.h b/src/libsync/abstractnetworkjob.h index 5a4728cc3..6f7d3cbe5 100644 --- a/src/libsync/abstractnetworkjob.h +++ b/src/libsync/abstractnetworkjob.h @@ -55,7 +55,6 @@ public: bool ignoreCredentialFailure() const { return _ignoreCredentialFailure; } QByteArray responseTimestamp(); - quint64 duration(); qint64 timeoutMsec() { return _timer.interval(); } @@ -82,8 +81,6 @@ protected: int maxRedirects() const { return 10; } virtual bool finished() = 0; QByteArray _responseTimestamp; - QElapsedTimer _durationTimer; - quint64 _duration; bool _timedout; // set to true when the timeout slot is received // Automatically follows redirects. Note that this only works for diff --git a/src/libsync/accessmanager.cpp b/src/libsync/accessmanager.cpp index f8730e988..fe4258a03 100644 --- a/src/libsync/accessmanager.cpp +++ b/src/libsync/accessmanager.cpp @@ -37,8 +37,11 @@ AccessManager::AccessManager(QObject* parent) proxy.setHostName(" "); setProxy(proxy); #endif + +#ifndef Q_OS_LINUX // Atempt to workaround for https://github.com/owncloud/client/issues/3969 setConfiguration(QNetworkConfiguration()); +#endif setCookieJar(new CookieJar); } diff --git a/src/libsync/account.cpp b/src/libsync/account.cpp index 77f953659..8dc93aea5 100644 --- a/src/libsync/account.cpp +++ b/src/libsync/account.cpp @@ -20,6 +20,7 @@ #include "creds/abstractcredentials.h" #include "capabilities.h" #include "theme.h" +#include "asserts.h" #include #include @@ -153,8 +154,9 @@ QUrl Account::davUrl() const */ void Account::clearCookieJar() { - Q_ASSERT(qobject_cast(_am->cookieJar())); - static_cast(_am->cookieJar())->setAllCookies(QList()); + auto jar = qobject_cast(_am->cookieJar()); + ASSERT(jar); + jar->setAllCookies(QList()); emit wantsAccountSaved(this); } @@ -169,6 +171,12 @@ void Account::lendCookieJarTo(QNetworkAccessManager *guest) jar->setParent(oldParent); // takes it back } +QString Account::cookieJarPath() +{ + ConfigFile cfg; + return cfg.configPath() + "/cookies" + id() + ".db"; +} + void Account::resetNetworkAccessManager() { if (!_credentials || !_am) { diff --git a/src/libsync/account.h b/src/libsync/account.h index 2c21fa548..823bfa6d6 100644 --- a/src/libsync/account.h +++ b/src/libsync/account.h @@ -172,6 +172,7 @@ public: void clearCookieJar(); void lendCookieJarTo(QNetworkAccessManager *guest); + QString cookieJarPath(); void resetNetworkAccessManager(); QNetworkAccessManager* networkAccessManager(); diff --git a/src/libsync/asserts.h b/src/libsync/asserts.h new file mode 100644 index 000000000..19b00df92 --- /dev/null +++ b/src/libsync/asserts.h @@ -0,0 +1,52 @@ +#ifndef OWNCLOUD_ASSERTS_H +#define OWNCLOUD_ASSERTS_H + +#include + +#if defined(QT_FORCE_ASSERTS) || !defined(QT_NO_DEBUG) +#define OC_ASSERT_MSG qFatal +#else +#define OC_ASSERT_MSG qWarning +#endif + +// For overloading macros by argument count +// See stackoverflow.com/questions/16683146/can-macros-be-overloaded-by-number-of-arguments +#define OC_ASSERT_CAT(A, B) A ## B +#define OC_ASSERT_SELECT(NAME, NUM) OC_ASSERT_CAT(NAME ## _, NUM) +#define OC_ASSERT_GET_COUNT(_1, _2, _3, COUNT, ...) COUNT +#define OC_ASSERT_VA_SIZE(...) OC_ASSERT_GET_COUNT(__VA_ARGS__, 3, 2, 1, 0) + +#define OC_ASSERT_OVERLOAD(NAME, ...) OC_ASSERT_SELECT(NAME, OC_ASSERT_VA_SIZE(__VA_ARGS__))(__VA_ARGS__) + +// Default assert: If the condition is false in debug builds, terminate. +// +// Prints a message on failure, even in release builds. +#define ASSERT(...) OC_ASSERT_OVERLOAD(ASSERT, __VA_ARGS__) +#define ASSERT_1(cond) \ + if (!(cond)) { \ + OC_ASSERT_MSG("ASSERT: \"%s\" in file %s, line %d", #cond, __FILE__, __LINE__); \ + } else {} +#define ASSERT_2(cond, message) \ + if (!(cond)) { \ + OC_ASSERT_MSG("ASSERT: \"%s\" in file %s, line %d with message: %s", #cond, __FILE__, __LINE__, message); \ + } else {} + +// Enforce condition to be true, even in release builds. +// +// Prints 'message' and aborts execution if 'cond' is false. +#define ENFORCE(...) OC_ASSERT_OVERLOAD(ENFORCE, __VA_ARGS__) +#define ENFORCE_1(cond) \ + if (!(cond)) { \ + qFatal("ENFORCE: \"%s\" in file %s, line %d", #cond, __FILE__, __LINE__); \ + } else {} +#define ENFORCE_2(cond, message) \ + if (!(cond)) { \ + qFatal("ENFORCE: \"%s\" in file %s, line %d with message: %s", #cond, __FILE__, __LINE__, message); \ + } else {} + +// An assert that is only present in debug builds: typically used for +// asserts that are too expensive for release mode. +// +// Q_ASSERT + +#endif diff --git a/src/libsync/checksums.cpp b/src/libsync/checksums.cpp index af8614951..b8b6ae067 100644 --- a/src/libsync/checksums.cpp +++ b/src/libsync/checksums.cpp @@ -111,10 +111,10 @@ bool uploadChecksumEnabled() QByteArray contentChecksumType() { static QByteArray type = qgetenv("OWNCLOUD_CONTENT_CHECKSUM_TYPE"); - if (!type.isNull()) { // can set to "" to disable checksumming - return type; + if (type.isNull()) { // can set to "" to disable checksumming + type = "SHA1"; } - return "SHA1"; + return type; } ComputeChecksum::ComputeChecksum(QObject* parent) diff --git a/src/libsync/configfile.cpp b/src/libsync/configfile.cpp index 4c8a30bf6..39f6303f6 100644 --- a/src/libsync/configfile.cpp +++ b/src/libsync/configfile.cpp @@ -17,6 +17,7 @@ #include "configfile.h" #include "theme.h" #include "utility.h" +#include "asserts.h" #include "creds/abstractcredentials.h" @@ -67,6 +68,7 @@ static const char downloadLimitC[] = "BWLimit/downloadLimit"; static const char newBigFolderSizeLimitC[] = "newBigFolderSizeLimit"; static const char useNewBigFolderSizeLimitC[] = "useNewBigFolderSizeLimit"; +static const char confirmExternalStorageC[] = "confirmExternalStorage"; static const char maxLogLinesC[] = "Logging/maxLogLines"; @@ -138,7 +140,7 @@ void ConfigFile::setOptionalDesktopNotifications(bool show) void ConfigFile::saveGeometry(QWidget *w) { #ifndef TOKEN_AUTH_ONLY - Q_ASSERT(!w->objectName().isNull()); + ASSERT(!w->objectName().isNull()); QSettings settings(configFile(), QSettings::IniFormat); settings.beginGroup(w->objectName()); settings.setValue(QLatin1String(geometryC), w->saveGeometry()); @@ -157,7 +159,7 @@ void ConfigFile::saveGeometryHeader(QHeaderView *header) { #ifndef TOKEN_AUTH_ONLY if(!header) return; - Q_ASSERT(!header->objectName().isEmpty()); + ASSERT(!header->objectName().isEmpty()); QSettings settings(configFile(), QSettings::IniFormat); settings.beginGroup(header->objectName()); @@ -170,7 +172,7 @@ void ConfigFile::restoreGeometryHeader(QHeaderView *header) { #ifndef TOKEN_AUTH_ONLY if(!header) return; - Q_ASSERT(!header->objectName().isNull()); + ASSERT(!header->objectName().isNull()); QSettings settings(configFile(), QSettings::IniFormat); settings.beginGroup(header->objectName()); @@ -229,8 +231,8 @@ QString ConfigFile::excludeFile(Scope scope) const // directories. QFileInfo fi; - if (scope != SystemScope) { - QFileInfo fi; + switch (scope) { + case UserScope: fi.setFile( configPath(), exclFile ); if( ! fi.isReadable() ) { @@ -240,12 +242,12 @@ QString ConfigFile::excludeFile(Scope scope) const fi.setFile( configPath(), exclFile ); } return fi.absoluteFilePath(); - } else if (scope != UserScope) { + case SystemScope: return ConfigFile::excludeFileFromSystem(); - } else { - Q_ASSERT(false); - return QString(); // unreachable } + + ASSERT(false); + return QString(); } QString ConfigFile::excludeFileFromSystem() @@ -596,6 +598,16 @@ void ConfigFile::setNewBigFolderSizeLimit(bool isChecked, quint64 mbytes) setValue(useNewBigFolderSizeLimitC, isChecked); } +bool ConfigFile::confirmExternalStorage() const +{ + return getValue(confirmExternalStorageC, QString(), true).toBool(); +} + +void ConfigFile::setConfirmExternalStorage(bool isChecked) +{ + setValue(confirmExternalStorageC, isChecked); +} + bool ConfigFile::promptDeleteFiles() const { QSettings settings(configFile(), QSettings::IniFormat); diff --git a/src/libsync/configfile.h b/src/libsync/configfile.h index cd95f1a0b..0fe3b3cd0 100644 --- a/src/libsync/configfile.h +++ b/src/libsync/configfile.h @@ -105,6 +105,8 @@ public: /** [checked, size in MB] **/ QPair newBigFolderSizeLimit() const; void setNewBigFolderSizeLimit(bool isChecked, quint64 mbytes); + bool confirmExternalStorage() const; + void setConfirmExternalStorage(bool); static bool setConfDir(const QString &value); diff --git a/src/libsync/cookiejar.cpp b/src/libsync/cookiejar.cpp index fd8c5cf99..b3e205628 100644 --- a/src/libsync/cookiejar.cpp +++ b/src/libsync/cookiejar.cpp @@ -68,7 +68,6 @@ QDataStream &operator>>(QDataStream &stream, QList &list) CookieJar::CookieJar(QObject *parent) : QNetworkCookieJar(parent) { - restore(); } CookieJar::~CookieJar() @@ -97,21 +96,21 @@ void CookieJar::clearSessionCookies() setAllCookies(removeExpired(allCookies())); } -void CookieJar::save() +void CookieJar::save(const QString &fileName) { QFile file; - file.setFileName(storagePath()); - qDebug() << storagePath(); + file.setFileName(fileName); + qDebug() << fileName; file.open(QIODevice::WriteOnly); QDataStream stream(&file); stream << removeExpired(allCookies()); file.close(); } -void CookieJar::restore() +void CookieJar::restore(const QString &fileName) { QFile file; - file.setFileName(storagePath()); + file.setFileName(fileName); file.open(QIODevice::ReadOnly); QDataStream stream(&file); QList list; @@ -131,10 +130,4 @@ QList CookieJar::removeExpired(const QList &cook return updatedList; } -QString CookieJar::storagePath() const -{ - ConfigFile cfg; - return cfg.configPath() + "/cookies.db"; -} - } // namespace OCC diff --git a/src/libsync/cookiejar.h b/src/libsync/cookiejar.h index 8bc78dc6a..9759676b3 100644 --- a/src/libsync/cookiejar.h +++ b/src/libsync/cookiejar.h @@ -39,15 +39,13 @@ public: using QNetworkCookieJar::setAllCookies; using QNetworkCookieJar::allCookies; - void save(); + void save(const QString &fileName); + void restore(const QString &fileName); signals: void newCookiesForUrl(const QList& cookieList, const QUrl& url); private: - void restore(); QList removeExpired(const QList &cookies); - QString storagePath() const; - }; } // namespace OCC diff --git a/src/libsync/creds/abstractcredentials.cpp b/src/libsync/creds/abstractcredentials.cpp index c54c2c77c..f3f38b22a 100644 --- a/src/libsync/creds/abstractcredentials.cpp +++ b/src/libsync/creds/abstractcredentials.cpp @@ -12,10 +12,10 @@ * for more details. */ - #include #include +#include "asserts.h" #include "creds/abstractcredentials.h" namespace OCC @@ -28,7 +28,7 @@ AbstractCredentials::AbstractCredentials() void AbstractCredentials::setAccount(Account *account) { - Q_ASSERT(!_account); + ENFORCE(!_account, "should only setAccount once"); _account = account; } diff --git a/src/libsync/discoveryphase.cpp b/src/libsync/discoveryphase.cpp index bb35f1f97..6ef801243 100644 --- a/src/libsync/discoveryphase.cpp +++ b/src/libsync/discoveryphase.cpp @@ -13,13 +13,19 @@ */ #include "discoveryphase.h" + +#include "account.h" +#include "theme.h" +#include "asserts.h" + #include #include -#include +#include #include -#include "account.h" #include +#include + namespace OCC { @@ -81,14 +87,32 @@ int DiscoveryJob::isInSelectiveSyncBlackListCallback(void *data, const char *pat return static_cast(data)->isInSelectiveSyncBlackList(path); } -bool DiscoveryJob::checkSelectiveSyncNewFolder(const QString& path) +bool DiscoveryJob::checkSelectiveSyncNewFolder(const QString& path, const char *remotePerm) { - // If this path or the parent is in the white list, then we do not block this file + + if (_syncOptions._confirmExternalStorage && std::strchr(remotePerm, 'M')) { + // 'M' in the permission means external storage. + + /* Note: DiscoverySingleDirectoryJob::directoryListingIteratedSlot make sure that only the + * root of a mounted storage has 'M', all sub entries have 'm' */ + + // Only allow it if the white list contains exactly this path (not parents) + // We want to ask confirmation for external storage even if the parents where selected + if (_selectiveSyncWhiteList.contains(path + QLatin1Char('/'))) { + return false; + } + + emit newBigFolder(path, true); + return true; + } + + // If this path or the parent is in the white list, then we do not block this file if (findPathInList(_selectiveSyncWhiteList, path)) { return false; } - if (_newBigFolderSizeLimit < 0) { + auto limit = _syncOptions._newBigFolderSizeLimit; + if (limit < 0) { // no limit, everything is allowed; return false; } @@ -102,10 +126,9 @@ bool DiscoveryJob::checkSelectiveSyncNewFolder(const QString& path) _vioWaitCondition.wait(&_vioMutex); } - auto limit = _newBigFolderSizeLimit; if (result >= limit) { // we tell the UI there is a new folder - emit newBigFolder(path); + emit newBigFolder(path, false); return true; } else { // it is not too big, put it in the white list (so we will not do more query for the children) @@ -119,9 +142,9 @@ bool DiscoveryJob::checkSelectiveSyncNewFolder(const QString& path) } } -int DiscoveryJob::checkSelectiveSyncNewFolderCallback(void *data, const char *path) +int DiscoveryJob::checkSelectiveSyncNewFolderCallback(void *data, const char *path, const char *remotePerm) { - return static_cast(data)->checkSelectiveSyncNewFolder(QString::fromUtf8(path)); + return static_cast(data)->checkSelectiveSyncNewFolder(QString::fromUtf8(path), remotePerm); } @@ -224,7 +247,7 @@ int get_errno_from_http_errcode( int err, const QString & reason ) { DiscoverySingleDirectoryJob::DiscoverySingleDirectoryJob(const AccountPtr &account, const QString &path, QObject *parent) - : QObject(parent), _subPath(path), _account(account), _ignoredFirst(false), _isRootPath(false) + : QObject(parent), _subPath(path), _account(account), _ignoredFirst(false), _isRootPath(false), _isExternalStorage(false) { } @@ -321,7 +344,9 @@ void DiscoverySingleDirectoryJob::directoryListingIteratedSlot(QString file, con // The first entry is for the folder itself, we should process it differently. _ignoredFirst = true; if (map.contains("permissions")) { - emit firstDirectoryPermissions(map.value("permissions")); + auto perm = map.value("permissions"); + emit firstDirectoryPermissions(perm); + _isExternalStorage = perm.contains(QLatin1Char('M')); } if (map.contains("data-fingerprint")) { _dataFingerprint = map.value("data-fingerprint").toUtf8(); @@ -344,6 +369,13 @@ void DiscoverySingleDirectoryJob::directoryListingIteratedSlot(QString file, con if (!file_stat->etag || strlen(file_stat->etag) == 0) { qDebug() << "WARNING: etag of" << file_stat->name << "is" << file_stat->etag << " This must not happen."; } + if (_isExternalStorage) { + /* All the entries in a external storage have 'M' in their permission. However, for all + purposes in the desktop client, we only need to know about the mount points. + So replace the 'M' by a 'm' for every sub entries in an external storage */ + std::replace(file_stat->remotePerm, file_stat->remotePerm + strlen(file_stat->remotePerm), + 'M', 'm'); + } QStringRef fileRef(&file); int slashPos = file.lastIndexOf(QLatin1Char('/')); diff --git a/src/libsync/discoveryphase.h b/src/libsync/discoveryphase.h index c030adb33..3bccf6a4a 100644 --- a/src/libsync/discoveryphase.h +++ b/src/libsync/discoveryphase.h @@ -34,6 +34,16 @@ class Account; * if the files are new, or changed. */ +struct SyncOptions { + SyncOptions() : _newBigFolderSizeLimit(-1), _confirmExternalStorage(false) {} + /** Maximum size (in Bytes) a folder can have without asking for confirmation. + * -1 means infinite */ + qint64 _newBigFolderSizeLimit; + /** If a confirmation should be asked for external storages */ + bool _confirmExternalStorage; +}; + + /** * @brief The FileStatPointer class * @ingroup libsync @@ -107,6 +117,8 @@ private: bool _ignoredFirst; // Set to true if this is the root path and we need to check the data-fingerprint bool _isRootPath; + // If this directory is an external storage (The first item has 'M' in its permission) + bool _isExternalStorage; QPointer _lsColJob; public: @@ -176,8 +188,8 @@ class DiscoveryJob : public QObject { */ bool isInSelectiveSyncBlackList(const char* path) const; static int isInSelectiveSyncBlackListCallback(void *, const char *); - bool checkSelectiveSyncNewFolder(const QString &path); - static int checkSelectiveSyncNewFolderCallback(void*, const char*); + bool checkSelectiveSyncNewFolder(const QString &path, const char *remotePerm); + static int checkSelectiveSyncNewFolderCallback(void* data, const char* path, const char* remotePerm); // Just for progress static void update_job_update_callback (bool local, @@ -197,7 +209,7 @@ class DiscoveryJob : public QObject { public: explicit DiscoveryJob(CSYNC *ctx, QObject* parent = 0) - : QObject(parent), _csync_ctx(ctx), _newBigFolderSizeLimit(-1) { + : QObject(parent), _csync_ctx(ctx) { // We need to forward the log property as csync uses thread local // and updates run in another thread _log_callback = csync_get_log_callback(); @@ -207,7 +219,7 @@ public: QStringList _selectiveSyncBlackList; QStringList _selectiveSyncWhiteList; - qint64 _newBigFolderSizeLimit; + SyncOptions _syncOptions; Q_INVOKABLE void start(); signals: void finished(int result); @@ -218,7 +230,7 @@ signals: void doGetSizeSignal(const QString &path, qint64 *result); // A new folder was discovered and was not synced because of the confirmation feature - void newBigFolder(const QString &folder); + void newBigFolder(const QString &folder, bool isExternal); }; } diff --git a/src/libsync/excludedfiles.cpp b/src/libsync/excludedfiles.cpp index 80e459f10..d9793ce0f 100644 --- a/src/libsync/excludedfiles.cpp +++ b/src/libsync/excludedfiles.cpp @@ -47,7 +47,7 @@ void ExcludedFiles::addExcludeFilePath(const QString& path) _excludeFiles.insert(path); } -#ifdef WITH_UNIT_TESTING +#ifdef WITH_TESTING void ExcludedFiles::addExcludeExpr(const QString &expr) { _csync_exclude_add(_excludesPtr, expr.toLatin1().constData()); diff --git a/src/libsync/excludedfiles.h b/src/libsync/excludedfiles.h index 441aa29ae..97e3a98da 100644 --- a/src/libsync/excludedfiles.h +++ b/src/libsync/excludedfiles.h @@ -58,7 +58,7 @@ public: const QString& basePath, bool excludeHidden) const; -#ifdef WITH_UNIT_TESTING +#ifdef WITH_TESTING void addExcludeExpr(const QString &expr); #endif diff --git a/src/libsync/filesystem.h b/src/libsync/filesystem.h index e53e873a9..36ac8d599 100644 --- a/src/libsync/filesystem.h +++ b/src/libsync/filesystem.h @@ -84,7 +84,7 @@ QString OWNCLOUDSYNC_EXPORT longWinPath( const QString& inpath ); */ time_t OWNCLOUDSYNC_EXPORT getModTime(const QString& filename); -bool setModTime(const QString &filename, time_t modTime); +bool OWNCLOUDSYNC_EXPORT setModTime(const QString &filename, time_t modTime); /** * @brief Get the size for a file diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp index afe26c3d3..f54d57a33 100644 --- a/src/libsync/owncloudpropagator.cpp +++ b/src/libsync/owncloudpropagator.cpp @@ -25,6 +25,7 @@ #include "configfile.h" #include "utility.h" #include "account.h" +#include "asserts.h" #include #ifdef Q_OS_WIN @@ -39,6 +40,7 @@ #include #include #include +#include namespace OCC { @@ -71,32 +73,27 @@ qint64 freeSpaceLimit() OwncloudPropagator::~OwncloudPropagator() {} -/* The maximum number of active jobs in parallel */ -int OwncloudPropagator::maximumActiveJob() -{ - static int max = qgetenv("OWNCLOUD_MAX_PARALLEL").toUInt(); - if (!max) { - max = 3; //default - } +int OwncloudPropagator::maximumActiveTransferJob() +{ if (_downloadLimit.fetchAndAddAcquire(0) != 0 || _uploadLimit.fetchAndAddAcquire(0) != 0) { // disable parallelism when there is a network limit. return 1; } - - return max; + return qCeil(hardMaximumActiveJob()/2.); } +/* The maximum number of active jobs in parallel */ int OwncloudPropagator::hardMaximumActiveJob() { - int max = maximumActiveJob(); - return max*2; - // FIXME: Wondering if we should hard-limit to 1 if maximumActiveJob() is 1 - // to support our old use case of limiting concurrency (when "automatic" bandwidth - // limiting is set. But this causes https://github.com/owncloud/client/issues/4081 + static int max = qgetenv("OWNCLOUD_MAX_PARALLEL").toUInt(); + if (!max) { + max = 6; //default (Qt cannot do more anyway) + // TODO: increase this number when using HTTP2 + } + return max; } - /** Updates, creates or removes a blacklist entry for the given item. * * Returns whether the error should be suppressed. @@ -172,7 +169,7 @@ void PropagateItemJob::done(SyncFileItem::Status status, const QString &errorStr _item->_status = status; - emit itemCompleted(*_item, *this); + emit itemCompleted(_item); emit finished(status); } @@ -221,7 +218,7 @@ bool PropagateItemJob::checkForProblemsWithShared(int httpStatusCode, const QStr if( newJob ) { newJob->setRestoreJobMsg(msg); _restoreJob.reset(newJob); - connect(_restoreJob.data(), SIGNAL(itemCompleted(const SyncFileItemPtr &, const PropagatorJob &)), + connect(_restoreJob.data(), SIGNAL(itemCompleted(const SyncFileItemPtr &)), this, SLOT(slotRestoreJobCompleted(const SyncFileItemPtr &))); QMetaObject::invokeMethod(newJob, "start"); } @@ -403,8 +400,8 @@ void OwncloudPropagator::start(const SyncFileItemVector& items) _rootJob->append(it); } - connect(_rootJob.data(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &)), - this, SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + connect(_rootJob.data(), SIGNAL(itemCompleted(const SyncFileItemPtr &)), + this, SIGNAL(itemCompleted(const SyncFileItemPtr &))); connect(_rootJob.data(), SIGNAL(progress(const SyncFileItem &,quint64)), this, SIGNAL(progress(const SyncFileItem &,quint64))); connect(_rootJob.data(), SIGNAL(finished(SyncFileItem::Status)), this, SLOT(emitFinished(SyncFileItem::Status))); connect(_rootJob.data(), SIGNAL(ready()), this, SLOT(scheduleNextJob()), Qt::QueuedConnection); @@ -524,7 +521,7 @@ void OwncloudPropagator::scheduleNextJob() // Down-scaling on slow networks? https://github.com/owncloud/client/issues/3382 // Making sure we do up/down at same time? https://github.com/owncloud/client/issues/1633 - if (_activeJobList.count() < maximumActiveJob()) { + if (_activeJobList.count() < maximumActiveTransferJob()) { if (_rootJob->scheduleNextJob()) { QTimer::singleShot(0, this, SLOT(scheduleNextJob())); } @@ -534,12 +531,12 @@ void OwncloudPropagator::scheduleNextJob() // one that is likely finished quickly, we can launch another one. // When a job finishes another one will "move up" to be one of the first 3 and then // be counted too. - for (int i = 0; i < maximumActiveJob() && i < _activeJobList.count(); i++) { + for (int i = 0; i < maximumActiveTransferJob() && i < _activeJobList.count(); i++) { if (_activeJobList.at(i)->isLikelyFinishedQuickly()) { likelyFinishedQuicklyCount++; } } - if (_activeJobList.count() < maximumActiveJob() + likelyFinishedQuicklyCount) { + if (_activeJobList.count() < maximumActiveTransferJob() + likelyFinishedQuicklyCount) { qDebug() << "Can pump in another request! activeJobs =" << _activeJobList.count(); if (_rootJob->scheduleNextJob()) { QTimer::singleShot(0, this, SLOT(scheduleNextJob())); @@ -588,17 +585,12 @@ OwncloudPropagator *PropagatorJob::propagator() const PropagatorJob::JobParallelism PropagateDirectory::parallelism() { // If any of the non-finished sub jobs is not parallel, we have to wait - - // FIXME! we should probably cache this result - - if (_firstJob && _firstJob->_state != Finished) { - if (_firstJob->parallelism() != FullParallelism) - return WaitForFinished; + if (_firstJob && _firstJob->parallelism() != FullParallelism) { + return WaitForFinished; } - // FIXME: use the cached value of finished job for (int i = 0; i < _subJobs.count(); ++i) { - if (_subJobs.at(i)->_state != Finished && _subJobs.at(i)->parallelism() != FullParallelism) { + if (_subJobs.at(i)->parallelism() != FullParallelism) { return WaitForFinished; } } @@ -629,15 +621,8 @@ bool PropagateDirectory::scheduleNextJob() return false; } - // cache the value of first unfinished subjob bool stopAtDirectory = false; - int i = _firstUnfinishedSubJob; - int subJobsCount = _subJobs.count(); - while (i < subJobsCount && _subJobs.at(i)->_state == Finished) { - _firstUnfinishedSubJob = ++i; - } - - for (int i = _firstUnfinishedSubJob; i < subJobsCount; ++i) { + for (int i = 0; i < _subJobs.size(); ++i) { if (_subJobs.at(i)->_state == Finished) { continue; } @@ -650,7 +635,7 @@ bool PropagateDirectory::scheduleNextJob() return true; } - Q_ASSERT(_subJobs.at(i)->_state == Running); + ASSERT(_subJobs.at(i)->_state == Running); auto paral = _subJobs.at(i)->parallelism(); if (paral == WaitForFinished) { @@ -665,8 +650,23 @@ bool PropagateDirectory::scheduleNextJob() void PropagateDirectory::slotSubJobFinished(SyncFileItem::Status status) { + PropagatorJob *subJob = static_cast(sender()); + ASSERT(subJob); + + // Delete the job and remove it from our list of jobs. + subJob->deleteLater(); + bool wasFirstJob = false; + if (subJob == _firstJob.data()) { + wasFirstJob = true; + _firstJob.take(); + } else { + int i = _subJobs.indexOf(subJob); + ASSERT(i >= 0); + _subJobs.remove(i); + } + if (status == SyncFileItem::FatalError || - (sender() == _firstJob.data() && status != SyncFileItem::Success && status != SyncFileItem::Restoration)) { + (wasFirstJob && status != SyncFileItem::Success && status != SyncFileItem::Restoration)) { abort(); _state = Finished; emit finished(status); @@ -674,18 +674,10 @@ void PropagateDirectory::slotSubJobFinished(SyncFileItem::Status status) } else if (status == SyncFileItem::NormalError || status == SyncFileItem::SoftError) { _hasError = status; } - _runningNow--; - _jobsFinished++; - - int totalJobs = _subJobs.count(); - if (_firstJob) { - totalJobs++; - } // We finished processing all the jobs // check if we finished - if (_jobsFinished >= totalJobs) { - Q_ASSERT(!_runningNow); // how can we be finished if there are still jobs running now + if (!_firstJob && _subJobs.isEmpty()) { finalize(); } else { emit ready(); @@ -765,7 +757,7 @@ void CleanupPollsJob::start() void CleanupPollsJob::slotPollFinished() { PollJob *job = qobject_cast(sender()); - Q_ASSERT(job); + ASSERT(job); if (job->_item->_status == SyncFileItem::FatalError) { emit aborted(job->_item->_errorString); deleteLater(); diff --git a/src/libsync/owncloudpropagator.h b/src/libsync/owncloudpropagator.h index b7b57f4b6..ef5db3b1e 100644 --- a/src/libsync/owncloudpropagator.h +++ b/src/libsync/owncloudpropagator.h @@ -114,7 +114,7 @@ signals: /** * Emitted when one item has been completed within a job. */ - void itemCompleted(const SyncFileItem &, const PropagatorJob &); + void itemCompleted(const SyncFileItemPtr &); /** * Emitted when all the sub-jobs have been finished and @@ -192,14 +192,11 @@ public: SyncFileItemPtr _item; - int _jobsFinished; // number of jobs that have completed - int _runningNow; // number of subJobs running right now SyncFileItem::Status _hasError; // NoStatus, or NormalError / SoftError if there was an error - int _firstUnfinishedSubJob; explicit PropagateDirectory(OwncloudPropagator *propagator, const SyncFileItemPtr &item = SyncFileItemPtr(new SyncFileItem)) : PropagatorJob(propagator) - , _firstJob(0), _item(item), _jobsFinished(0), _runningNow(0), _hasError(SyncFileItem::NoStatus), _firstUnfinishedSubJob(0) + , _item(item), _hasError(SyncFileItem::NoStatus) { } virtual ~PropagateDirectory() { @@ -231,11 +228,9 @@ private slots: bool possiblyRunNextJob(PropagatorJob *next) { if (next->_state == NotYetStarted) { connect(next, SIGNAL(finished(SyncFileItem::Status)), this, SLOT(slotSubJobFinished(SyncFileItem::Status)), Qt::QueuedConnection); - connect(next, SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &)), - this, SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + connect(next, SIGNAL(itemCompleted(const SyncFileItemPtr &)), this, SIGNAL(itemCompleted(const SyncFileItemPtr &))); connect(next, SIGNAL(progress(const SyncFileItem &,quint64)), this, SIGNAL(progress(const SyncFileItem &,quint64))); connect(next, SIGNAL(ready()), this, SIGNAL(ready())); - _runningNow++; } return next->scheduleNextJob(); } @@ -306,8 +301,9 @@ public: /** We detected that another sync is required after this one */ bool _anotherSyncNeeded; + /* the maximum number of jobs using bandwidth (uploads or downloads, in parallel) */ + int maximumActiveTransferJob(); /* The maximum number of active jobs in parallel */ - int maximumActiveJob(); int hardMaximumActiveJob(); bool isInSharedDirectory(const QString& file); @@ -356,7 +352,7 @@ private slots: void scheduleNextJob(); signals: - void itemCompleted(const SyncFileItem &, const PropagatorJob &); + void itemCompleted(const SyncFileItemPtr &); void progress(const SyncFileItem&, quint64 bytes); void finished(bool success); diff --git a/src/libsync/ownsql.cpp b/src/libsync/ownsql.cpp index 8a41b476f..e4cebd793 100644 --- a/src/libsync/ownsql.cpp +++ b/src/libsync/ownsql.cpp @@ -20,6 +20,7 @@ #include "ownsql.h" #include "utility.h" +#include "asserts.h" #define SQLITE_SLEEP_TIME_USEC 100000 #define SQLITE_REPEAT_COUNT 20 @@ -147,10 +148,8 @@ void SqlDatabase::close() { if( _db ) { SQLITE_DO(sqlite3_close(_db) ); - if (_errId != SQLITE_OK) { - qWarning() << "ERROR When closing DB" << _error; - Q_ASSERT(!"SQLite Close Error"); - } + // Fatal because reopening an unclosed db might be problematic. + ENFORCE(_errId == SQLITE_OK, "Error when closing DB"); _db = 0; } } @@ -223,11 +222,7 @@ int SqlQuery::prepare( const QString& sql, bool allow_failure ) if( _errId != SQLITE_OK ) { _error = QString::fromUtf8(sqlite3_errmsg(_db)); qWarning() << "Sqlite prepare statement error:" << _error << "in" <<_sql; - if (!allow_failure) { - qFatal("SQLITE Prepare error: %s in %s", - _error.toLocal8Bit().data(), - sql.toLocal8Bit().data()); - } + ENFORCE(allow_failure, "SQLITE Prepare error"); } } return _errId; @@ -284,61 +279,63 @@ bool SqlQuery::next() void SqlQuery::bindValue(int pos, const QVariant& value) { int res = -1; - Q_ASSERT(_stmt); - if( _stmt ) { - switch (value.type()) { - case QVariant::Int: - case QVariant::Bool: - res = sqlite3_bind_int(_stmt, pos, value.toInt()); - break; - case QVariant::Double: - res = sqlite3_bind_double(_stmt, pos, value.toDouble()); - break; - case QVariant::UInt: - case QVariant::LongLong: - res = sqlite3_bind_int64(_stmt, pos, value.toLongLong()); - break; - case QVariant::DateTime: { - const QDateTime dateTime = value.toDateTime(); - const QString str = dateTime.toString(QLatin1String("yyyy-MM-ddThh:mm:ss.zzz")); - res = sqlite3_bind_text16(_stmt, pos, str.utf16(), - str.size() * sizeof(ushort), SQLITE_TRANSIENT); - break; - } - case QVariant::Time: { - const QTime time = value.toTime(); - const QString str = time.toString(QLatin1String("hh:mm:ss.zzz")); - res = sqlite3_bind_text16(_stmt, pos, str.utf16(), - str.size() * sizeof(ushort), SQLITE_TRANSIENT); - break; - } - case QVariant::String: { - if( !value.toString().isNull() ) { - // lifetime of string == lifetime of its qvariant - const QString *str = static_cast(value.constData()); - res = sqlite3_bind_text16(_stmt, pos, str->utf16(), - (str->size()) * sizeof(QChar), SQLITE_TRANSIENT); - } else { - res = sqlite3_bind_null(_stmt, pos); - } - break; } - case QVariant::ByteArray: { - auto ba = value.toByteArray(); - res = sqlite3_bind_text(_stmt, pos, ba.constData(), ba.size(), SQLITE_TRANSIENT); - break; - } - default: { - QString str = value.toString(); - // SQLITE_TRANSIENT makes sure that sqlite buffers the data - res = sqlite3_bind_text16(_stmt, pos, str.utf16(), - (str.size()) * sizeof(QChar), SQLITE_TRANSIENT); - break; } + if (!_stmt) { + ASSERT(false); + return; + } + + switch (value.type()) { + case QVariant::Int: + case QVariant::Bool: + res = sqlite3_bind_int(_stmt, pos, value.toInt()); + break; + case QVariant::Double: + res = sqlite3_bind_double(_stmt, pos, value.toDouble()); + break; + case QVariant::UInt: + case QVariant::LongLong: + res = sqlite3_bind_int64(_stmt, pos, value.toLongLong()); + break; + case QVariant::DateTime: { + const QDateTime dateTime = value.toDateTime(); + const QString str = dateTime.toString(QLatin1String("yyyy-MM-ddThh:mm:ss.zzz")); + res = sqlite3_bind_text16(_stmt, pos, str.utf16(), + str.size() * sizeof(ushort), SQLITE_TRANSIENT); + break; + } + case QVariant::Time: { + const QTime time = value.toTime(); + const QString str = time.toString(QLatin1String("hh:mm:ss.zzz")); + res = sqlite3_bind_text16(_stmt, pos, str.utf16(), + str.size() * sizeof(ushort), SQLITE_TRANSIENT); + break; + } + case QVariant::String: { + if( !value.toString().isNull() ) { + // lifetime of string == lifetime of its qvariant + const QString *str = static_cast(value.constData()); + res = sqlite3_bind_text16(_stmt, pos, str->utf16(), + (str->size()) * sizeof(QChar), SQLITE_TRANSIENT); + } else { + res = sqlite3_bind_null(_stmt, pos); } + break; } + case QVariant::ByteArray: { + auto ba = value.toByteArray(); + res = sqlite3_bind_text(_stmt, pos, ba.constData(), ba.size(), SQLITE_TRANSIENT); + break; + } + default: { + QString str = value.toString(); + // SQLITE_TRANSIENT makes sure that sqlite buffers the data + res = sqlite3_bind_text16(_stmt, pos, str.utf16(), + (str.size()) * sizeof(QChar), SQLITE_TRANSIENT); + break; } } if (res != SQLITE_OK) { qDebug() << Q_FUNC_INFO << "ERROR" << value << res; } - Q_ASSERT( res == SQLITE_OK ); + ASSERT( res == SQLITE_OK ); } bool SqlQuery::nullValue(int index) diff --git a/src/libsync/progressdispatcher.h b/src/libsync/progressdispatcher.h index 538ce60c4..4571ed947 100644 --- a/src/libsync/progressdispatcher.h +++ b/src/libsync/progressdispatcher.h @@ -28,8 +28,6 @@ namespace OCC { -class PropagatorJob; - /** * @brief The ProgressInfo class * @ingroup libsync @@ -252,9 +250,7 @@ signals: /** * @brief: the item was completed by a job */ - void itemCompleted(const QString &folder, - const SyncFileItem & item, - const PropagatorJob & job); + void itemCompleted(const QString &folder, const SyncFileItemPtr & item); protected: void setProgressInfo(const QString& folder, const ProgressInfo& progress); diff --git a/src/libsync/propagatedownload.cpp b/src/libsync/propagatedownload.cpp index 28f96fead..030826c0b 100644 --- a/src/libsync/propagatedownload.cpp +++ b/src/libsync/propagatedownload.cpp @@ -23,6 +23,7 @@ #include "filesystem.h" #include "propagatorjobs.h" #include "checksums.h" +#include "asserts.h" #include #include @@ -441,7 +442,7 @@ void PropagateDownloadFile::slotGetFinished() propagator()->_activeJobList.removeOne(this); GETFileJob *job = qobject_cast(sender()); - Q_ASSERT(job); + ASSERT(job); qDebug() << Q_FUNC_INFO << job->reply()->request().url() << "FINISHED WITH STATUS" << job->reply()->error() @@ -520,7 +521,6 @@ void PropagateDownloadFile::slotGetFinished() // so make sure we have the up-to-date time _item->_modtime = job->lastModified(); } - _item->_requestDuration = job->duration(); _item->_responseTimeStamp = job->responseTimestamp(); _tmpFile.close(); diff --git a/src/libsync/propagateremotedelete.cpp b/src/libsync/propagateremotedelete.cpp index 67d50c63d..ff9d863eb 100644 --- a/src/libsync/propagateremotedelete.cpp +++ b/src/libsync/propagateremotedelete.cpp @@ -15,6 +15,7 @@ #include "propagateremotedelete.h" #include "owncloudpropagator_p.h" #include "account.h" +#include "asserts.h" namespace OCC { @@ -81,7 +82,7 @@ void PropagateRemoteDelete::slotDeleteJobFinished() { propagator()->_activeJobList.removeOne(this); - Q_ASSERT(_job); + ASSERT(_job); qDebug() << Q_FUNC_INFO << _job->reply()->request().url() << "FINISHED WITH STATUS" << _job->reply()->error() @@ -104,7 +105,6 @@ void PropagateRemoteDelete::slotDeleteJobFinished() return; } - _item->_requestDuration = _job->duration(); _item->_responseTimeStamp = _job->responseTimestamp(); // A 404 reply is also considered a success here: We want to make sure diff --git a/src/libsync/propagateremotemkdir.cpp b/src/libsync/propagateremotemkdir.cpp index 8a0b7db80..3e4f40b56 100644 --- a/src/libsync/propagateremotemkdir.cpp +++ b/src/libsync/propagateremotemkdir.cpp @@ -17,6 +17,7 @@ #include "account.h" #include "syncjournalfilerecord.h" #include "propagateremotedelete.h" +#include "asserts.h" #include namespace OCC { @@ -70,7 +71,7 @@ void PropagateRemoteMkdir::slotMkcolJobFinished() { propagator()->_activeJobList.removeOne(this); - Q_ASSERT(_job); + ASSERT(_job); qDebug() << Q_FUNC_INFO << _job->reply()->request().url() << "FINISHED WITH STATUS" << _job->reply()->error() @@ -99,7 +100,6 @@ void PropagateRemoteMkdir::slotMkcolJobFinished() return; } - _item->_requestDuration = _job->duration(); _item->_responseTimeStamp = _job->responseTimestamp(); _item->_fileId = _job->reply()->rawHeader("OC-FileId"); diff --git a/src/libsync/propagateremotemove.cpp b/src/libsync/propagateremotemove.cpp index 606488081..11370d573 100644 --- a/src/libsync/propagateremotemove.cpp +++ b/src/libsync/propagateremotemove.cpp @@ -18,6 +18,7 @@ #include "account.h" #include "syncjournalfilerecord.h" #include "filesystem.h" +#include "asserts.h" #include #include #include @@ -123,7 +124,7 @@ void PropagateRemoteMove::slotMoveJobFinished() { propagator()->_activeJobList.removeOne(this); - Q_ASSERT(_job); + ASSERT(_job); qDebug() << Q_FUNC_INFO << _job->reply()->request().url() << "FINISHED WITH STATUS" << _job->reply()->error() @@ -145,7 +146,6 @@ void PropagateRemoteMove::slotMoveJobFinished() return; } - _item->_requestDuration = _job->duration(); _item->_responseTimeStamp = _job->responseTimestamp(); if (_item->_httpErrorCode != 201 ) { @@ -208,8 +208,8 @@ bool PropagateRemoteMove::adjustSelectiveSync(SyncJournalDb *journal, const QStr return false; bool changed = false; - Q_ASSERT(!from_.endsWith(QLatin1String("/"))); - Q_ASSERT(!to_.endsWith(QLatin1String("/"))); + ASSERT(!from_.endsWith(QLatin1String("/"))); + ASSERT(!to_.endsWith(QLatin1String("/"))); QString from = from_ + QLatin1String("/"); QString to = to_ + QLatin1String("/"); diff --git a/src/libsync/propagateupload.cpp b/src/libsync/propagateupload.cpp index b07041ab6..2f8c544fb 100644 --- a/src/libsync/propagateupload.cpp +++ b/src/libsync/propagateupload.cpp @@ -25,6 +25,7 @@ #include "checksums.h" #include "syncengine.h" #include "propagateremotedelete.h" +#include "asserts.h" #include #include @@ -224,7 +225,9 @@ void PropagateUploadFileCommon::slotComputeContentChecksum() // change during the checksum calculation _item->_modtime = FileSystem::getModTime(filePath); +#ifdef WITH_TESTING _stopWatch.start(); +#endif QByteArray checksumType = contentChecksumType(); @@ -251,8 +254,10 @@ void PropagateUploadFileCommon::slotComputeTransmissionChecksum(const QByteArray _item->_contentChecksum = contentChecksum; _item->_contentChecksumType = contentChecksumType; +#ifdef WITH_TESTING _stopWatch.addLapTime(QLatin1String("ContentChecksum")); _stopWatch.start(); +#endif // Reuse the content checksum as the transmission checksum if possible const auto supportedTransmissionChecksums = @@ -299,7 +304,9 @@ void PropagateUploadFileCommon::slotStartUpload(const QByteArray& transmissionCh done(SyncFileItem::SoftError, tr("File Removed")); return; } +#ifdef WITH_TESTING _stopWatch.addLapTime(QLatin1String("TransmissionChecksum")); +#endif time_t prevModtime = _item->_modtime; // the _item value was set in PropagateUploadFile::start() // but a potential checksum calculation could have taken some time during which the file could @@ -369,7 +376,7 @@ bool UploadDevice::prepareAndOpen(const QString& fileName, qint64 start, qint64 qint64 UploadDevice::writeData(const char* , qint64 ) { - Q_ASSERT(!"write to read only device"); + ASSERT(false, "write to read only device"); return 0; } @@ -480,7 +487,7 @@ void PropagateUploadFileCommon::startPollJob(const QString& path) void PropagateUploadFileCommon::slotPollFinished() { PollJob *job = qobject_cast(sender()); - Q_ASSERT(job); + ASSERT(job); propagator()->_activeJobList.removeOne(this); @@ -569,7 +576,6 @@ QMap PropagateUploadFileCommon::headers() void PropagateUploadFileCommon::finalize() { - _item->_requestDuration = _duration.elapsed(); _finished = true; if (!propagator()->_journal->setFileRecord(SyncJournalFileRecord(*_item, propagator()->getFilePath(_item->_file)))) { diff --git a/src/libsync/propagateupload.h b/src/libsync/propagateupload.h index c93ffe36f..31e9067d6 100644 --- a/src/libsync/propagateupload.h +++ b/src/libsync/propagateupload.h @@ -183,13 +183,14 @@ class PropagateUploadFileCommon : public PropagateItemJob { Q_OBJECT protected: - QElapsedTimer _duration; QVector _jobs; /// network jobs that are currently in transit - bool _finished; /// Tells that all the jobs have been finished - bool _deleteExisting; + bool _finished BITFIELD(1); /// Tells that all the jobs have been finished + bool _deleteExisting BITFIELD(1); // measure the performance of checksum calc and upload +#ifdef WITH_TESTING Utility::StopWatch _stopWatch; +#endif QByteArray _transmissionChecksum; QByteArray _transmissionChecksumType; @@ -300,7 +301,8 @@ private: // Map chunk number with its size from the PROPFIND on resume. // (Only used from slotPropfindIterate/slotPropfindFinished because the LsColJob use signals to report data.) - QMap _serverChunks; + struct ServerChunkInfo { quint64 size; QString originalName; }; + QMap _serverChunks; quint64 chunkSize() const { return propagator()->chunkSize(); } /** diff --git a/src/libsync/propagateuploadng.cpp b/src/libsync/propagateuploadng.cpp index 09891b65b..7109abb94 100644 --- a/src/libsync/propagateuploadng.cpp +++ b/src/libsync/propagateuploadng.cpp @@ -25,7 +25,7 @@ #include "syncengine.h" #include "propagateremotemove.h" #include "propagateremotedelete.h" - +#include "asserts.h" #include #include @@ -41,7 +41,8 @@ QUrl PropagateUploadFileNG::chunkUrl(int chunk) + propagator()->account()->davUser() + QLatin1Char('/') + QString::number(_transferId); if (chunk >= 0) { - path += QLatin1Char('/') + QString::number(chunk); + // We need to do add leading 0 because the server orders the chunk alphabetically + path += QLatin1Char('/') + QString::number(chunk).rightJustified(8, '0'); } return Utility::concatUrlPath(propagator()->account()->url(), path); } @@ -79,7 +80,6 @@ QUrl PropagateUploadFileNG::chunkUrl(int chunk) void PropagateUploadFileNG::doStartUpload() { - _duration.start(); propagator()->_activeJobList.append(this); const SyncJournalDb::UploadInfo progressInfo = propagator()->_journal->getUploadInfo(_item->_file); @@ -97,6 +97,12 @@ void PropagateUploadFileNG::doStartUpload() this, SLOT(slotPropfindIterate(QString,QMap))); job->start(); return; + } else if (progressInfo._valid) { + // The upload info is stale. remove the stale chunks on the server + _transferId = progressInfo._transferid; + // Fire and forget. Any error will be ignored. + (new DeleteJob(propagator()->account(), chunkUrl(), this))->start(); + // startNewUpload will reset the _transferId and the UploadInfo in the db. } startNewUpload(); @@ -108,9 +114,11 @@ void PropagateUploadFileNG::slotPropfindIterate(const QString &name, const QMap< return; // skip the info about the path itself } bool ok = false; - auto chunkId = name.mid(name.lastIndexOf('/')+1).toUInt(&ok); + QString chunkName = name.mid(name.lastIndexOf('/')+1); + auto chunkId = chunkName.toUInt(&ok); if (ok) { - _serverChunks[chunkId] = properties["getcontentlength"].toULongLong(); + ServerChunkInfo chunkinfo = { properties["getcontentlength"].toULongLong(), chunkName }; + _serverChunks[chunkId] = chunkinfo; } } @@ -123,7 +131,7 @@ void PropagateUploadFileNG::slotPropfindFinished() _currentChunk = 0; _sent = 0; while (_serverChunks.contains(_currentChunk)) { - _sent += _serverChunks[_currentChunk]; + _sent += _serverChunks[_currentChunk].size; _serverChunks.remove(_currentChunk); ++_currentChunk; } @@ -141,7 +149,7 @@ void PropagateUploadFileNG::slotPropfindFinished() qDebug() << "Resuming "<< _item->_file << " from chunk " << _currentChunk << "; sent ="<< _sent; if (!_serverChunks.isEmpty()) { - qDebug() << "To Delete" << _serverChunks; + qDebug() << "To Delete" << _serverChunks.keys(); propagator()->_activeJobList.append(this); _removeJobError = false; @@ -149,7 +157,7 @@ void PropagateUploadFileNG::slotPropfindFinished() // we should remove the later chunks. Otherwise when we do dynamic chunk sizing, we may end up // with corruptions if there are too many chunks, or if we abort and there are still stale chunks. for (auto it = _serverChunks.begin(); it != _serverChunks.end(); ++it) { - auto job = new DeleteJob(propagator()->account(), Utility::concatUrlPath(chunkUrl(), QString::number(it.key())), this); + auto job = new DeleteJob(propagator()->account(), Utility::concatUrlPath(chunkUrl(), it->originalName), this); QObject::connect(job, SIGNAL(finishedSignal()), this, SLOT(slotDeleteJobFinished())); _jobs.append(job); job->start(); @@ -180,7 +188,7 @@ void PropagateUploadFileNG::slotPropfindFinishedWithError() void PropagateUploadFileNG::slotDeleteJobFinished() { auto job = qobject_cast(sender()); - Q_ASSERT(job); + ASSERT(job); _jobs.remove(_jobs.indexOf(job)); QNetworkReply::NetworkError err = job->reply()->error(); @@ -212,7 +220,7 @@ void PropagateUploadFileNG::slotDeleteJobFinished() void PropagateUploadFileNG::startNewUpload() { - Q_ASSERT(propagator()->_activeJobList.count(this) == 1); + ASSERT(propagator()->_activeJobList.count(this) == 1); _transferId = qrand() ^ _item->_modtime ^ (_item->_size << 16) ^ qHash(_item->_file); _sent = 0; _currentChunk = 0; @@ -262,11 +270,12 @@ void PropagateUploadFileNG::startNextChunk() return; quint64 fileSize = _item->_size; - Q_ASSERT(fileSize >= _sent); + ENFORCE(fileSize >= _sent, "Sent data exceeds file size"); + quint64 currentChunkSize = qMin(chunkSize(), fileSize - _sent); if (currentChunkSize == 0) { - Q_ASSERT(_jobs.isEmpty()); // There should be no running job anymore + ASSERT(_jobs.isEmpty()); _finished = true; // Finish with a MOVE QString destination = QDir::cleanPath(propagator()->account()->url().path() + QLatin1Char('/') @@ -335,7 +344,8 @@ void PropagateUploadFileNG::startNextChunk() void PropagateUploadFileNG::slotPutFinished() { PUTFileJob *job = qobject_cast(sender()); - Q_ASSERT(job); + ASSERT(job); + slotJobDestroyed(job); // remove it from the _jobs list qDebug() << job->reply()->request().url() << "FINISHED WITH STATUS" @@ -383,7 +393,7 @@ void PropagateUploadFileNG::slotPutFinished() return; } - Q_ASSERT(_sent <= _item->_size); + ENFORCE(_sent <= _item->_size, "can't send more than size"); bool finished = _sent == _item->_size; // Check if the file still exists @@ -475,14 +485,16 @@ void PropagateUploadFileNG::slotMoveJobFinished() } _item->_responseTimeStamp = job->responseTimestamp(); +#ifdef WITH_TESTING // performance logging - _item->_requestDuration = _stopWatch.stop(); + quint64 duration = _stopWatch.stop(); qDebug() << "*==* duration UPLOAD" << _item->_size << _stopWatch.durationOfLap(QLatin1String("ContentChecksum")) << _stopWatch.durationOfLap(QLatin1String("TransmissionChecksum")) - << _item->_requestDuration; + << duration; // The job might stay alive for the whole sync, release this tiny bit of memory. _stopWatch.reset(); +#endif finalize(); } diff --git a/src/libsync/propagateuploadv1.cpp b/src/libsync/propagateuploadv1.cpp index 1bffd7ff7..916dcdcf9 100644 --- a/src/libsync/propagateuploadv1.cpp +++ b/src/libsync/propagateuploadv1.cpp @@ -25,6 +25,7 @@ #include "checksums.h" #include "syncengine.h" #include "propagateremotedelete.h" +#include "asserts.h" #include #include @@ -49,7 +50,6 @@ void PropagateUploadFileV1::doStartUpload() } _currentChunk = 0; - _duration.start(); emit progress(*_item, 0); startNextChunk(); @@ -160,7 +160,7 @@ void PropagateUploadFileV1::startNextChunk() parallelChunkUpload = false; } - if (parallelChunkUpload && (propagator()->_activeJobList.count() < propagator()->maximumActiveJob()) + if (parallelChunkUpload && (propagator()->_activeJobList.count() < propagator()->maximumActiveTransferJob()) && _currentChunk < _chunkCount ) { startNextChunk(); } @@ -172,7 +172,8 @@ void PropagateUploadFileV1::startNextChunk() void PropagateUploadFileV1::slotPutFinished() { PUTFileJob *job = qobject_cast(sender()); - Q_ASSERT(job); + ASSERT(job); + slotJobDestroyed(job); // remove it from the _jobs list qDebug() << Q_FUNC_INFO << job->reply()->request().url() << "FINISHED WITH STATUS" @@ -340,14 +341,16 @@ void PropagateUploadFileV1::slotPutFinished() done(SyncFileItem::SoftError, "Server does not support X-OC-MTime"); } +#ifdef WITH_TESTING // performance logging - _item->_requestDuration = _stopWatch.stop(); + quint64 duration = _stopWatch.stop(); qDebug() << "*==* duration UPLOAD" << _item->_size << _stopWatch.durationOfLap(QLatin1String("ContentChecksum")) << _stopWatch.durationOfLap(QLatin1String("TransmissionChecksum")) - << _item->_requestDuration; + << duration; // The job might stay alive for the whole sync, release this tiny bit of memory. _stopWatch.reset(); +#endif finalize(); } diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp index a4e2fceab..333fdd9e7 100644 --- a/src/libsync/syncengine.cpp +++ b/src/libsync/syncengine.cpp @@ -23,6 +23,8 @@ #include "syncfilestatus.h" #include "csync_private.h" #include "filesystem.h" +#include "propagateremotedelete.h" +#include "asserts.h" #ifdef Q_OS_WIN #include @@ -71,18 +73,18 @@ SyncEngine::SyncEngine(AccountPtr account, const QString& localPath, , _backInTimeFiles(0) , _uploadLimit(0) , _downloadLimit(0) - , _newBigFolderSizeLimit(-1) , _checksum_hook(journal) , _anotherSyncNeeded(NoFollowUpSync) { qRegisterMetaType("SyncFileItem"); + qRegisterMetaType("SyncFileItemPtr"); qRegisterMetaType("SyncFileItem::Status"); qRegisterMetaType("SyncFileStatus"); qRegisterMetaType("SyncFileItemVector"); qRegisterMetaType("SyncFileItem::Direction"); // Everything in the SyncEngine expects a trailing slash for the localPath. - Q_ASSERT(localPath.endsWith(QLatin1Char('/'))); + ASSERT(localPath.endsWith(QLatin1Char('/'))); csync_create(&_csync_ctx, localPath.toUtf8().data()); @@ -266,11 +268,11 @@ bool SyncEngine::checkErrorBlacklisting( SyncFileItem &item ) return true; } -void SyncEngine::deleteStaleDownloadInfos() +void SyncEngine::deleteStaleDownloadInfos(const SyncFileItemVector &syncItems) { // Find all downloadinfo paths that we want to preserve. QSet download_file_paths; - foreach(const SyncFileItemPtr &it, _syncedItems) { + foreach(const SyncFileItemPtr &it, syncItems) { if (it->_direction == SyncFileItem::Down && it->_type == SyncFileItem::File) { @@ -288,11 +290,11 @@ void SyncEngine::deleteStaleDownloadInfos() } } -void SyncEngine::deleteStaleUploadInfos() +void SyncEngine::deleteStaleUploadInfos(const SyncFileItemVector &syncItems) { // Find all blacklisted paths that we want to preserve. QSet upload_file_paths; - foreach(const SyncFileItemPtr &it, _syncedItems) { + foreach(const SyncFileItemPtr &it, syncItems) { if (it->_direction == SyncFileItem::Up && it->_type == SyncFileItem::File) { @@ -301,14 +303,23 @@ void SyncEngine::deleteStaleUploadInfos() } // Delete from journal. - _journal->deleteStaleUploadInfos(upload_file_paths); + auto ids = _journal->deleteStaleUploadInfos(upload_file_paths); + + // Delete the stales chunk on the server. + if (account()->capabilities().chunkingNg()) { + foreach (uint transferId, ids) { + QUrl url = Utility::concatUrlPath(account()->url(), QLatin1String("remote.php/dav/uploads/") + + account()->davUser() + QLatin1Char('/') + QString::number(transferId)); + (new DeleteJob(account(), url, this))->start(); + } + } } -void SyncEngine::deleteStaleErrorBlacklistEntries() +void SyncEngine::deleteStaleErrorBlacklistEntries(const SyncFileItemVector &syncItems) { // Find all blacklisted paths that we want to preserve. QSet blacklist_file_paths; - foreach(const SyncFileItemPtr &it, _syncedItems) { + foreach(const SyncFileItemPtr &it, syncItems) { if (it->_hasBlacklistEntry) blacklist_file_paths.insert(it->_file); } @@ -343,7 +354,7 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) QTextCodec::ConverterState utf8State; static QTextCodec *codec = QTextCodec::codecForName("UTF-8"); - Q_ASSERT(codec); + ASSERT(codec); QString fileUtf8 = codec->toUnicode(file->path, qstrlen(file->path), &utf8State); QString renameTarget; QString key = fileUtf8; @@ -379,9 +390,11 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) item->_modtime = file->modtime; } else { if (instruction != CSYNC_INSTRUCTION_NONE) { - qDebug() << "ERROR: Instruction" << item->_instruction << "vs" << instruction << "for" << fileUtf8; - Q_ASSERT(!"Instructions are both unequal NONE"); - return -1; + qWarning() << "ERROR: Instruction" << item->_instruction << "vs" << instruction << "for" << fileUtf8; + ASSERT(false); + // Set instruction to NONE for safety. + file->instruction = item->_instruction = instruction = CSYNC_INSTRUCTION_NONE; + return -1; // should lead to treewalk error } } @@ -396,6 +409,8 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) } if (file->remotePerm && file->remotePerm[0]) { item->_remotePerm = QByteArray(file->remotePerm); + if (remote) + _remotePerms[item->_file] = item->_remotePerm; } /* The flag "serverHasIgnoredFiles" is true if item in question is a directory @@ -426,10 +441,6 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) _seenFiles.insert(renameTarget); } - if (remote && file->remotePerm && file->remotePerm[0]) { - _remotePerms[item->_file] = file->remotePerm; - } - switch(file->error_status) { case CSYNC_STATUS_OK: break; @@ -491,7 +502,7 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) item->_status = SyncFileItem::SoftError; break; default: - Q_ASSERT("Non handled error-status"); + ASSERT(false, "Non handled error-status"); /* No error string */ } @@ -642,12 +653,6 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote ) _needsUpdate = true; - item->log._etag = file->etag; - item->log._fileId = file->file_id; - item->log._instruction = file->instruction; - item->log._modtime = file->modtime; - item->log._size = file->size; - item->log._other_etag = file->other.etag; item->log._other_fileId = file->other.file_id; item->log._other_instruction = file->other.instruction; @@ -707,8 +712,11 @@ void SyncEngine::startSync() } } - Q_ASSERT(!s_anySyncRunning); - Q_ASSERT(!_syncRunning); + if (s_anySyncRunning || _syncRunning) { + ASSERT(false); + return; + } + s_anySyncRunning = true; _syncRunning = true; _anotherSyncNeeded = NoFollowUpSync; @@ -743,7 +751,6 @@ void SyncEngine::startSync() qDebug() << "Could not determine free space available at" << _localPath; } - _syncedItems.clear(); _syncItemMap.clear(); _needsUpdate = false; @@ -830,14 +837,14 @@ void SyncEngine::startSync() return; } - discoveryJob->_newBigFolderSizeLimit = _newBigFolderSizeLimit; + discoveryJob->_syncOptions = _syncOptions; discoveryJob->moveToThread(&_thread); connect(discoveryJob, SIGNAL(finished(int)), this, SLOT(slotDiscoveryJobFinished(int))); connect(discoveryJob, SIGNAL(folderDiscovered(bool,QString)), this, SIGNAL(folderDiscovered(bool,QString))); - connect(discoveryJob, SIGNAL(newBigFolder(QString)), - this, SIGNAL(newBigFolder(QString))); + connect(discoveryJob, SIGNAL(newBigFolder(QString,bool)), + this, SIGNAL(newBigFolder(QString,bool))); // This is used for the DiscoveryJob to be able to request the main thread/ @@ -890,6 +897,8 @@ void SyncEngine::slotDiscoveryJobFinished(int discoveryResult) _hasForwardInTimeFiles = false; _backInTimeFiles = 0; bool walkOk = true; + _remotePerms.clear(); + _remotePerms.reserve(c_rbtree_size(_csync_ctx->remote.tree)); _seenFiles.clear(); _temporarilyUnavailablePaths.clear(); _renamedFolders.clear(); @@ -911,12 +920,12 @@ void SyncEngine::slotDiscoveryJobFinished(int discoveryResult) csync_commit(_csync_ctx); // The map was used for merging trees, convert it to a list: - _syncedItems = _syncItemMap.values().toVector(); + SyncFileItemVector syncItems = _syncItemMap.values().toVector(); _syncItemMap.clear(); // free memory // Adjust the paths for the renames. - for (SyncFileItemVector::iterator it = _syncedItems.begin(); - it != _syncedItems.end(); ++it) { + for (SyncFileItemVector::iterator it = syncItems.begin(); + it != syncItems.end(); ++it) { (*it)->_file = adjustRenamedPath((*it)->_file); } @@ -924,7 +933,7 @@ void SyncEngine::slotDiscoveryJobFinished(int discoveryResult) if (_account->serverVersionInt() < 0x080100) { // Server version older than 8.1 don't support these character in filename. static const QRegExp invalidCharRx("[\\\\:?*\"<>|]"); - for (auto it = _syncedItems.begin(); it != _syncedItems.end(); ++it) { + for (auto it = syncItems.begin(); it != syncItems.end(); ++it) { if ((*it)->_direction == SyncFileItem::Up && (*it)->destination().contains(invalidCharRx)) { (*it)->_errorString = tr("File name contains at least one invalid character"); @@ -936,7 +945,7 @@ void SyncEngine::slotDiscoveryJobFinished(int discoveryResult) if (!_hasNoneFiles && _hasRemoveFile) { qDebug() << Q_FUNC_INFO << "All the files are going to be changed, asking the user"; bool cancel = false; - emit aboutToRemoveAllFiles(_syncedItems.first()->_direction, &cancel); + emit aboutToRemoveAllFiles(syncItems.first()->_direction, &cancel); if (cancel) { qDebug() << Q_FUNC_INFO << "Abort sync"; finalize(false); @@ -951,7 +960,7 @@ void SyncEngine::slotDiscoveryJobFinished(int discoveryResult) if (!databaseFingerprint.isNull() && _discoveryMainThread->_dataFingerprint != databaseFingerprint) { qDebug() << "data fingerprint changed, assume restore from backup" << databaseFingerprint << _discoveryMainThread->_dataFingerprint; - restoreOldFiles(); + restoreOldFiles(syncItems); } else if (!_hasForwardInTimeFiles && _backInTimeFiles >= 2 && _account->serverVersionInt() < 0x090100) { // The server before ownCloud 9.1 did not have the data-fingerprint property. So in that // case we use heuristics to detect restored backup. This is disabled with newer version @@ -961,18 +970,18 @@ void SyncEngine::slotDiscoveryJobFinished(int discoveryResult) bool restore = false; emit aboutToRestoreBackup(&restore); if (restore) { - restoreOldFiles(); + restoreOldFiles(syncItems); } } // Sort items per destination - std::sort(_syncedItems.begin(), _syncedItems.end()); + std::sort(syncItems.begin(), syncItems.end()); // make sure everything is allowed - checkForPermission(); + checkForPermission(syncItems); // To announce the beginning of the sync - emit aboutToPropagate(_syncedItems); + emit aboutToPropagate(syncItems); // it's important to do this before ProgressInfo::start(), to announce start of new sync emit transmissionProgress(*_progressInfo); _progressInfo->startEstimateUpdates(); @@ -994,8 +1003,8 @@ void SyncEngine::slotDiscoveryJobFinished(int discoveryResult) _propagator = QSharedPointer( new OwncloudPropagator (_account, _localPath, _remotePath, _journal)); - connect(_propagator.data(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &)), - this, SLOT(slotItemCompleted(const SyncFileItem &, const PropagatorJob &))); + connect(_propagator.data(), SIGNAL(itemCompleted(const SyncFileItemPtr &)), + this, SLOT(slotItemCompleted(const SyncFileItemPtr &))); connect(_propagator.data(), SIGNAL(progress(const SyncFileItem &,quint64)), this, SLOT(slotProgress(const SyncFileItem &,quint64))); connect(_propagator.data(), SIGNAL(finished(bool)), this, SLOT(slotFinished(bool)), Qt::QueuedConnection); @@ -1005,16 +1014,16 @@ void SyncEngine::slotDiscoveryJobFinished(int discoveryResult) // apply the network limits to the propagator setNetworkLimits(_uploadLimit, _downloadLimit); - deleteStaleDownloadInfos(); - deleteStaleUploadInfos(); - deleteStaleErrorBlacklistEntries(); + deleteStaleDownloadInfos(syncItems); + deleteStaleUploadInfos(syncItems); + deleteStaleErrorBlacklistEntries(syncItems); _journal->commit("post stale entry removal"); // Emit the started signal only after the propagator has been set up. if (_needsUpdate) emit(started()); - _propagator->start(_syncedItems); + _propagator->start(syncItems); qDebug() << "<<#### Post-Reconcile end #################################################### " << _stopWatch.addLapTime(QLatin1String("Post-Reconcile Finished")); } @@ -1051,19 +1060,19 @@ void SyncEngine::setNetworkLimits(int upload, int download) } } -void SyncEngine::slotItemCompleted(const SyncFileItem &item, const PropagatorJob &job) +void SyncEngine::slotItemCompleted(const SyncFileItemPtr &item) { - const char * instruction_str = csync_instruction_str(item._instruction); - qDebug() << Q_FUNC_INFO << item._file << instruction_str << item._status << item._errorString; + const char * instruction_str = csync_instruction_str(item->_instruction); + qDebug() << Q_FUNC_INFO << item->_file << instruction_str << item->_status << item->_errorString; - _progressInfo->setProgressComplete(item); + _progressInfo->setProgressComplete(*item); - if (item._status == SyncFileItem::FatalError) { - emit csyncError(item._errorString); + if (item->_status == SyncFileItem::FatalError) { + emit csyncError(item->_errorString); } emit transmissionProgress(*_progressInfo); - emit itemCompleted(item, job); + emit itemCompleted(item); } void SyncEngine::slotFinished(bool success) @@ -1084,10 +1093,11 @@ void SyncEngine::slotFinished(bool success) _journal->commit("All Finished.", false); // Send final progress information even if no - // files needed propagation + // files needed propagation, but clear the lastCompletedItem + // so we don't count this twice (like Recent Files) + _progressInfo->_lastCompletedItem = SyncFileItem(); emit transmissionProgress(*_progressInfo); - emit treeWalkResult(_syncedItems); finalize(success); } @@ -1108,6 +1118,10 @@ void SyncEngine::finalize(bool success) // Delete the propagator only after emitting the signal. _propagator.clear(); + _remotePerms.clear(); + _seenFiles.clear(); + _temporarilyUnavailablePaths.clear(); + _renamedFolders.clear(); _clearTouchedFilesTimer.start(); } @@ -1137,13 +1151,13 @@ QString SyncEngine::adjustRenamedPath(const QString& original) * Make sure that we are allowed to do what we do by checking the permissions and the selective sync list * */ -void SyncEngine::checkForPermission() +void SyncEngine::checkForPermission(SyncFileItemVector &syncItems) { bool selectiveListOk; auto selectiveSyncBlackList = _journal->getSelectiveSyncList(SyncJournalDb::SelectiveSyncBlackList, &selectiveListOk); std::sort(selectiveSyncBlackList.begin(), selectiveSyncBlackList.end()); - for (SyncFileItemVector::iterator it = _syncedItems.begin(); it != _syncedItems.end(); ++it) { + for (SyncFileItemVector::iterator it = syncItems.begin(); it != syncItems.end(); ++it) { if ((*it)->_direction != SyncFileItem::Up) { // Currently we only check server-side permissions continue; @@ -1160,7 +1174,7 @@ void SyncEngine::checkForPermission() (*it)->_errorString = tr("Ignored because of the \"choose what to sync\" blacklist"); if ((*it)->_isDirectory) { - for (SyncFileItemVector::iterator it_next = it + 1; it_next != _syncedItems.end() && (*it_next)->_file.startsWith(path); ++it_next) { + for (SyncFileItemVector::iterator it_next = it + 1; it_next != syncItems.end() && (*it_next)->_file.startsWith(path); ++it_next) { it = it_next; (*it)->_instruction = CSYNC_INSTRUCTION_IGNORE; (*it)->_status = SyncFileItem::FileIgnored; @@ -1185,7 +1199,7 @@ void SyncEngine::checkForPermission() (*it)->_status = SyncFileItem::NormalError; (*it)->_errorString = tr("Not allowed because you don't have permission to add subfolders to that folder"); - for (SyncFileItemVector::iterator it_next = it + 1; it_next != _syncedItems.end() && (*it_next)->destination().startsWith(path); ++it_next) { + for (SyncFileItemVector::iterator it_next = it + 1; it_next != syncItems.end() && (*it_next)->destination().startsWith(path); ++it_next) { it = it_next; if ((*it)->_instruction == CSYNC_INSTRUCTION_RENAME) { // The file was most likely moved in this directory. @@ -1245,7 +1259,7 @@ void SyncEngine::checkForPermission() if ((*it)->_isDirectory) { // restore all sub items for (SyncFileItemVector::iterator it_next = it + 1; - it_next != _syncedItems.end() && (*it_next)->_file.startsWith(path); ++it_next) { + it_next != syncItems.end() && (*it_next)->_file.startsWith(path); ++it_next) { it = it_next; if ((*it)->_instruction != CSYNC_INSTRUCTION_REMOVE) { @@ -1271,12 +1285,12 @@ void SyncEngine::checkForPermission() // underneath, propagator sees that. if( (*it)->_isDirectory ) { // put a more descriptive message if a top level share dir really is removed. - if( it == _syncedItems.begin() || !(path.startsWith((*(it-1))->_file)) ) { + if( it == syncItems.begin() || !(path.startsWith((*(it-1))->_file)) ) { (*it)->_errorString = tr("Local files and share folder removed."); } for (SyncFileItemVector::iterator it_next = it + 1; - it_next != _syncedItems.end() && (*it_next)->_file.startsWith(path); ++it_next) { + it_next != syncItems.end() && (*it_next)->_file.startsWith(path); ++it_next) { it = it_next; } } @@ -1355,7 +1369,7 @@ void SyncEngine::checkForPermission() if ((*it)->_isDirectory) { for (SyncFileItemVector::iterator it_next = it + 1; - it_next != _syncedItems.end() && (*it_next)->destination().startsWith(path); ++it_next) { + it_next != syncItems.end() && (*it_next)->destination().startsWith(path); ++it_next) { it = it_next; (*it)->_instruction = CSYNC_INSTRUCTION_ERROR; (*it)->_status = SyncFileItem::NormalError; @@ -1384,7 +1398,7 @@ QByteArray SyncEngine::getPermissions(const QString& file) const return _remotePerms.value(file); } -void SyncEngine::restoreOldFiles() +void SyncEngine::restoreOldFiles(SyncFileItemVector &syncItems) { /* When the server is trying to send us lots of file in the past, this means that a backup was restored in the server. In that case, we should not simply overwrite the newer file @@ -1392,7 +1406,7 @@ void SyncEngine::restoreOldFiles() upload the client file. But we still downloaded the old file in a conflict file just in case */ - for (auto it = _syncedItems.begin(); it != _syncedItems.end(); ++it) { + for (auto it = syncItems.begin(); it != syncItems.end(); ++it) { if ((*it)->_direction != SyncFileItem::Down) continue; diff --git a/src/libsync/syncengine.h b/src/libsync/syncengine.h index d29c433b1..7c77dd283 100644 --- a/src/libsync/syncengine.h +++ b/src/libsync/syncengine.h @@ -47,7 +47,6 @@ namespace OCC { class SyncJournalFileRecord; class SyncJournalDb; class OwncloudPropagator; -class PropagatorJob; enum AnotherSyncNeeded { @@ -78,10 +77,7 @@ public: bool isSyncRunning() const { return _syncRunning; } - /* Set the maximum size a folder can have without asking for confirmation - * -1 means infinite - */ - void setNewBigFolderSizeLimit(qint64 limit) { _newBigFolderSizeLimit = limit; } + void setSyncOptions(const SyncOptions &options) { _syncOptions = options; } bool ignoreHiddenFiles() const { return _csync_ctx->ignore_hidden_files; } void setIgnoreHiddenFiles(bool ignore) { _csync_ctx->ignore_hidden_files = ignore; } @@ -122,10 +118,7 @@ signals: void aboutToPropagate(SyncFileItemVector&); // after each item completed by a job (successful or not) - void itemCompleted(const SyncFileItem&, const PropagatorJob&); - - // after sync is done - void treeWalkResult(const SyncFileItemVector&); + void itemCompleted(const SyncFileItemPtr&); void transmissionProgress( const ProgressInfo& progress ); @@ -146,7 +139,7 @@ signals: void aboutToRestoreBackup(bool *restore); // A new folder was discovered and was not synced because of the confirmation feature - void newBigFolder(const QString &folder); + void newBigFolder(const QString &folder, bool isExternal); /** Emitted when propagation has problems with a locked file. * @@ -156,7 +149,7 @@ signals: private slots: void slotRootEtagReceived(const QString &); - void slotItemCompleted(const SyncFileItem& item, const PropagatorJob & job); + void slotItemCompleted(const SyncFileItemPtr& item); void slotFinished(bool success); void slotProgress(const SyncFileItem& item, quint64 curent); void slotDiscoveryJobFinished(int updateResult); @@ -180,13 +173,13 @@ private: // Cleans up unnecessary downloadinfo entries in the journal as well // as their temporary files. - void deleteStaleDownloadInfos(); + void deleteStaleDownloadInfos(const SyncFileItemVector &syncItems); // Removes stale uploadinfos from the journal. - void deleteStaleUploadInfos(); + void deleteStaleUploadInfos(const SyncFileItemVector &syncItems); // Removes stale error blacklist entries from the journal. - void deleteStaleErrorBlacklistEntries(); + void deleteStaleErrorBlacklistEntries(const SyncFileItemVector &syncItems); // cleanup and emit the finished signal void finalize(bool success); @@ -196,10 +189,6 @@ private: // Must only be acessed during update and reconcile QMap _syncItemMap; - // should be called _syncItems (present tense). It's the items from the _syncItemMap but - // sorted and re-adjusted based on permissions. - SyncFileItemVector _syncedItems; - AccountPtr _account; CSYNC *_csync_ctx; bool _needsUpdate; @@ -241,13 +230,13 @@ private: * check if we are allowed to propagate everything, and if we are not, adjust the instructions * to recover */ - void checkForPermission(); + void checkForPermission(SyncFileItemVector &syncItems); QByteArray getPermissions(const QString& file) const; /** * Instead of downloading files from the server, upload the files to the server */ - void restoreOldFiles(); + void restoreOldFiles(SyncFileItemVector &syncItems); bool _hasNoneFiles; // true if there is at least one file which was not changed on the server bool _hasRemoveFile; // true if there is at leasr one file with instruction REMOVE @@ -257,8 +246,7 @@ private: int _uploadLimit; int _downloadLimit; - /* maximum size a folder can have without asking for confirmation: -1 means infinite */ - qint64 _newBigFolderSizeLimit; + SyncOptions _syncOptions; // hash containing the permissions on the remote directory QHash _remotePerms; diff --git a/src/libsync/syncfileitem.h b/src/libsync/syncfileitem.h index 20c0bf005..157d03c05 100644 --- a/src/libsync/syncfileitem.h +++ b/src/libsync/syncfileitem.h @@ -68,7 +68,7 @@ public: _serverHasIgnoredFiles(false), _hasBlacklistEntry(false), _errorMayBeBlacklisted(false), _status(NoStatus), _isRestoration(false), - _httpErrorCode(0), _requestDuration(0), _affectedItems(1), + _httpErrorCode(0), _affectedItems(1), _instruction(CSYNC_INSTRUCTION_NONE), _modtime(0), _size(0), _inode(0) { } @@ -160,7 +160,6 @@ public: quint16 _httpErrorCode; QString _errorString; // Contains a string only in case of error QByteArray _responseTimeStamp; - quint64 _requestDuration; quint32 _affectedItems; // the number of affected items by the operation on this item. // usually this value is 1, but for removes on dirs, it might be much higher. @@ -179,15 +178,10 @@ public: QString _directDownloadCookies; struct { - quint64 _size; - time_t _modtime; - QByteArray _etag; - QByteArray _fileId; quint64 _other_size; time_t _other_modtime; QByteArray _other_etag; QByteArray _other_fileId; - enum csync_instructions_e _instruction BITFIELD(16); enum csync_instructions_e _other_instruction BITFIELD(16); } log; }; @@ -202,5 +196,6 @@ typedef QVector SyncFileItemVector; } Q_DECLARE_METATYPE(OCC::SyncFileItem) +Q_DECLARE_METATYPE(OCC::SyncFileItemPtr) #endif // SYNCFILEITEM_H diff --git a/src/libsync/syncfilestatustracker.cpp b/src/libsync/syncfilestatustracker.cpp index 4eab8a469..df54c8cdf 100644 --- a/src/libsync/syncfilestatustracker.cpp +++ b/src/libsync/syncfilestatustracker.cpp @@ -17,6 +17,7 @@ #include "syncengine.h" #include "syncjournaldb.h" #include "syncjournalfilerecord.h" +#include "asserts.h" namespace OCC { @@ -77,8 +78,8 @@ SyncFileStatusTracker::SyncFileStatusTracker(SyncEngine *syncEngine) { connect(syncEngine, SIGNAL(aboutToPropagate(SyncFileItemVector&)), SLOT(slotAboutToPropagate(SyncFileItemVector&))); - connect(syncEngine, SIGNAL(itemCompleted(const SyncFileItem&, const PropagatorJob&)), - SLOT(slotItemCompleted(const SyncFileItem&))); + connect(syncEngine, SIGNAL(itemCompleted(const SyncFileItemPtr&)), + SLOT(slotItemCompleted(const SyncFileItemPtr&))); connect(syncEngine, SIGNAL(finished(bool)), SLOT(slotSyncFinished())); connect(syncEngine, SIGNAL(started()), SLOT(slotSyncEngineRunningChanged())); connect(syncEngine, SIGNAL(finished(bool)), SLOT(slotSyncEngineRunningChanged())); @@ -86,7 +87,7 @@ SyncFileStatusTracker::SyncFileStatusTracker(SyncEngine *syncEngine) SyncFileStatus SyncFileStatusTracker::fileStatus(const QString& relativePath) { - Q_ASSERT(!relativePath.endsWith(QLatin1Char('/'))); + ASSERT(!relativePath.endsWith(QLatin1Char('/'))); 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 resolve manually. @@ -121,62 +122,67 @@ SyncFileStatus SyncFileStatusTracker::fileStatus(const QString& relativePath) void SyncFileStatusTracker::slotPathTouched(const QString& fileName) { QString folderPath = _syncEngine->localPath(); - Q_ASSERT(fileName.startsWith(folderPath)); + ASSERT(fileName.startsWith(folderPath)); QString localPath = fileName.mid(folderPath.size()); _dirtyPaths.insert(localPath); emit fileStatusChanged(fileName, SyncFileStatus::StatusSync); } -void SyncFileStatusTracker::incSyncCount(const QString &relativePath, EmitStatusChangeFlag emitStatusChange) +void SyncFileStatusTracker::incSyncCountAndEmitStatusChanged(const QString &relativePath, SharedFlag sharedFlag) { // Will return 0 (and increase to 1) if the path wasn't in the map yet int count = _syncCount[relativePath]++; if (!count) { - if (emitStatusChange) - emit fileStatusChanged(getSystemDestination(relativePath), fileStatus(relativePath)); + SyncFileStatus status = sharedFlag == UnknownShared + ? fileStatus(relativePath) + : resolveSyncAndErrorStatus(relativePath, sharedFlag); + emit fileStatusChanged(getSystemDestination(relativePath), status); // We passed from OK to SYNC, increment the parent to keep it marked as // SYNC while we propagate ourselves and our own children. - Q_ASSERT(!relativePath.endsWith('/')); + ASSERT(!relativePath.endsWith('/')); int lastSlashIndex = relativePath.lastIndexOf('/'); if (lastSlashIndex != -1) - incSyncCount(relativePath.left(lastSlashIndex), EmitStatusChange); + incSyncCountAndEmitStatusChanged(relativePath.left(lastSlashIndex), UnknownShared); else if (!relativePath.isEmpty()) - incSyncCount(QString(), EmitStatusChange); + incSyncCountAndEmitStatusChanged(QString(), UnknownShared); } } -void SyncFileStatusTracker::decSyncCount(const QString &relativePath, EmitStatusChangeFlag emitStatusChange) +void SyncFileStatusTracker::decSyncCountAndEmitStatusChanged(const QString &relativePath, SharedFlag sharedFlag) { int count = --_syncCount[relativePath]; if (!count) { // Remove from the map, same as 0 _syncCount.remove(relativePath); - if (emitStatusChange) - emit fileStatusChanged(getSystemDestination(relativePath), fileStatus(relativePath)); + SyncFileStatus status = sharedFlag == UnknownShared + ? fileStatus(relativePath) + : resolveSyncAndErrorStatus(relativePath, sharedFlag); + emit fileStatusChanged(getSystemDestination(relativePath), status); // We passed from SYNC to OK, decrement our parent. - Q_ASSERT(!relativePath.endsWith('/')); + ASSERT(!relativePath.endsWith('/')); int lastSlashIndex = relativePath.lastIndexOf('/'); if (lastSlashIndex != -1) - decSyncCount(relativePath.left(lastSlashIndex), EmitStatusChange); + decSyncCountAndEmitStatusChanged(relativePath.left(lastSlashIndex), UnknownShared); else if (!relativePath.isEmpty()) - decSyncCount(QString(), EmitStatusChange); + decSyncCountAndEmitStatusChanged(QString(), UnknownShared); } } void SyncFileStatusTracker::slotAboutToPropagate(SyncFileItemVector& items) { - Q_ASSERT(_syncCount.isEmpty()); + ASSERT(_syncCount.isEmpty()); std::map oldProblems; std::swap(_syncProblems, oldProblems); foreach (const SyncFileItemPtr &item, items) { // qDebug() << Q_FUNC_INFO << "Investigating" << item->destination() << item->_status << item->_instruction; + _dirtyPaths.remove(item->destination()); if (showErrorInSocketApi(*item)) { _syncProblems[item->_file] = SyncFileStatus::StatusError; @@ -185,18 +191,16 @@ void SyncFileStatusTracker::slotAboutToPropagate(SyncFileItemVector& items) _syncProblems[item->_file] = SyncFileStatus::StatusWarning; } - // Mark this path as syncing for instructions that will result in propagation, - // but DontEmitStatusChange since we're going to emit for ourselves using the - // info in the SyncFileItem we received, parents will still be emit if needed. + SharedFlag sharedFlag = item->_remotePerm.contains("S") ? Shared : NotShared; if (item->_instruction != CSYNC_INSTRUCTION_NONE && item->_instruction != CSYNC_INSTRUCTION_UPDATE_METADATA && item->_instruction != CSYNC_INSTRUCTION_IGNORE && item->_instruction != CSYNC_INSTRUCTION_ERROR) { - incSyncCount(item->destination(), DontEmitStatusChange); + // Mark this path as syncing for instructions that will result in propagation. + incSyncCountAndEmitStatusChanged(item->destination(), sharedFlag); + } else { + emit fileStatusChanged(getSystemDestination(item->destination()), resolveSyncAndErrorStatus(item->destination(), sharedFlag)); } - - _dirtyPaths.remove(item->destination()); - emit fileStatusChanged(getSystemDestination(item->destination()), resolveSyncAndErrorStatus(item->destination(), item->_remotePerm.contains("S") ? Shared : NotShared)); } // Some metadata status won't trigger files to be synced, make sure that we @@ -220,27 +224,29 @@ void SyncFileStatusTracker::slotAboutToPropagate(SyncFileItemVector& items) } } -void SyncFileStatusTracker::slotItemCompleted(const SyncFileItem &item) +void SyncFileStatusTracker::slotItemCompleted(const SyncFileItemPtr &item) { // qDebug() << Q_FUNC_INFO << item.destination() << item._status << item._instruction; - if (showErrorInSocketApi(item)) { - _syncProblems[item._file] = SyncFileStatus::StatusError; - invalidateParentPaths(item.destination()); - } else if (showWarningInSocketApi(item)) { - _syncProblems[item._file] = SyncFileStatus::StatusWarning; + if (showErrorInSocketApi(*item)) { + _syncProblems[item->_file] = SyncFileStatus::StatusError; + invalidateParentPaths(item->destination()); + } else if (showWarningInSocketApi(*item)) { + _syncProblems[item->_file] = SyncFileStatus::StatusWarning; } else { - _syncProblems.erase(item._file); + _syncProblems.erase(item->_file); } - // decSyncCount calls *must* be symetric with incSyncCount calls in slotAboutToPropagate - if (item._instruction != CSYNC_INSTRUCTION_NONE - && item._instruction != CSYNC_INSTRUCTION_UPDATE_METADATA - && item._instruction != CSYNC_INSTRUCTION_IGNORE - && item._instruction != CSYNC_INSTRUCTION_ERROR) { - decSyncCount(item.destination(), DontEmitStatusChange); + SharedFlag sharedFlag = item->_remotePerm.contains("S") ? Shared : NotShared; + if (item->_instruction != CSYNC_INSTRUCTION_NONE + && item->_instruction != CSYNC_INSTRUCTION_UPDATE_METADATA + && item->_instruction != CSYNC_INSTRUCTION_IGNORE + && item->_instruction != CSYNC_INSTRUCTION_ERROR) { + // decSyncCount calls *must* be symetric with incSyncCount calls in slotAboutToPropagate + decSyncCountAndEmitStatusChanged(item->destination(), sharedFlag); + } else { + emit fileStatusChanged(getSystemDestination(item->destination()), resolveSyncAndErrorStatus(item->destination(), sharedFlag)); } - emit fileStatusChanged(getSystemDestination(item.destination()), resolveSyncAndErrorStatus(item.destination(), item._remotePerm.contains("S") ? Shared : NotShared)); } void SyncFileStatusTracker::slotSyncFinished() @@ -257,7 +263,7 @@ void SyncFileStatusTracker::slotSyncEngineRunningChanged() emit fileStatusChanged(getSystemDestination(QString()), resolveSyncAndErrorStatus(QString(), NotShared)); } -SyncFileStatus SyncFileStatusTracker::resolveSyncAndErrorStatus(const QString &relativePath, SharedFlag isShared, PathKnownFlag isPathKnown) +SyncFileStatus SyncFileStatusTracker::resolveSyncAndErrorStatus(const QString &relativePath, SharedFlag sharedFlag, PathKnownFlag isPathKnown) { // If it's a new file and that we're not syncing it yet, // don't show any icon and wait for the filesystem watcher to trigger a sync. @@ -272,7 +278,9 @@ SyncFileStatus SyncFileStatusTracker::resolveSyncAndErrorStatus(const QString &r status.set(problemStatus); } - if (isShared) + ASSERT(sharedFlag != UnknownShared, + "The shared status needs to have been fetched from a SyncFileItem or the DB at this point."); + if (sharedFlag == Shared) status.setSharedWithMe(true); return status; diff --git a/src/libsync/syncfilestatustracker.h b/src/libsync/syncfilestatustracker.h index 16848fd74..015f80cc2 100644 --- a/src/libsync/syncfilestatustracker.h +++ b/src/libsync/syncfilestatustracker.h @@ -46,25 +46,27 @@ signals: private slots: void slotAboutToPropagate(SyncFileItemVector& items); - void slotItemCompleted(const SyncFileItem& item); + void slotItemCompleted(const SyncFileItemPtr& item); void slotSyncFinished(); void slotSyncEngineRunningChanged(); private: - enum SharedFlag { NotShared = 0, Shared }; + enum SharedFlag { UnknownShared, NotShared, Shared }; enum PathKnownFlag { PathUnknown = 0, PathKnown }; - enum EmitStatusChangeFlag { DontEmitStatusChange = 0, EmitStatusChange }; - SyncFileStatus resolveSyncAndErrorStatus(const QString &relativePath, SharedFlag isShared, PathKnownFlag isPathKnown = PathKnown); + SyncFileStatus resolveSyncAndErrorStatus(const QString &relativePath, SharedFlag sharedState, PathKnownFlag isPathKnown = PathKnown); void invalidateParentPaths(const QString& path); QString getSystemDestination(const QString& relativePath); - void incSyncCount(const QString &relativePath, EmitStatusChangeFlag emitStatusChange); - void decSyncCount(const QString &relativePath, EmitStatusChangeFlag emitStatusChange); + void incSyncCountAndEmitStatusChanged(const QString &relativePath, SharedFlag sharedState); + void decSyncCountAndEmitStatusChanged(const QString &relativePath, SharedFlag sharedState); SyncEngine* _syncEngine; std::map _syncProblems; QSet _dirtyPaths; + // Counts the number direct children currently being synced (has unfinished propagation jobs). + // We'll show a file/directory as SYNC as long as its sync count is > 0. + // A directory that starts/ends propagation will in turn increase/decrease its own parent by 1. QHash _syncCount; }; diff --git a/src/libsync/syncjournaldb.cpp b/src/libsync/syncjournaldb.cpp index 74fd86b22..43ef9b37a 100644 --- a/src/libsync/syncjournaldb.cpp +++ b/src/libsync/syncjournaldb.cpp @@ -27,6 +27,7 @@ #include "utility.h" #include "version.h" #include "filesystem.h" +#include "asserts.h" #include "../../csync/src/std/c_jhash.h" @@ -178,7 +179,7 @@ bool SyncJournalDb::sqlFail( const QString& log, const SqlQuery& query ) { commitTransaction(); qWarning() << "SQL Error" << log << query.error(); - Q_ASSERT(!"SQL ERROR"); + ASSERT(false); _db.close(); return false; } @@ -1370,21 +1371,22 @@ void SyncJournalDb::setUploadInfo(const QString& file, const SyncJournalDb::Uplo } } -bool SyncJournalDb::deleteStaleUploadInfos(const QSet &keep) +QVector SyncJournalDb::deleteStaleUploadInfos(const QSet &keep) { QMutexLocker locker(&_mutex); + QVector ids; if (!checkConnect()) { - return false; + return ids; } SqlQuery query(_db); - query.prepare("SELECT path FROM uploadinfo"); + query.prepare("SELECT path,transferid FROM uploadinfo"); if (!query.exec()) { QString err = query.error(); qDebug() << "Error creating prepared statement: " << query.lastQuery() << ", Error:" << err; - return false; + return ids; } QStringList superfluousPaths; @@ -1393,10 +1395,12 @@ bool SyncJournalDb::deleteStaleUploadInfos(const QSet &keep) const QString file = query.stringValue(0); if (!keep.contains(file)) { superfluousPaths.append(file); + ids.append(query.intValue(1)); } } - return deleteBatch(*_deleteUploadInfoQuery, superfluousPaths, "uploadinfo"); + deleteBatch(*_deleteUploadInfoQuery, superfluousPaths, "uploadinfo"); + return ids; } SyncJournalErrorBlacklistRecord SyncJournalDb::errorBlacklistEntry( const QString& file ) @@ -1604,7 +1608,7 @@ void SyncJournalDb::setPollInfo(const SyncJournalDb::PollInfo& info) QStringList SyncJournalDb::getSelectiveSyncList(SyncJournalDb::SelectiveSyncListType type, bool *ok ) { QStringList result; - Q_ASSERT(ok); + ASSERT(ok); QMutexLocker locker(&_mutex); if( !checkConnect() ) { @@ -1832,6 +1836,17 @@ void SyncJournalDb::setDataFingerprint(const QByteArray &dataFingerprint) } } +void SyncJournalDb::clearFileTable() +{ + SqlQuery query(_db); + query.prepare("DELETE FROM metadata;"); + if (!query.exec()) { + qWarning() << "SQL error in clearFileTable" << query.error(); + } else { + qDebug() << query.lastQuery() << "(" << query.numRowsAffected() << " rows)"; + } +} + void SyncJournalDb::commit(const QString& context, bool startTrans) { QMutexLocker lock(&_mutex); diff --git a/src/libsync/syncjournaldb.h b/src/libsync/syncjournaldb.h index 1f2ba6d8b..cd4572644 100644 --- a/src/libsync/syncjournaldb.h +++ b/src/libsync/syncjournaldb.h @@ -105,7 +105,8 @@ public: UploadInfo getUploadInfo(const QString &file); void setUploadInfo(const QString &file, const UploadInfo &i); - bool deleteStaleUploadInfos(const QSet& keep); + // Return the list of transfer ids that were removed. + QVector deleteStaleUploadInfos(const QSet& keep); SyncJournalErrorBlacklistRecord errorBlacklistEntry( const QString& ); bool deleteStaleErrorBlacklistEntries(const QSet& keep); @@ -172,6 +173,13 @@ public: void setDataFingerprint(const QByteArray &dataFingerprint); QByteArray dataFingerprint(); + /** + * Delete any file entry. This will force the next sync to re-sync everything as if it was new, + * restoring everyfile on every remote. If a file is there both on the client and server side, + * it will be a conflict that will be automatically resolved if the file is the same. + */ + void clearFileTable(); + private: bool updateDatabaseStructure(); bool updateMetadataTableStructure(); diff --git a/src/libsync/syncjournalfilerecord.cpp b/src/libsync/syncjournalfilerecord.cpp index cbab1b479..230a22f26 100644 --- a/src/libsync/syncjournalfilerecord.cpp +++ b/src/libsync/syncjournalfilerecord.cpp @@ -131,7 +131,6 @@ SyncJournalErrorBlacklistRecord SyncJournalErrorBlacklistRecord::update( bool mayBlacklist = item._errorMayBeBlacklisted // explicitly flagged for blacklisting || (item._httpErrorCode != 0 // or non-local error - && item._httpErrorCode != 507 // Don't blacklist "Insufficient Storage" #ifdef OWNCLOUD_5XX_NO_BLACKLIST && item._httpErrorCode / 100 != 5 // In this configuration, never blacklist error 5xx #endif diff --git a/src/libsync/syncresult.cpp b/src/libsync/syncresult.cpp index acefc9735..625ebae2c 100644 --- a/src/libsync/syncresult.cpp +++ b/src/libsync/syncresult.cpp @@ -13,19 +13,22 @@ */ #include "syncresult.h" +#include "progressdispatcher.h" namespace OCC { SyncResult::SyncResult() - : _status( Undefined ), - _warnCount(0) -{ -} + : _status( Undefined ) + , _foundFilesNotSynced(false) + , _folderStructureWasChanged(false) + , _numNewItems(0) + , _numRemovedItems(0) + , _numUpdatedItems(0) + , _numRenamedItems(0) + , _numConflictItems(0) + , _numErrorItems(0) -SyncResult::SyncResult(SyncResult::Status status ) - : _status(status), - _warnCount(0) { } @@ -34,6 +37,11 @@ SyncResult::Status SyncResult::status() const return _status; } +void SyncResult::reset() +{ + *this = SyncResult(); +} + QString SyncResult::statusString() const { QString re; @@ -80,42 +88,17 @@ void SyncResult::setStatus( Status stat ) _syncTime = QDateTime::currentDateTime(); } -void SyncResult::setSyncFileItemVector( const SyncFileItemVector& items ) -{ - _syncItems = items; -} - -SyncFileItemVector SyncResult::syncFileItemVector() const -{ - return _syncItems; -} - QDateTime SyncResult::syncTime() const { return _syncTime; } -void SyncResult::setWarnCount(int wc) -{ - _warnCount = wc; -} - -int SyncResult::warnCount() const -{ - return _warnCount; -} - -void SyncResult::setErrorStrings( const QStringList& list ) -{ - _errors = list; -} - QStringList SyncResult::errorStrings() const { return _errors; } -void SyncResult::setErrorString( const QString& err ) +void SyncResult::appendErrorString( const QString& err ) { _errors.append( err ); } @@ -141,8 +124,68 @@ QString SyncResult::folder() const return _folder; } -SyncResult::~SyncResult() +void SyncResult::processCompletedItem(const SyncFileItemPtr &item) { + if (Progress::isWarningKind(item->_status)) { + // Count any error conditions, error strings will have priority anyway. + _foundFilesNotSynced = true; + } + + if (item->_isDirectory && (item->_instruction == CSYNC_INSTRUCTION_NEW + || item->_instruction == CSYNC_INSTRUCTION_TYPE_CHANGE + || item->_instruction == CSYNC_INSTRUCTION_REMOVE + || item->_instruction == CSYNC_INSTRUCTION_RENAME)) { + _folderStructureWasChanged = true; + } + + // Process the item to the gui + if( item->_status == SyncFileItem::FatalError || item->_status == SyncFileItem::NormalError ) { + //: this displays an error string (%2) for a file %1 + appendErrorString( QObject::tr("%1: %2").arg(item->_file, item->_errorString) ); + _numErrorItems++; + if (!_firstItemError) { + _firstItemError = item; + } + } else if( item->_status == SyncFileItem::Conflict ) { + _numConflictItems++; + if (!_firstConflictItem) { + _firstConflictItem = item; + } + } else { + if (!item->hasErrorStatus() && item->_status != SyncFileItem::FileIgnored && item->_direction == SyncFileItem::Down) { + switch (item->_instruction) { + case CSYNC_INSTRUCTION_NEW: + case CSYNC_INSTRUCTION_TYPE_CHANGE: + _numNewItems++; + if (!_firstItemNew) + _firstItemNew = item; + break; + case CSYNC_INSTRUCTION_REMOVE: + _numRemovedItems++; + if (!_firstItemDeleted) + _firstItemDeleted = item; + break; + case CSYNC_INSTRUCTION_SYNC: + _numUpdatedItems++; + if (!_firstItemUpdated) + _firstItemUpdated = item; + break; + case CSYNC_INSTRUCTION_RENAME: + if (!_firstItemRenamed) { + _firstItemRenamed = item; + } + _numRenamedItems++; + break; + default: + // nothing. + break; + } + } else if( item->_direction == SyncFileItem::None ) { + if( item->_instruction == CSYNC_INSTRUCTION_IGNORE ) { + _foundFilesNotSynced = true; + } + } + } } diff --git a/src/libsync/syncresult.h b/src/libsync/syncresult.h index 14e062ca3..0c630f737 100644 --- a/src/libsync/syncresult.h +++ b/src/libsync/syncresult.h @@ -47,20 +47,13 @@ public: }; SyncResult(); - SyncResult( Status status ); - ~SyncResult(); - void setErrorString( const QString& ); - void setErrorStrings( const QStringList& ); + void reset(); + + void appendErrorString( const QString& ); QString errorString() const; QStringList errorStrings() const; - int warnCount() const; - void setWarnCount(int wc); void clearErrors(); - // handle a list of changed items. - void setSyncFileItemVector( const SyncFileItemVector& ); - SyncFileItemVector syncFileItemVector() const; - void setStatus( Status ); Status status() const; QString statusString() const; @@ -68,6 +61,25 @@ public: void setFolder(const QString& folder); QString folder() const; + bool foundFilesNotSynced() const { return _foundFilesNotSynced; } + bool folderStructureWasChanged() const { return _folderStructureWasChanged; } + + int numNewItems() const { return _numNewItems; } + int numRemovedItems() const { return _numRemovedItems; } + int numUpdatedItems() const { return _numUpdatedItems; } + int numRenamedItems() const { return _numRenamedItems; } + int numConflictItems() const { return _numConflictItems; } + int numErrorItems() const { return _numErrorItems; } + + const SyncFileItemPtr& firstItemNew() const { return _firstItemNew; } + const SyncFileItemPtr& firstItemDeleted() const { return _firstItemDeleted; } + const SyncFileItemPtr& firstItemUpdated() const { return _firstItemUpdated; } + const SyncFileItemPtr& firstItemRenamed() const { return _firstItemRenamed; } + const SyncFileItemPtr& firstConflictItem() const { return _firstConflictItem; } + const SyncFileItemPtr& firstItemError() const { return _firstItemError; } + + void processCompletedItem(const SyncFileItemPtr &item); + private: Status _status; SyncFileItemVector _syncItems; @@ -77,7 +89,23 @@ private: * when the sync tool support this... */ QStringList _errors; - int _warnCount; + bool _foundFilesNotSynced; + bool _folderStructureWasChanged; + + // count new, removed and updated items + int _numNewItems; + int _numRemovedItems; + int _numUpdatedItems; + int _numRenamedItems; + int _numConflictItems; + int _numErrorItems; + + SyncFileItemPtr _firstItemNew; + SyncFileItemPtr _firstItemDeleted; + SyncFileItemPtr _firstItemUpdated; + SyncFileItemPtr _firstItemRenamed; + SyncFileItemPtr _firstConflictItem; + SyncFileItemPtr _firstItemError; }; } diff --git a/src/libsync/theme.cpp b/src/libsync/theme.cpp index 53e850b99..be6f61489 100644 --- a/src/libsync/theme.cpp +++ b/src/libsync/theme.cpp @@ -275,6 +275,15 @@ qint64 Theme::newBigFolderSizeLimit() const return 500; } +bool Theme::wizardHideExternalStorageConfirmationCheckbox() const +{ + return false; +} + +bool Theme::wizardHideFolderSizeLimitCheckbox() const +{ + return false; +} QString Theme::gitSHA1() const { @@ -412,7 +421,7 @@ QPixmap Theme::wizardHeaderBanner() const if (!c.isValid()) return QPixmap(); - QPixmap pix(QSize(600, 78)); + QPixmap pix(QSize(750, 78)); pix.fill(wizardHeaderBackgroundColor()); return pix; } @@ -478,4 +487,6 @@ QString Theme::quotaBaseFolder() const { return QLatin1String("/"); } + + } // end namespace client diff --git a/src/libsync/theme.h b/src/libsync/theme.h index 63c86b4aa..a3632fb70 100644 --- a/src/libsync/theme.h +++ b/src/libsync/theme.h @@ -219,6 +219,17 @@ public: **/ virtual qint64 newBigFolderSizeLimit() const; + /** + * Hide the checkbox that says "Ask for confirmation before synchronizing folders larger than X MB" + * in the account wizard + */ + virtual bool wizardHideFolderSizeLimitCheckbox() const; + /** + * Hide the checkbox that says "Ask for confirmation before synchronizing external storages" + * in the account wizard + */ + virtual bool wizardHideExternalStorageConfirmationCheckbox() const; + /** * Alternative path on the server that provides access to the webdav capabilities * @@ -302,6 +313,7 @@ public: */ virtual QString quotaBaseFolder() const; + protected: #ifndef TOKEN_AUTH_ONLY QIcon themeIcon(const QString& name, bool sysTray = false, bool sysTrayMenuVisible = false) const; diff --git a/src/libsync/utility.cpp b/src/libsync/utility.cpp index 4387aa91d..052ba1d17 100644 --- a/src/libsync/utility.cpp +++ b/src/libsync/utility.cpp @@ -273,14 +273,13 @@ void Utility::usleep(int usec) bool Utility::fsCasePreserving() { - bool re = false; - if( isWindows() || isMac() ) { - re = true; - } else { - bool isTest = qgetenv("OWNCLOUD_TEST_CASE_PRESERVING").toInt(); - re = isTest; - } - return re; +#ifndef WITH_TESTING + QByteArray env = qgetenv("OWNCLOUD_TEST_CASE_PRESERVING"); + if (!env.isEmpty()) + return env.toInt(); +#endif + + return isWindows() || isMac(); } bool Utility::fileNamesEqual( const QString& fn1, const QString& fn2) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index cfad8e61e..2f94501ee 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -2,7 +2,6 @@ include_directories(${CMAKE_BINARY_DIR}/csync ${CMAKE_BINARY_DIR}/csync/src ${CM include_directories(${CMAKE_SOURCE_DIR}/csync/src/) include_directories(${CMAKE_SOURCE_DIR}/csync/src/std ${CMAKE_SOURCE_DIR}/src) include_directories(${CMAKE_SOURCE_DIR}/src/3rdparty/qtokenizer) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") include(QtVersionAbstraction) setup_qt() @@ -10,7 +9,6 @@ setup_qt() include(owncloud_add_test.cmake) owncloud_add_test(OwncloudPropagator "") -owncloud_add_test(Utility "") owncloud_add_test(Updater "") SET(FolderWatcher_SRC ../src/gui/folderwatcher.cpp) @@ -25,31 +23,31 @@ IF( APPLE ) list(APPEND FolderWatcher_SRC ../src/gui/folderwatcher_mac.cpp) list(APPEND FolderWatcher_SRC ../src/gui/socketapisocket_mac.mm) ENDIF() - -owncloud_add_test(FolderWatcher "${FolderWatcher_SRC}") -if( UNIX AND NOT APPLE ) - if(HAVE_QT5 AND NOT BUILD_WITH_QT4) - owncloud_add_test(InotifyWatcher "${FolderWatcher_SRC}") - endif(HAVE_QT5 AND NOT BUILD_WITH_QT4) -endif(UNIX AND NOT APPLE) - owncloud_add_test(CSyncSqlite "") owncloud_add_test(NetrcParser ../src/cmd/netrcparser.cpp) owncloud_add_test(OwnSql "") owncloud_add_test(SyncJournalDB "") owncloud_add_test(SyncFileItem "") owncloud_add_test(ConcatUrl "") - owncloud_add_test(XmlParse "") -owncloud_add_test(FileSystem "") owncloud_add_test(ChecksumValidator "") owncloud_add_test(ExcludedFiles "") if(HAVE_QT5 AND NOT BUILD_WITH_QT4) + owncloud_add_test(FileSystem "") + owncloud_add_test(Utility "") owncloud_add_test(SyncEngine "syncenginetestutils.h") owncloud_add_test(SyncFileStatusTracker "syncenginetestutils.h") owncloud_add_test(ChunkingNg "syncenginetestutils.h") owncloud_add_test(UploadReset "syncenginetestutils.h") + owncloud_add_test(AllFilesDeleted "syncenginetestutils.h") + owncloud_add_test(FolderWatcher "${FolderWatcher_SRC}") + + if( UNIX AND NOT APPLE ) + owncloud_add_test(InotifyWatcher "${FolderWatcher_SRC}") + endif(UNIX AND NOT APPLE) + + owncloud_add_benchmark(LargeSync "syncenginetestutils.h") endif(HAVE_QT5 AND NOT BUILD_WITH_QT4) SET(FolderMan_SRC ../src/gui/folderman.cpp) @@ -60,8 +58,5 @@ list(APPEND FolderMan_SRC ../src/gui/syncrunfilelog.cpp ) list(APPEND FolderMan_SRC ../src/gui/lockwatcher.cpp ) list(APPEND FolderMan_SRC ${FolderWatcher_SRC}) list(APPEND FolderMan_SRC stub.cpp ) -#include_directories(${QTKEYCHAIN_INCLUDE_DIR}) -#include_directories(${CMAKE_BINARY_DIR}/src/gui) -#include_directories(${CMAKE_SOURCE_DIR}/src/3rdparty/qjson) owncloud_add_test(FolderMan "${FolderMan_SRC}") diff --git a/test/benchmarks/benchlargesync.cpp b/test/benchmarks/benchlargesync.cpp new file mode 100644 index 000000000..88a774b90 --- /dev/null +++ b/test/benchmarks/benchlargesync.cpp @@ -0,0 +1,43 @@ +/* + * This software is in the public domain, furnished "as is", without technical + * support, and with no warranty, express or implied, as to its usefulness for + * any purpose. + * + */ + +#include "syncenginetestutils.h" +#include + +using namespace OCC; + +int numDirs = 0; +int numFiles = 0; + +template +void addBunchOfFiles(int depth, const QString &path, FileModifier &fi) { + for (int fileNum = 1; fileNum <= filesPerDir; ++fileNum) { + QString name = QStringLiteral("file") + QString::number(fileNum); + fi.insert(path.isEmpty() ? name : path + "/" + name); + numFiles++; + } + if (depth >= maxDepth) + return; + for (char dirNum = 1; dirNum <= dirPerDir; ++dirNum) { + QString name = QStringLiteral("dir") + QString::number(dirNum); + QString subPath = path.isEmpty() ? name : path + "/" + name; + fi.mkdir(subPath); + numDirs++; + addBunchOfFiles(depth + 1, subPath, fi); + } +} + +int main(int argc, char *argv[]) +{ + QCoreApplication app(argc, argv); + FakeFolder fakeFolder{FileInfo{}}; + addBunchOfFiles<10, 8, 4>(0, "", fakeFolder.localModifier()); + + qDebug() << "NUMFILES" << numFiles; + qDebug() << "NUMDIRS" << numDirs; + return fakeFolder.syncOnce() ? 0 : -1; +} diff --git a/test/owncloud_add_test.cmake b/test/owncloud_add_test.cmake index 8406c2dfe..bf15ab890 100644 --- a/test/owncloud_add_test.cmake +++ b/test/owncloud_add_test.cmake @@ -12,6 +12,7 @@ macro(owncloud_add_test test_class additional_cpp) 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) + set_target_properties(${OWNCLOUD_TEST_CLASS}Test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY}) target_link_libraries(${OWNCLOUD_TEST_CLASS}Test updater @@ -24,3 +25,31 @@ macro(owncloud_add_test test_class additional_cpp) add_definitions(-DOWNCLOUD_BIN_PATH=${CMAKE_BINARY_DIR}/bin) add_test(NAME ${OWNCLOUD_TEST_CLASS}Test COMMAND ${OWNCLOUD_TEST_CLASS}Test) endmacro() + +macro(owncloud_add_benchmark test_class additional_cpp) + include_directories(${CMAKE_CURRENT_SOURCE_DIR} + ${QT_INCLUDES} + "${PROJECT_SOURCE_DIR}/src/gui" + "${PROJECT_SOURCE_DIR}/src/libsync" + "${CMAKE_BINARY_DIR}/src/libsync" + "${CMAKE_CURRENT_BINARY_DIR}" + ) + + set(CMAKE_AUTOMOC TRUE) + set(OWNCLOUD_TEST_CLASS ${test_class}) + string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE) + + add_executable(${OWNCLOUD_TEST_CLASS}Bench benchmarks/bench${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${additional_cpp}) + qt5_use_modules(${OWNCLOUD_TEST_CLASS}Bench Test Sql Xml Network) + set_target_properties(${OWNCLOUD_TEST_CLASS}Bench PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY}) + + target_link_libraries(${OWNCLOUD_TEST_CLASS}Bench + updater + ${APPLICATION_EXECUTABLE}sync + ${QT_QTTEST_LIBRARY} + ${QT_QTCORE_LIBRARY} + ) + + add_definitions(-DOWNCLOUD_TEST) + add_definitions(-DOWNCLOUD_BIN_PATH=${CMAKE_BINARY_DIR}/bin) +endmacro() diff --git a/test/syncenginetestutils.h b/test/syncenginetestutils.h index 665dc2016..232cd419d 100644 --- a/test/syncenginetestutils.h +++ b/test/syncenginetestutils.h @@ -226,7 +226,7 @@ public: etag = file->etag; return file; } - return nullptr; + return 0; } FileInfo *createDir(const QString &relativePath) { @@ -267,6 +267,15 @@ public: return (parentPath.isEmpty() ? QString() : (parentPath + '/')) + name; } + void fixupParentPathRecursively() { + auto p = path(); + for (auto it = children.begin(); it != children.end(); ++it) { + Q_ASSERT(it.key() == it->name); + it->parentPath = p; + it->fixupParentPathRecursively(); + } + } + QString name; bool isDir = true; bool isShared = false; @@ -285,15 +294,6 @@ private: return find(pathComponents, true); } - void fixupParentPathRecursively() { - auto p = path(); - for (auto it = children.begin(); it != children.end(); ++it) { - Q_ASSERT(it.key() == it->name); - it->parentPath = p; - it->fixupParentPathRecursively(); - } - } - friend inline QDebug operator<<(QDebug dbg, const FileInfo& fi) { return dbg << "{ " << fi.path() << ": " << fi.children; } @@ -315,7 +315,10 @@ public: QString fileName = getFilePathFromUrl(request.url()); Q_ASSERT(!fileName.isNull()); // for root, it should be empty const FileInfo *fileInfo = remoteRootFileInfo.find(fileName); - Q_ASSERT(fileInfo); + if (!fileInfo) { + QMetaObject::invokeMethod(this, "respond404", Qt::QueuedConnection); + return; + } QString prefix = request.url().path().left(request.url().path().size() - fileName.size()); // Don't care about the request and just return a full propfind @@ -342,7 +345,7 @@ public: } else xml.writeEmptyElement(davUri, QStringLiteral("resourcetype")); - auto gmtDate = fileInfo.lastModified.toTimeZone(QTimeZone("GMT")); + auto gmtDate = fileInfo.lastModified.toTimeZone(QTimeZone(0)); auto stringDate = gmtDate.toString("ddd, dd MMM yyyy HH:mm:ss 'GMT'"); xml.writeTextElement(davUri, QStringLiteral("getlastmodified"), stringDate); xml.writeTextElement(davUri, QStringLiteral("getcontentlength"), QString::number(fileInfo.size)); @@ -375,6 +378,13 @@ public: emit finished(); } + Q_INVOKABLE void respond404() { + setAttribute(QNetworkRequest::HttpStatusCodeAttribute, 404); + setError(InternalServerError, "Not Found"); + emit metaDataChanged(); + emit finished(); + } + void abort() override { } qint64 bytesAvailable() const override { return payload.size() + QIODevice::bytesAvailable(); } @@ -524,7 +534,8 @@ class FakeGetReply : public QNetworkReply Q_OBJECT public: const FileInfo *fileInfo; - QByteArray payload; + char payload; + int size; FakeGetReply(FileInfo &remoteRootFileInfo, QNetworkAccessManager::Operation op, const QNetworkRequest &request, QObject *parent) : QNetworkReply{parent} { @@ -540,8 +551,9 @@ public: } Q_INVOKABLE void respond() { - payload.fill(fileInfo->contentChar, fileInfo->size); - setHeader(QNetworkRequest::ContentLengthHeader, payload.size()); + payload = fileInfo->contentChar; + size = fileInfo->size; + setHeader(QNetworkRequest::ContentLengthHeader, size); setAttribute(QNetworkRequest::HttpStatusCodeAttribute, 200); setRawHeader("OC-ETag", fileInfo->etag.toLatin1()); setRawHeader("ETag", fileInfo->etag.toLatin1()); @@ -553,12 +565,12 @@ public: } void abort() override { } - qint64 bytesAvailable() const override { return payload.size() + QIODevice::bytesAvailable(); } + qint64 bytesAvailable() const override { return size + QIODevice::bytesAvailable(); } qint64 readData(char *data, qint64 maxlen) override { - qint64 len = std::min(qint64{payload.size()}, maxlen); - strncpy(data, payload.constData(), len); - payload.remove(0, len); + qint64 len = std::min(qint64{size}, maxlen); + std::fill_n(data, len, payload); + size -= len; return len; } }; @@ -586,15 +598,17 @@ public: Q_ASSERT(sourceFolder->isDir); int count = 0; int size = 0; - char payload = '*'; + char payload = '\0'; do { - if (!sourceFolder->children.contains(QString::number(count))) + QString chunkName = QString::number(count).rightJustified(8, '0'); + if (!sourceFolder->children.contains(chunkName)) break; - auto &x = sourceFolder->children[QString::number(count)]; + auto &x = sourceFolder->children[chunkName]; Q_ASSERT(!x.isDir); Q_ASSERT(x.size > 0); // There should not be empty chunks size += x.size; + Q_ASSERT(!payload || payload == x.contentChar); payload = x.contentChar; ++count; } while(true); @@ -606,7 +620,12 @@ public: Q_ASSERT(!fileName.isEmpty()); if ((fileInfo = remoteRootFileInfo.find(fileName))) { - QCOMPARE(request.rawHeader("If"), QByteArray("<" + request.rawHeader("Destination") + "> ([\"" + fileInfo->etag.toLatin1() + "\"])")); + QVERIFY(request.hasRawHeader("If")); // The client should put this header + if (request.rawHeader("If") != QByteArray("<" + request.rawHeader("Destination") + + "> ([\"" + fileInfo->etag.toLatin1() + "\"])")) { + QMetaObject::invokeMethod(this, "respondPreconditionFailed", Qt::QueuedConnection); + return; + } fileInfo->size = size; fileInfo->contentChar = payload; } else { @@ -631,6 +650,13 @@ public: emit finished(); } + Q_INVOKABLE void respondPreconditionFailed() { + setAttribute(QNetworkRequest::HttpStatusCodeAttribute, 412); + setError(InternalServerError, "Precondition Failed"); + emit metaDataChanged(); + emit finished(); + } + void abort() override { } qint64 readData(char *, qint64) override { return 0; } }; @@ -765,6 +791,7 @@ public: QDir rootDir{_tempDir.path()}; FileInfo rootTemplate; fromDisk(rootDir, rootTemplate); + rootTemplate.fixupParentPathRecursively(); return rootTemplate; } @@ -791,15 +818,15 @@ public: } void execUntilItemCompleted(const QString &relativePath) { - QSignalSpy spy(_syncEngine.get(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy spy(_syncEngine.get(), SIGNAL(itemCompleted(const SyncFileItemPtr &))); QElapsedTimer t; t.start(); while (t.elapsed() < 5000) { spy.clear(); QVERIFY(spy.wait()); for(const QList &args : spy) { - auto item = args[0].value(); - if (item.destination() == relativePath) + auto item = args[0].value(); + if (item->destination() == relativePath) return; } } @@ -808,7 +835,7 @@ public: bool execUntilFinished() { QSignalSpy spy(_syncEngine.get(), SIGNAL(finished(bool))); - bool ok = spy.wait(60000); + bool ok = spy.wait(3600000); Q_ASSERT(ok && "Sync timed out"); return spy[0][0].toBool(); } @@ -841,8 +868,8 @@ private: if (diskChild.isDir()) { QDir subDir = dir; subDir.cd(diskChild.fileName()); - templateFi.children.insert(diskChild.fileName(), FileInfo{diskChild.fileName()}); - fromDisk(subDir, templateFi.children.last()); + FileInfo &subFi = templateFi.children[diskChild.fileName()] = FileInfo{diskChild.fileName()}; + fromDisk(subDir, subFi); } else { QFile f{diskChild.filePath()}; f.open(QFile::ReadOnly); diff --git a/test/testallfilesdeleted.cpp b/test/testallfilesdeleted.cpp new file mode 100644 index 000000000..d9356c844 --- /dev/null +++ b/test/testallfilesdeleted.cpp @@ -0,0 +1,118 @@ +/* + * This software is in the public domain, furnished "as is", without technical + * support, and with no warranty, express or implied, as to its usefulness for + * any purpose. + * + */ + +#include +#include "syncenginetestutils.h" +#include + +using namespace OCC; + +/* + * This test ensure that the SyncEngine::aboutToRemoveAllFiles is correctly called and that when + * we the user choose to remove all files SyncJournalDb::clearFileTable makes works as expected + */ +class TestAllFilesDeleted : public QObject +{ + Q_OBJECT + +private slots: + + void testAllFilesDeletedKeep_data() + { + QTest::addColumn("deleteOnRemote"); + QTest::newRow("local") << false; + QTest::newRow("remote") << true; + + } + + /* + * In this test, all files are deleted in the client, or the server, and we simulate + * that the users press "keep" + */ + void testAllFilesDeletedKeep() + { + QFETCH(bool, deleteOnRemote); + FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; + + //Just set a blacklist so we can check it is still there. This directory does not exists but + // that does not matter for our purposes. + QStringList selectiveSyncBlackList = { "Q/" }; + fakeFolder.syncEngine().journal()->setSelectiveSyncList(SyncJournalDb::SelectiveSyncBlackList, + selectiveSyncBlackList); + + auto initialState = fakeFolder.currentLocalState(); + int aboutToRemoveAllFilesCalled = 0; + QObject::connect(&fakeFolder.syncEngine(), &SyncEngine::aboutToRemoveAllFiles, + [&](SyncFileItem::Direction dir, bool *cancel) { + QCOMPARE(aboutToRemoveAllFilesCalled, 0); + aboutToRemoveAllFilesCalled++; + QCOMPARE(dir, deleteOnRemote ? SyncFileItem::Down : SyncFileItem::Up); + *cancel = true; + fakeFolder.syncEngine().journal()->clearFileTable(); // That's what Folder is doing + }); + + auto &modifier = deleteOnRemote ? fakeFolder.remoteModifier() : fakeFolder.localModifier(); + for (const auto &s : fakeFolder.currentRemoteState().children.keys()) + modifier.remove(s); + + QVERIFY(!fakeFolder.syncOnce()); // Should fail because we cancel the sync + QCOMPARE(aboutToRemoveAllFilesCalled, 1); + + // Next sync should recover all files + QVERIFY(fakeFolder.syncOnce()); + QCOMPARE(fakeFolder.currentLocalState(), initialState); + QCOMPARE(fakeFolder.currentRemoteState(), initialState); + + // The selective sync blacklist should be not have been deleted. + bool ok = true; + QCOMPARE(fakeFolder.syncEngine().journal()->getSelectiveSyncList(SyncJournalDb::SelectiveSyncBlackList, &ok), + selectiveSyncBlackList); + } + + void testAllFilesDeletedDelete_data() + { + testAllFilesDeletedKeep_data(); + } + + /* + * This test is like the previous one but we simulate that the user presses "delete" + */ + void testAllFilesDeletedDelete() + { + QFETCH(bool, deleteOnRemote); + FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; + + int aboutToRemoveAllFilesCalled = 0; + QObject::connect(&fakeFolder.syncEngine(), &SyncEngine::aboutToRemoveAllFiles, + [&](SyncFileItem::Direction dir, bool *cancel) { + QCOMPARE(aboutToRemoveAllFilesCalled, 0); + aboutToRemoveAllFilesCalled++; + QCOMPARE(dir, deleteOnRemote ? SyncFileItem::Down : SyncFileItem::Up); + *cancel = false; + }); + + auto &modifier = deleteOnRemote ? fakeFolder.remoteModifier() : fakeFolder.localModifier(); + for (const auto &s : fakeFolder.currentRemoteState().children.keys()) + modifier.remove(s); + + QVERIFY(fakeFolder.syncOnce()); // Should succeed, and all files must then be deleted + + QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState()); + QCOMPARE(fakeFolder.currentLocalState().children.count(), 0); + + // Try another sync to be sure. + + QVERIFY(fakeFolder.syncOnce()); // Should succeed (doing nothing) + QCOMPARE(aboutToRemoveAllFilesCalled, 1); // should not have been called. + + QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState()); + QCOMPARE(fakeFolder.currentLocalState().children.count(), 0); + } +}; + +QTEST_GUILESS_MAIN(TestAllFilesDeleted) +#include "testallfilesdeleted.moc" diff --git a/test/testchecksumvalidator.cpp b/test/testchecksumvalidator.cpp index c83f37377..88c3b1d34 100644 --- a/test/testchecksumvalidator.cpp +++ b/test/testchecksumvalidator.cpp @@ -55,7 +55,6 @@ using namespace OCC; private slots: void initTestCase() { - qDebug() << Q_FUNC_INFO; _root = QDir::tempPath() + "/" + "test_" + QString::number(qrand()); QDir rootDir(_root); @@ -65,7 +64,9 @@ using namespace OCC; } void testUploadChecksummingAdler() { - +#ifndef ZLIB_FOUND + QSKIP("ZLIB not found.", SkipSingle); +#else ComputeChecksum *vali = new ComputeChecksum(this); _expectedType = "Adler32"; vali->setChecksumType(_expectedType); @@ -81,6 +82,7 @@ using namespace OCC; loop.exec(); delete vali; +#endif } void testUploadChecksummingMd5() { @@ -119,7 +121,9 @@ using namespace OCC; } void testDownloadChecksummingAdler() { - +#ifndef ZLIB_FOUND + QSKIP("ZLIB not found.", SkipSingle); +#else QByteArray adler = checkSumAdlerC; adler.append(":"); adler.append(FileSystem::calcAdler32( _testfile )); @@ -143,6 +147,7 @@ using namespace OCC; QTRY_VERIFY(_errorSeen); delete vali; +#endif } diff --git a/test/testchunkingng.cpp b/test/testchunkingng.cpp index 21225c210..ed30f8954 100644 --- a/test/testchunkingng.cpp +++ b/test/testchunkingng.cpp @@ -11,6 +11,36 @@ using namespace OCC; +/* Upload a 1/3 of a file of given size. + * fakeFolder needs to be synchronized */ +static void partialUpload(FakeFolder &fakeFolder, const QString &name, int size) +{ + QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState()); + QCOMPARE(fakeFolder.uploadState().children.count(), 0); // The state should be clean + + fakeFolder.localModifier().insert(name, size); + // Abort when the upload is at 1/3 + int sizeWhenAbort = -1; + auto con = QObject::connect(&fakeFolder.syncEngine(), &SyncEngine::transmissionProgress, + [&](const ProgressInfo &progress) { + if (progress.completedSize() > (progress.totalSize() /3 )) { + sizeWhenAbort = progress.completedSize(); + fakeFolder.syncEngine().abort(); + } + }); + + QVERIFY(!fakeFolder.syncOnce()); // there should have been an error + QObject::disconnect(con); + QVERIFY(sizeWhenAbort > 0); + QVERIFY(sizeWhenAbort < size); + + QCOMPARE(fakeFolder.uploadState().children.count(), 1); // the transfer was done with chunking + auto upStateChildren = fakeFolder.uploadState().children.first().children; + QCOMPARE(sizeWhenAbort, std::accumulate(upStateChildren.cbegin(), upStateChildren.cend(), 0, + [](int s, const FileInfo &i) { return s + i.size; })); +} + + class TestChunkingNG : public QObject { Q_OBJECT @@ -40,38 +70,173 @@ private slots: FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; fakeFolder.syncEngine().account()->setCapabilities({ { "dav", QVariantMap{ {"chunking", "1.0"} } } }); const int size = 300 * 1000 * 1000; // 300 MB - fakeFolder.localModifier().insert("A/a0", size); - - // Abort when the upload is at 1/3 - int sizeWhenAbort = -1; - auto con = QObject::connect(&fakeFolder.syncEngine(), &SyncEngine::transmissionProgress, - [&](const ProgressInfo &progress) { - if (progress.completedSize() > (progress.totalSize() /3 )) { - sizeWhenAbort = progress.completedSize(); - fakeFolder.syncEngine().abort(); - } - }); - - QVERIFY(!fakeFolder.syncOnce()); // there should have been an error - QObject::disconnect(con); - QVERIFY(sizeWhenAbort > 0); - QVERIFY(sizeWhenAbort < size); - QCOMPARE(fakeFolder.uploadState().children.count(), 1); // the transfer was done with chunking - auto upStateChildren = fakeFolder.uploadState().children.first().children; - QCOMPARE(sizeWhenAbort, std::accumulate(upStateChildren.cbegin(), upStateChildren.cend(), 0, - [](int s, const FileInfo &i) { return s + i.size; })); - + partialUpload(fakeFolder, "A/a0", size); + QCOMPARE(fakeFolder.uploadState().children.count(), 1); + auto chunkingId = fakeFolder.uploadState().children.first().name; // Add a fake file to make sure it gets deleted fakeFolder.uploadState().children.first().insert("10000", size); QVERIFY(fakeFolder.syncOnce()); + QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState()); + QCOMPARE(fakeFolder.currentRemoteState().find("A/a0")->size, size); + // The same chunk id was re-used + QCOMPARE(fakeFolder.uploadState().children.count(), 1); + QCOMPARE(fakeFolder.uploadState().children.first().name, chunkingId); + } + // We modify the file locally after it has been partially uploaded + void testRemoveStale1() { + + FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; + fakeFolder.syncEngine().account()->setCapabilities({ { "dav", QVariantMap{ {"chunking", "1.0"} } } }); + const int size = 300 * 1000 * 1000; // 300 MB + partialUpload(fakeFolder, "A/a0", size); + QCOMPARE(fakeFolder.uploadState().children.count(), 1); + auto chunkingId = fakeFolder.uploadState().children.first().name; + + + fakeFolder.localModifier().setContents("A/a0", 'B'); + fakeFolder.localModifier().appendByte("A/a0"); + + QVERIFY(fakeFolder.syncOnce()); QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState()); - QCOMPARE(fakeFolder.uploadState().children.count(), 1); // The same chunk id was re-used - QCOMPARE(fakeFolder.currentRemoteState().find("A/a0")->size, size); + QCOMPARE(fakeFolder.currentRemoteState().find("A/a0")->size, size + 1); + // A different chunk id was used, and the previous one is removed + QCOMPARE(fakeFolder.uploadState().children.count(), 1); + QVERIFY(fakeFolder.uploadState().children.first().name != chunkingId); } + + // We remove the file locally after it has been partially uploaded + void testRemoveStale2() { + + FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; + fakeFolder.syncEngine().account()->setCapabilities({ { "dav", QVariantMap{ {"chunking", "1.0"} } } }); + const int size = 300 * 1000 * 1000; // 300 MB + partialUpload(fakeFolder, "A/a0", size); + QCOMPARE(fakeFolder.uploadState().children.count(), 1); + + fakeFolder.localModifier().remove("A/a0"); + + QVERIFY(fakeFolder.syncOnce()); + QCOMPARE(fakeFolder.uploadState().children.count(), 0); + } + + + void testCreateConflictWhileSyncing() { + FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; + fakeFolder.syncEngine().account()->setCapabilities({ { "dav", QVariantMap{ {"chunking", "1.0"} } } }); + const int size = 150 * 1000 * 1000; // 150 MB + + // Put a file on the server and download it. + fakeFolder.remoteModifier().insert("A/a0", size); + QVERIFY(fakeFolder.syncOnce()); + QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState()); + + // Modify the file localy and start the upload + fakeFolder.localModifier().setContents("A/a0", 'B'); + fakeFolder.localModifier().appendByte("A/a0"); + + // But in the middle of the sync, modify the file on the server + QMetaObject::Connection con = QObject::connect(&fakeFolder.syncEngine(), &SyncEngine::transmissionProgress, + [&](const ProgressInfo &progress) { + if (progress.completedSize() > (progress.totalSize() / 2 )) { + fakeFolder.remoteModifier().setContents("A/a0", 'C'); + QObject::disconnect(con); + } + }); + + QVERIFY(!fakeFolder.syncOnce()); + // There was a precondition failed error, this means wen need to sync again + QCOMPARE(fakeFolder.syncEngine().isAnotherSyncNeeded(), ImmediateFollowUp); + + QCOMPARE(fakeFolder.uploadState().children.count(), 1); // We did not clean the chunks at this point + + // Now we will download the server file and create a conflict + QVERIFY(fakeFolder.syncOnce()); + auto localState = fakeFolder.currentLocalState(); + + // A0 is the one from the server + QCOMPARE(localState.find("A/a0")->size, size); + QCOMPARE(localState.find("A/a0")->contentChar, 'C'); + + // There is a conflict file with our version + auto &stateAChildren = localState.find("A")->children; + auto it = std::find_if(stateAChildren.cbegin(), stateAChildren.cend(), [&](const FileInfo &fi) { + return fi.name.startsWith("a0_conflict"); + }); + QVERIFY(it != stateAChildren.cend()); + QCOMPARE(it->contentChar, 'B'); + QCOMPARE(it->size, size+1); + + // Remove the conflict file so the comparison works! + fakeFolder.localModifier().remove("A/" + it->name); + + QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState()); + + QCOMPARE(fakeFolder.uploadState().children.count(), 0); // The last sync cleaned the chunks + } + + void testModifyLocalFileWhileUploading() { + + FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; + fakeFolder.syncEngine().account()->setCapabilities({ { "dav", QVariantMap{ {"chunking", "1.0"} } } }); + const int size = 150 * 1000 * 1000; // 150 MB + + fakeFolder.localModifier().insert("A/a0", size); + + // middle of the sync, modify the file + QMetaObject::Connection con = QObject::connect(&fakeFolder.syncEngine(), &SyncEngine::transmissionProgress, + [&](const ProgressInfo &progress) { + if (progress.completedSize() > (progress.totalSize() / 2 )) { + fakeFolder.localModifier().setContents("A/a0", 'B'); + fakeFolder.localModifier().appendByte("A/a0"); + QObject::disconnect(con); + } + }); + + QVERIFY(!fakeFolder.syncOnce()); + + // There should be a followup sync + QCOMPARE(fakeFolder.syncEngine().isAnotherSyncNeeded(), ImmediateFollowUp); + + QCOMPARE(fakeFolder.uploadState().children.count(), 1); // We did not clean the chunks at this point + auto chunkingId = fakeFolder.uploadState().children.first().name; + + // Now we make a new sync which should upload the file for good. + QVERIFY(fakeFolder.syncOnce()); + + QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState()); + QCOMPARE(fakeFolder.currentRemoteState().find("A/a0")->size, size+1); + + // A different chunk id was used, and the previous one is removed + QCOMPARE(fakeFolder.uploadState().children.count(), 1); + QVERIFY(fakeFolder.uploadState().children.first().name != chunkingId); + } + + + void testResumeServerDeletedChunks() { + + FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; + fakeFolder.syncEngine().account()->setCapabilities({ { "dav", QVariantMap{ {"chunking", "1.0"} } } }); + const int size = 300 * 1000 * 1000; // 300 MB + partialUpload(fakeFolder, "A/a0", size); + QCOMPARE(fakeFolder.uploadState().children.count(), 1); + auto chunkingId = fakeFolder.uploadState().children.first().name; + + // Delete the chunks on the server + fakeFolder.uploadState().children.clear(); + QVERIFY(fakeFolder.syncOnce()); + + QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState()); + QCOMPARE(fakeFolder.currentRemoteState().find("A/a0")->size, size); + + // A different chunk id was used + QCOMPARE(fakeFolder.uploadState().children.count(), 1); + QVERIFY(fakeFolder.uploadState().children.first().name != chunkingId); + } + }; QTEST_GUILESS_MAIN(TestChunkingNG) diff --git a/test/testexcludedfiles.cpp b/test/testexcludedfiles.cpp index 547770ee9..b52bfb5a9 100644 --- a/test/testexcludedfiles.cpp +++ b/test/testexcludedfiles.cpp @@ -11,9 +11,7 @@ using namespace OCC; -#define STR_(X) #X -#define STR(X) STR_(X) -#define BIN_PATH STR(OWNCLOUD_BIN_PATH) +#define EXCLUDE_LIST_FILE SOURCEDIR"/../sync-exclude.lst" class TestExcludedFiles: public QObject { @@ -31,9 +29,7 @@ private slots: 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.addExcludeFilePath(EXCLUDE_LIST_FILE); excluded.reloadExcludes(); QVERIFY(!excluded.isExcluded("/a/b", "/a", keepHidden)); diff --git a/test/testfilesystem.cpp b/test/testfilesystem.cpp index 03ef87332..a9b3f2b9f 100644 --- a/test/testfilesystem.cpp +++ b/test/testfilesystem.cpp @@ -17,7 +17,7 @@ class TestFileSystem : public QObject { Q_OBJECT - QString _root; + QTemporaryDir _root; QByteArray shellSum( const QByteArray& cmd, const QString& file ) @@ -38,51 +38,36 @@ class TestFileSystem : public QObject } private slots: - void initTestCase() { - qsrand(QTime::currentTime().msec()); - - QString subdir("test_"+QString::number(qrand())); - _root = QDir::tempPath() + "/" + subdir; - - QDir dir("/tmp"); - dir.mkdir(subdir); - qDebug() << "creating test directory " << _root; - } - - void cleanupTestCase() - { - if( !_root.isEmpty() ) - system(QString("rm -rf "+_root).toUtf8()); - } - void testMd5Calc() { - QString file( _root+"/file_a.bin"); - writeRandomFile(file); - QFileInfo fi(file); - QVERIFY(fi.exists()); - QByteArray sum = calcMd5(file); + QString file( _root.path() + "/file_a.bin"); + QVERIFY(writeRandomFile(file)); + QFileInfo fi(file); + QVERIFY(fi.exists()); + QByteArray sum = calcMd5(file); - QByteArray sSum = shellSum("/usr/bin/md5sum", file); - qDebug() << "calculated" << sum << "versus md5sum:"<< sSum; - QVERIFY(!sSum.isEmpty()); - QVERIFY(!sum.isEmpty()); - QVERIFY(sSum == sum ); + QByteArray sSum = shellSum("md5sum", file); + if (sSum.isEmpty()) + QSKIP("Couldn't execute md5sum to calculate checksum, executable missing?", SkipSingle); + + QVERIFY(!sum.isEmpty()); + QCOMPARE(sSum, sum); } void testSha1Calc() { - QString file( _root+"/file_b.bin"); - writeRandomFile(file); - QFileInfo fi(file); - QVERIFY(fi.exists()); - QByteArray sum = calcSha1(file); + QString file( _root.path() + "/file_b.bin"); + writeRandomFile(file); + QFileInfo fi(file); + QVERIFY(fi.exists()); + QByteArray sum = calcSha1(file); - QByteArray sSum = shellSum("/usr/bin/sha1sum", file); - qDebug() << "calculated" << sum << "versus sha1sum:"<< sSum; - QVERIFY(!sSum.isEmpty()); - QVERIFY(!sum.isEmpty()); - QVERIFY(sSum == sum ); + QByteArray sSum = shellSum("sha1sum", file); + if (sSum.isEmpty()) + QSKIP("Couldn't execute sha1sum to calculate checksum, executable missing?", SkipSingle); + + QVERIFY(!sum.isEmpty()); + QCOMPARE(sSum, sum); } }; diff --git a/test/testfolderman.cpp b/test/testfolderman.cpp index 121738e44..e62437bdd 100644 --- a/test/testfolderman.cpp +++ b/test/testfolderman.cpp @@ -63,6 +63,7 @@ private slots: f.open(QFile::WriteOnly); f.write("hello"); } + QString dirPath = dir2.canonicalPath(); AccountPtr account = Account::create(); QUrl url("http://example.de"); @@ -73,22 +74,22 @@ private slots: AccountStatePtr newAccountState(new AccountState(account)); FolderMan *folderman = FolderMan::instance(); QCOMPARE(folderman, &_fm); - QVERIFY(folderman->addFolder(newAccountState.data(), folderDefinition(dir.path() + "/sub/ownCloud1"))); - QVERIFY(folderman->addFolder(newAccountState.data(), folderDefinition(dir.path() + "/ownCloud2"))); + QVERIFY(folderman->addFolder(newAccountState.data(), folderDefinition(dirPath + "/sub/ownCloud1"))); + QVERIFY(folderman->addFolder(newAccountState.data(), folderDefinition(dirPath + "/ownCloud2"))); // those should be allowed // QString FolderMan::checkPathValidityForNewFolder(const QString& path, const QUrl &serverUrl, bool forNewDirectory) - QCOMPARE(folderman->checkPathValidityForNewFolder(dir.path() + "/sub/free"), QString()); - QCOMPARE(folderman->checkPathValidityForNewFolder(dir.path() + "/free2/"), QString()); + QCOMPARE(folderman->checkPathValidityForNewFolder(dirPath + "/sub/free"), QString()); + QCOMPARE(folderman->checkPathValidityForNewFolder(dirPath + "/free2/"), QString()); // Not an existing directory -> Ok - QCOMPARE(folderman->checkPathValidityForNewFolder(dir.path() + "/sub/bliblablu"), QString()); - QCOMPARE(folderman->checkPathValidityForNewFolder(dir.path() + "/sub/free/bliblablu"), QString()); - QCOMPARE(folderman->checkPathValidityForNewFolder(dir.path() + "/sub/bliblablu/some/more"), QString()); + QCOMPARE(folderman->checkPathValidityForNewFolder(dirPath + "/sub/bliblablu"), QString()); + QCOMPARE(folderman->checkPathValidityForNewFolder(dirPath + "/sub/free/bliblablu"), QString()); + // QCOMPARE(folderman->checkPathValidityForNewFolder(dirPath + "/sub/bliblablu/some/more"), QString()); // A file -> Error - QVERIFY(!folderman->checkPathValidityForNewFolder(dir.path() + "/sub/file.txt").isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(dirPath + "/sub/file.txt").isNull()); // There are folders configured in those folders, url needs to be taken into account: -> ERROR QUrl url2(url); @@ -96,51 +97,51 @@ private slots: url2.setUserName(user); // The following both fail because they refer to the same account (user and url) - QVERIFY(!folderman->checkPathValidityForNewFolder(dir.path() + "/sub/ownCloud1", url2).isNull()); - QVERIFY(!folderman->checkPathValidityForNewFolder(dir.path() + "/ownCloud2/", url2).isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(dirPath + "/sub/ownCloud1", url2).isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(dirPath + "/ownCloud2/", url2).isNull()); // Now it will work because the account is different QUrl url3("http://anotherexample.org"); url3.setUserName("dummy"); - QCOMPARE(folderman->checkPathValidityForNewFolder(dir.path() + "/sub/ownCloud1", url3), QString()); - QCOMPARE(folderman->checkPathValidityForNewFolder(dir.path() + "/ownCloud2/", url3), QString()); + QCOMPARE(folderman->checkPathValidityForNewFolder(dirPath + "/sub/ownCloud1", url3), QString()); + QCOMPARE(folderman->checkPathValidityForNewFolder(dirPath + "/ownCloud2/", url3), QString()); - QVERIFY(!folderman->checkPathValidityForNewFolder(dir.path()).isNull()); - QVERIFY(!folderman->checkPathValidityForNewFolder(dir.path() + "/sub/ownCloud1/folder").isNull()); - QVERIFY(!folderman->checkPathValidityForNewFolder(dir.path() + "/sub/ownCloud1/folder/f").isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(dirPath).isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(dirPath + "/sub/ownCloud1/folder").isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(dirPath + "/sub/ownCloud1/folder/f").isNull()); // make a bunch of links - QVERIFY(QFile::link(dir.path() + "/sub/free", dir.path() + "/link1")); - QVERIFY(QFile::link(dir.path() + "/sub", dir.path() + "/link2")); - QVERIFY(QFile::link(dir.path() + "/sub/ownCloud1", dir.path() + "/link3")); - QVERIFY(QFile::link(dir.path() + "/sub/ownCloud1/folder", dir.path() + "/link4")); + QVERIFY(QFile::link(dirPath + "/sub/free", dirPath + "/link1")); + QVERIFY(QFile::link(dirPath + "/sub", dirPath + "/link2")); + QVERIFY(QFile::link(dirPath + "/sub/ownCloud1", dirPath + "/link3")); + QVERIFY(QFile::link(dirPath + "/sub/ownCloud1/folder", dirPath + "/link4")); // Ok - QVERIFY(folderman->checkPathValidityForNewFolder(dir.path() + "/link1").isNull()); - QVERIFY(folderman->checkPathValidityForNewFolder(dir.path() + "/link2/free").isNull()); + QVERIFY(folderman->checkPathValidityForNewFolder(dirPath + "/link1").isNull()); + QVERIFY(folderman->checkPathValidityForNewFolder(dirPath + "/link2/free").isNull()); // Not Ok - QVERIFY(!folderman->checkPathValidityForNewFolder(dir.path() + "/link2").isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(dirPath + "/link2").isNull()); // link 3 points to an existing sync folder. To make it fail, the account must be the same - QVERIFY(!folderman->checkPathValidityForNewFolder(dir.path() + "/link3", url2).isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(dirPath + "/link3", url2).isNull()); // while with a different account, this is fine - QCOMPARE(folderman->checkPathValidityForNewFolder(dir.path() + "/link3", url3), QString()); + QCOMPARE(folderman->checkPathValidityForNewFolder(dirPath + "/link3", url3), QString()); - QVERIFY(!folderman->checkPathValidityForNewFolder(dir.path() + "/link4").isNull()); - QVERIFY(!folderman->checkPathValidityForNewFolder(dir.path() + "/link3/folder").isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(dirPath + "/link4").isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(dirPath + "/link3/folder").isNull()); // test some non existing sub path (error) - QVERIFY(!folderman->checkPathValidityForNewFolder(dir.path() + "/sub/ownCloud1/some/sub/path").isNull()); - QVERIFY(!folderman->checkPathValidityForNewFolder(dir.path() + "/ownCloud2/blublu").isNull()); - QVERIFY(!folderman->checkPathValidityForNewFolder(dir.path() + "/sub/ownCloud1/folder/g/h").isNull()); - QVERIFY(!folderman->checkPathValidityForNewFolder(dir.path() + "/link3/folder/neu_folder").isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(dirPath + "/sub/ownCloud1/some/sub/path").isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(dirPath + "/ownCloud2/blublu").isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(dirPath + "/sub/ownCloud1/folder/g/h").isNull()); + QVERIFY(!folderman->checkPathValidityForNewFolder(dirPath + "/link3/folder/neu_folder").isNull()); // Subfolder of links - QVERIFY(folderman->checkPathValidityForNewFolder(dir.path() + "/link1/subfolder").isNull()); - QVERIFY(folderman->checkPathValidityForNewFolder(dir.path() + "/link2/free/subfolder").isNull()); + QVERIFY(folderman->checkPathValidityForNewFolder(dirPath + "/link1/subfolder").isNull()); + QVERIFY(folderman->checkPathValidityForNewFolder(dirPath + "/link2/free/subfolder").isNull()); // Invalid paths QVERIFY(!folderman->checkPathValidityForNewFolder("").isNull()); diff --git a/test/testfolderwatcher.cpp b/test/testfolderwatcher.cpp index 89d5d62d8..1cb231cf6 100644 --- a/test/testfolderwatcher.cpp +++ b/test/testfolderwatcher.cpp @@ -10,174 +10,181 @@ #include "folderwatcher.h" #include "utility.h" +void touch(const QString &file) +{ +#ifdef Q_OS_WIN + OCC::Utility::writeRandomFile(file); +#else + QString cmd; + cmd = QString("touch %1").arg(file); + qDebug() << "Command: " << cmd; + system(cmd.toLocal8Bit()); +#endif +} + +void mkdir(const QString &file) +{ +#ifdef Q_OS_WIN + QDir dir; + dir.mkdir(file); +#else + QString cmd = QString("mkdir %1").arg(file); + qDebug() << "Command: " << cmd; + system(cmd.toLocal8Bit()); +#endif +} + +void rmdir(const QString &file) +{ +#ifdef Q_OS_WIN + QDir dir; + dir.rmdir(file); +#else + QString cmd = QString("rmdir %1").arg(file); + qDebug() << "Command: " << cmd; + system(cmd.toLocal8Bit()); +#endif +} + +void rm(const QString &file) +{ +#ifdef Q_OS_WIN + QFile::remove(file); +#else + QString cmd = QString("rm %1").arg(file); + qDebug() << "Command: " << cmd; + system(cmd.toLocal8Bit()); +#endif +} + +void mv(const QString &file1, const QString &file2) +{ +#ifdef Q_OS_WIN + QFile::rename(file1, file2); +#else + QString cmd = QString("mv %1 %2").arg(file1, file2); + qDebug() << "Command: " << cmd; + system(cmd.toLocal8Bit()); +#endif +} + using namespace OCC; class TestFolderWatcher : public QObject { Q_OBJECT -public slots: - void slotFolderChanged( const QString& path ) { - if (_skipNotifications.contains(path)) { - return; - } - if (_requiredNotifications.contains(path)) { - _receivedNotifications.insert(path); - } - } + QTemporaryDir _root; + QString _rootPath; + QScopedPointer _watcher; + QScopedPointer _pathChangedSpy; - void slotEnd() { // in case something goes wrong... - _loop.quit(); - QVERIFY2(1 == 0, "Loop hang!"); - } - -private: - QString _root; - FolderWatcher *_watcher; - QEventLoop _loop; - QTimer _timer; - QSet _requiredNotifications; - QSet _receivedNotifications; - QSet _skipNotifications; - - void processAndWait() + bool waitForPathChanged(const QString &path) { - _loop.processEvents(); - Utility::usleep(200000); - _loop.processEvents(); + QElapsedTimer t; + t.start(); + while (t.elapsed() < 5000) { + // Check if it was already reported as changed by the watcher + for (int i = 0; i < _pathChangedSpy->size(); ++i) { + const auto &args = _pathChangedSpy->at(i); + if (args.first().toString() == path) + return true; + } + // Wait a bit and test again (don't bother checking if we timed out or not) + _pathChangedSpy->wait(200); + } + return false; + } + +public: + TestFolderWatcher() { + qsrand(QTime::currentTime().msec()); + QDir rootDir(_root.path()); + _rootPath = rootDir.canonicalPath(); + qDebug() << "creating test directory tree in " << _rootPath; + + rootDir.mkpath("a1/b1/c1"); + rootDir.mkpath("a1/b1/c2"); + rootDir.mkpath("a1/b2/c1"); + rootDir.mkpath("a1/b3/c3"); + rootDir.mkpath("a2/b3/c3"); + Utility::writeRandomFile( _rootPath+"/a1/random.bin"); + Utility::writeRandomFile( _rootPath+"/a1/b2/todelete.bin"); + Utility::writeRandomFile( _rootPath+"/a2/renamefile"); + Utility::writeRandomFile( _rootPath+"/a1/movefile"); + + _watcher.reset(new FolderWatcher(_rootPath)); + _pathChangedSpy.reset(new QSignalSpy(_watcher.data(), SIGNAL(pathChanged(QString)))); } private slots: - void initTestCase() { - qsrand(QTime::currentTime().msec()); - _root = QDir::tempPath() + "/" + "test_" + QString::number(qrand()); - qDebug() << "creating test directory tree in " << _root; - QDir rootDir(_root); - - rootDir.mkpath(_root + "/a1/b1/c1"); - rootDir.mkpath(_root + "/a1/b1/c2"); - rootDir.mkpath(_root + "/a1/b2/c1"); - rootDir.mkpath(_root + "/a1/b3/c3"); - rootDir.mkpath(_root + "/a2/b3/c3"); - Utility::writeRandomFile( _root+"/a1/random.bin"); - Utility::writeRandomFile( _root+"/a1/b2/todelete.bin"); - Utility::writeRandomFile( _root+"/a2/renamefile"); - Utility::writeRandomFile( _root+"/a1/movefile"); - - _watcher = new FolderWatcher(_root); - QObject::connect(_watcher, SIGNAL(pathChanged(QString)), this, SLOT(slotFolderChanged(QString))); - _timer.singleShot(5000, this, SLOT(slotEnd())); - } - void init() { - _receivedNotifications.clear(); - _requiredNotifications.clear(); - _skipNotifications.clear(); - } - - void checkNotifications() - { - processAndWait(); - QCOMPARE(_receivedNotifications, _requiredNotifications); + _pathChangedSpy->clear(); } void testACreate() { // create a new file - QString file(_root + "/foo.txt"); + QString file(_rootPath + "/foo.txt"); QString cmd; - _requiredNotifications.insert(file); cmd = QString("echo \"xyz\" > %1").arg(file); qDebug() << "Command: " << cmd; system(cmd.toLocal8Bit()); - checkNotifications(); + QVERIFY(waitForPathChanged(file)); } void testATouch() { // touch an existing file. - QString file(_root + "/a1/random.bin"); - _requiredNotifications.insert(file); -#ifdef Q_OS_WIN - Utility::writeRandomFile(QString("%1/a1/random.bin").arg(_root)); -#else - QString cmd; - cmd = QString("touch %1").arg(file); - qDebug() << "Command: " << cmd; - system(cmd.toLocal8Bit()); -#endif - - checkNotifications(); + QString file(_rootPath + "/a1/random.bin"); + touch(file); + QVERIFY(waitForPathChanged(file)); } void testCreateADir() { - QString file(_root+"/a1/b1/new_dir"); - _requiredNotifications.insert(file); - //_skipNotifications.insert(_root + "/a1/b1/new_dir"); - QDir dir; - dir.mkdir(file); - QVERIFY(QFile::exists(file)); - - checkNotifications(); + QString file(_rootPath+"/a1/b1/new_dir"); + mkdir(file); + QVERIFY(waitForPathChanged(file)); } void testRemoveADir() { - QString file(_root+"/a1/b3/c3"); - _requiredNotifications.insert(file); - QDir dir; - QVERIFY(dir.rmdir(file)); - - checkNotifications(); + QString file(_rootPath+"/a1/b3/c3"); + rmdir(file); + QVERIFY(waitForPathChanged(file)); } void testRemoveAFile() { - QString file(_root+"/a1/b2/todelete.bin"); - _requiredNotifications.insert(file); + QString file(_rootPath+"/a1/b2/todelete.bin"); QVERIFY(QFile::exists(file)); - QFile::remove(file); + rm(file); QVERIFY(!QFile::exists(file)); - checkNotifications(); + QVERIFY(waitForPathChanged(file)); } void testRenameAFile() { - QString file1(_root+"/a2/renamefile"); - QString file2(_root+"/a2/renamefile.renamed"); - _requiredNotifications.insert(file1); - _requiredNotifications.insert(file2); + QString file1(_rootPath+"/a2/renamefile"); + QString file2(_rootPath+"/a2/renamefile.renamed"); QVERIFY(QFile::exists(file1)); - QFile::rename(file1, file2); + mv(file1, file2); QVERIFY(QFile::exists(file2)); - checkNotifications(); + QVERIFY(waitForPathChanged(file1)); + QVERIFY(waitForPathChanged(file2)); } void testMoveAFile() { - QString old_file(_root+"/a1/movefile"); - QString new_file(_root+"/a2/movefile.renamed"); - _requiredNotifications.insert(old_file); - _requiredNotifications.insert(new_file); + QString old_file(_rootPath+"/a1/movefile"); + QString new_file(_rootPath+"/a2/movefile.renamed"); QVERIFY(QFile::exists(old_file)); - QFile::rename(old_file, new_file); + mv(old_file, new_file); QVERIFY(QFile::exists(new_file)); - checkNotifications(); - } - - void cleanupTestCase() { - if( _root.startsWith(QDir::tempPath() )) { - system( QString("rm -rf %1").arg(_root).toLocal8Bit() ); - } - delete _watcher; + QVERIFY(waitForPathChanged(old_file)); + QVERIFY(waitForPathChanged(new_file)); } }; -#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) -// Qt4 does not have QTEST_GUILESS_MAIN, so we simulate it. -int main(int argc, char *argv[]) -{ - QCoreApplication app(argc, argv); - TestFolderWatcher tc; - return QTest::qExec(&tc, argc, argv); -} +#ifdef Q_OS_MAC + QTEST_MAIN(TestFolderWatcher) #else QTEST_GUILESS_MAIN(TestFolderWatcher) #endif diff --git a/test/testsyncengine.cpp b/test/testsyncengine.cpp index f54ff1110..ae5296ea1 100644 --- a/test/testsyncengine.cpp +++ b/test/testsyncengine.cpp @@ -14,8 +14,8 @@ using namespace OCC; bool itemDidComplete(const QSignalSpy &spy, const QString &path) { for(const QList &args : spy) { - SyncFileItem item = args[0].value(); - if (item.destination() == path) + auto item = args[0].value(); + if (item->destination() == path) return true; } return false; @@ -24,9 +24,9 @@ bool itemDidComplete(const QSignalSpy &spy, const QString &path) bool itemDidCompleteSuccessfully(const QSignalSpy &spy, const QString &path) { for(const QList &args : spy) { - SyncFileItem item = args[0].value(); - if (item.destination() == path) - return item._status == SyncFileItem::Success; + auto item = args[0].value(); + if (item->destination() == path) + return item->_status == SyncFileItem::Success; } return false; } @@ -38,7 +38,7 @@ class TestSyncEngine : public QObject private slots: void testFileDownload() { FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &))); fakeFolder.remoteModifier().insert("A/a0"); fakeFolder.syncOnce(); QVERIFY(itemDidCompleteSuccessfully(completeSpy, "A/a0")); @@ -47,7 +47,7 @@ private slots: void testFileUpload() { FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &))); fakeFolder.localModifier().insert("A/a0"); fakeFolder.syncOnce(); QVERIFY(itemDidCompleteSuccessfully(completeSpy, "A/a0")); @@ -56,7 +56,7 @@ private slots: void testDirDownload() { FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &))); fakeFolder.remoteModifier().mkdir("Y"); fakeFolder.remoteModifier().mkdir("Z"); fakeFolder.remoteModifier().insert("Z/d0"); @@ -69,7 +69,7 @@ private slots: void testDirUpload() { FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &))); fakeFolder.localModifier().mkdir("Y"); fakeFolder.localModifier().mkdir("Z"); fakeFolder.localModifier().insert("Z/d0"); @@ -82,7 +82,7 @@ private slots: void testLocalDelete() { FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &))); fakeFolder.remoteModifier().remove("A/a1"); fakeFolder.syncOnce(); QVERIFY(itemDidCompleteSuccessfully(completeSpy, "A/a1")); @@ -91,7 +91,7 @@ private slots: void testRemoteDelete() { FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &))); fakeFolder.localModifier().remove("A/a1"); fakeFolder.syncOnce(); QVERIFY(itemDidCompleteSuccessfully(completeSpy, "A/a1")); @@ -107,7 +107,7 @@ private slots: // fakeFolder.syncOnce(); fakeFolder.syncOnce(); - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &))); // Touch the file without changing the content, shouldn't upload fakeFolder.localModifier().setContents("a1.eml", 'A'); // Change the content/size @@ -204,7 +204,7 @@ private slots: QCOMPARE(fakeFolder.currentLocalState(), remoteState); expectedServerState = fakeFolder.currentRemoteState(); - QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &))); + QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &))); fakeFolder.syncOnce(); // This sync should do nothing QCOMPARE(completeSpy.count(), 0); @@ -213,6 +213,18 @@ private slots: } } + void abortAfterFailedMkdir() { + QSKIP("Skip for 2.3"); + FakeFolder fakeFolder{FileInfo{}}; + QSignalSpy finishedSpy(&fakeFolder.syncEngine(), SIGNAL(finished(bool))); + fakeFolder.serverErrorPaths().append("NewFolder"); + fakeFolder.localModifier().mkdir("NewFolder"); + // This should be aborted and would otherwise fail in FileInfo::create. + fakeFolder.localModifier().insert("NewFolder/NewFile"); + fakeFolder.syncOnce(); + QCOMPARE(finishedSpy.size(), 1); + QCOMPARE(finishedSpy.first().first().toBool(), false); + } }; QTEST_GUILESS_MAIN(TestSyncEngine) diff --git a/test/testsyncfilestatustracker.cpp b/test/testsyncfilestatustracker.cpp index cb66ad3a8..bcb6ae205 100644 --- a/test/testsyncfilestatustracker.cpp +++ b/test/testsyncfilestatustracker.cpp @@ -28,6 +28,24 @@ public: } return SyncFileStatus(); } + + bool statusEmittedBefore(const QString &firstPath, const QString &secondPath) const { + QFileInfo firstFile(_syncEngine.localPath(), firstPath); + QFileInfo secondFile(_syncEngine.localPath(), secondPath); + // Start from the end to get the latest status + int i = size() - 1; + for (; i >= 0; --i) { + if (QFileInfo(at(i)[0].toString()) == secondFile) + break; + else if (QFileInfo(at(i)[0].toString()) == firstFile) + return false; + } + for (; i >= 0; --i) { + if (QFileInfo(at(i)[0].toString()) == firstFile) + return true; + } + return false; + } }; class TestSyncFileStatusTracker : public QObject @@ -369,6 +387,28 @@ private slots: QCOMPARE(fakeFolder.syncEngine().syncFileStatusTracker().fileStatus("A/a"), SyncFileStatus(SyncFileStatus::StatusUpToDate)); } + // Even for status pushes immediately following each other, macOS + // can sometimes have 1s delays between updates, so make sure that + // children are marked as OK before their parents do. + void childOKEmittedBeforeParent() { + FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()}; + fakeFolder.localModifier().appendByte("B/b1"); + fakeFolder.remoteModifier().appendByte("C/c1"); + StatusPushSpy statusSpy(fakeFolder.syncEngine()); + + fakeFolder.syncOnce(); + verifyThatPushMatchesPull(fakeFolder, statusSpy); + QVERIFY(statusSpy.statusEmittedBefore("B/b1", "B")); + QVERIFY(statusSpy.statusEmittedBefore("C/c1", "C")); + QVERIFY(statusSpy.statusEmittedBefore("B", "")); + QVERIFY(statusSpy.statusEmittedBefore("C", "")); + QCOMPARE(statusSpy.statusOf(""), SyncFileStatus(SyncFileStatus::StatusUpToDate)); + QCOMPARE(statusSpy.statusOf("B"), SyncFileStatus(SyncFileStatus::StatusUpToDate)); + QCOMPARE(statusSpy.statusOf("B/b1"), SyncFileStatus(SyncFileStatus::StatusUpToDate)); + QCOMPARE(statusSpy.statusOf("C"), SyncFileStatus(SyncFileStatus::StatusUpToDate)); + QCOMPARE(statusSpy.statusOf("C/c1"), SyncFileStatus(SyncFileStatus::StatusUpToDate)); + } + void sharedStatus() { SyncFileStatus sharedUpToDateStatus(SyncFileStatus::StatusUpToDate); sharedUpToDateStatus.setSharedWithMe(true); diff --git a/test/testutility.cpp b/test/testutility.cpp index 62125c86f..ce3905a6e 100644 --- a/test/testutility.cpp +++ b/test/testutility.cpp @@ -169,7 +169,6 @@ private slots: void testFileNamesEqual() { #if QT_VERSION >= QT_VERSION_CHECK(5, 1, 0) - qDebug() << "*** checking fileNamesEqual function"; QTemporaryDir dir; QVERIFY(dir.isValid()); QDir dir2(dir.path()); @@ -201,5 +200,5 @@ private slots: }; -QTEST_APPLESS_MAIN(TestUtility) +QTEST_GUILESS_MAIN(TestUtility) #include "testutility.moc" diff --git a/translations/client_ca.ts b/translations/client_ca.ts index 4f875bbef..b2c3000a1 100644 --- a/translations/client_ca.ts +++ b/translations/client_ca.ts @@ -126,7 +126,7 @@ - + Cancel Cancel·la @@ -246,22 +246,32 @@ Inici de sessió - - There are new folders that were not synchronized because they are too big: - Hi ha carpetes noves que no s'han sincronitzat perquè són massa grans: + + There are folders that were not synchronized because they are too big: + - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal Confirmeu l'eliminació del compte - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Segur que voleu eliminar la connexió al compte <i>%1</i>?</p><p><b>Nota:</b> això <b>no</b> esborrarà cap fitxer.</p> - + Remove connection Elimina la connexió @@ -521,6 +531,24 @@ Fitxers de certificats (*.p12 *pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Error en escriure les metadades a la base de dades @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Temps d'espera de la connexió esgotat. @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Aturat per l'usuari @@ -604,160 +632,172 @@ OCC::Folder - + Local folder %1 does not exist. El fitxer local %1 no existeix. - + %1 should be a folder but is not. %1 hauria de ser una carpeta, però no ho és. - + %1 is not readable. No es pot llegir %1. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. S'ha esborrat '%1' - + %1 has been downloaded. %1 names a file. S'ha descarregat %1 - + %1 has been updated. %1 names a file. S'ha actualitzat %1 - + %1 has been renamed to %2. %1 and %2 name files. %1 s'ha reanomenat a %2. - + %1 has been moved to %2. %1 s'ha mogut a %2. - + %1 and %n other file(s) have been removed. %1 i %n altre fitxer s'ha esborrat.%1 i %n altres fitxers s'han esborrat. - + %1 and %n other file(s) have been downloaded. %1 i %n altre fitxer s'han descarregat.%1 i %n altres fitxers s'han descarregat. - + %1 and %n other file(s) have been updated. %1 i %n altre fitxer s'han actualitzat.%1 i %n altres fitxers s'han actualitzat. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 s'ha reanomenat a %2 i %n altre fitxer s'ha reanomenat.%1 s'ha reanomenat a %2 i %n altres fitxers s'han reanomenat. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 s'ha mogut a %2 i %n altre fitxer s'ha mogut.%1 s'ha mogut a %2 i %n altres fitxers s'han mogut. - + %1 has and %n other file(s) have sync conflicts. %1 i %n altre fitxer tenen conflictes de sincronització%1 i %n altres fitxers tenen conflictes de sincronització - + %1 has a sync conflict. Please check the conflict file! %1 té conflictes de sincronització. Comproveu el fitxer conflictiu! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 i %n altre fitxer no s'han sincronitzat per errors. Consulteu el registre per obtenir més informació.%1 i %n altres fitxers no s'han sincronitzat per errors. Consulteu el registre per obtenir més informació. - + %1 could not be synced due to an error. See the log for details. %1 no s'ha pogut sincronitzar degut a un error. Mireu el registre per més detalls. - + Sync Activity Activitat de sincronització - + Could not read system exclude file No s'ha pogut llegir el fitxer d'exclusió del sistema - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - S'ha afegit una carpeta nova de més de %1 MB: %2. -Aneu a arranjament per seleccionar-la si voleu descarregar-la. - - - - 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? + - + + A folder from an external storage has been added. + + + + + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Esborra tots els fitxers? - + Remove all files Esborra tots els fitxers - + Keep files Mantén els fitxers - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Copia de seguretat detectada - + Normal Synchronisation Sincronització normal - + Keep Local Files as Conflict Manté els fitxers locals com a conflicte @@ -765,112 +805,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state No es pot restablir l'estat de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. S'ha trobat un diari de sincronització antic '%1', però no s'ha pogut eliminar. Assegureu-vos que no hi ha cap aplicació que actualment en faci ús. - + (backup) (copia de seguretat) - + (backup %1) (copia de seguretat %1) - + Undefined State. Estat indefinit. - + Waiting to start syncing. S'està esperant per començar a sincronitzar. - + Preparing for sync. S'està preparant per la sincronització. - + Sync is running. S'està sincronitzant. - + Last Sync was successful. La darrera sincronització va ser correcta. - + Last Sync was successful, but with warnings on individual files. La última sincronització ha estat un èxit, però amb avisos en fitxers individuals. - + Setup Error. Error de configuració. - + User Abort. Cancel·la usuari. - + Sync is paused. La sincronització està en pausa. - + %1 (Sync is paused) %1 (Sync està pausat) - + No valid folder selected! No s'ha seleccionat cap directori vàlid! - + The selected path is not a folder! La ruta seleccionada no és un directori! - + You have no permission to write to the selected folder! No teniu permisos per escriure en la carpeta seleccionada! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! - + 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! @@ -896,133 +936,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder Cal que tingueu connexió per afegir una carpeta - + Click this button to add a folder to synchronize. Cliqueu aquest botó per afegir una carpeta per sincronitzar. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Error en carregar la llista de carpetes del servidor. - + Signed out S'ha desconnectat - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. - + Fetching folder list from server... Obtenint la llista de carpetes del servidor... - + Checking for changes in '%1' S'està comprovant els canvis a '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" S'està sincronitzant %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) descarrega %1/s - + u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) pujada %1/s - + u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 de %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" %5 pendent, %1 de %2, fitxer %3 de %4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 de %2, fitxer %3 de %4 - + file %1 of %2 fitxer %1 de %2 - + Waiting... S'està esperant... - + Waiting for %n other folder(s)... S'està esperant %n altra carpeta...S'està esperant %n altres carpetes - + Preparing to sync... S'està preparant per sincronitzar... @@ -1030,12 +1070,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection Afegeix connexions de carpetes sincronitzades - + Add Sync Connection Afegir una connexió de sincronització @@ -1111,14 +1151,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an Ja esteu sincronitzant tots els vostres fitxers. Sincronitzar una altra carpeta <b>no</b> està permes. Si voleu sincronitzar múltiples carpetes, elimineu la configuració de sincronització de la carpeta arrel. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Trieu què sincronitzar: podeu seleccionar opcionalment quines subcarpetes remotes no voleu sincronitzar. - - OCC::FormatWarningsWizardPage @@ -1135,22 +1167,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway No s'ha rebut cap E-Tag del servidor, comproveu el Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. Hem rebut un E-Tag diferent en la represa. Es comprovarà la pròxima vegada. - + Server returned wrong content-range El servidor retorna un error de contingut o rang - + Connection Timeout Temps de connexió excedit @@ -1178,10 +1210,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an Avançat - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1198,33 +1241,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an Usa icones en &monocrom - + Edit &Ignored Files Editeu els fitxers &ignorats - - Ask &confirmation before downloading folders larger than - Demana la &confirmació abans de descarregar carpetes més grans de - - - + S&how crash reporter Mostra l'informe de &fallades + - About Quant a - + Updates Actualitzacions - + &Restart && Update &Reiniciar && Actualitzar @@ -1398,7 +1436,7 @@ Els elements que poden ser eliminats s'eliminaran si impedeixen que una car OCC::MoveJob - + Connection timed out Temps d'espera de la connexió esgotat. @@ -1547,23 +1585,23 @@ Els elements que poden ser eliminats s'eliminaran si impedeixen que una car OCC::NotificationWidget - + Created at %1 Creat el %1 - + Closing in a few seconds... Es tancarà en pocs segons... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' La petició %1 ha fallat a %2 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' S'ha seleccionat '%1' a %2 @@ -1647,28 +1685,28 @@ privilegis addicionals durant el procés. Connecta... - + %1 folder '%2' is synced to local folder '%3' %1 carpeta '%2' està sincronitzat amb la carpeta local '%3' - + Sync the folder '%1' Sincronitzar el directori '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Atenció:</strong> La carpeta local no està buida. Trieu una resolució!</small></p> - + Local Sync Folder Fitxer local de sincronització - - + + (%1) (%1) @@ -1894,7 +1932,7 @@ No és aconsellada usar-la. No es pot esborrar i restaurar la carpeta perquè una carpeta o un fitxer de dins està obert en un altre programa. Tanqueu la carpeta o el fitxer i intenteu-ho de nou o cancel·leu la configuració. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>la carpeta de sincronització %1 s'ha creat correctament!</b></font> @@ -1933,7 +1971,7 @@ No és aconsellada usar-la. OCC::PUTFileJob - + Connection Timeout Temps de connexió excedit @@ -1941,7 +1979,7 @@ No és aconsellada usar-la. OCC::PollJob - + Invalid JSON reply from the poll URL @@ -1949,7 +1987,7 @@ No és aconsellada usar-la. OCC::PropagateDirectory - + Error writing metadata to the database Error en escriure les metadades a la base de dades @@ -1957,22 +1995,22 @@ No és aconsellada usar-la. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! El fitxer %1 no es pot baixar perquè hi ha un xoc amb el nom d'un fitxer local! - + The download would reduce free disk space below %1 La descàrrega reduïrà l'espai lliure al disc per sota de %1 - + Free space on disk is less than %1 L'espai lliure del disc dur es inferior a %1 - + File was deleted from server El fitxer s'ha esborrat del servidor @@ -2005,17 +2043,17 @@ No és aconsellada usar-la. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Ha fallat la restauració: %1 - + Continue blacklisting: - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -2078,7 +2116,7 @@ No és aconsellada usar-la. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. El fitxer s'ha eliminat d'una compartició només de lectura. S'ha restaurat. @@ -2091,7 +2129,7 @@ No és aconsellada usar-la. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". @@ -2104,17 +2142,17 @@ No és aconsellada usar-la. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. No s'ha de canviar el nom d'aquesta carpeta. Es reanomena de nou amb el seu nom original. - + This folder must not be renamed. Please name it back to Shared. Aquesta carpeta no es pot reanomenar. Reanomeneu-la de nou Shared. - + The file was renamed but is part of a read only share. The original file was restored. El fitxer s'ha reanomenat però és part d'una compartició només de lectura. El fixter original s'ha restaurat. @@ -2133,22 +2171,22 @@ No és aconsellada usar-la. OCC::PropagateUploadFileCommon - + File Removed Fitxer eliminat - + Local file changed during syncing. It will be resumed. - + Local file changed during sync. El fitxer local ha canviat durant la sincronització. - + Error writing metadata to the database Error en escriure les metadades a la base de dades @@ -2156,32 +2194,32 @@ No és aconsellada usar-la. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The local file was removed during sync. El fitxer local s'ha eliminat durant la sincronització. - + Local file changed during sync. El fitxer local ha canviat durant la sincronització. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2189,32 +2227,32 @@ No és aconsellada usar-la. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. El fitxer s'ha editat localment però és part d'una compartició només de lectura. S'ha restaurat i la vostra edició és en el fitxer en conflicte. - + Poll URL missing - + The local file was removed during sync. El fitxer local s'ha eliminat durant la sincronització. - + Local file changed during sync. El fitxer local ha canviat durant la sincronització. - + The server did not acknowledge the last chunk. (No e-tag was present) @@ -2232,42 +2270,42 @@ No és aconsellada usar-la. TextLabel - + Time Hora - + File Fitxer - + Folder Carpeta - + Action Acció - + Size Mida - + Local sync protocol Protocol de sincronització local - + Copy Copia - + Copy the activity list to the clipboard. Copia la llista d'activitats al porta-retalls. @@ -2308,51 +2346,41 @@ No és aconsellada usar-la. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Les carpetes desmarcades <b>s'eliminaran</b> del vostre sistema de fitxers local i ja no es sincronitzaran en aquest ordinador - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Trieu què sincronitzar: seleccioneu subcarpetes remotes que voleu sincronitzar. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Trieu què sincronitzar: desseleccioneu subcarpetes remotes que no voleu sincronitzar. - - - + Choose What to Sync Trieu què sincronitzar - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Carregant... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Nom - + Size Mida - - + + No subfolders currently on the server. Actualment no hi ha subcarpetes al servidor. - + An error occurred while loading the list of sub folders. S'ha produit un error en carregar la llista de subcarpetes. @@ -2656,7 +2684,7 @@ No és aconsellada usar-la. OCC::SocketApi - + Share with %1 parameter is ownCloud Comparteix amb %1 @@ -2865,275 +2893,285 @@ No és aconsellada usar-la. OCC::SyncEngine - + Success. Èxit. - + CSync failed to load the journal file. The journal file is corrupted. CSync ha fallat en carregar el fitxer del registre de transaccions. El fitxer està corromput. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>No s'ha pogut carregar el connector %1 per csync.<br/>Comproveu la instal·lació!</p> - + CSync got an error while processing internal trees. CSync ha patit un error mentre processava els àrbres interns. - + CSync failed to reserve memory. CSync ha fallat en reservar memòria. - + CSync fatal parameter error. Error fatal de paràmetre en CSync. - + CSync processing step update failed. El pas d'actualització del processat de CSync ha fallat. - + CSync processing step reconcile failed. El pas de reconciliació del processat de CSync ha fallat. - + CSync could not authenticate at the proxy. CSync no s'ha pogut acreditar amb el proxy. - + CSync failed to lookup proxy or server. CSync ha fallat en cercar el proxy o el servidor. - + CSync failed to authenticate at the %1 server. L'autenticació de CSync ha fallat al servidor %1. - + CSync failed to connect to the network. CSync ha fallat en connectar-se a la xarxa. - + A network connection timeout happened. Temps excedit en la connexió. - + A HTTP transmission error happened. S'ha produït un error en la transmissió HTTP. - + The mounted folder is temporarily not available on the server - + An error occurred while opening a folder S'ha produït un error en obrir una carpeta - + Error while reading folder. Error en llegir la carpeta. - + File/Folder is ignored because it's hidden. El fitxer/carpeta s'ha ignorat perquè és ocult. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() - + Not allowed because you don't have permission to add parent folder - + Not allowed because you don't have permission to add files in that folder - + CSync: No space on %1 server available. CSync: No hi ha espai disponible al servidor %1. - + CSync unspecified error. Error inespecífic de CSync. - + Aborted by the user Aturat per l'usuari - - Filename contains invalid characters that can not be synced cross platform. - El nom del fitxer conté caràcters no vàlids que no es poden sincronitzar entre plataformes. - - - + CSync failed to access - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. - + CSync failed due to unhandled permission denied. - + CSync tried to create a folder that already exists. - + The service is temporarily unavailable El servei no està disponible temporalment - + Access is forbidden Accés prohibit - + An internal error number %1 occurred. S'ha produït l'error intern número %1. - + The item is not synced because of previous errors: %1 L'element no s'ha sincronitzat degut a errors previs: %1 - + Symbolic links are not supported in syncing. La sincronització d'enllaços simbòlics no està implementada. - + File is listed on the ignore list. El fitxer està a la llista d'ignorats. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. El nom de fitxer és massa llarg. - + Stat failed. - + Filename encoding is not valid La codificació del nom de fitxer no és vàlida - + Invalid characters, please rename "%1" Caràcters no vàlids. Reanomeneu "%1" - + Unable to initialize a sync journal. No es pot inicialitzar un periòdic de sincronització - + Unable to read the blacklist from the local database - + Unable to read from the sync journal. - + Cannot open the sync journal No es pot obrir el diari de sincronització - + File name contains at least one invalid character El nom del fitxer conté al menys un caràcter invàlid - - + + Ignored because of the "choose what to sync" blacklist S'ignora degut al filtre a «Trieu què sincronitzar» - + Not allowed because you don't have permission to add subfolders to that folder - + Not allowed to upload this file because it is read-only on the server, restoring No es permet pujar aquest fitxer perquè només és de lectura en el servidor, es restaura - - + + Not allowed to remove, restoring No es permet l'eliminació, es restaura - + Local files and share folder removed. Fitxers locals i carpeta compartida esborrats. - + Move not allowed, item restored No es permet moure'l, l'element es restaura - + Move not allowed because %1 is read-only No es permet moure perquè %1 només és de lectura - + the destination el destí - + the source l'origen @@ -3157,17 +3195,17 @@ No és aconsellada usar-la. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Versió %1. Per més informació visiteu <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Distribuït per %1 i amb llicència GNU General Public License (GPL) Versió 2.0.<br/>%2 i el %2 logo són marques registrades de %1 als Estats Units, altres països, o ambdós.</p> @@ -3417,10 +3455,10 @@ No és aconsellada usar-la. - - - - + + + + TextLabel TextLabel @@ -3440,7 +3478,23 @@ No és aconsellada usar-la. Comença una sin&cronització des de zero (esborra la carpeta local!) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Trieu què sincronitzar @@ -3460,12 +3514,12 @@ No és aconsellada usar-la. &Mantén les dades locals - + S&ync everything from server Sincronitza-ho tot des del servidor - + Status message Missatge d'estat @@ -3506,7 +3560,7 @@ No és aconsellada usar-la. - + TextLabel TextLabel @@ -3562,8 +3616,8 @@ No és aconsellada usar-la. - Server &Address - &Adreça del servidor + Ser&ver Address + @@ -3603,7 +3657,7 @@ No és aconsellada usar-la. QApplication - + QT_LAYOUT_DIRECTION @@ -3611,40 +3665,46 @@ No és aconsellada usar-la. QObject - + in the future al futur - + %n day(s) ago fa %n diafa %n dies - + %n hour(s) ago fa %n horafa %n hores - + now ara - + Less than a minute ago Fa menys d'un minut - + %n minute(s) ago fa %n minutfa %n minuts - + Some time ago Fa una estona + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3669,37 +3729,37 @@ No és aconsellada usar-la. %L1 B - + %n year(s) %n any%n anys - + %n month(s) %n mes%n mesos - + %n day(s) %n dia%n dies - + %n hour(s) %n hora%n hores - + %n minute(s) %n minut%n minuts - + %n second(s) %n segon%n segons - + %1 %2 %1 %2 @@ -3720,7 +3780,7 @@ No és aconsellada usar-la. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Construït de la revisió de Git <a href="%1">%2</a> el %4 de %3 usant Qt %5, %6</small></p> diff --git a/translations/client_cs.ts b/translations/client_cs.ts index e10a2faa3..ed996c4e4 100644 --- a/translations/client_cs.ts +++ b/translations/client_cs.ts @@ -126,7 +126,7 @@ - + Cancel Zrušit @@ -246,22 +246,32 @@ Přihlásit - - There are new folders that were not synchronized because they are too big: - Jsou dostupné nové adresáře, které nebyly synchronizovány z důvodu jejich nadměrné velikosti: + + There are folders that were not synchronized because they are too big: + - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal Potvrdit odstranění účtu - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Opravdu chcete odstranit připojení k účtu <i>%1</i>?</p><p><b>Poznámka:</b> Toto <b>neodstraní</b> žádné soubory.</p> - + Remove connection Odstranit připojení @@ -521,6 +531,24 @@ Soubory certifikátu (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Chyba zápisu metadat do databáze @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Připojení vypršelo @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Zrušeno uživatelem @@ -604,143 +632,153 @@ OCC::Folder - + Local folder %1 does not exist. Místní adresář %1 neexistuje. - + %1 should be a folder but is not. %1 by měl být adresář, ale není. - + %1 is not readable. %1 není čitelný. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 byl odebrán. - + %1 has been downloaded. %1 names a file. %1 byl stažen. - + %1 has been updated. %1 names a file. %1 byl aktualizován. - + %1 has been renamed to %2. %1 and %2 name files. %1 byl přejmenován na %2. - + %1 has been moved to %2. %1 byl přemístěn do %2. - + %1 and %n other file(s) have been removed. %1 soubor bude smazán.%1 a %n další soubory budou smazány.%1 a %n další soubory budou smazány. - + %1 and %n other file(s) have been downloaded. %1 soubor byl stažen.%1 a %n další soubory byly staženy.%1 a %n další soubory byly staženy. - + %1 and %n other file(s) have been updated. %1 soubor byl aktualizován.%1 a %n další soubory byly aktualizovány.%1 a %n další soubory byly aktualizovány. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 byl přejmenován na %2.%1 byl přejmenován na %2 a %n další soubory byly přejmenovány.%1 byl přejmenován na %2 a %n další soubory byly přejmenovány. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 byl přesunut do %2.%1 byl přesunut do %2 a %n dalších souborů bylo přesunuto.%1 byl přesunut do %2 a %n dalších souborů bylo přesunuto. - + %1 has and %n other file(s) have sync conflicts. %1 má problém se synchronizací.%1 a %n dalších souborů má problém se synchronizací.%1 a %n dalších souborů má problém se synchronizací. - + %1 has a sync conflict. Please check the conflict file! %1 má problém se synchronizací. Prosím zkontrolujte chybový soubor. - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 soubor nemůže být synchronizován kvůli chybám. Shlédněte log pro detaily.%1 a %n dalších souborů nemohou být synchronizovány kvůli chybám. Shlédněte log pro detaily.%1 a %n dalších souborů nemohou být synchronizovány kvůli chybám. Shlédněte log pro detaily. - + %1 could not be synced due to an error. See the log for details. %1 nebyl kvůli chybě synchronizován. Detaily jsou k nalezení v logu. - + Sync Activity Průběh synchronizace - + Could not read system exclude file Nezdařilo se přečtení systémového exclude souboru - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - Byl přidán nový adresář %2 větší než %1 MB. -Pokud ho chcete stáhnout, přejděte prosím do nastavení a označte ho. + + - - 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? - Tato synchronizace by smazala všechny soubory v adresáři '%1'. -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? + + A folder from an external storage has been added. + + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Odstranit všechny soubory? - + Remove all files Odstranit všechny soubory - + Keep files Ponechat soubory - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -749,17 +787,17 @@ Toto může být způsobeno obnovením zálohy na straně serveru. Pokračováním v synchronizaci způsobí přepsání všech vašich souborů staršími soubory z dřívějšího stavu. Přejete si ponechat své místní nejaktuálnější soubory jako konfliktní soubory? - + Backup detected Záloha nalezena - + Normal Synchronisation Normální synchronizace - + Keep Local Files as Conflict Ponechat místní soubory jako konflikt @@ -767,112 +805,112 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st OCC::FolderMan - + Could not reset folder state Nelze obnovit stav adresáře - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Byl nalezen starý záznam synchronizace '%1', ale nebylo možné jej odebrat. Ujistěte se, že není aktuálně používán jinou aplikací. - + (backup) (záloha) - + (backup %1) (záloha %1) - + Undefined State. Nedefinovaný stav. - + Waiting to start syncing. Čeká na spuštění synchronizace. - + Preparing for sync. Příprava na synchronizaci. - + Sync is running. Synchronizace probíhá. - + Last Sync was successful. Poslední synchronizace byla úspěšná. - + Last Sync was successful, but with warnings on individual files. Poslední synchronizace byla úspěšná, ale s varováním u některých souborů - + Setup Error. Chyba nastavení. - + User Abort. Zrušení uživatelem. - + Sync is paused. Synchronizace pozastavena. - + %1 (Sync is paused) %1 (Synchronizace je pozastavena) - + No valid folder selected! Nebyl vybrán platný adresář! - + The selected path is not a folder! Vybraná cesta nevede do adresáře! - + You have no permission to write to the selected folder! Nemáte oprávnění pro zápis do zvoleného adresáře! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! Místní adresář %1 již obsahuje podadresář použitý pro synchronizaci odesílání. Zvolte prosím jiný! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! Místní adresář %1 je již obsažen ve adresáři použitém pro synchronizaci. Vyberte prosím jiný! - + 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! 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ý! @@ -898,133 +936,133 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st OCC::FolderStatusModel - + You need to be connected to add a folder Pro přidání adresáře musíte být připojeni - + Click this button to add a folder to synchronize. Stlačením tlačítka přidáte adresář k synchronizaci. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Chyba při načítání seznamu adresářů ze serveru. - + Signed out Odhlášeno - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. Přidání adresáře je vypnuto, protože již synchronizujete všechny své soubory. Pokud chcete synchronizovat pouze některé adresáře, odstraňte aktuálně nastavený kořenový adresář. - + Fetching folder list from server... Načítání seznamu adresářů ze serveru... - + Checking for changes in '%1' Kontrola změn v '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Synchronizuji %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) stahování %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) nahrávání %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 ze %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" %5 zbývá, %1 ze %2, soubor %3 z %4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 z %2, soubor %3 z %4 - + file %1 of %2 soubor %1 z %2 - + Waiting... Chvíli strpení... - + Waiting for %n other folder(s)... Čeká se na %n další adresář...Čeká se na %n další adresáře...Čeká se na %n dalších adresářů... - + Preparing to sync... Synchronizace se připravuje... @@ -1032,12 +1070,12 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st OCC::FolderWizard - + Add Folder Sync Connection Přidat synchronizaci adresáře - + Add Sync Connection Přidat synchronizační připojení @@ -1113,14 +1151,6 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st Již synchronizujete všechny své soubory. Synchronizování dalšího adresáře <b>není</b> podporováno. Pokud chcete synchronizovat více adresářů, odstraňte prosím synchronizaci aktuálního kořenového adresáře. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Výběr synchronizace: Můžete dodatečně označit podadresáře, které si nepřejete synchronizovat. - - OCC::FormatWarningsWizardPage @@ -1137,22 +1167,22 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ze serveru nebyl obdržen E-Tag, zkontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Obdrželi jsme jiný E-Tag pro pokračování. Zkusím znovu příště. - + Server returned wrong content-range Server odpověděl chybným rozsahem obsahu - + Connection Timeout Čas spojení vypršel @@ -1180,10 +1210,21 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st Pokročilé - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1200,33 +1241,28 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st Používat čer&nobílé ikony - + Edit &Ignored Files Upravit &ignorované soubory - - Ask &confirmation before downloading folders larger than - &Potvrzovat stahování adresářů větších než - - - + S&how crash reporter Z&obrazit hlášení o pádech + - About O aplikaci - + Updates Aktualizace - + &Restart && Update &Restart && aktualizace @@ -1400,7 +1436,7 @@ Položky u kterých je povoleno smazání budou vymazány, pokud by bránily ods OCC::MoveJob - + Connection timed out Připojení vypršelo @@ -1549,23 +1585,23 @@ Položky u kterých je povoleno smazání budou vymazány, pokud by bránily ods OCC::NotificationWidget - + Created at %1 Vytvořen v %1 - + Closing in a few seconds... Uzavření za několik sekund... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' %1 požadave selhal při %2 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' vybrán na %2 @@ -1649,28 +1685,28 @@ můžete být požádáni o dodatečná oprávnění. Připojit... - + %1 folder '%2' is synced to local folder '%3' %1 adresář '%2' je synchronizován do místního adresáře '%3' - + Sync the folder '%1' Synchronizovat adresář '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Varování:</strong> Místní adresář není prázdný. Zvolte další postup!</small></p> - + Local Sync Folder Místní synchronizovaný adresář - - + + (%1) (%1) @@ -1896,7 +1932,7 @@ Nedoporučuje se jí používat. Nelze odstranit a zazálohovat adresář, protože adresář nebo soubor v něm je otevřen v jiném programu. Prosím zavřete adresář nebo soubor a zkuste znovu nebo zrušte akci. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Místní synchronizovaný adresář %1 byl úspěšně vytvořen!</b></font> @@ -1935,7 +1971,7 @@ Nedoporučuje se jí používat. OCC::PUTFileJob - + Connection Timeout Čas spojení vypršel @@ -1943,7 +1979,7 @@ Nedoporučuje se jí používat. OCC::PollJob - + Invalid JSON reply from the poll URL Neplatná JSON odpověď z adresy URL @@ -1951,7 +1987,7 @@ Nedoporučuje se jí používat. OCC::PropagateDirectory - + Error writing metadata to the database Chyba zápisu metadat do databáze @@ -1959,22 +1995,22 @@ Nedoporučuje se jí používat. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Soubor %1 nemohl být stažen z důvodu kolize názvu se souborem v místním systému! - + The download would reduce free disk space below %1 Stažení by snížilo velikost volného místa na disku pod %1 - + Free space on disk is less than %1 Volné místo na disku je méně než %1 - + File was deleted from server Soubor byl smazán ze serveru @@ -2007,17 +2043,17 @@ Nedoporučuje se jí používat. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Obnovení selhalo: %1 - + Continue blacklisting: Pokračovat v blacklistingu: - + A file or folder was removed from a read only share, but restoring failed: %1 Soubor nebo adresář by odebrán ze sdílení pouze pro čtení, ale jeho obnovení selhalo: %1 @@ -2080,7 +2116,7 @@ Nedoporučuje se jí používat. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Soubor byl odebrán ze sdílení pouze pro čtení. Soubor byl obnoven. @@ -2093,7 +2129,7 @@ Nedoporučuje se jí používat. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Server vrátil neplatný HTTP kód. Očekáván 201, ale obdržen "%1 %2". @@ -2106,17 +2142,17 @@ Nedoporučuje se jí používat. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Tento adresář nemůže být přejmenován. Byl mu vrácen původní název. - + This folder must not be renamed. Please name it back to Shared. Tento adresář nemůže být přejmenován. Přejmenujte jej prosím zpět na Shared. - + The file was renamed but is part of a read only share. The original file was restored. Soubor byl přejmenován, ale je součástí sdílení pouze pro čtení. Původní soubor byl obnoven. @@ -2135,22 +2171,22 @@ Nedoporučuje se jí používat. OCC::PropagateUploadFileCommon - + File Removed Soubor odebrán - + Local file changed during syncing. It will be resumed. Místní soubor se během synchronizace změnil. - + Local file changed during sync. Místní soubor byl změněn během synchronizace. - + Error writing metadata to the database Chyba zápisu metadat do databáze @@ -2158,32 +2194,32 @@ Nedoporučuje se jí používat. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Vynucené ukončení procesu při resetu HTTP připojení s Qt < 5.4.2. - + The local file was removed during sync. Místní soubor byl odstraněn během synchronizace. - + Local file changed during sync. Místní soubor byl změněn během synchronizace. - + Unexpected return code from server (%1) Neočekávaný návratový kód ze serveru (%1) - + Missing File ID from server Chybějící souborové ID ze serveru - + Missing ETag from server Chybějící ETag ze serveru @@ -2191,32 +2227,32 @@ Nedoporučuje se jí používat. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Vynucené ukončení procesu při resetu HTTP připojení s Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Soubor zde byl editován, ale je součástí sdílení pouze pro čtení. Původní soubor byl obnoven a editovaná verze je uložena v konfliktním souboru. - + Poll URL missing Chybí adresa URL - + The local file was removed during sync. Místní soubor byl odstraněn během synchronizace. - + Local file changed during sync. Místní soubor byl změněn během synchronizace. - + The server did not acknowledge the last chunk. (No e-tag was present) Server nepotvrdil poslední část dat. (Nebyl nalezen e-tag) @@ -2234,42 +2270,42 @@ Nedoporučuje se jí používat. Textový popisek - + Time Čas - + File Soubor - + Folder Adresář - + Action Akce - + Size Velikost - + Local sync protocol Místní protokol synchronizace - + Copy Kopie - + Copy the activity list to the clipboard. Kopírovat záznam aktivity do schránky. @@ -2310,51 +2346,41 @@ Nedoporučuje se jí používat. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Neoznačené adresáře budou <b>odstraněny</b> z místního souborového systému a nebudou již synchronizovány na tento počítač - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Výběr synchronizace: Označte vzdálené podadresáře, které si přejete synchronizovat. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Výběr synchronizace: Odznačte vzdálené podadresáře, které si nepřejete synchronizovat. - - - + Choose What to Sync Vybrat co synchronizovat - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Načítám ... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Název - + Size Velikost - - + + No subfolders currently on the server. Na serveru nejsou momentálně žádné podadresáře. - + An error occurred while loading the list of sub folders. Došlo k chybě v průběhu načítání seznamu podadresářů. @@ -2658,7 +2684,7 @@ Nedoporučuje se jí používat. OCC::SocketApi - + Share with %1 parameter is ownCloud Sdílet s %1 @@ -2867,275 +2893,285 @@ Nedoporučuje se jí používat. OCC::SyncEngine - + Success. Úspěch. - + CSync failed to load the journal file. The journal file is corrupted. Nezdařilo se načtení žurnálovacího souboru CSync. Žurnálovací soubor je poškozený. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Plugin %1 pro csync nelze načíst.<br/>Zkontrolujte prosím instalaci!</p> - + CSync got an error while processing internal trees. CSync obdrželo chybu při zpracování vnitřních struktur. - + CSync failed to reserve memory. CSync se nezdařilo rezervovat paměť. - + CSync fatal parameter error. CSync: kritická chyba parametrů. - + CSync processing step update failed. CSync se nezdařilo zpracovat krok aktualizace. - + CSync processing step reconcile failed. CSync se nezdařilo zpracovat krok sladění. - + CSync could not authenticate at the proxy. CSync se nemohlo přihlásit k proxy. - + CSync failed to lookup proxy or server. CSync se nezdařilo najít proxy server nebo cílový server. - + CSync failed to authenticate at the %1 server. CSync se nezdařilo přihlásit k serveru %1. - + CSync failed to connect to the network. CSync se nezdařilo připojit k síti. - + A network connection timeout happened. Došlo k vypršení časového limitu síťového spojení. - + A HTTP transmission error happened. Nastala chyba HTTP přenosu. - + The mounted folder is temporarily not available on the server Připojený adresář je na serveru dočasně nedostupný - + An error occurred while opening a folder Došlo k chybě při otvírání adresáře - + Error while reading folder. Chyba při čtení adresáře. - + File/Folder is ignored because it's hidden. Soubor/adresář je ignorován, protože je skrytý. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Je dostupných pouze %1, pro spuštění je potřeba alespoň %2 - + Not allowed because you don't have permission to add parent folder Není povoleno, protože nemáte oprávnění vytvořit nadřazený adresář - + Not allowed because you don't have permission to add files in that folder Není povoleno, protože nemáte oprávnění přidávat soubory do tohoto adresáře - + CSync: No space on %1 server available. CSync: Nedostatek volného místa na serveru %1. - + CSync unspecified error. Nespecifikovaná chyba CSync. - + Aborted by the user Zrušeno uživatelem - - Filename contains invalid characters that can not be synced cross platform. - Jméno souboru obsahuje neplatné znaky, které neumožňují synchronizaci mezi různými platformami. - - - + CSync failed to access Selhal přístup pro CSync - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. CSync se nepodařilo načíst či vytvořit soubor žurnálu. Ujistěte se, že máte oprávnění pro čtení a zápis do místního adresáře synchronizace. - + CSync failed due to unhandled permission denied. CSync selhalo z důvodu nezpracovaného zamítnutí oprávnění. - + CSync tried to create a folder that already exists. CSync se pokusil vytvořit adresář, který již existuje. - + The service is temporarily unavailable Služba je dočasně nedostupná - + Access is forbidden Přístup je zakázán - + An internal error number %1 occurred. Došlo k interní chybě číslo %1. - + The item is not synced because of previous errors: %1 Položka nebyla synchronizována kvůli předchozí chybě: %1 - + Symbolic links are not supported in syncing. Symbolické odkazy nejsou při synchronizaci podporovány. - + File is listed on the ignore list. Soubor se nachází na seznamu ignorovaných. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. Jméno souboru obsahuje mezery na konci řádky. - + Filename is too long. Jméno souboru je moc dlouhé. - + Stat failed. Stat selhal. - + Filename encoding is not valid Kódování znaků jména soubor je neplatné - + Invalid characters, please rename "%1" Neplatné znaky, prosím přejmenujte "%1" - + Unable to initialize a sync journal. Nemohu inicializovat synchronizační žurnál. - + Unable to read the blacklist from the local database Nelze načíst blacklist z místní databáze - + Unable to read from the sync journal. Nelze číst ze žurnálu synchronizace. - + Cannot open the sync journal Nelze otevřít synchronizační žurnál - + File name contains at least one invalid character Jméno souboru obsahuje aelspoň jeden neplatný znak - - + + Ignored because of the "choose what to sync" blacklist Ignorováno podle nastavení "vybrat co synchronizovat" - + Not allowed because you don't have permission to add subfolders to that folder Není povoleno, protože nemáte oprávnění přidávat podadresáře do tohoto adresáře - + Not allowed to upload this file because it is read-only on the server, restoring Není povoleno nahrát tento soubor, protože je na serveru uložen pouze pro čtení, obnovuji - - + + Not allowed to remove, restoring Odstranění není povoleno, obnovuji - + Local files and share folder removed. Místní soubory a sdílený adresář byly odstraněny. - + Move not allowed, item restored Přesun není povolen, položka obnovena - + Move not allowed because %1 is read-only Přesun není povolen, protože %1 je pouze pro čtení - + the destination cílové umístění - + the source zdroj @@ -3159,17 +3195,17 @@ Nedoporučuje se jí používat. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Verze %1. Více informací na <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Šíří %1 pod licencí GNU General Public License (GPL) Verze 2.0.<br/>%2 a %2 logo jsou registrované známky %1 ve Spojených Státech, ostatních zemích, nebo obojí.</p> @@ -3419,10 +3455,10 @@ Nedoporučuje se jí používat. - - - - + + + + TextLabel Textový štítek @@ -3442,7 +3478,23 @@ Nedoporučuje se jí používat. Spustit novou synchroniza&ci (Smaže lokální data!) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Vybrat co sesynchronizovat @@ -3462,12 +3514,12 @@ Nedoporučuje se jí používat. &Ponechat místní data - + S&ync everything from server Ses&ynchronizovat vše ze serveru - + Status message Stavová zpráva @@ -3508,7 +3560,7 @@ Nedoporučuje se jí používat. - + TextLabel Textový popisek @@ -3564,8 +3616,8 @@ Nedoporučuje se jí používat. - Server &Address - &Adresa serveru + Ser&ver Address + @@ -3605,7 +3657,7 @@ Nedoporučuje se jí používat. QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3613,40 +3665,46 @@ Nedoporučuje se jí používat. QObject - + in the future V budoucnosti - + %n day(s) ago před %n dnempřed %n dnypřed %n dny - + %n hour(s) ago před %n hodinoupřed %n hodinamipřed %n hodinami - + now nyní - + Less than a minute ago Méně než před minutou - + %n minute(s) ago před %n minutoupřed %n minutamipřed %n minutami - + Some time ago Před nějakým časem + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3671,37 +3729,37 @@ Nedoporučuje se jí používat. %L1 B - + %n year(s) %n rok%n roky%n let - + %n month(s) %n měsíc%n měsíce%n měsíců - + %n day(s) %n den%n dny%n dní - + %n hour(s) %n hodina%n hodiny%n hodin - + %n minute(s) %n minuta%n minuty%n minut - + %n second(s) %n sekunda%n sekundy%n sekund - + %1 %2 %1 %2 @@ -3722,7 +3780,7 @@ Nedoporučuje se jí používat. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Sestaveno na Git revizi <a href="%1">%2</a> na %3, %4 s použitím Qt %5, %6</small></p> diff --git a/translations/client_de.ts b/translations/client_de.ts index 0bf272498..b7ccc121c 100644 --- a/translations/client_de.ts +++ b/translations/client_de.ts @@ -126,7 +126,7 @@ - + Cancel Abbrechen @@ -246,22 +246,32 @@ Einloggen - - There are new folders that were not synchronized because they are too big: - Einige neue Ordner konnten nicht synchronisiert werden, da sie zu groß sind: + + There are folders that were not synchronized because they are too big: + Einige Verzeichnisse konnten nicht synchronisiert werden, da diese zu groß sind: - + + There are folders that were not synchronized because they are external storages: + Es gibt Verzeichnisse, die nicht synchronisiert werden konnten, da diese externe Speicher sind: + + + + There are folders that were not synchronized because they are too big or external storages: + Es gibt Verzeichnisse, die nicht synchronisiert werden konnten, da diese zu groß oder externe Speicher sind: + + + Confirm Account Removal Konto wirklich entfernen? - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Wollen Sie wirklich die Verbindung zum Konto <i>%1</i> lösen?</p><p><b>Anmerkung:</b> Dieser Vorgang wird <b>keine</b> Dateien löschen.</p> - + Remove connection Verbindung entfernen @@ -521,6 +531,24 @@ Zertifikatsdateien (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + Fehler beim Zugriff auf die Konfigurationsdatei + + + + There was an error while accessing the configuration file at %1. + Es ist ein Fehler beim Zugriff auf die Konfigurationsdatei unter %1 aufgetreten. + + + + Quit ownCloud + ownCloud verlassen + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Fehler beim Schreiben der Metadaten in die Datenbank @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Zeitüberschreitung bei der Verbindung @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Abbruch durch den Benutzer @@ -604,142 +632,160 @@ OCC::Folder - + Local folder %1 does not exist. Lokales Verzeichnis %1 existiert nicht. - + %1 should be a folder but is not. %1 sollte ein Ordner sein, ist es aber nicht. - + %1 is not readable. %1 ist nicht lesbar. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 wurde gelöscht. - + %1 has been downloaded. %1 names a file. %1 wurde heruntergeladen. - + %1 has been updated. %1 names a file. %1 wurde aktualisiert. - + %1 has been renamed to %2. %1 and %2 name files. %1 wurde in %2 umbenannt. - + %1 has been moved to %2. %1 wurde in %2 verschoben. - + %1 and %n other file(s) have been removed. %1 und %n andere Datei wurde gelöscht.%1 und %n andere Dateien wurden gelöscht. - + %1 and %n other file(s) have been downloaded. %1 und %n andere Datei wurde heruntergeladen.%1 und %n andere Dateien wurden heruntergeladen. - + %1 and %n other file(s) have been updated. %1 und %n andere Datei wurde aktualisiert.%1 und %n andere Dateien wurden aktualisiert. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 wurde in %2 umbenannt und %n andere Datei wurde umbenannt.%1 wurde in %2 umbenannt und %n andere Dateien wurden umbenannt. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 wurde in %2 verschoben und %n andere Datei wurde verschoben.%1 wurde in %2 verschoben und %n andere Dateien wurden verschoben. - + %1 has and %n other file(s) have sync conflicts. %1 und %n andere Datei haben Konflikte beim Abgleichen.%1 und %n andere Dateien haben Konflikte beim Abgleichen. - + %1 has a sync conflict. Please check the conflict file! Es gab einen Konflikt bei der Synchronisierung von %1. Bitte prüfen Sie die Konfliktdatei! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 und %n weitere Datei konnten aufgrund von Fehlern nicht synchronisiert werden. Schauen Sie in das Protokoll für Details.%1 und %n weitere Dateien konnten aufgrund von Fehlern nicht synchronisiert werden. Schauen Sie in das Protokoll für Details. - + %1 could not be synced due to an error. See the log for details. %1 konnte aufgrund eines Fehlers nicht synchronisiert werden. Schauen Sie in das Protokoll für Details. - + Sync Activity Synchronisierungsaktivität - + Could not read system exclude file Systemeigene Ausschlussdatei kann nicht gelesen werden - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - Ein neue Order größer als %1 MB wurde hinzugefügt: %2. Bitte besuchen Sie die Einstellungen, falls sie ihn herunterladen wollen. + + Ein neues Verzeichnis größer als %1 MB wurde hinzugefügt: %2. + - - 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? - Dies würde alle Dateien im Synchronisationsordner '%1' entfernen. -Die Ursache ist, dass der Ordner entweder neu konfiguriert wurde, oder weil alle Dateien manuell entfernt wurden. -Sind Sie sicher, dass Sie diese Operation durchführen möchten? + + A folder from an external storage has been added. + + Ein Verzeichnis, von einem externen Speicher wurde hinzugefügt. + - + + Please go in the settings to select it if you wish to download it. + Bitte wechseln Sie zu den Einstellungen, falls Sie das Verzeichnis herunterladen möchten. + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + Alle Dateien im Synchronisationsordner '%1' werden auf dem Server gelöscht. +Diese Löschung wird in Ihr lokales Synchronisationsverzeichnis synchronisiert. Dadurch sind die Dateien nicht mehr verfügbar, falls Sie keine Möglichkeit zur Wiederherstellung haben. +Wenn Sie sich dazu entscheiden, diese Dateien zu behalten, werden diese wieder synchronisiert. Dies geschieht nur, wenn Sie die Rechte dazu haben. +Wenn Sie sich zum Löschen der Dateien entscheiden, sind diese nicht mehr verfügbar, außer Sie sind der Eigentümer. + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + Alle Dateien im Synchronisationsordner '%1' werden auf dem Server gelöscht. Diese Löschung wird mit Ihrem Server synchronisiert, wodurch die Dateien nicht mehr verfügbar sind, außer diese werden wiederhergestellt. +Sind Sie sich sicher, dass Sie diese Aktion mit Ihrem Server synchronisieren möchten? +Falls dies ein Missgeschick war und Sie sich zum Behalten der Datei entscheiden, werden diese wieder vom Server synchronisiert. + + + Remove All Files? Alle Dateien löschen? - + Remove all files Lösche alle Dateien - + Keep files Dateien behalten - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -748,17 +794,17 @@ Der Grund dafür ist möglicherweise, dass auf dem Server ein Backup eingespielt Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älteren Versionen überschrieben. Möchten Sie die neueren Dateien als Konflikt-Dateien behalten? - + Backup detected Backup erkannt - + Normal Synchronisation Normale Synchronisation - + Keep Local Files as Conflict Lokale Konfliktdateien behalten @@ -766,112 +812,112 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter OCC::FolderMan - + Could not reset folder state Konnte Ordner-Zustand nicht zurücksetzen - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Ein altes Synchronisations-Journal '%1' wurde gefunden, konnte jedoch nicht entfernt werden. Bitte stellen Sie sicher, dass keine Anwendung es verwendet. - + (backup) (Sicherung) - + (backup %1) (Sicherung %1) - + Undefined State. Undefinierter Zustand. - + Waiting to start syncing. Wartet auf Beginn der Synchronistation - + Preparing for sync. Synchronisation wird vorbereitet. - + Sync is running. Synchronisation läuft. - + Last Sync was successful. Die letzte Synchronisation war erfolgreich. - + Last Sync was successful, but with warnings on individual files. Letzte Synchronisation war erfolgreich, aber mit Warnungen für einzelne Dateien. - + Setup Error. Installationsfehler. - + User Abort. Benutzer-Abbruch - + Sync is paused. Synchronisation wurde angehalten. - + %1 (Sync is paused) %1 (Synchronisation ist pausiert) - + No valid folder selected! Kein gültige Ordner gewählt! - + The selected path is not a folder! Der gewählte Pfad ist kein Ordner! - + You have no permission to write to the selected folder! Sie haben keine Schreibberechtigung für den ausgewählten Ordner! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! Der lokale Ordner %1 beinhaltet einen symbolischer Link. Das Ziel des Links beinhaltet bereits einen synchronisierten Ordner. Bitte wählen Sie einen anderen lokalen Ordner aus! - + There is already a sync from the server to this local folder. Please pick another local folder! Es exisitiert bereits eine Synchronisation vom Server zu diesem lokalen Ordner. Bitte wählen Sie ein anderes lokales Verzeichnis! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! Der lokale Ordner %1 liegt innerhalb eines synchronisierten Ordners. Bitte wählen Sie einen anderen aus! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! Der lokale Ordner %1 liegt in einem Ordner, der bereits synchronisiert wird. Bitte wählen Sie einen anderen aus! - + 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! Der lokale Ordner %1 ist ein symbolischer Link. Das Ziel des Links liegt in einem Ordner, der schon synchronisiert wird. Bitte wählen Sie einen anderen aus! @@ -897,133 +943,133 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter OCC::FolderStatusModel - + You need to be connected to add a folder Sie müssen verbunden sein, um einen Ordner hinzuzufügen - + Click this button to add a folder to synchronize. Wählen Sie diese Schaltfläche, um einen zu synchronisierenden Ordner hinzuzufügen. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Fehler beim Empfang der Ordnerliste vom Server. - + Signed out Abgemeldet - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. Sie können keinen weiteren Ordner hinzufügen, da Sie bereits alle Dateien synchronisieren. Falls sie mehrere Ordner synchronisieren wollen, entferen Sie zunächst den konfigurierten Wurzel-Ordner. - + Fetching folder list from server... Empfange Orderliste vom Server... - + Checking for changes in '%1' Nach Änderungen suchen in '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Synchronisiere %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) Download %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) Upload %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 von %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" %5 übrig, %1 von %2, Datei %3 von %4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 of %2, Datei %3 von %4 - + file %1 of %2 Datei %1 von %2 - + Waiting... Warte... - + Waiting for %n other folder(s)... Warte auf einen anderen OrdnerWarte auf %n andere Ordner - + Preparing to sync... Bereite Synchronisation vor... @@ -1031,12 +1077,12 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter OCC::FolderWizard - + Add Folder Sync Connection Ordner Synchronisation hinzufügen - + Add Sync Connection Ordner Synchronisation hinzufügen @@ -1112,14 +1158,6 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter Sie synchronisieren bereits alle Ihre Dateien. Die Synchronisation anderer Verzeichnisse wird <b>nicht</b> unterstützt. Wenn Sie mehrere Ordner synchronisieren möchten, entfernen Sie bitte das aktuell konfigurierte Wurzelverzeichnis zur Synchronisation. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Zu synchronisierende Elemente auswählen: Sie können optional Unterordner des Servers abwählen, die nicht synchronisiert werden sollen. - - OCC::FormatWarningsWizardPage @@ -1136,22 +1174,22 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Kein E-Tag vom Server empfangen, bitte Proxy / Gateway überprüfen - + We received a different E-Tag for resuming. Retrying next time. Es wurde ein unterschiedlicher E-Tag zum Fortfahren empfangen. Bitte beim nächsten mal nochmal versuchen. - + Server returned wrong content-range Server hat falschen Bereich für den Inhalt zurück gegeben - + Connection Timeout Zeitüberschreitung der Verbindung @@ -1179,10 +1217,21 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter Erweitert - + + Ask for confirmation before synchronizing folders larger than + Bestätigung erfragen, bevor Ordner synchronisiert werden. Grenze: + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + Bestätigung erfragen, bevor externe Speicher synchronisiert werden. + &Launch on System Startup @@ -1199,33 +1248,28 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter &Monochrome Icons verwenden - + Edit &Ignored Files I&gnorierte Dateien bearbeiten - - Ask &confirmation before downloading folders larger than - &Bestätigung erfragen, bevor große Ordner heruntergeladen werden. Grenze: - - - + S&how crash reporter &Crash-Reporter anzeigen + - About Über - + Updates Updates - + &Restart && Update &Neustarten && aktualisieren @@ -1399,7 +1443,7 @@ Objekte, bei denen Löschen erlaubt ist, werden gelöscht, wenn sie die Löschun OCC::MoveJob - + Connection timed out Zeitüberschreitung bei der Verbindung @@ -1548,23 +1592,23 @@ Objekte, bei denen Löschen erlaubt ist, werden gelöscht, wenn sie die Löschun OCC::NotificationWidget - + Created at %1 Erstellt von %1 - + Closing in a few seconds... Schließe in wenigen Sekunden... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' %1 Anfrage an %2 fehlgeschlagen - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' ausgewählt von %2 @@ -1647,28 +1691,28 @@ for additional privileges during the process. Verbinden… - + %1 folder '%2' is synced to local folder '%3' %1 Ordner '%2' wird mit dem lokalen Ordner '%3' synchronisiert - + Sync the folder '%1' Ordner '%1' synchronisieren - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Achtung:</strong> Der lokale Ordner ist nicht leer. Bitte wählen Sie eine entsprechende Lösung!</small></p> - + Local Sync Folder Lokaler Ordner für die Synchronisation - - + + (%1) (%1) @@ -1894,7 +1938,7 @@ Es ist nicht ratsam, diese zu benutzen. Der Ordner kann nicht entfernt und gesichert werden, da der Ordner oder einer seiner Dateien in einem anderen Programm geöffnet ist. Bitte schließen Sie den Ordner oder die Datei oder beenden Sie die Installation. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokaler Sync-Ordner %1 erfolgreich erstellt!</b></font> @@ -1933,7 +1977,7 @@ Es ist nicht ratsam, diese zu benutzen. OCC::PUTFileJob - + Connection Timeout Zeitüberschreitung der Verbindung @@ -1941,7 +1985,7 @@ Es ist nicht ratsam, diese zu benutzen. OCC::PollJob - + Invalid JSON reply from the poll URL Ungültige JSON-Antwort von der Poll-URL @@ -1949,7 +1993,7 @@ Es ist nicht ratsam, diese zu benutzen. OCC::PropagateDirectory - + Error writing metadata to the database Fehler beim Schreiben der Metadaten in die Datenbank @@ -1957,22 +2001,22 @@ Es ist nicht ratsam, diese zu benutzen. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Die Datei %1 kann aufgrund eines Konfliktes mit dem lokalen Dateinamen nicht herunter geladen werden! - + The download would reduce free disk space below %1 Dieser Download würde den freien Speicher der Festplatte minimieren auf %1 - + Free space on disk is less than %1 Der freie Speicher auf der Festplatte ist weniger als %1 - + File was deleted from server Die Datei wurde vom Server gelöscht @@ -2005,17 +2049,17 @@ Es ist nicht ratsam, diese zu benutzen. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Wiederherstellung fehlgeschlagen: %1 - + Continue blacklisting: Blacklisting fortsetzen: - + A file or folder was removed from a read only share, but restoring failed: %1 Eine Datei oder ein Ordner wurde von einer Nur-Lese-Freigabe wiederhergestellt, aber die Wiederherstellung ist mit folgendem Fehler fehlgeschlagen: %1 @@ -2078,7 +2122,7 @@ Es ist nicht ratsam, diese zu benutzen. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Die Datei wurde von einer Nur-Lese-Freigabe gelöscht. Die Datei wurde wiederhergestellt. @@ -2091,7 +2135,7 @@ Es ist nicht ratsam, diese zu benutzen. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Es wurde ein falscher HTTP-Status-Code vom Server gesendet. Erwartet wurde 201, aber gesendet wurde "%1 %2". @@ -2104,17 +2148,17 @@ Es ist nicht ratsam, diese zu benutzen. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Dieser Ordner muss nicht umbenannt werden. Er wurde zurück zum Originalnamen umbenannt. - + This folder must not be renamed. Please name it back to Shared. Dieser Ordner muss nicht umbenannt werden. Bitte benennen Sie es zurück wie in der Freigabe. - + The file was renamed but is part of a read only share. The original file was restored. Die Datei wurde auf einer Nur-Lese-Freigabe umbenannt. Die Original-Datei wurde wiederhergestellt. @@ -2133,22 +2177,22 @@ Es ist nicht ratsam, diese zu benutzen. OCC::PropagateUploadFileCommon - + File Removed Datei gelöscht - + Local file changed during syncing. It will be resumed. Lokale Datei hat sich während der Synchronisation geändert. Die Synchronisation wird wiederaufgenommen. - + Local file changed during sync. Eine lokale Datei wurde während der Synchronisation geändert. - + Error writing metadata to the database Fehler beim Schreiben der Metadaten in die Datenbank @@ -2156,32 +2200,32 @@ Es ist nicht ratsam, diese zu benutzen. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Auftragsabbruch beim Rücksetzen der HTTP-Verbindung mit QT < 5.4.2 wird erzwungen. - + The local file was removed during sync. Die lokale Datei wurde während der Synchronisation gelöscht. - + Local file changed during sync. Eine lokale Datei wurde während der Synchronisation geändert. - + Unexpected return code from server (%1) Unerwarteter Rückgabe-Code Antwort vom Server (%1) - + Missing File ID from server Fehlende Datei-ID vom Server - + Missing ETag from server Fehlender ETag vom Server @@ -2189,32 +2233,32 @@ Es ist nicht ratsam, diese zu benutzen. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Auftragsabbruch beim Rücksetzen der HTTP-Verbindung mit QT < 5.4.2 wird erzwungen. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Die Datei wurde von einer Nur-Lese-Freigabe lokal bearbeitet. Die Datei wurde wiederhergestellt und Ihre Bearbeitung ist in der Konflikte-Datei. - + Poll URL missing Poll-URL fehlt - + The local file was removed during sync. Die lokale Datei wurde während der Synchronisation gelöscht. - + Local file changed during sync. Eine lokale Datei wurde während der Synchronisation geändert. - + The server did not acknowledge the last chunk. (No e-tag was present) Der Server hat den letzten Block nicht bestätigt. (Der E-Tag war nicht vorhanden) @@ -2232,42 +2276,42 @@ Es ist nicht ratsam, diese zu benutzen. TextLabel - + Time Zeit - + File Datei - + Folder Ordner - + Action Aktion - + Size Größe - + Local sync protocol Lokales Sychronisationsprotokoll - + Copy Kopieren - + Copy the activity list to the clipboard. Aktivitätsliste in die Zwischenablage kopieren. @@ -2308,51 +2352,41 @@ Es ist nicht ratsam, diese zu benutzen. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Nicht markierte Ordner werden von Ihrem lokalen Dateisystem <b>entfernt</b> und werden auch nicht mehr auf diesem Rechner synchronisiert - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Zu synchronisierende Elemente auswählen: Sie können Unterordner des Servers auswählen, die synchronisiert werden sollen. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Zu synchronisierende Elemente auswählen: Sie können Unterordner des Servers abwählen, die nicht synchronisiert werden sollen. - - - + Choose What to Sync Zu synchronisierende Elemente auswählen - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Laden… - + + Deselect remote folders you do not wish to synchronize. + Entfernte Ordner abwählen, die nicht synchronisiert werden sollen. + + + Name Name - + Size Größe - - + + No subfolders currently on the server. Aktuell befinden sich keine Unterordner auf dem Server. - + An error occurred while loading the list of sub folders. Ein Fehler ist aufgetreten, während die Liste der Unterordner geladen wurde. @@ -2656,7 +2690,7 @@ Es ist nicht ratsam, diese zu benutzen. OCC::SocketApi - + Share with %1 parameter is ownCloud Via %1 teilen @@ -2865,275 +2899,285 @@ Es ist nicht ratsam, diese zu benutzen. OCC::SyncEngine - + Success. Erfolgreich - + CSync failed to load the journal file. The journal file is corrupted. CSync konnte die Journaldatei nicht laden. Die Journaldatei ist beschädigt. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Das %1-Plugin für csync konnte nicht geladen werden.<br/>Bitte überprüfen Sie die Installation!</p> - + CSync got an error while processing internal trees. CSync hatte einen Fehler bei der Verarbeitung von internen Strukturen. - + CSync failed to reserve memory. CSync konnte keinen Speicher reservieren. - + CSync fatal parameter error. CSync hat einen schwerwiegender Parameterfehler festgestellt. - + CSync processing step update failed. CSync Verarbeitungsschritt "Aktualisierung" fehlgeschlagen. - + CSync processing step reconcile failed. CSync Verarbeitungsschritt "Abgleich" fehlgeschlagen. - + CSync could not authenticate at the proxy. CSync konnte sich nicht am Proxy authentifizieren. - + CSync failed to lookup proxy or server. CSync konnte den Proxy oder Server nicht auflösen. - + CSync failed to authenticate at the %1 server. CSync konnte sich nicht am Server %1 authentifizieren. - + CSync failed to connect to the network. CSync konnte sich nicht mit dem Netzwerk verbinden. - + A network connection timeout happened. Eine Zeitüberschreitung der Netzwerkverbindung ist aufgetreten. - + A HTTP transmission error happened. Es hat sich ein HTTP-Übertragungsfehler ereignet. - + The mounted folder is temporarily not available on the server Der auf dem Server eingehängte Ordner ist vorübergehend nicht verfügbar - + An error occurred while opening a folder Beim Öffnen eines Ordners ist ein Fehler aufgetreten. - + Error while reading folder. Fehler beim Lesen eines Ordners. - + File/Folder is ignored because it's hidden. Datei wird ignoriert, weil sie versteckt ist. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Nur %1 sind verfügbar. Zum Beginnen werden mindestens %2 benötigt. - + Not allowed because you don't have permission to add parent folder Nicht erlaubt, da Sie keine Rechte zur Erstellung von Unterordnern haben - + Not allowed because you don't have permission to add files in that folder Nicht erlaubt, da Sie keine Rechte zum Hinzufügen von Dateien in diesen Ordner haben - + CSync: No space on %1 server available. CSync: Kein Platz auf Server %1 frei. - + CSync unspecified error. CSync unbekannter Fehler. - + Aborted by the user Abbruch durch den Benutzer - - Filename contains invalid characters that can not be synced cross platform. - Dateiname enthält Zeichen die nicht auf allen Betriebssystemen dargestellt werden können. - - - + CSync failed to access CSync-Zugriff fehlgeschlagen - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. CSync konnte das Journal nicht laden oder erstellen. Stellen Sie bitte sicher, dass Sie Lese- und Schreibrechte im lokalen Synchronisationsordner haben. - + CSync failed due to unhandled permission denied. CSync wegen fehlender Berechtigung fehlgeschlagen. - + CSync tried to create a folder that already exists. CSync versuchte einen Ordner anzulegen, der schon existiert. - + The service is temporarily unavailable Der Dienst ist vorübergehend nicht erreichbar - + Access is forbidden Zugriff verboten - + An internal error number %1 occurred. Ein interner Fehler mit der Fehlernummer %1 ist aufgetreten. - + The item is not synced because of previous errors: %1 Das Element ist aufgrund vorheriger Fehler nicht synchronisiert: %1 - + Symbolic links are not supported in syncing. Symbolische Verknüpfungen werden bei der Synchronisation nicht unterstützt. - + File is listed on the ignore list. Die Datei ist in der Ignorierliste geführt. - + + File names ending with a period are not supported on this file system. + Dateinamen enden mit einem Punkt, die in diesem Dateisystem nicht unterstützt wird. + + + + File names containing the character '%1' are not supported on this file system. + Dateinamen beinhalten das Zeichen '%1' und diese werden in diesem Dateisystems nicht unterstützt. + + + + The file name is a reserved name on this file system. + Der Dateiname ist ein reservierter Name in diesem Dateisystem. + + + Filename contains trailing spaces. Dateiname enthält Leerzeichen. - + Filename is too long. Der Dateiname ist zu lang. - + Stat failed. Stat fehlgeschlagen. - + Filename encoding is not valid Dateikodierung ist ungültig - + Invalid characters, please rename "%1" Ungültige Zeichenm bitte benennen Sie "%1" um - + Unable to initialize a sync journal. Synchronisationsbericht konnte nicht initialisiert werden. - + Unable to read the blacklist from the local database Fehler beim Einlesen der Blacklist aus der lokalen Datenbank - + Unable to read from the sync journal. Fehler beim Einlesen des Synchronisierungsprotokolls. - + Cannot open the sync journal Synchronisationsbericht kann nicht geöffnet werden - + File name contains at least one invalid character Der Dateiname enthält mindestens ein ungültiges Zeichen - - + + Ignored because of the "choose what to sync" blacklist Aufgrund der »Zu synchronisierende Elemente auswählen«-Sperrliste ignoriert - + Not allowed because you don't have permission to add subfolders to that folder Nicht erlaubt, da Sie keine Rechte zur Erstellung von Unterordnern haben - + Not allowed to upload this file because it is read-only on the server, restoring Das Hochladen dieser Datei ist nicht erlaubt, da die Datei auf dem Server schreibgeschützt ist, Wiederherstellung - - + + Not allowed to remove, restoring Löschen nicht erlaubt, Wiederherstellung - + Local files and share folder removed. Lokale Dateien und Freigabeordner wurden entfernt. - + Move not allowed, item restored Verschieben nicht erlaubt, Element wiederhergestellt - + Move not allowed because %1 is read-only Verschieben nicht erlaubt, da %1 schreibgeschützt ist - + the destination Das Ziel - + the source Die Quelle @@ -3157,17 +3201,17 @@ Es ist nicht ratsam, diese zu benutzen. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Version %1. Für weitere Informationen besuchen Sie bitte <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Zur Verfügung gestellt durch %1 und lizenziert unter der GNU General Public License (GPL) Version 2.0.<br>%2 und das %2 Logo sind eingetragene Warenzeichen von %1 in den Vereinigten Staaten, anderen Ländern oder beides.</p> @@ -3417,10 +3461,10 @@ Es ist nicht ratsam, diese zu benutzen. - - - - + + + + TextLabel TextLabel @@ -3440,7 +3484,23 @@ Es ist nicht ratsam, diese zu benutzen. Saubere Syn&chronisation beginnen (entfernt lokalen Ordner!) - + + Ask for confirmation before synchroni&zing folders larger than + Bestätigung erfragen, bevor Ordner synchronisiert werden. Gren&ze: + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + Bestätigung erfragen, bevor externe Speicher synchronisiert werden. Gren&ze: + + + Choose what to sync Zu synchronisierende Elemente auswählen @@ -3460,12 +3520,12 @@ Es ist nicht ratsam, diese zu benutzen. &Lokale Daten behalten - + S&ync everything from server Alle Daten vom Server s&ynchronisieren - + Status message Statusnachricht @@ -3506,7 +3566,7 @@ Es ist nicht ratsam, diese zu benutzen. - + TextLabel TextLabel @@ -3562,8 +3622,8 @@ Es ist nicht ratsam, diese zu benutzen. - Server &Address - &Serveradresse + Ser&ver Address + Ser&veradresse @@ -3603,7 +3663,7 @@ Es ist nicht ratsam, diese zu benutzen. QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3611,40 +3671,46 @@ Es ist nicht ratsam, diese zu benutzen. QObject - + in the future in der Zukunft - + %n day(s) ago vor %n Tage(n)vor %n Tage(n) - + %n hour(s) ago vor %n Stunde(n)vor %n Stunde(n) - + now jetzt - + Less than a minute ago vor weniger als einer Minute - + %n minute(s) ago vor %n Minute(n)vor %n Minute(n) - + Some time ago vor einiger Zeit + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3669,37 +3735,37 @@ Es ist nicht ratsam, diese zu benutzen. %L1 B - + %n year(s) %n Jahr%n Jahre - + %n month(s) %n Monat%n Monate - + %n day(s) %n Tag%n Tage - + %n hour(s) %n Stunde%n Stunden - + %n minute(s) %n Minute%n Minuten - + %n second(s) %n Sekunde%n Sekunden - + %1 %2 %1 %2 @@ -3720,7 +3786,7 @@ Es ist nicht ratsam, diese zu benutzen. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Gebaut von der GIT-Revision <a href="%1">%2</a> auf %3, %4 verwendet Qt %5, %6</small></p> diff --git a/translations/client_el.ts b/translations/client_el.ts index 1d5614c26..d03658e09 100644 --- a/translations/client_el.ts +++ b/translations/client_el.ts @@ -106,17 +106,17 @@ Synchronize all - + Συγχρονισμός όλων Synchronize none - + Κανένας συγχρονισμός Apply manual changes - + Χειροκίνητη αλλαγή εφαρμογών @@ -126,7 +126,7 @@ - + Cancel Άκυρο @@ -168,7 +168,7 @@ Restart sync - + Επανεκκίνηση συγχρονισμού @@ -246,22 +246,32 @@ Είσοδος - - There are new folders that were not synchronized because they are too big: - Υπάρχουν νέοι φάκελοι που δεν συγχρονίστηκαν καθώς είναι πολύ μεγάλοι: + + There are folders that were not synchronized because they are too big: + - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal Επιβεβαίωση Αφαίρεσης Λογαριασμού - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Θέλετε πραγματικά να αφαιρέσετε τη σύνδεση με το λογαριασμό <i>%1</i>;</p><p><b>Σημείωση:</b> Αυτό <b>δεν</b> θα διαγράψει κανένα αρχείο.</p> - + Remove connection Αφαίρεση σύνδεσης @@ -521,6 +531,24 @@ Πιστοποιήστε τα αρχεία (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Σφάλμα εγγραφής μεταδεδομένων στην βάση δεδομένων @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Λήξη χρόνου σύνδεσης. @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Ματαιώθηκε από το χρήστη @@ -604,160 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. Δεν υπάρχει ο τοπικός φάκελος %1. - + %1 should be a folder but is not. Το %1 θα έπρεπε να είναι φάκελος αλλά δεν είναι. - + %1 is not readable. Το %1 δεν είναι αναγνώσιμο. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. Το %1 αφαιρέθηκε. - + %1 has been downloaded. %1 names a file. Το %1 έχει ληφθεί. - + %1 has been updated. %1 names a file. Το %1 έχει ενημερωθεί. - + %1 has been renamed to %2. %1 and %2 name files. Το %1 έχει μετονομαστεί σε %2. - + %1 has been moved to %2. Το %1 έχει μετακινηθεί στο %2. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. %1 δεν ήταν δυνατό να συγχρονιστεί εξαιτίας ενός σφάλματος. Δείτε το αρχείο καταγραφής για λεπτομέρειες. - + Sync Activity Δραστηριότητα Συγχρονισμού - + Could not read system exclude file Αδυναμία ανάγνωσης αρχείου αποκλεισμού συστήματος - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - Ένας νέος φάκελος μεγαλύτερος από %1 MB έχει προστεθεί: %2. -Παρακαλούμε πηγαίνετε στις ρυθμίσεις για να επιλέξετε αν επιθυμείτε να τον κατεβάσετε. + + - - 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? - Αυτός ο συγχρονισμός θα αφαιρούσε όλα τα αρχεία του φακέλου συγχρονισμού '%1' -Αυτό μπορεί να συμβαίνει επειδή ο φάκελος επαναρυθμίστηκε σιωπηλά ή ότι όλα τα αρχεία αφαιρέθηκαν χειροκίνητα. -Είστε σίγουροι ότι θέλετε να εκτελέσετε αυτή τη λειτουργία; + + A folder from an external storage has been added. + + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Αφαίρεση Όλων των Αρχείων; - + Remove all files Αφαίρεση όλων των αρχείων - + Keep files Διατήρηση αρχείων - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Ανιχνεύθηκε αντίγραφο ασφαλείας - + Normal Synchronisation - + Keep Local Files as Conflict @@ -765,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state Δεν ήταν δυνατό να επαναφερθεί η κατάσταση του φακέλου - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Βρέθηκε ένα παλαιότερο αρχείο συγχρονισμού '%1', αλλά δεν μπόρεσε να αφαιρεθεί. Παρακαλώ βεβαιωθείτε ότι καμμία εφαρμογή δεν το χρησιμοποιεί αυτή τη στιγμή. - + (backup) (αντίγραφο ασφαλείας) - + (backup %1) (αντίγραοφ ασφαλέιας %1) - + Undefined State. Απροσδιόριστη Κατάσταση. - + Waiting to start syncing. Αναμονή έναρξης συγχρονισμού. - + Preparing for sync. Προετοιμασία για συγχρονισμό. - + Sync is running. Ο συγχρονισμός εκτελείται. - + Last Sync was successful. Ο τελευταίος συγχρονισμός ήταν επιτυχής. - + Last Sync was successful, but with warnings on individual files. Ο τελευταίος συγχρονισμός ήταν επιτυχής, αλλά υπήρχαν προειδοποιήσεις σε συγκεκριμένα αρχεία. - + Setup Error. Σφάλμα Ρύθμισης. - + User Abort. Ματαίωση από Χρήστη. - + Sync is paused. Παύση συγχρονισμού. - + %1 (Sync is paused) %1 (Παύση συγχρονισμού) - + No valid folder selected! Δεν επιλέχθηκε έγκυρος φάκελος! - + The selected path is not a folder! Η επιλεγμένη διαδρομή δεν είναι φάκελος! - + You have no permission to write to the selected folder! Δεν έχετε δικαιώματα εγγραφής στον επιλεγμένο φάκελο! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! Ο τοπικός φάκελος %1 περιέχει ήδη ένα φάκελο που χρησιμοποιείται σε μια σύνδεση συγχρονισμού φακέλου. Παρακαλώ επιλέξτε άλλον! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! Ο τοπικός φάκελος %1 περιέχεται ήδη σε φάκελο που χρησιμοποιείται σε μια σύνδεση συγχρονισμού. Παρακαλώ επιλέξτε άλλον! - + 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! Ο τοπικός φάκελος %1 είναι συμβολικός σύνδεσμος. Ο σύνδεσμος που παραπέμπει περιέχεται ήδη σε φάκελο που βρίσκεται σε συγχρονισμό. Παρακαλώ επιλέξτε άλλον! @@ -896,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder Πρέπει να έχετε συνδεθεί για να προσθέσετε φάκελο - + Click this button to add a folder to synchronize. Κάντε κλικ σε αυτό το κουμπί για να προσθέσετε ένα φάκελο προς συγχρονισμό. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Σφάλμα κατά τη φόρτωση της λίστας φακέλων από το διακομιστή. - + Signed out Αποσύνδεση - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. Η επιλογή προσθήκης φακέλου δεν είναι διαθέσιμη καθώς συγχρονίζονται ήδη όλα τα αρχεία. Για να επιλέξετε συγχρονισμό φακέλων, αφαιρέστε τον αρχικό φάκελο που έχει ρυθμιστεί. - + Fetching folder list from server... Λήψη λίστας φακέλων από το διακομιστή... - + Checking for changes in '%1' Έλεγχος αλλαγών στο '%1'. - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Συγχρονισμός %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) λήψη %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) μεταφόρτωση %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 από %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 από %2, αρχείο %3 από %4 - + file %1 of %2 αρχείο %1 από %2 - + Waiting... Αναμονή... - + Waiting for %n other folder(s)... Αναμονή για %n άλλο φάκελο...Αναμονή για %n άλλους φακέλους... - + Preparing to sync... Προετοιμασία για συγχρονισμό... @@ -1030,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection Προσθήκη Σύνδεσης Συγχρονισμού Φακέλου - + Add Sync Connection Προσθήκη Σύνδεσης Συγχρονισμού @@ -1111,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an Συγχρονίζετε ήδη όλα σας τα αρχεία. Ο συγχρονισμός ενός ακόμα φακέλου <b>δεν</b> υποστηρίζεται. Εάν θέλετε να συγχρονίσετε πολλαπλούς φακέλους, παρακαλώ αφαιρέστε την τρέχουσα ρύθμιση συχρονισμού του βασικού φακέλου. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Επιλέξτε Τι θα Συγχρονιστεί: Μπορείτε προαιρετικά να καταργήστε την επιλογή υποφακέλων που δεν επιθυμείτε να συγχρονίσετε. - - OCC::FormatWarningsWizardPage @@ -1135,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Δεν ελήφθη E-Tag από το διακομιστή, ελέγξτε το διακομιστή μεσολάβησης/πύλη - + We received a different E-Tag for resuming. Retrying next time. Ελήφθη διαφορετικό E-Tag για συνέχιση. Επανάληψη την επόμενη φορά. - + Server returned wrong content-range Ο διακομιστής επέστρεψε εσφαλμένο πεδίο τιμών - + Connection Timeout Λήξη Χρόνου Αναμονής Σύνδεσης @@ -1178,10 +1208,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an Για προχωρημένους - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" ΜΒ + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1198,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an - + Edit &Ignored Files - - Ask &confirmation before downloading folders larger than - - - - + S&how crash reporter + - About Σχετικά - + Updates Ενημερώσεις - + &Restart && Update &Επανεκκίνηση && Ενημέρωση @@ -1398,7 +1434,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::MoveJob - + Connection timed out Η σύνδεση έληξε. @@ -1547,23 +1583,23 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::NotificationWidget - + Created at %1 - + Closing in a few seconds... Κλείσιμο σε λίγα δευτερόλεπτα... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' @@ -1647,28 +1683,28 @@ for additional privileges during the process. Σύνδεση... - + %1 folder '%2' is synced to local folder '%3' Ο %1 φάκελος '%2' είναι συγχρονισμένος με τον τοπικό φάκελο '%3' - + Sync the folder '%1' Συγχρονισμός φακέλου '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Προσοχή:</strong> Ο τοπικός φάκελος δεν είναι άδειος. Επιλέξτε μια επίλυση!</small></p> - + Local Sync Folder Τοπικός Φάκελος Συγχρονισμού - - + + (%1) (%1) @@ -1894,7 +1930,7 @@ It is not advisable to use it. Αδυναμία αφαίρεσης και δημιουργίας αντιγράφου ασφαλείας του φακέλου διότι ο φάκελος ή ένα αρχείο του είναι ανοικτό από άλλο πρόγραμμα. Παρακαλώ κλείστε τον φάκελο ή το αρχείο και πατήστε επανάληψη ή ακυρώστε την ρύθμιση. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Επιτυχής δημιουργία τοπικού φακέλου %1 για συγχρονισμό!</b></font> @@ -1933,7 +1969,7 @@ It is not advisable to use it. OCC::PUTFileJob - + Connection Timeout Λήξη Χρόνου Αναμονής Σύνδεσης @@ -1941,7 +1977,7 @@ It is not advisable to use it. OCC::PollJob - + Invalid JSON reply from the poll URL Λανθασμένη απάντηση JSON από την ιστοσελίδα poll @@ -1949,7 +1985,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database Σφάλμα εγγραφής μεταδεδομένων στην βάση δεδομένων @@ -1957,22 +1993,22 @@ It is not advisable to use it. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Το αρχείο %1 δεν είναι δυνατό να ληφθεί λόγω διένεξης με το όνομα ενός τοπικού αρχείου! - + The download would reduce free disk space below %1 Η λήψη θα μειώσει το διαθέσιμο χώρο στο δίσκο κάτω από %1 - + Free space on disk is less than %1 Ο διαθέσιμος χώρος στο δίσκο είναι λιγότερος από %1 - + File was deleted from server Το αρχείο διαγράφηκε από τον διακομιστή @@ -2005,17 +2041,17 @@ It is not advisable to use it. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Η Αποκατάσταση Απέτυχε: %1 - + Continue blacklisting: Συνέχιση αποκλεισμού: - + A file or folder was removed from a read only share, but restoring failed: %1 Ένα αρχείο ή ένας κατάλογος αφαιρέθηκε από ένα διαμοιρασμένο κατάλογο μόνο για ανάγνωση, αλλά η επαναφορά απέτυχε: %1 @@ -2078,7 +2114,7 @@ It is not advisable to use it. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Το αρχείο αφαιρέθηκε από ένα διαμοιρασμένο κατάλογο μόνο για ανάγνωση. Το αρχείο επαναφέρθηκε. @@ -2091,7 +2127,7 @@ It is not advisable to use it. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Ο διακομιστής επέστρεψε εσφαλμένο κωδικό HTTP. Αναμενόταν 201, αλλά ελήφθη "%1 %2". @@ -2104,17 +2140,17 @@ It is not advisable to use it. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Αυτός ο φάκελος δεν πρέπει να μετονομαστεί. Μετονομάζεται πίσω στο αρχικό του όνομα. - + This folder must not be renamed. Please name it back to Shared. Αυτός ο φάκελος δεν πρέπει να μετονομαστεί. Παρακαλώ ονομάστε τον ξανά Κοινόχρηστος. - + The file was renamed but is part of a read only share. The original file was restored. Το αρχείο μετονομάστηκε αλλά είναι τμήμα ενός διαμοιρασμένου καταλόγου μόνο για ανάγνωση. Το αρχικό αρχείο επαναφέρθηκε. @@ -2133,22 +2169,22 @@ It is not advisable to use it. OCC::PropagateUploadFileCommon - + File Removed Το αρχείο αφαιρέθηκε - + Local file changed during syncing. It will be resumed. Το τοπικό αρχείο τροποποιήθηκε κατά τη διάρκεια του συγχρονισμού. Θα συγχρονιστεί πάλι. - + Local file changed during sync. Το τοπικό αρχείο τροποποιήθηκε κατά τον συγχρονισμό. - + Error writing metadata to the database Σφάλμα εγγραφής μεταδεδομένων στην βάση δεδομένων @@ -2156,32 +2192,32 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Εξαναγκασμός ακύρωσης εργασίας στην επαναφορά σύνδεσης HTTP με Qt < 5.4.2 - + The local file was removed during sync. Το τοπικό αρχείο αφαιρέθηκε κατά το συγχρονισμό. - + Local file changed during sync. Το τοπικό αρχείο τροποποιήθηκε κατά τον συγχρονισμό. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2189,32 +2225,32 @@ It is not advisable to use it. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Εξαναγκασμός ακύρωσης εργασίας στην επαναφορά σύνδεσης HTTP με Qt < 5.4.2 - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Το αρχείο υπέστη επεξεργασία τοπικά αλλά είναι τμήμα ενός διαμοιρασμένου καταλόγου μόνο για ανάγνωση. Επαναφέρθηκε και το επεξεργασμένο βρίσκεται στο αρχείο συγκρούσεων. - + Poll URL missing Η διεύθυνση poll URL λείπει - + The local file was removed during sync. Το τοπικό αρχείο αφαιρέθηκε κατά το συγχρονισμό. - + Local file changed during sync. Το τοπικό αρχείο τροποποιήθηκε κατά τον συγχρονισμό. - + The server did not acknowledge the last chunk. (No e-tag was present) Ο διακομιστής δεν αναγνώρισε το τελευταίο τμήμα. (Δεν υπήρχε e-tag) @@ -2232,42 +2268,42 @@ It is not advisable to use it. TextLabel - + Time Ώρα - + File Αρχείο - + Folder Φάκελος - + Action Ενέργεια - + Size Μέγεθος - + Local sync protocol Πρωτόκολλο τοπικού συγχρονισμού - + Copy Αντιγραφή - + Copy the activity list to the clipboard. Αντιγραφή της λίστας δραστηριότητας στο πρόχειρο. @@ -2308,51 +2344,41 @@ It is not advisable to use it. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Οι μη επιλεγμένοι φάκελοι θα <b>αφαιρεθούν</ b> από το τοπικό σύστημα αρχείων σας και δεν θα συγχρονιστούν πια με αυτόν τον υπολογιστή - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Επιλέξτε Τι θα Συγχρονιστεί: Επιλέξτε τους απομακρυσμένους υποφακέλους που επιθυμείτε να συγχρονίσετε. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Επιλέξτε Τι θα Συγχρονιστεί: Επιλέξτε τους απομακρυσμένους υποφακέλους που δεν επιθυμείτε να συγχρονίσετε. - - - + Choose What to Sync Επιλέξτε Τι θα Συγχρονιστεί - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Φόρτωση ... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Όνομα - + Size Μέγεθος - - + + No subfolders currently on the server. Δεν υπάρχουν υποφάκελοι αυτή τη στιγμή στον διακομιστή. - + An error occurred while loading the list of sub folders. Παρουσιάστηκε σφάλμα κατά την φόρτωση της λίστας των υπο-φακέλων @@ -2542,7 +2568,7 @@ It is not advisable to use it. Could not open email client - + Αδυναμία ανοίγματος πελάτη ηλεκτρονικής αλληλογραφίας @@ -2656,7 +2682,7 @@ It is not advisable to use it. OCC::SocketApi - + Share with %1 parameter is ownCloud Διαμοιρασμός με %1 @@ -2865,275 +2891,285 @@ It is not advisable to use it. OCC::SyncEngine - + Success. Επιτυχία. - + CSync failed to load the journal file. The journal file is corrupted. Το CSync απέτυχε να φορτώσει ο αρχείο καταλόγου. Το αρχείο καταλόγου έχει καταστραφεί. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Το πρόσθετο του %1 για το csync δεν μπόρεσε να φορτωθεί.<br/>Παρακαλούμε επαληθεύσετε την εγκατάσταση!</p> - + CSync got an error while processing internal trees. Το CSync έλαβε κάποιο μήνυμα λάθους κατά την επεξεργασία της εσωτερικής διεργασίας. - + CSync failed to reserve memory. Το CSync απέτυχε να δεσμεύσει μνήμη. - + CSync fatal parameter error. Μοιραίο σφάλμα παράμετρου CSync. - + CSync processing step update failed. Η ενημέρωση του βήματος επεξεργασίας του CSync απέτυχε. - + CSync processing step reconcile failed. CSync στάδιο επεξεργασίας συμφιλίωση απέτυχε. - + CSync could not authenticate at the proxy. Το CSync δεν μπόρεσε να πιστοποιηθεί στο διακομιστή μεσολάβησης. - + CSync failed to lookup proxy or server. Το CSync απέτυχε να διερευνήσει το διαμεσολαβητή ή το διακομιστή. - + CSync failed to authenticate at the %1 server. Το CSync απέτυχε να πιστοποιηθεί στο διακομιστή 1%. - + CSync failed to connect to the network. Το CSync απέτυχε να συνδεθεί με το δίκτυο. - + A network connection timeout happened. Διακοπή σύνδεσης δικτύου λόγω παρέλευσης χρονικού ορίου. - + A HTTP transmission error happened. Ένα σφάλμα μετάδοσης HTTP συνέβη. - + The mounted folder is temporarily not available on the server Ο προσαρτημένος φάκελος δεν είναι διαθέσιμος στον δικομιστή προσωρινά - + An error occurred while opening a folder Παρουσιάστηκε σφάλμα κατά το άνοιγμα του φακέλου - + Error while reading folder. Σφάλμα κατά την ανάγνωση του φακέλου. - + File/Folder is ignored because it's hidden. Το Αρχείο/ο Φάκελος αγνοήθηκε επειδή είναι κρυφό. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Μόνο %1 είναι διαθέσιμα, απαιτούνται τουλάχιστον %2 για την εκκίνηση - + Not allowed because you don't have permission to add parent folder Δεν επιτρέπεται επειδή δεν έχετε δικαιώματα να προσθέσετε γονικό κατάλογο - + Not allowed because you don't have permission to add files in that folder Δεν επιτρέπεται επειδή δεν έχετε δικαιώματα να προσθέσετε αρχεία σε αυτόν τον φάκελο - + CSync: No space on %1 server available. CSync: Δεν υπάρχει διαθέσιμος χώρος στο διακομιστή 1%. - + CSync unspecified error. Άγνωστο σφάλμα CSync. - + Aborted by the user Ματαιώθηκε από το χρήστη - - Filename contains invalid characters that can not be synced cross platform. - Το όνομα αρχείου περιέχει χαρακτήρες που δεν μπορούν να συγχρονιστούν σε όλα τα συστήματα. - - - + CSync failed to access Το CSync απέτυχε να αποκτήσει πρόσβαση - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. Το CSync απέτυχε να φορτώσει ή να δημιουργήσει το αρχείο καταγραφής. Βεβαιωθείτε ότι έχετε άδεια ανάγνωσης και εγγραφής στον τοπικό κατάλογο συγχρονισμού. - + CSync failed due to unhandled permission denied. Το CSync απέτυχε λόγω κατάστασης "permission denied" - + CSync tried to create a folder that already exists. Το CSync προσπάθησε να δημιουργήσει φάκελο που υπάρχει ήδη. - + The service is temporarily unavailable Η υπηρεσία δεν είναι διαθέσιμη προσωρινά - + Access is forbidden Δεν επιτρέπεται η πρόσβαση - + An internal error number %1 occurred. Προέκυψε ένα εσωτερικό σφάλμα με αριθμό %1. - + The item is not synced because of previous errors: %1 Το αντικείμενο δεν είναι συγχρονισμένο λόγω προηγούμενων σφαλμάτων: %1 - + Symbolic links are not supported in syncing. Οι συμβολικού σύνδεσμοι δεν υποστηρίζονται για το συγχρονισμό. - + File is listed on the ignore list. Το αρχείο περιέχεται στη λίστα αρχείων προς αγνόηση. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. Το όνομα αρχείου είνια πολύ μεγάλο. - + Stat failed. Απέτυχε. - + Filename encoding is not valid Η κωδικοποίηση του ονόματος αρχείου δεν είναι έγκυρη - + Invalid characters, please rename "%1" Μη έγκυροι χαρακτήρες, παρακαλώ μετονομάστε το "%1" - + Unable to initialize a sync journal. Αδυναμία προετοιμασίας αρχείου συγχρονισμού. - + Unable to read the blacklist from the local database Αδυναμία ανάγνωσης της μαύρης λίστας από την τοπική βάση δεδομένων - + Unable to read from the sync journal. - + Cannot open the sync journal Αδυναμία ανοίγματος του αρχείου συγχρονισμού - + File name contains at least one invalid character Το όνομα αρχείου περιέχει έναν τουλάχιστον μη έγκυρο χαρακτήρα - - + + Ignored because of the "choose what to sync" blacklist Αγνοήθηκε εξαιτίας της μαύρης λίστας "διάλεξε τι να συγχρονιστεί" - + Not allowed because you don't have permission to add subfolders to that folder Δεν επιτρέπεται επειδή δεν έχετε δικαιώματα να προσθέσετε υποφακέλους σε αυτό τον φάκελο - + Not allowed to upload this file because it is read-only on the server, restoring Δεν επιτρέπεται να μεταφορτώσετε αυτό το αρχείο επειδή είναι μόνο για ανάγνωση στο διακομιστή, αποκατάσταση σε εξέλιξη - - + + Not allowed to remove, restoring Δεν επιτρέπεται η αφαίρεση, αποκατάσταση σε εξέλιξη - + Local files and share folder removed. Οι τοπικοί φάκελοι και ο φάκελος κοινής χρήσης αφαιρέθηκαν. - + Move not allowed, item restored Η μετακίνηση δεν επιτρέπεται, το αντικείμενο αποκαταστάθηκε - + Move not allowed because %1 is read-only Η μετακίνηση δεν επιτρέπεται επειδή το %1 είναι μόνο για ανάγνωση - + the destination ο προορισμός - + the source η προέλευση @@ -3157,17 +3193,17 @@ It is not advisable to use it. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Έκδοση %1. Για περισσότερες πληροφορίες δείτε <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> - + <p>Πνευματικά δικαιώματα ownCloud, GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Διανέμεται από 1% και υπό την άδεια GNU General Public License (GPL) έκδοση 2.0.<br/>% 2 και το 2% το λογότυπο είναι σήματα κατατεθέντα της 1% στις Ηνωμένες Πολιτείες, άλλες χώρες, ή και τα δύο.</ p> @@ -3354,7 +3390,7 @@ It is not advisable to use it. New account... - + Νέος λογαριασμός... @@ -3417,10 +3453,10 @@ It is not advisable to use it. - - - - + + + + TextLabel TextLabel @@ -3440,7 +3476,23 @@ It is not advisable to use it. &Έναρξη καθαρού συγχρονισμού (Διαγράφει τον τοπικό φάκελο!) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + ΜΒ + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Επιλέξτε τι θα συγχρονιστεί @@ -3460,12 +3512,12 @@ It is not advisable to use it. &Διατήρηση τοπικών δεδομένων - + S&ync everything from server Σ&υγχρονισμός όλων από τον διακομιστή - + Status message Μήνυμα κατάστασης @@ -3506,7 +3558,7 @@ It is not advisable to use it. - + TextLabel TextLabel @@ -3562,8 +3614,8 @@ It is not advisable to use it. - Server &Address - Διακομιστής και &Διεύθυνση + Ser&ver Address + @@ -3603,7 +3655,7 @@ It is not advisable to use it. QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3611,40 +3663,46 @@ It is not advisable to use it. QObject - + in the future στο μέλλον - + %n day(s) ago - + %n hour(s) ago - + now τώρα - + Less than a minute ago Λιγότερο από ένα λεπτό πριν - + %n minute(s) ago - + Some time ago + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3669,37 +3727,37 @@ It is not advisable to use it. %L1 B - + %n year(s) %n χρόνος%n χρόνια - + %n month(s) - + %n day(s) - + %n hour(s) - + %n minute(s) - + %n second(s) - + %1 %2 %1 %2 @@ -3720,7 +3778,7 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Δημιουργήθηκε από την διασκευή Git <a href="%1">%2</a> στο %3, %4 χρησιμοποιώντας Qt %5, %6</small></p> diff --git a/translations/client_en.ts b/translations/client_en.ts index 794312239..373dfd44c 100644 --- a/translations/client_en.ts +++ b/translations/client_en.ts @@ -128,7 +128,7 @@ - + Cancel @@ -248,22 +248,32 @@ - - There are new folders that were not synchronized because they are too big: + + There are folders that were not synchronized because they are too big: - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection @@ -529,6 +539,24 @@ + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -555,7 +583,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database @@ -596,7 +624,7 @@ OCC::DeleteJob - + Connection timed out @@ -604,7 +632,7 @@ OCC::DiscoveryMainThread - + Aborted by the user @@ -612,57 +640,51 @@ OCC::Folder - + Local folder %1 does not exist. - + %1 should be a folder but is not. - + %1 is not readable. - - %1: %2 - this displays an error string (%2) for a file %1 - - - - + %1 has been removed. %1 names a file. - + %1 has been downloaded. %1 names a file. - + %1 has been updated. %1 names a file. - + %1 has been renamed to %2. %1 and %2 name files. - + %1 has been moved to %2. - + %1 and %n other file(s) have been removed. @@ -670,7 +692,7 @@ - + %1 and %n other file(s) have been downloaded. @@ -678,7 +700,7 @@ - + %1 and %n other file(s) have been updated. @@ -686,7 +708,7 @@ - + %1 has been renamed to %2 and %n other file(s) have been renamed. @@ -694,7 +716,7 @@ - + %1 has been moved to %2 and %n other file(s) have been moved. @@ -702,7 +724,7 @@ - + %1 has and %n other file(s) have sync conflicts. @@ -710,12 +732,12 @@ - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. @@ -723,67 +745,86 @@ - + %1 could not be synced due to an error. See the log for details. - + Sync Activity - + Could not read system exclude file - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. + - - 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? + + A folder from an external storage has been added. + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? - + Remove all files - + Keep files - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected - + Normal Synchronisation - + Keep Local Files as Conflict @@ -791,112 +832,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + (backup) - + (backup %1) - + Undefined State. - + Waiting to start syncing. - + Preparing for sync. - + Sync is running. - + Last Sync was successful. - + Last Sync was successful, but with warnings on individual files. - + Setup Error. - + User Abort. - + Sync is paused. - + %1 (Sync is paused) - + No valid folder selected! - + The selected path is not a folder! - + You have no permission to write to the selected folder! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! - + 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! @@ -922,128 +963,128 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder - + Click this button to add a folder to synchronize. - + %1 (%2) Example text: "File.txt (23KB)" - + Error while loading the list of folders from the server. - + Signed out - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. - + Fetching folder list from server... - + Checking for changes in '%1' - + , '%1' Build a list of file names - + '%1' Argument is a file name - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" - - + + , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) - + u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) - + u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" - + %1 %2 Example text: "uploading foobar.png" - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" - + file %1 of %2 - + Waiting... - + Waiting for %n other folder(s)... @@ -1051,7 +1092,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an - + Preparing to sync... @@ -1059,12 +1100,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection - + Add Sync Connection @@ -1140,14 +1181,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - - - OCC::FormatWarningsWizardPage @@ -1164,22 +1197,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Server returned wrong content-range - + Connection Timeout @@ -1207,8 +1240,19 @@ Continuing the sync as normal will cause all your files to be overwritten by an - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + + + + + Ask for confirmation before synchronizing external storages @@ -1227,33 +1271,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an - + Edit &Ignored Files - - Ask &confirmation before downloading folders larger than - - - - + S&how crash reporter + - About - + Updates - + &Restart && Update @@ -1425,7 +1464,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::MoveJob - + Connection timed out @@ -1574,23 +1613,23 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::NotificationWidget - + Created at %1 - + Closing in a few seconds... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' @@ -1673,28 +1712,28 @@ for additional privileges during the process. - + %1 folder '%2' is synced to local folder '%3' - + Sync the folder '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> - + Local Sync Folder - - + + (%1) @@ -1919,7 +1958,7 @@ It is not advisable to use it. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> @@ -1958,7 +1997,7 @@ It is not advisable to use it. OCC::PUTFileJob - + Connection Timeout @@ -1966,7 +2005,7 @@ It is not advisable to use it. OCC::PollJob - + Invalid JSON reply from the poll URL @@ -1974,7 +2013,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database @@ -1982,22 +2021,22 @@ It is not advisable to use it. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! - + The download would reduce free disk space below %1 - + Free space on disk is less than %1 - + File was deleted from server @@ -2030,17 +2069,17 @@ It is not advisable to use it. OCC::PropagateItemJob - + ; Restoration Failed: %1 - + Continue blacklisting: - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -2103,7 +2142,7 @@ It is not advisable to use it. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. @@ -2116,7 +2155,7 @@ It is not advisable to use it. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". @@ -2129,17 +2168,17 @@ It is not advisable to use it. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -2158,22 +2197,22 @@ It is not advisable to use it. OCC::PropagateUploadFileCommon - + File Removed - + Local file changed during syncing. It will be resumed. - + Local file changed during sync. - + Error writing metadata to the database @@ -2181,32 +2220,32 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The local file was removed during sync. - + Local file changed during sync. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2214,32 +2253,32 @@ It is not advisable to use it. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + Poll URL missing - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag was present) @@ -2257,42 +2296,42 @@ It is not advisable to use it. - + Time - + File - + Folder - + Action - + Size - + Local sync protocol - + Copy - + Copy the activity list to the clipboard. @@ -2333,51 +2372,41 @@ It is not advisable to use it. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - - - - + Choose What to Sync - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... - + + Deselect remote folders you do not wish to synchronize. + + + + Name - + Size - - + + No subfolders currently on the server. - + An error occurred while loading the list of sub folders. @@ -2681,7 +2710,7 @@ It is not advisable to use it. OCC::SocketApi - + Share with %1 parameter is ownCloud @@ -2888,275 +2917,285 @@ It is not advisable to use it. OCC::SyncEngine - + Success. - + CSync failed to load the journal file. The journal file is corrupted. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> - + CSync got an error while processing internal trees. - + CSync failed to reserve memory. - + CSync fatal parameter error. - + CSync processing step update failed. - + CSync processing step reconcile failed. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. - + CSync failed to authenticate at the %1 server. - + CSync failed to connect to the network. - + A network connection timeout happened. - + A HTTP transmission error happened. - + The mounted folder is temporarily not available on the server - + An error occurred while opening a folder - + Error while reading folder. - + File/Folder is ignored because it's hidden. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() - + Not allowed because you don't have permission to add parent folder - + Not allowed because you don't have permission to add files in that folder - + CSync: No space on %1 server available. - + CSync unspecified error. - + Aborted by the user - - Filename contains invalid characters that can not be synced cross platform. - - - - + CSync failed to access - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. - + CSync failed due to unhandled permission denied. - + CSync tried to create a folder that already exists. - + The service is temporarily unavailable - + Access is forbidden - + An internal error number %1 occurred. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. - + Stat failed. - + Filename encoding is not valid - + Invalid characters, please rename "%1" - + Unable to initialize a sync journal. - + Unable to read the blacklist from the local database - + Unable to read from the sync journal. - + Cannot open the sync journal - + File name contains at least one invalid character - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add subfolders to that folder - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Local files and share folder removed. - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -3180,17 +3219,17 @@ It is not advisable to use it. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> @@ -3440,10 +3479,10 @@ It is not advisable to use it. - - - - + + + + TextLabel @@ -3463,7 +3502,23 @@ It is not advisable to use it. - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync @@ -3483,12 +3538,12 @@ It is not advisable to use it. - + S&ync everything from server - + Status message @@ -3529,7 +3584,7 @@ It is not advisable to use it. - + TextLabel @@ -3585,7 +3640,7 @@ It is not advisable to use it. - Server &Address + Ser&ver Address @@ -3626,7 +3681,7 @@ It is not advisable to use it. QApplication - + QT_LAYOUT_DIRECTION @@ -3634,12 +3689,12 @@ It is not advisable to use it. QObject - + in the future - + %n day(s) ago @@ -3647,7 +3702,7 @@ It is not advisable to use it. - + %n hour(s) ago @@ -3655,17 +3710,17 @@ It is not advisable to use it. - + now - + Less than a minute ago - + %n minute(s) ago @@ -3673,10 +3728,16 @@ It is not advisable to use it. - + Some time ago + + + %1: %2 + this displays an error string (%2) for a file %1 + + Utility @@ -3701,7 +3762,7 @@ It is not advisable to use it. - + %n year(s) @@ -3709,7 +3770,7 @@ It is not advisable to use it. - + %n month(s) @@ -3717,7 +3778,7 @@ It is not advisable to use it. - + %n day(s) @@ -3725,7 +3786,7 @@ It is not advisable to use it. - + %n hour(s) @@ -3733,7 +3794,7 @@ It is not advisable to use it. - + %n minute(s) @@ -3741,7 +3802,7 @@ It is not advisable to use it. - + %n second(s) @@ -3749,7 +3810,7 @@ It is not advisable to use it. - + %1 %2 @@ -3770,7 +3831,7 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> diff --git a/translations/client_es.ts b/translations/client_es.ts index 8eac6f0f5..211a75ebc 100644 --- a/translations/client_es.ts +++ b/translations/client_es.ts @@ -126,7 +126,7 @@ - + Cancel Cancelar @@ -246,22 +246,32 @@ Iniciar sesión - - There are new folders that were not synchronized because they are too big: - Hay carpetas nuevas que no fueron sincronizadas porque son demasiado grandes: + + There are folders that were not synchronized because they are too big: + Hay carpetas que no fueron sincronizadas porque son demasiado grandes: - + + There are folders that were not synchronized because they are external storages: + Hay carpetas que no fueron sincronizadas porque residen en almacenamiento externo: + + + + There are folders that were not synchronized because they are too big or external storages: + Hay carpetas que no fueron sincronizadas porque son demasiado grandes o residen en almacenes externos: + + + Confirm Account Removal Confirmar eliminación de cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>¿De verdad quiere eliminar la conexión a la cuenta <i>%1</i>?</p><p><b>Nota:</b> Esto <b>no</b> eliminará los archivos.</p> - + Remove connection Eliminar conexión @@ -521,6 +531,24 @@ Archivos de certificado (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + Error al acceder al archivo de configuración + + + + There was an error while accessing the configuration file at %1. + Ha ocurrido un error al acceder al archivo de configuración %1. + + + + Quit ownCloud + Salir de OwnCloud + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Error al escribir los metadatos en la base de datos @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Tiempo de conexión agotado @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Interrumpido por el usuario @@ -604,143 +632,160 @@ OCC::Folder - + Local folder %1 does not exist. La carpeta local %1 no existe. - + %1 should be a folder but is not. %1 debería ser un directorio, pero no lo es. - + %1 is not readable. %1 es ilegible. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 ha sido eliminado. - + %1 has been downloaded. %1 names a file. %1 ha sido descargado. - + %1 has been updated. %1 names a file. %1 ha sido actualizado. - + %1 has been renamed to %2. %1 and %2 name files. %1 ha sido renombrado a %2. - + %1 has been moved to %2. %1 ha sido movido a %2. - + %1 and %n other file(s) have been removed. %1 y otro archivo han sido borrados.%1 y otros %n archivos han sido borrados. - + %1 and %n other file(s) have been downloaded. %1 y otro archivo han sido descargados.%1 y otros %n archivos han sido descargados. - + %1 and %n other file(s) have been updated. %1 y otro archivo han sido actualizados.%1 y otros %n archivos han sido actualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 ha sido renombrado a %2 y otro archivo ha sido renombrado.%1 ha sido renombrado a %2 y otros %n archivos han sido renombrado. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 ha sido movido a %2 y otro archivo ha sido movido.%1 ha sido movido a %2 y otros %n archivos han sido movidos. - + %1 has and %n other file(s) have sync conflicts. %1 y otro archivo han tenido conflictos al sincronizar.%1 y otros %n archivos han tenido conflictos al sincronizar. - + %1 has a sync conflict. Please check the conflict file! Conflicto al sincronizar %1. Por favor compruebe el archivo! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 y otro archivo no pudieron ser sincronizados debido a errores. Para más detalles vea el registro.%1 y otros %n archivos no pudieron ser sincronizados debido a errores. Para más detalles vea el registro. - + %1 could not be synced due to an error. See the log for details. %1 no pudo ser sincronizado debido a un error. Para más detalles, vea el registro. - + Sync Activity Actividad de la sincronización - + Could not read system exclude file No se ha podido leer el archivo de exclusión del sistema - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - Se ha añadido una nueva carpeta más grande de %1 MB: %2. -Por favor diríjase a los ajustes para seleccionarlo si desea descargarlo. + + Una carpeta mayor de %1 MB ha sido añadida: %2. + - - 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? - Esta sincronización eliminaría todos los archivos en la carpeta local de sincronización '%1'. -Esto se puede deber a que la carpeta fue reconfigurada de forma silenciosa o a que todos los archivos fueron eliminados manualmente. -¿Está seguro de que desea realizar esta operación? + + A folder from an external storage has been added. + + Una carpeta de almacenamiento externo ha sido añadida. + - + + Please go in the settings to select it if you wish to download it. + Por favor vaya a opciones a seleccionarlo si desea descargar esto. + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + Todos los archivos en la carpeta %1 serán borrados en el servidor. +Estos borrados serán sincronizados en su carpeta local sync, haciendo imposible su recuperación a menos que disponga de archivos de respaldo. +Si decide mantener estos archivos, serán re-sincronizados con el servidor si Vd. dispone de permisos para ello. +Si decide borrarlos, no serán visibles para Vd. a menos que sea usted el propietario. + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + Todos los archivos en la carpeta %1 serán borrados en el servidor. +¿Está Vd. seguro de que desea sincronizarse con el servidor? +Si ha sido un accidente, y decide mantener los archivos, serán re-sincronizados con el servidor. + + + Remove All Files? ¿Eliminar todos los archivos? - + Remove all files Eliminar todos los archivos - + Keep files Conservar archivos - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -749,17 +794,17 @@ Esto puede deberse a que una copia de seguridad fue restaurada en el servidor. Si continua con la sincronización todos los archivos serán remplazados por su versión previa. ¿Desea mantener los archivos locales en su versión actual como archivos en conflicto? - + Backup detected Backup detectado - + Normal Synchronisation Sincronización Normal - + Keep Local Files as Conflict Mantener los archivos locales en caso de conflicto @@ -767,112 +812,112 @@ Si continua con la sincronización todos los archivos serán remplazados por su OCC::FolderMan - + Could not reset folder state No se ha podido restablecer el estado de la carpeta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Se ha encontrado un antiguo registro de sincronización '%1'; pero no se ha podido eliminar. Por favor, asegúrese de que ninguna aplicación la esté utilizando. - + (backup) (copia de seguridad) - + (backup %1) (copia de seguridad %1) - + Undefined State. Estado no definido. - + Waiting to start syncing. Esperando para comenzar la sincronización. - + Preparing for sync. Preparándose para sincronizar. - + Sync is running. Sincronización en funcionamiento. - + Last Sync was successful. La última sincronización se ha realizado con éxito. - + Last Sync was successful, but with warnings on individual files. La última sincronización salió bien; pero hay advertencias para archivos individuales. - + Setup Error. Error de configuración. - + User Abort. Interrumpido por el usuario. - + Sync is paused. La sincronización está en pausa. - + %1 (Sync is paused) %1 (Sincronización en pausa) - + No valid folder selected! ¡La carpeta seleccionada no es válida! - + The selected path is not a folder! ¡La ruta seleccionada no es un directorio! - + You have no permission to write to the selected folder! ¡Usted no tiene permiso para escribir en la carpeta seleccionada! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! El directorio local %1 es un enlace simbólico. El objetivo del enlace ya contiene un directorio usado en una conexión de sincronización de directorios. Por favor, elija otro. - + There is already a sync from the server to this local folder. Please pick another local folder! Ya existe una tarea de sincronización entre el servidor y esta carpeta. Por favor elija otra carpeta local. - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! El directorio local %1 ya contiene un directorio usado en una conexión de sincronización de directorios. Por favor, elija otro. - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! El directorio local %1 está dentro de un directorio usado en una conexión de sincronización de directorios. Por favor, elija otro. - + 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! El directorio local %1 es un enlace simbólico. El objetivo está incluido en un directorio usado en una conexión de sincronización de directorios. Por favor, elija otro. @@ -898,133 +943,133 @@ Si continua con la sincronización todos los archivos serán remplazados por su OCC::FolderStatusModel - + You need to be connected to add a folder Necesita estar conectado para añadir una carpeta - + Click this button to add a folder to synchronize. Haga clic en este botón para añadir una carpeta a sincronizar - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Error mientras se cargaba la lista de carpetas desde el servidor. - + Signed out Cerrar sesión - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. Añadir carpetas está deshabilitado debido a que ya están sincronizándose todos sus archivos. Si desea sincronizar múltiples carpeta, elimine la carpeta raíz actualmente configurada. - + Fetching folder list from server... Obtención de lista de carpetas del servidor... - + Checking for changes in '%1' Buscando cambios en '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Sincronizando %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) descargando: %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) cargar %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 de %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" %5 restantes, %1 de %2, archivo %3 de %4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 de %2, archivo %3 de %4 - + file %1 of %2 archivo %1 de %2 - + Waiting... Esperando... - + Waiting for %n other folder(s)... Esperando por %n carpeta...Esperando por %n otras carpetas... - + Preparing to sync... Preparando para sincronizar... @@ -1032,12 +1077,12 @@ Si continua con la sincronización todos los archivos serán remplazados por su OCC::FolderWizard - + Add Folder Sync Connection Añadir Conexión para el Directorio de Sincronización - + Add Sync Connection Añadir Sincronización de Conexión @@ -1113,14 +1158,6 @@ Si continua con la sincronización todos los archivos serán remplazados por su Todavía se están sincronizando ficheros. <b>No</b> se admite la sincronización de otras carpetas. Si quiere sincronizar múltiples carpetas, por favor revise la carpeta raíz configurada. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Elija qué sinconizar: Opcionalmente puede deseleccionar subcarpetas remotas que no desee sincronizar - - OCC::FormatWarningsWizardPage @@ -1137,22 +1174,22 @@ Si continua con la sincronización todos los archivos serán remplazados por su OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway No se ha recibido ninguna e-tag del servidor, revise el proxy/puerta de enlace - + We received a different E-Tag for resuming. Retrying next time. Se ha recibido una e-tag distinta para reanudar. Se volverá a intentar. - + Server returned wrong content-range El servidor ha devuelto un content-range erróneo - + Connection Timeout Tiempo de espera de conexión agotado @@ -1180,10 +1217,21 @@ Si continua con la sincronización todos los archivos serán remplazados por su Avanzado - + + Ask for confirmation before synchronizing folders larger than + Preguntar si se desea sincronizar carpetas mayores de + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + Preguntar si se desea sincronizar carpetas de almacenes externos + &Launch on System Startup @@ -1200,33 +1248,28 @@ Si continua con la sincronización todos los archivos serán remplazados por su Usar Iconos &Monocromáticos - + Edit &Ignored Files Editar archivos &ignorados - - Ask &confirmation before downloading folders larger than - &Preguntar antes de descargar carpetas de más de - - - + S&how crash reporter M&ostrar el informe de fallos + - About Acerca de - + Updates Actualizaciones - + &Restart && Update &Reiniciar && Actualizar @@ -1400,7 +1443,7 @@ Los elementos cuya eliminación está permitida serán eliminados si impiden que OCC::MoveJob - + Connection timed out Tiempo de conexión agotado @@ -1549,23 +1592,23 @@ Los elementos cuya eliminación está permitida serán eliminados si impiden que OCC::NotificationWidget - + Created at %1 Creado en %1 - + Closing in a few seconds... Cerrando en pocos segundos... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' %1 petición fallida en %2 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' seleccionado en %2 @@ -1648,28 +1691,28 @@ for additional privileges during the process. Conectar... - + %1 folder '%2' is synced to local folder '%3' La carpeta %1 '%2' está sincronizada con la carpeta local '%3' - + Sync the folder '%1' Sincronizar el directorio '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Advertencia:</strong> El directorio local no está vacío. ¡Seleccione una resolución!</small></p> - + Local Sync Folder Carpeta local de sincronización - - + + (%1) (%1) @@ -1895,7 +1938,7 @@ No se recomienda usarla. No se puede eliminar y respaldar la carpeta porque la misma o un fichero en ella está abierto por otro programa. Por favor, cierre la carpeta o el fichero y reintente, o cancele la instalación. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Carpeta de sincronización local %1 creada con éxito</b></font> @@ -1934,7 +1977,7 @@ No se recomienda usarla. OCC::PUTFileJob - + Connection Timeout Tiempo de espera de conexión agotado @@ -1942,7 +1985,7 @@ No se recomienda usarla. OCC::PollJob - + Invalid JSON reply from the poll URL Respuesta JSON invalida desde URL @@ -1950,7 +1993,7 @@ No se recomienda usarla. OCC::PropagateDirectory - + Error writing metadata to the database Error al escribir los metadatos en la base de datos @@ -1958,22 +2001,22 @@ No se recomienda usarla. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! ¡El archivo %1 no se puede descargar a causa de un conflicto con el nombre de un archivo local! - + The download would reduce free disk space below %1 La descarga reduciría el espacio libre en disco por debajo de %1 - + Free space on disk is less than %1 El espacio libre en el disco es inferior a %1 - + File was deleted from server Se ha eliminado el archivo del servidor @@ -2006,17 +2049,17 @@ No se recomienda usarla. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Falló la restauración: %1 - + Continue blacklisting: Continuar añadiendo a su lista negra: - + A file or folder was removed from a read only share, but restoring failed: %1 Un archivo o directorio fue eliminado de una carpeta de compartida de solo lectura pero la recuperación falló: %1 @@ -2079,7 +2122,7 @@ No se recomienda usarla. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. El archvo fue eliminado de una carpeta compartida en modo de solo lectura. Ha sido recuperado. @@ -2092,7 +2135,7 @@ No se recomienda usarla. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". El código HTTP devuelto por el servidor es erróneo. Esperado 201, pero recibido "%1 %2". @@ -2105,17 +2148,17 @@ No se recomienda usarla. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Esta carpeta no debe ser renombrada. Ha sido renombrada a su nombre original - + This folder must not be renamed. Please name it back to Shared. Esta carpeta no debe ser renombrada. Favor de renombrar a Compartida. - + The file was renamed but is part of a read only share. The original file was restored. El archivo fue renombrado, pero es parte de una carpeta compartida en modo de solo lectura. El archivo original ha sido recuperado. @@ -2134,22 +2177,22 @@ No se recomienda usarla. OCC::PropagateUploadFileCommon - + File Removed Archivo eliminado - + Local file changed during syncing. It will be resumed. Archivo local cambió durante la sincronización. Será actualizado. - + Local file changed during sync. Un archivo local fue modificado durante la sincronización. - + Error writing metadata to the database Error al escribir los metadatos en la base de datos @@ -2157,32 +2200,32 @@ No se recomienda usarla. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Forzar el trabajo en una conexión HTTP, causará un Reset si Qt< 5.4.2. - + The local file was removed during sync. El archivo local ha sido eliminado durante la sincronización. - + Local file changed during sync. Un archivo local fue modificado durante la sincronización. - + Unexpected return code from server (%1) Respuesta inesperada del servidor (%1) - + Missing File ID from server Perdido archivo ID del servidor - + Missing ETag from server Perdido ETag del servidor @@ -2190,32 +2233,32 @@ No se recomienda usarla. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Forzar el trabajo en una conexión HTTP, causará un Reset si Qt< 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. El archivo fue modificado localmente; pero es parte de una carpeta compartida en modo de sólo lectura. Ha sido recuperado y su modificación está en el archivo de conflicto. - + Poll URL missing Falta la URL de la encuesta - + The local file was removed during sync. El archivo local ha sido eliminado durante la sincronización. - + Local file changed during sync. Un archivo local fue modificado durante la sincronización. - + The server did not acknowledge the last chunk. (No e-tag was present) El servidor no reconoció la última parte. (No había una e-tag presente) @@ -2233,42 +2276,42 @@ No se recomienda usarla. Etiqueta de texto - + Time Hora - + File Archivo - + Folder Carpeta - + Action Acción - + Size Tamaño - + Local sync protocol Protocolo de sincronización local - + Copy Copiar - + Copy the activity list to the clipboard. Copie la lista de actividades al portapapeles @@ -2309,51 +2352,41 @@ No se recomienda usarla. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Las carpetas no seleccionadas serán <b>eliminadas</b> de su sistema de archivos local y ya no serán sincronizadas con este ordenador - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Elija qué sincronizar: seleccione las subcarpetas remotas que desea sincronizar. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Elija qué sincronizar: desmarque las subcarpetas remotas que no desea sincronizar. - - - + Choose What to Sync Escoja qué sincronizar - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Cargando... - + + Deselect remote folders you do not wish to synchronize. + Deseleccione las carpetas remotas que no desea sincronizar. + + + Name Nombre - + Size Tamaño - - + + No subfolders currently on the server. No hay subcarpetas actualmente en el servidor. - + An error occurred while loading the list of sub folders. Ha ocurrido un error mientras cargaba la lista de carpetas. @@ -2657,7 +2690,7 @@ No se recomienda usarla. OCC::SocketApi - + Share with %1 parameter is ownCloud Compartir con %1 @@ -2866,275 +2899,285 @@ No se recomienda usarla. OCC::SyncEngine - + Success. Completado con éxito. - + CSync failed to load the journal file. The journal file is corrupted. CSync falló al cargar el archivo de diaro. El darchivo de diario se encuentra corrupto. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>El %1 complemento para csync no se ha podido cargar.<br/>Por favor, verifique la instalación</p> - + CSync got an error while processing internal trees. CSync encontró un error mientras procesaba los árboles de datos internos. - + CSync failed to reserve memory. Hubo un fallo al reservar memoria para Csync - + CSync fatal parameter error. Error fatal de parámetro en CSync. - + CSync processing step update failed. El proceso de actualización de CSync ha fallado. - + CSync processing step reconcile failed. Falló el proceso de composición de CSync - + CSync could not authenticate at the proxy. CSync no pudo autenticar el proxy. - + CSync failed to lookup proxy or server. CSync falló al realizar la búsqueda del proxy - + CSync failed to authenticate at the %1 server. CSync: Falló la autenticación con el servidor %1. - + CSync failed to connect to the network. CSync: Falló la conexión con la red. - + A network connection timeout happened. Se sobrepasó el tiempo de espera de la conexión de red. - + A HTTP transmission error happened. Se ha producido un error de transmisión HTTP. - + The mounted folder is temporarily not available on the server El directorio montado no está disponible temporalmente en el servidor - + An error occurred while opening a folder Se produjo un error al abrir un directorio - + Error while reading folder. Error al leer el directorio. - + File/Folder is ignored because it's hidden. Se ignoran los Archivos/Carpetas ocultos. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Solo %1 disponible, se necesita por lo menos %2 para comenzar - + Not allowed because you don't have permission to add parent folder No permitido porque no tienes permiso para añadir un directorio padre - + Not allowed because you don't have permission to add files in that folder No permitido porque no tienes permiso para añadir archivos a ese directorio - + CSync: No space on %1 server available. CSync: No queda espacio disponible en el servidor %1. - + CSync unspecified error. Error no especificado de CSync - + Aborted by the user Interrumpido por el usuario - - Filename contains invalid characters that can not be synced cross platform. - El nombre del archivo contiene caracteres inválidos que no pueden ser sincronizados entre las plataformas. - - - + CSync failed to access CSync ha fallado al acceder - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. CSync falló al cargar o crear el archivo de diario. Asegúrese de tener permisos de lectura y escritura en el directorio local de sincronización. - + CSync failed due to unhandled permission denied. CSync falló debido a un permiso denegado. - + CSync tried to create a folder that already exists. CSync trató de crear un directorio que ya existe. - + The service is temporarily unavailable El servicio no está disponible temporalmente - + Access is forbidden Acceso prohibido - + An internal error number %1 occurred. Ocurrió un error interno número %1. - + The item is not synced because of previous errors: %1 El elemento no está sincronizado por errores previos: %1 - + Symbolic links are not supported in syncing. No se admiten enlaces simbólicos en la sincronización. - + File is listed on the ignore list. El fichero está en la lista de ignorados - + + File names ending with a period are not supported on this file system. + Los nombres de archivo que terminan con un punto no son compatibles con este sistema de archivos. + + + + File names containing the character '%1' are not supported on this file system. + Los nombres de archivo que contengan el caracter '%1' no son compatibles con este sistema de archivos. + + + + The file name is a reserved name on this file system. + El nombre del archivo es una palabra reservada del sistema de archivos. + + + Filename contains trailing spaces. El nombre del archivo contiene espacios finales. - + Filename is too long. El nombre del archivo es demasiado largo. - + Stat failed. Stat ha fallado. - + Filename encoding is not valid Los caracteres del nombre de fichero no son válidos - + Invalid characters, please rename "%1" Caracteres inválidos, por favor renombre "%1" - + Unable to initialize a sync journal. No se pudo inicializar un registro (journal) de sincronización. - + Unable to read the blacklist from the local database No se pudo leer la lista de bloqueo de la base de datos local - + Unable to read from the sync journal. No se ha podido leer desde el registro de sincronización - + Cannot open the sync journal No es posible abrir el diario de sincronización - + File name contains at least one invalid character Nombre de archivo contiene al menos un caracter no válido - - + + Ignored because of the "choose what to sync" blacklist Ignorado porque se encuentra en la lista negra de "elija qué va a sincronizar" - + Not allowed because you don't have permission to add subfolders to that folder No permitido porque no tienes permiso para añadir subdirectorios a ese directorio - + Not allowed to upload this file because it is read-only on the server, restoring No está permitido subir este archivo porque es de solo lectura en el servidor, restaurando. - - + + Not allowed to remove, restoring No está permitido borrar, restaurando. - + Local files and share folder removed. Se han eliminado los archivos locales y la carpeta compartida. - + Move not allowed, item restored No está permitido mover, elemento restaurado. - + Move not allowed because %1 is read-only No está permitido mover, porque %1 es de sólo lectura. - + the destination destino - + the source origen @@ -3158,17 +3201,17 @@ No se recomienda usarla. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>La versión %1. Para obtener más información, visite<a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Distribuido por %1 y bajo la licencia GNU General Public License (GPL) versión 2.0.<br/>%2 y el logotipo de %2 son marcas registradas de %1 en los Estados Unidos y otros países, o ambos.</p> @@ -3418,10 +3461,10 @@ No se recomienda usarla. - - - - + + + + TextLabel Etiqueta de texto @@ -3441,7 +3484,23 @@ No se recomienda usarla. Empezar con una sincronización &limpia (¡Elimina la carpeta local!) - + + Ask for confirmation before synchroni&zing folders larger than + Preguntar si se desea sincroni&zar carpetas mayores de + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + Preguntar si se desea sincronizar carpetas de almacenes e&xternos + + + Choose what to sync Elija qué sincronizar @@ -3461,12 +3520,12 @@ No se recomienda usarla. &Mantener datos locales - + S&ync everything from server Sincronizar todo desde el servidor - + Status message Mensaje de estado @@ -3507,7 +3566,7 @@ No se recomienda usarla. - + TextLabel Etiqueta @@ -3563,8 +3622,8 @@ No se recomienda usarla. - Server &Address - &Dirección del servidor + Ser&ver Address + Dirección del ser&vidor @@ -3604,7 +3663,7 @@ No se recomienda usarla. QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3612,40 +3671,46 @@ No se recomienda usarla. QObject - + in the future en el futuro - + %n day(s) ago Hace %n día(s)Hace %n día(s) - + %n hour(s) ago Hace %n hora(s)Hace %n hora(s) - + now ahora - + Less than a minute ago Hace menos de un minuto - + %n minute(s) ago Hace %n minutos(s)Hace %n minutos(s) - + Some time ago Hace unos momentos + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3670,37 +3735,37 @@ No se recomienda usarla. %L1 B - + %n year(s) %n año%n año(s) - + %n month(s) %n Mes%n Mese(s) - + %n day(s) %n dia%n dia(s) - + %n hour(s) %n hora%n hora(s) - + %n minute(s) %n minuto%n minuto(s) - + %n second(s) %n segundo%n segundo(s) - + %1 %2 %1 %2 @@ -3721,7 +3786,7 @@ No se recomienda usarla. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Revisión Git <a href="%1">%2</a> en %3, %4 compilada usando Qt %5, %6</small></p> diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts index f0573b974..8a5bae68f 100644 --- a/translations/client_es_AR.ts +++ b/translations/client_es_AR.ts @@ -126,7 +126,7 @@ - + Cancel Cancelar @@ -246,22 +246,32 @@ Iniciar sesión - - There are new folders that were not synchronized because they are too big: + + There are folders that were not synchronized because they are too big: - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal Confirmar la eliminación de la cuenta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection Eliminar conexión @@ -521,6 +531,24 @@ Archivo de certificado (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Tiempo de conexión agotado @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Interrumpido por el usuario @@ -604,157 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. El directorio local %1 no existe. - + %1 should be a folder but is not. %1 debé ser una carpeta pero no lo es. - + %1 is not readable. No se puede leer %1. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 ha sido eliminado. - + %1 has been downloaded. %1 names a file. %1 ha sido descargado. - + %1 has been updated. %1 names a file. %1 ha sido actualizado - + %1 has been renamed to %2. %1 and %2 name files. - + %1 has been moved to %2. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity Actividad de Sync - + Could not read system exclude file - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. + - - 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? + + A folder from an external storage has been added. + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? ¿Borrar todos los archivos? - + Remove all files Borrar todos los archivos - + Keep files Conservar archivos - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected - + Normal Synchronisation - + Keep Local Files as Conflict @@ -762,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state No se pudo - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Una antigua sincronización con journaling '%1' fue encontrada, pero no se pudo eliminar. Por favor, asegurate que ninguna aplicación la está utilizando. - + (backup) - + (backup %1) - + Undefined State. Estado no definido. - + Waiting to start syncing. - + Preparing for sync. Preparando la sincronización. - + Sync is running. Sincronización en funcionamiento. - + Last Sync was successful. La última sincronización fue exitosa. - + Last Sync was successful, but with warnings on individual files. El último Sync fue exitoso, pero hubo advertencias en archivos individuales. - + Setup Error. Error de configuración. - + User Abort. Interrumpir. - + Sync is paused. La sincronización está en pausa. - + %1 (Sync is paused) %1 (Sincronización en pausa) - + No valid folder selected! - + The selected path is not a folder! - + You have no permission to write to the selected folder! ¡No tenés permisos para escribir el directorio seleccionado! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! - + 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! @@ -893,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder - + Click this button to add a folder to synchronize. - + %1 (%2) Example text: "File.txt (23KB)" - + Error while loading the list of folders from the server. - + Signed out Desautentificado - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. - + Fetching folder list from server... - + Checking for changes in '%1' - + , '%1' Build a list of file names - + '%1' Argument is a file name - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Sincronizando %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) Cargado %1/s - + u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 de %2, archivo %3 de %4 - + file %1 of %2 Archivo %1 de %2 - + Waiting... Esperando... - + Waiting for %n other folder(s)... - + Preparing to sync... Preparando para sincronizar... @@ -1027,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection - + Add Sync Connection @@ -1108,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - - - OCC::FormatWarningsWizardPage @@ -1132,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Server returned wrong content-range - + Connection Timeout @@ -1175,8 +1208,19 @@ Continuing the sync as normal will cause all your files to be overwritten by an Avanzado - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + + + + + Ask for confirmation before synchronizing external storages @@ -1195,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an - + Edit &Ignored Files - - Ask &confirmation before downloading folders larger than - - - - + S&how crash reporter + - About Acerca de - + Updates Actualizaciones - + &Restart && Update @@ -1393,7 +1432,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::MoveJob - + Connection timed out Tiempo de conexión agotado @@ -1542,23 +1581,23 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::NotificationWidget - + Created at %1 - + Closing in a few seconds... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' @@ -1641,28 +1680,28 @@ for additional privileges during the process. Conectar... - + %1 folder '%2' is synced to local folder '%3' El directorio %1 '%2' está sincronizado con el directorio local '%3' - + Sync the folder '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> - + Local Sync Folder Directorio local de sincronización - - + + (%1) @@ -1887,7 +1926,7 @@ It is not advisable to use it. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Directorio local %1 creado</b></font> @@ -1926,7 +1965,7 @@ It is not advisable to use it. OCC::PUTFileJob - + Connection Timeout @@ -1934,7 +1973,7 @@ It is not advisable to use it. OCC::PollJob - + Invalid JSON reply from the poll URL @@ -1942,7 +1981,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database @@ -1950,22 +1989,22 @@ It is not advisable to use it. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! - + The download would reduce free disk space below %1 - + Free space on disk is less than %1 - + File was deleted from server @@ -1998,17 +2037,17 @@ It is not advisable to use it. OCC::PropagateItemJob - + ; Restoration Failed: %1 - + Continue blacklisting: - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -2071,7 +2110,7 @@ It is not advisable to use it. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. @@ -2084,7 +2123,7 @@ It is not advisable to use it. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". @@ -2097,17 +2136,17 @@ It is not advisable to use it. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -2126,22 +2165,22 @@ It is not advisable to use it. OCC::PropagateUploadFileCommon - + File Removed - + Local file changed during syncing. It will be resumed. - + Local file changed during sync. - + Error writing metadata to the database @@ -2149,32 +2188,32 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The local file was removed during sync. - + Local file changed during sync. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2182,32 +2221,32 @@ It is not advisable to use it. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + Poll URL missing - + The local file was removed during sync. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag was present) @@ -2225,42 +2264,42 @@ It is not advisable to use it. EtiquetaDeTexto - + Time Hora - + File Archivo - + Folder Carpeta - + Action Acción - + Size Tamaño - + Local sync protocol - + Copy Copiar - + Copy the activity list to the clipboard. Copiar la lista de actividades al portapapeles. @@ -2301,51 +2340,41 @@ It is not advisable to use it. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Deseleccionar Carpetas que serán <b>eliminadas</b> de su sistema de archivos local y no será sincronizado más en este equipo - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - - - - + Choose What to Sync Elige - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Cargando... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Nombre - + Size Tamaño - - + + No subfolders currently on the server. - + An error occurred while loading the list of sub folders. @@ -2649,7 +2678,7 @@ It is not advisable to use it. OCC::SocketApi - + Share with %1 parameter is ownCloud @@ -2856,275 +2885,285 @@ It is not advisable to use it. OCC::SyncEngine - + Success. Éxito. - + CSync failed to load the journal file. The journal file is corrupted. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>No fue posible cargar el plugin de %1 para csync.<br/>Por favor, verificá la instalación</p> - + CSync got an error while processing internal trees. CSync tuvo un error mientras procesaba los árboles de datos internos. - + CSync failed to reserve memory. CSync falló al reservar memoria. - + CSync fatal parameter error. Error fatal de parámetro en CSync. - + CSync processing step update failed. Falló el proceso de actualización de CSync. - + CSync processing step reconcile failed. Falló el proceso de composición de CSync - + CSync could not authenticate at the proxy. CSync no pudo autenticar el proxy. - + CSync failed to lookup proxy or server. CSync falló al realizar la busqueda del proxy. - + CSync failed to authenticate at the %1 server. CSync: fallo al autenticarse en el servidor %1. - + CSync failed to connect to the network. CSync: fallo al conectarse a la red - + A network connection timeout happened. - + A HTTP transmission error happened. Ha ocurrido un error de transmisión HTTP. - + The mounted folder is temporarily not available on the server - + An error occurred while opening a folder - + Error while reading folder. - + File/Folder is ignored because it's hidden. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() - + Not allowed because you don't have permission to add parent folder - + Not allowed because you don't have permission to add files in that folder - + CSync: No space on %1 server available. CSync: No hay más espacio disponible en el servidor %1. - + CSync unspecified error. Error no especificado de CSync - + Aborted by the user Interrumpido por el usuario - - Filename contains invalid characters that can not be synced cross platform. - - - - + CSync failed to access - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. - + CSync failed due to unhandled permission denied. - + CSync tried to create a folder that already exists. - + The service is temporarily unavailable - + Access is forbidden - + An internal error number %1 occurred. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. Los vínculos simbólicos no está soportados al sincronizar. - + File is listed on the ignore list. El archivo está en la lista de ignorados. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. - + Stat failed. - + Filename encoding is not valid - + Invalid characters, please rename "%1" - + Unable to initialize a sync journal. Imposible inicializar un diario de sincronización. - + Unable to read the blacklist from the local database - + Unable to read from the sync journal. - + Cannot open the sync journal - + File name contains at least one invalid character - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add subfolders to that folder - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Local files and share folder removed. - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination - + the source @@ -3148,17 +3187,17 @@ It is not advisable to use it. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> @@ -3408,10 +3447,10 @@ It is not advisable to use it. - - - - + + + + TextLabel EtiquetaDeTexto @@ -3431,7 +3470,23 @@ It is not advisable to use it. - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync @@ -3451,12 +3506,12 @@ It is not advisable to use it. &Mantener datos locales - + S&ync everything from server - + Status message Mensaje de estado @@ -3497,7 +3552,7 @@ It is not advisable to use it. - + TextLabel EtiquetaDeTexto @@ -3553,8 +3608,8 @@ It is not advisable to use it. - Server &Address - &Dirección del servidor: + Ser&ver Address + @@ -3595,7 +3650,7 @@ It is not advisable to use it. QApplication - + QT_LAYOUT_DIRECTION @@ -3603,40 +3658,46 @@ It is not advisable to use it. QObject - + in the future - + %n day(s) ago - + %n hour(s) ago - + now - + Less than a minute ago - + %n minute(s) ago - + Some time ago + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3661,37 +3722,37 @@ It is not advisable to use it. %L1 B - + %n year(s) - + %n month(s) - + %n day(s) - + %n hour(s) - + %n minute(s) - + %n second(s) - + %1 %2 %1 %2 @@ -3712,7 +3773,7 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> diff --git a/translations/client_et.ts b/translations/client_et.ts index eada926b0..017dbdef9 100644 --- a/translations/client_et.ts +++ b/translations/client_et.ts @@ -126,7 +126,7 @@ - + Cancel Loobu @@ -246,22 +246,32 @@ Logi sisse - - There are new folders that were not synchronized because they are too big: + + There are folders that were not synchronized because they are too big: - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal Kinnita konto eemaldamine - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection Eemalda ühendus @@ -521,6 +531,24 @@ Sertifikaadifailid (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Ühendus aegus @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Kasutaja poolt tühistatud @@ -604,157 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. Kohalikku kausta %1 pole olemas. - + %1 should be a folder but is not. - + %1 is not readable. %1 pole loetav. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 on eemaldatud. - + %1 has been downloaded. %1 names a file. %1 on alla laaditud. - + %1 has been updated. %1 names a file. %1 on uuendatud. - + %1 has been renamed to %2. %1 and %2 name files. %1 on ümber nimetatud %2. - + %1 has been moved to %2. %1 on tõstetud %2. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. %1 sünkroniseerimine ebaõnnestus tõrke tõttu. Lisainfot vaata logist. - + Sync Activity Sünkroniseerimise tegevus - + Could not read system exclude file Süsteemi väljajätmiste faili lugemine ebaõnnestus - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. + - - 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? + + A folder from an external storage has been added. + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Kustutada kõik failid? - + Remove all files Kustutada kõik failid - + Keep files Säilita failid - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Leiti varukoopia - + Normal Synchronisation Tavaline sünkroonimine - + Keep Local Files as Conflict @@ -762,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state Ei suutnud tühistada kataloogi staatust - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Leiti vana sünkroniseeringu zurnaal '%1', kuid selle eemaldamine ebaõnnenstus. Palun veendu, et seda kasutaks ükski programm. - + (backup) (varukoopia) - + (backup %1) (varukoopia %1) - + Undefined State. Määramata staatus. - + Waiting to start syncing. Oodatakse sünkroonimise alustamist. - + Preparing for sync. Valmistun sünkroniseerima. - + Sync is running. Sünkroniseerimine on käimas. - + Last Sync was successful. Viimane sünkroniseerimine oli edukas. - + Last Sync was successful, but with warnings on individual files. Viimane sünkroniseering oli edukas, kuid mõned failid põhjustasid tõrkeid. - + Setup Error. Seadistamise viga. - + User Abort. Kasutaja tühistamine. - + Sync is paused. Sünkroniseerimine on peatatud. - + %1 (Sync is paused) %1 (Sünkroniseerimine on peatatud) - + No valid folder selected! Sobilikku kausta pole valitud! - + The selected path is not a folder! Valitud asukoht pole kaust! - + You have no permission to write to the selected folder! Sul puuduvad õigused valitud kataloogi kirjutamiseks! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! - + 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! @@ -893,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder Kausta lisamiseks pead sa olema ühendatud - + Click this button to add a folder to synchronize. Sünkroniseeritava kausta lisamiseks kliki sellele nupule. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. - + Signed out Välja logitud - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. - + Fetching folder list from server... - + Checking for changes in '%1' Kontrollitakse muudatusi kaustas '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Sünkroniseerimine %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) allalaadimine %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) üleslaadimine %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 / %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 / %2, fail %3 / %4 - + file %1 of %2 fail %1 / %2-st - + Waiting... Ootamine... - + Waiting for %n other folder(s)... - + Preparing to sync... Sünkroniseerimiseks valmistumine... @@ -1027,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection - + Add Sync Connection @@ -1108,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an Sa juba sünkroniseerid kõiki oma faile. Teise kataloogi sünkroniseering <b>ei ole</b> toetatud. Kui soovid sünkroniseerida mitut kataloogi, palun eemalda hektel seadistatud sünkroniseeritav juurkataloog. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - - - OCC::FormatWarningsWizardPage @@ -1132,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ühtegi E-Silti ei saabunud serverist, kontrolli puhverserverit/lüüsi. - + We received a different E-Tag for resuming. Retrying next time. Saime jätkamiseks erineva E-Sildi. Proovin järgmine kord uuesti. - + Server returned wrong content-range Server tagastas vale vahemiku - + Connection Timeout Ühenduse aegumine @@ -1175,10 +1208,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an Täpsem - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1195,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an Kasuta ühevärvilisi ikoone - + Edit &Ignored Files Muuda &ignoreeritud faile - - Ask &confirmation before downloading folders larger than - - - - + S&how crash reporter &Näita kokkujooksmise teavitajat + - About Info - + Updates Uuendused - + &Restart && Update &Taaskäivita && Uuenda @@ -1393,7 +1432,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::MoveJob - + Connection timed out Ühendus aegus @@ -1542,23 +1581,23 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::NotificationWidget - + Created at %1 - + Closing in a few seconds... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' @@ -1641,28 +1680,28 @@ for additional privileges during the process. Ühenda... - + %1 folder '%2' is synced to local folder '%3' %1 kataloog '%2' on sünkroniseeritud kohalikku kataloogi '%3' - + Sync the folder '%1' Sünkrooni kaust '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> - + Local Sync Folder Kohalik Sync Kataloog - - + + (%1) (%1) @@ -1888,7 +1927,7 @@ Selle kasutamine pole soovitatav. Ei suuda eemaldada ning varundada kataloogi kuna kataloog või selles asuv fail on avatud mõne teise programmi poolt. Palun sulge kataloog või fail ning proovi uuesti või katkesta paigaldus. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Kohalik kataloog %1 edukalt loodud!</b></font> @@ -1927,7 +1966,7 @@ Selle kasutamine pole soovitatav. OCC::PUTFileJob - + Connection Timeout Ühenduse aegumine @@ -1935,7 +1974,7 @@ Selle kasutamine pole soovitatav. OCC::PollJob - + Invalid JSON reply from the poll URL @@ -1943,7 +1982,7 @@ Selle kasutamine pole soovitatav. OCC::PropagateDirectory - + Error writing metadata to the database @@ -1951,22 +1990,22 @@ Selle kasutamine pole soovitatav. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Faili %1 ei saa alla laadida kuna on konflikt kohaliku faili nimega. - + The download would reduce free disk space below %1 - + Free space on disk is less than %1 - + File was deleted from server Fail on serverist kustutatud @@ -1999,17 +2038,17 @@ Selle kasutamine pole soovitatav. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Taastamine ebaõnnestus: %1 - + Continue blacklisting: Jätka mustas nimekirjas hoidmist: - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -2072,7 +2111,7 @@ Selle kasutamine pole soovitatav. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Fail oli eemaldatud kirjutamisõiguseta kataloogist. See on nüüd taastatud. @@ -2085,7 +2124,7 @@ Selle kasutamine pole soovitatav. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Server saatis vale HTTP koodi. Ootuspärane kood oli 201, aga saadeti kood "%1 %2". @@ -2098,17 +2137,17 @@ Selle kasutamine pole soovitatav. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Kausta ei tohi ümber nimetada. Kausta algne nimi taastati. - + This folder must not be renamed. Please name it back to Shared. Kausta nime ei tohi muuta. Palun pane selle nimeks tagasi Shared. - + The file was renamed but is part of a read only share. The original file was restored. Fail oli ümber nimetatud, kuid see on osa kirjutamisõiguseta jagamisest. Algne fail taastati. @@ -2127,22 +2166,22 @@ Selle kasutamine pole soovitatav. OCC::PropagateUploadFileCommon - + File Removed Fail eemaldatud - + Local file changed during syncing. It will be resumed. Kohalik fail muutus sünkroniseeringu käigus. See taastakse. - + Local file changed during sync. Kohalik fail muutus sünkroniseeringu käigus. - + Error writing metadata to the database @@ -2150,32 +2189,32 @@ Selle kasutamine pole soovitatav. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The local file was removed during sync. Kohalik fail on eemaldatud sünkroniseeringu käigus. - + Local file changed during sync. Kohalik fail muutus sünkroniseeringu käigus. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2183,32 +2222,32 @@ Selle kasutamine pole soovitatav. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Faili on lokaalselt muudetud, kuid see on osa kirjutamisõiguseta jagamisest. See on taastatud ning sinu muudatus on konfliktses failis. - + Poll URL missing Küsitluse URL puudub - + The local file was removed during sync. Kohalik fail on eemaldatud sünkroniseeringu käigus. - + Local file changed during sync. Kohalik fail muutus sünkroniseeringu käigus. - + The server did not acknowledge the last chunk. (No e-tag was present) @@ -2226,42 +2265,42 @@ Selle kasutamine pole soovitatav. Tekstisilt - + Time Aeg - + File Fail - + Folder Kaust - + Action Tegevus - + Size Suurus - + Local sync protocol - + Copy Kopeeri - + Copy the activity list to the clipboard. Kopeeri tegevuste nimistu puhvrisse. @@ -2302,51 +2341,41 @@ Selle kasutamine pole soovitatav. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Märkimata kataloogid <b>eemaldatakse</b> kohalikust failisüsteemist ning neid ei sünkroniseerita enam sellesse arvutisse - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - - - - + Choose What to Sync Vali, mida sünkroniseerida - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Laadimine ... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Nimi - + Size Suurus - - + + No subfolders currently on the server. Serveris pole praegu alamkaustasid. - + An error occurred while loading the list of sub folders. @@ -2650,7 +2679,7 @@ Selle kasutamine pole soovitatav. OCC::SocketApi - + Share with %1 parameter is ownCloud Jagatud kasutajaga %1 @@ -2859,275 +2888,285 @@ Selle kasutamine pole soovitatav. OCC::SyncEngine - + Success. Korras. - + CSync failed to load the journal file. The journal file is corrupted. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Ei suuda laadida csync lisa %1.<br/>Palun kontrolli paigaldust!</p> - + CSync got an error while processing internal trees. CSync sai vea sisemiste andmestruktuuride töötlemisel. - + CSync failed to reserve memory. CSync ei suutnud mälu reserveerida. - + CSync fatal parameter error. CSync parameetri saatuslik viga. - + CSync processing step update failed. CSync uuendusprotsess ebaõnnestus. - + CSync processing step reconcile failed. CSync tasakaalustuse protsess ebaõnnestus. - + CSync could not authenticate at the proxy. CSync ei suutnud puhverserveris autoriseerida. - + CSync failed to lookup proxy or server. Csync ei suuda leida puhverserverit. - + CSync failed to authenticate at the %1 server. CSync autoriseering serveris %1 ebaõnnestus. - + CSync failed to connect to the network. CSync võrguga ühendumine ebaõnnestus. - + A network connection timeout happened. Toimus võrgukatkestus. - + A HTTP transmission error happened. HTTP ülekande viga. - + The mounted folder is temporarily not available on the server - + An error occurred while opening a folder - + Error while reading folder. - + File/Folder is ignored because it's hidden. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() - + Not allowed because you don't have permission to add parent folder - + Not allowed because you don't have permission to add files in that folder - + CSync: No space on %1 server available. CSync: Serveris %1 on ruum otsas. - + CSync unspecified error. CSync tuvastamatu viga. - + Aborted by the user Kasutaja poolt tühistatud - - Filename contains invalid characters that can not be synced cross platform. - - - - + CSync failed to access CSyncile ligipääs ebaõnnestus - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. - + CSync failed due to unhandled permission denied. - + CSync tried to create a folder that already exists. - + The service is temporarily unavailable Teenus pole ajutiselt saadaval - + Access is forbidden Ligipääs on keelatud - + An internal error number %1 occurred. - + The item is not synced because of previous errors: %1 Üksust ei sünkroniseeritud eelnenud vigade tõttu: %1 - + Symbolic links are not supported in syncing. Sümboolsed lingid ei ole sünkroniseerimisel toetatud. - + File is listed on the ignore list. Fail on märgitud ignoreeritavate nimistus. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. Faili nimi on liiga pikk. - + Stat failed. - + Filename encoding is not valid Failinime kodeering pole kehtiv - + Invalid characters, please rename "%1" - + Unable to initialize a sync journal. Ei suuda lähtestada sünkroniseeringu zurnaali. - + Unable to read the blacklist from the local database - + Unable to read from the sync journal. - + Cannot open the sync journal Ei suuda avada sünkroniseeringu zurnaali - + File name contains at least one invalid character Faili nimesonvähemalt üks keelatud märk - - + + Ignored because of the "choose what to sync" blacklist "Vali, mida sünkroniseerida" musta nimekirja tõttu vahele jäetud - + Not allowed because you don't have permission to add subfolders to that folder - + Not allowed to upload this file because it is read-only on the server, restoring Pole lubatud üles laadida, kuna tegemist on ainult-loetava serveriga, taastan - - + + Not allowed to remove, restoring Eemaldamine pole lubatud, taastan - + Local files and share folder removed. Kohalikud failid ja jagatud kaustad eemaldatud. - + Move not allowed, item restored Liigutamine pole lubatud, üksus taastatud - + Move not allowed because %1 is read-only Liigutamien pole võimalik kuna %1 on ainult lugemiseks - + the destination sihtkoht - + the source allikas @@ -3151,17 +3190,17 @@ Selle kasutamine pole soovitatav. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> @@ -3411,10 +3450,10 @@ Selle kasutamine pole soovitatav. - - - - + + + + TextLabel Tekstisilt @@ -3434,7 +3473,23 @@ Selle kasutamine pole soovitatav. - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Vali, mida sünkroniseerida @@ -3454,12 +3509,12 @@ Selle kasutamine pole soovitatav. &Säilita kohalikud andmed - + S&ync everything from server - + Status message Staatuse teade @@ -3500,7 +3555,7 @@ Selle kasutamine pole soovitatav. - + TextLabel Tekstisilt @@ -3556,8 +3611,8 @@ Selle kasutamine pole soovitatav. - Server &Address - Serveri &Aadress + Ser&ver Address + @@ -3597,7 +3652,7 @@ Selle kasutamine pole soovitatav. QApplication - + QT_LAYOUT_DIRECTION @@ -3605,40 +3660,46 @@ Selle kasutamine pole soovitatav. QObject - + in the future tulevikus - + %n day(s) ago - + %n hour(s) ago - + now kohe - + Less than a minute ago Vähem kui minut tagasi - + %n minute(s) ago - + Some time ago Mõni aeg tagasi + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3663,37 +3724,37 @@ Selle kasutamine pole soovitatav. %L1 B - + %n year(s) - + %n month(s) - + %n day(s) - + %n hour(s) - + %n minute(s) - + %n second(s) - + %1 %2 %1 %2 @@ -3714,7 +3775,7 @@ Selle kasutamine pole soovitatav. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> diff --git a/translations/client_eu.ts b/translations/client_eu.ts index 05f344e97..6b796e609 100644 --- a/translations/client_eu.ts +++ b/translations/client_eu.ts @@ -126,7 +126,7 @@ - + Cancel Ezeztatu @@ -246,22 +246,32 @@ Hasi saioa - - There are new folders that were not synchronized because they are too big: - Sinkronizatuko ez diren oso handiak diren karpeta berriak daude: + + There are folders that were not synchronized because they are too big: + - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal Baieztatu Kontuaren Ezabatzea - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection Ezabatu konexioa @@ -521,6 +531,24 @@ Ziurtagiri fitxategiak (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Konexioa iraungi da @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Erabiltzaileak bertan behera utzita @@ -604,157 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. Bertako %1 karpeta ez da existitzen. - + %1 should be a folder but is not. %1 karpeta bat izan behar zen baina ez da. - + %1 is not readable. %1 ezin da irakurri. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 ezabatua izan da. - + %1 has been downloaded. %1 names a file. %1 deskargatu da. - + %1 has been updated. %1 names a file. %1 kargatu da. - + %1 has been renamed to %2. %1 and %2 name files. %1 %2-(e)ra berrizendatu da. - + %1 has been moved to %2. %1 %2-(e)ra mugitu da. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. %1 ezin izan da sinkronizatu akats bat dela eta. Ikusi egunerkoa zehaztapen gehiago izateko. - + Sync Activity Sinkronizazio Jarduerak - + Could not read system exclude file Ezin izan da sistemako baztertutakoen fitxategia irakurri - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. + - - 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? + + A folder from an external storage has been added. + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Ezabatu Fitxategi Guztiak? - + Remove all files Ezabatu fitxategi guztiak - + Keep files Mantendu fitxategiak - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected - + Normal Synchronisation - + Keep Local Files as Conflict @@ -762,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state Ezin izan da karpetaren egoera berrezarri - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Aurkitu da '%1' sinkronizazio erregistro zaharra, baina ezin da ezabatu. Ziurtatu aplikaziorik ez dela erabiltzen ari. - + (backup) - + (backup %1) - + Undefined State. Definitu gabeko egoera. - + Waiting to start syncing. Itxoiten sinkronizazioa hasteko. - + Preparing for sync. Sinkronizazioa prestatzen. - + Sync is running. Sinkronizazioa martxan da. - + Last Sync was successful. Azkeneko sinkronizazioa ongi burutu zen. - + Last Sync was successful, but with warnings on individual files. Azkenengo sinkronizazioa ongi burutu zen, baina banakako fitxategi batzuetan abisuak egon dira. - + Setup Error. Konfigurazio errorea. - + User Abort. Erabiltzaileak bertan behera utzi. - + Sync is paused. Sinkronizazioa pausatuta dago. - + %1 (Sync is paused) %1 (Sinkronizazioa pausatuta dago) - + No valid folder selected! Ez da karpeta egokirik hautatu! - + The selected path is not a folder! Hautatutako bidea ez da karpeta bat! - + You have no permission to write to the selected folder! Ez daukazu hautatutako karpetan idazteko baimenik! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! - + 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! @@ -893,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder - + Click this button to add a folder to synchronize. - + %1 (%2) Example text: "File.txt (23KB)" - + Error while loading the list of folders from the server. Errorea zerbitzaritik karpeten zerrenda eskuratzean. - + Signed out Saioa bukatuta - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. - + Fetching folder list from server... Zerbitzaritik karpeta zerrenda eskuratzen... - + Checking for changes in '%1' - + , '%1' Build a list of file names - + '%1' Argument is a file name - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" %1 Sinkronizatzen - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) Deskargatu %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) igo %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%4 - %3tik) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" - + file %1 of %2 %1. fitxategia %2tik - + Waiting... Itxoiten... - + Waiting for %n other folder(s)... Itxoiten beste karpeta %n...Itxoiten beste %n karpeta... - + Preparing to sync... Sinkronizatzeko prestatzen... @@ -1027,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection Gehitu Karpeta Sinkronizatzeko Konexioa - + Add Sync Connection Gehitu Sinkronizazio Konexioa @@ -1108,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an Dagoeneko fitxategi guztiak sinkronizatzen ari zara. <b>Ezin<b> da sinkronizatu beste karpeta bat. Hainbat karpeta batera sinkronizatu nahi baduzu ezaba ezazu orain konfiguratuta duzun sinkronizazio karpeta nagusia. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Hautatu zer nahi duzun sinkronizatzea: Sinkronizatu nahi ez dituzun urruneko azpikarpetak desmarkatu ditzazkezu. - - OCC::FormatWarningsWizardPage @@ -1132,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ez da E-Tagik jaso zerbitzaritik, egiaztatu Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. Jarraitzeko E-Tag ezberdina jaso dugu. Hurrengoan saiatuko gara berriz. - + Server returned wrong content-range Zerbitzariak eduki-hein desegokia itzuli du - + Connection Timeout Konexioa denboraz kanpo @@ -1175,10 +1208,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an Aurreratua - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1195,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an Erabili &Kolore Bakarreko Ikonoak - + Edit &Ignored Files - - Ask &confirmation before downloading folders larger than - Eskatu &baieztapena hau baiono karpeta handiagoak deskargatzeko - - - + S&how crash reporter + - About Honi buruz - + Updates Eguneraketak - + &Restart && Update Be&rrabiarazi eta Eguneratu @@ -1395,7 +1434,7 @@ Ezabatzeko baimena duten itemak ezabatuko dira hauek karpeta bat ezabatzea uzten OCC::MoveJob - + Connection timed out Konexioa denboraz kanpo @@ -1544,23 +1583,23 @@ Ezabatzeko baimena duten itemak ezabatuko dira hauek karpeta bat ezabatzea uzten OCC::NotificationWidget - + Created at %1 - + Closing in a few seconds... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' @@ -1643,28 +1682,28 @@ for additional privileges during the process. Konektatu... - + %1 folder '%2' is synced to local folder '%3' - + Sync the folder '%1' '%1' karpeta sinkronizatu - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> - + Local Sync Folder Sinkronizazio karpeta lokala - - + + (%1) (%1) @@ -1890,7 +1929,7 @@ Ez da gomendagarria erabltzea. Ezin da karpeta ezabatu eta kopia egin, karpeta edo barruko fitxategiren bat beste programa batean irekita dagoelako. Mesedez itxi karpeta edo fitxategia eta sakatu berrekin edo ezeztatu konfigurazioa. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Bertako sinkronizazio %1 karpeta ongi sortu da!</b></font> @@ -1929,7 +1968,7 @@ Ez da gomendagarria erabltzea. OCC::PUTFileJob - + Connection Timeout Konexioa denboraz kanpo @@ -1937,7 +1976,7 @@ Ez da gomendagarria erabltzea. OCC::PollJob - + Invalid JSON reply from the poll URL @@ -1945,7 +1984,7 @@ Ez da gomendagarria erabltzea. OCC::PropagateDirectory - + Error writing metadata to the database @@ -1953,22 +1992,22 @@ Ez da gomendagarria erabltzea. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! - + The download would reduce free disk space below %1 - + Free space on disk is less than %1 - + File was deleted from server Fitxategia zerbitzaritik ezabatua izan da @@ -2001,17 +2040,17 @@ Ez da gomendagarria erabltzea. OCC::PropagateItemJob - + ; Restoration Failed: %1 - + Continue blacklisting: - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -2074,7 +2113,7 @@ Ez da gomendagarria erabltzea. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. @@ -2087,7 +2126,7 @@ Ez da gomendagarria erabltzea. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". @@ -2100,17 +2139,17 @@ Ez da gomendagarria erabltzea. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Karpeta hau ezin da berrizendatu. Bere jatorrizko izenera berrizendatu da. - + This folder must not be renamed. Please name it back to Shared. Karpeta hau ezin da berrizendatu. Mesedez jarri berriz Shared izena. - + The file was renamed but is part of a read only share. The original file was restored. @@ -2129,22 +2168,22 @@ Ez da gomendagarria erabltzea. OCC::PropagateUploadFileCommon - + File Removed Fitxategia Ezabatua - + Local file changed during syncing. It will be resumed. - + Local file changed during sync. Fitxategi lokala aldatu da sinkronizazioan. - + Error writing metadata to the database @@ -2152,32 +2191,32 @@ Ez da gomendagarria erabltzea. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The local file was removed during sync. Fitxategi lokala ezabatu da sinkronizazioan. - + Local file changed during sync. Fitxategi lokala aldatu da sinkronizazioan. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2185,32 +2224,32 @@ Ez da gomendagarria erabltzea. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + Poll URL missing - + The local file was removed during sync. Fitxategi lokala ezabatu da sinkronizazioan. - + Local file changed during sync. Fitxategi lokala aldatu da sinkronizazioan. - + The server did not acknowledge the last chunk. (No e-tag was present) @@ -2228,42 +2267,42 @@ Ez da gomendagarria erabltzea. TestuEtiketa - + Time Noiz - + File Fitxategia - + Folder Karpeta - + Action Ekintza - + Size Tamaina - + Local sync protocol Bertako sinkronizazio protokolo - + Copy Kopiatu - + Copy the activity list to the clipboard. Kopiatu jarduera zerrenda arbelara. @@ -2304,51 +2343,41 @@ Ez da gomendagarria erabltzea. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Desmarkatutako karpetak zure bertako fitxategi sistematik <b>ezabatuko</b> dira eta ez dira gehiago ordenagailu honekin sinkronizatuko - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Hautatu zer nahi duzun sinkronizatzea: Hautatu sinkronizatu nahi dituzun urruneko azpikarpetak. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Hautatu zer nahi duzun sinkronizatzea: Desmarkatu sinkronizatu nahi ez dituzun urruneko azpikarpetak. - - - + Choose What to Sync Hautatu zer sinkronizatu - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Kargatzen... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Izena - + Size Tamaina - - + + No subfolders currently on the server. Ez dago azpikarpetarik zerbitzarian. - + An error occurred while loading the list of sub folders. @@ -2652,7 +2681,7 @@ Ez da gomendagarria erabltzea. OCC::SocketApi - + Share with %1 parameter is ownCloud @@ -2859,275 +2888,285 @@ Ez da gomendagarria erabltzea. OCC::SyncEngine - + Success. Arrakasta. - + CSync failed to load the journal file. The journal file is corrupted. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csyncen %1 plugina ezin da kargatu.<br/>Mesedez egiaztatu instalazioa!</p> - + CSync got an error while processing internal trees. CSyncek errorea izan du barne zuhaitzak prozesatzerakoan. - + CSync failed to reserve memory. CSyncek huts egin du memoria alokatzean. - + CSync fatal parameter error. CSync parametro larri errorea. - + CSync processing step update failed. CSync prozesatzearen eguneratu urratsak huts egin du. - + CSync processing step reconcile failed. CSync prozesatzearen berdinkatze urratsak huts egin du. - + CSync could not authenticate at the proxy. CSyncek ezin izan du proxya autentikatu. - + CSync failed to lookup proxy or server. CSyncek huts egin du zerbitzaria edo proxia bilatzean. - + CSync failed to authenticate at the %1 server. CSyncek huts egin du %1 zerbitzarian autentikatzean. - + CSync failed to connect to the network. CSyncek sarera konektatzean huts egin du. - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP transmisio errore bat gertatu da. - + The mounted folder is temporarily not available on the server - + An error occurred while opening a folder Errore bat egon da karpeta bat irekitzearkoan - + Error while reading folder. - + File/Folder is ignored because it's hidden. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() - + Not allowed because you don't have permission to add parent folder - + Not allowed because you don't have permission to add files in that folder - + CSync: No space on %1 server available. CSync: Ez dago lekurik %1 zerbitzarian. - + CSync unspecified error. CSyncen zehaztugabeko errorea. - + Aborted by the user Erabiltzaileak bertan behera utzita - - Filename contains invalid characters that can not be synced cross platform. - - - - + CSync failed to access - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. - + CSync failed due to unhandled permission denied. - + CSync tried to create a folder that already exists. - + The service is temporarily unavailable - + Access is forbidden - + An internal error number %1 occurred. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. Esteka sinbolikoak ezin dira sinkronizatu. - + File is listed on the ignore list. Fitxategia baztertutakoen zerrendan dago. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. - + Stat failed. - + Filename encoding is not valid - + Invalid characters, please rename "%1" - + Unable to initialize a sync journal. Ezin izan da sinkronizazio egunerokoa hasieratu. - + Unable to read the blacklist from the local database - + Unable to read from the sync journal. - + Cannot open the sync journal Ezin da sinkronizazio egunerokoa ireki - + File name contains at least one invalid character Fitxategi izenak behintzat baliogabeko karaktere bat du - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add subfolders to that folder - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring Ezabatzeko baimenik gabe, berrezartzen - + Local files and share folder removed. - + Move not allowed, item restored Mugitzea ez dago baimenduta, elementua berrezarri da - + Move not allowed because %1 is read-only Mugitzea ez dago baimenduta %1 irakurtzeko bakarrik delako - + the destination helburua - + the source jatorria @@ -3151,17 +3190,17 @@ Ez da gomendagarria erabltzea. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>%1 Bertsioa. Informazio gehiago eskuratzeko ikusi <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> @@ -3411,10 +3450,10 @@ Ez da gomendagarria erabltzea. - - - - + + + + TextLabel TestuEtiketa @@ -3434,7 +3473,23 @@ Ez da gomendagarria erabltzea. Hasi sinkronizazio &garbia (Bertako karpeta ezabatzen du!) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Hautatu zer sinkronizatu @@ -3454,12 +3509,12 @@ Ez da gomendagarria erabltzea. Mantendu datu lo&kalak - + S&ync everything from server &Sinkronizatu zerbitzarian dagoen guztia - + Status message Egoera mezua @@ -3500,7 +3555,7 @@ Ez da gomendagarria erabltzea. - + TextLabel TestuEtiketa @@ -3556,8 +3611,8 @@ Ez da gomendagarria erabltzea. - Server &Address - Zerbitzari &Helbidea + Ser&ver Address + @@ -3597,7 +3652,7 @@ Ez da gomendagarria erabltzea. QApplication - + QT_LAYOUT_DIRECTION @@ -3605,40 +3660,46 @@ Ez da gomendagarria erabltzea. QObject - + in the future - + %n day(s) ago - + %n hour(s) ago - + now - + Less than a minute ago Orain dela minutu bat baino gutxiago - + %n minute(s) ago - + Some time ago + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3663,37 +3724,37 @@ Ez da gomendagarria erabltzea. %L1 B - + %n year(s) - + %n month(s) - + %n day(s) - + %n hour(s) - + %n minute(s) - + %n second(s) - + %1 %2 %1 %2 @@ -3714,7 +3775,7 @@ Ez da gomendagarria erabltzea. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Giteko <a href="%1">%2</a>. errebisiotik konpilatuta %3-an, %4etan Qt %5, %6 erabiliz</small></p> diff --git a/translations/client_fa.ts b/translations/client_fa.ts index 19733a9ea..4632cf3fe 100644 --- a/translations/client_fa.ts +++ b/translations/client_fa.ts @@ -116,7 +116,7 @@ Apply manual changes - + تایید تغییرات دستی @@ -126,7 +126,7 @@ - + Cancel منصرف شدن @@ -246,22 +246,32 @@ ورود - - There are new folders that were not synchronized because they are too big: + + There are folders that were not synchronized because they are too big: - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection @@ -521,6 +531,24 @@ + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user متوقف شده توسط کاربر @@ -604,157 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. پوشه محلی %1 موجود نیست. - + %1 should be a folder but is not. - + %1 is not readable. %1 قابل خواندن نیست. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 حذف شده است. - + %1 has been downloaded. %1 names a file. %1 بارگزاری شد. - + %1 has been updated. %1 names a file. %1 بروز رسانی شده است. - + %1 has been renamed to %2. %1 and %2 name files. %1 به %2 تغییر نام داده شده است. - + %1 has been moved to %2. %1 به %2 انتقال داده شده است. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. - + Sync Activity فعالیت همگام سازی - + Could not read system exclude file - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. + - - 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? + + A folder from an external storage has been added. + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? حذف تمام فایل ها؟ - + Remove all files حذف تمام فایل ها - + Keep files نگه داشتن فایل ها - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected - + Normal Synchronisation - + Keep Local Files as Conflict @@ -762,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state نمی تواند حالت پوشه را تنظیم مجدد کند - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + (backup) (backup) - + (backup %1) (پشتیبان %1) - + Undefined State. موقعیت تعریف نشده - + Waiting to start syncing. - + Preparing for sync. آماده سازی برای همگام سازی کردن. - + Sync is running. همگام سازی در حال اجراست - + Last Sync was successful. آخرین همگام سازی موفقیت آمیز بود - + Last Sync was successful, but with warnings on individual files. - + Setup Error. خطا در پیکر بندی. - + User Abort. خارج کردن کاربر. - + Sync is paused. همگام سازی فعلا متوقف شده است - + %1 (Sync is paused) %1 (همگام‌سازی موقتا متوقف شده است) - + No valid folder selected! هیچ پوشه‌ی معتبری انتخاب نشده است! - + The selected path is not a folder! - + You have no permission to write to the selected folder! شما اجازه نوشتن در پوشه های انتخاب شده را ندارید! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! - + 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! @@ -893,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder - + Click this button to add a folder to synchronize. برای افزودن پوشه به همگام‌سازی روی این دکمه کلیک کنید. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. - + Signed out خارج شد - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. - + Fetching folder list from server... - + Checking for changes in '%1' - + , '%1' Build a list of file names - + '%1' Argument is a file name - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" همگام‌سازی %1 - - + + , رشته های ترجمه نشده - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) دانلود %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) آپلود %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 از %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" - + file %1 of %2 فایل %1 از %2 - + Waiting... درحال انتظار... - + Waiting for %n other folder(s)... در انتظار برای %n پوشه‌‎ی دیگر ... - + Preparing to sync... آماده‌سازی همگام‌سازی ... @@ -1027,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection - + Add Sync Connection @@ -1108,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - - - OCC::FormatWarningsWizardPage @@ -1132,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Server returned wrong content-range - + Connection Timeout تایم اوت اتصال @@ -1175,10 +1208,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an پیشرفته - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1195,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an - + Edit &Ignored Files - - Ask &confirmation before downloading folders larger than - - - - + S&how crash reporter + - About درباره - + Updates به روز رسانی ها - + &Restart && Update @@ -1393,7 +1432,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::MoveJob - + Connection timed out @@ -1542,23 +1581,23 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::NotificationWidget - + Created at %1 - + Closing in a few seconds... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' @@ -1641,28 +1680,28 @@ for additional privileges during the process. اتصال... - + %1 folder '%2' is synced to local folder '%3' %1 پوشه '%2' با پوشه محلی همگام شده است '%3' - + Sync the folder '%1' همگام‌سازی پوشه‌ی '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> - + Local Sync Folder پوشه همگام سازی محلی - - + + (%1) (%1) @@ -1887,7 +1926,7 @@ It is not advisable to use it. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b> پوشه همگام سازی محلی %1 با موفقیت ساخته شده است!</b></font> @@ -1926,7 +1965,7 @@ It is not advisable to use it. OCC::PUTFileJob - + Connection Timeout تایم اوت اتصال @@ -1934,7 +1973,7 @@ It is not advisable to use it. OCC::PollJob - + Invalid JSON reply from the poll URL @@ -1942,7 +1981,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database @@ -1950,22 +1989,22 @@ It is not advisable to use it. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! - + The download would reduce free disk space below %1 - + Free space on disk is less than %1 - + File was deleted from server فایل از روی سرور حذف شد @@ -1998,17 +2037,17 @@ It is not advisable to use it. OCC::PropagateItemJob - + ; Restoration Failed: %1 - + Continue blacklisting: - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -2071,7 +2110,7 @@ It is not advisable to use it. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. @@ -2084,7 +2123,7 @@ It is not advisable to use it. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". @@ -2097,17 +2136,17 @@ It is not advisable to use it. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -2126,22 +2165,22 @@ It is not advisable to use it. OCC::PropagateUploadFileCommon - + File Removed فایل حذف شد - + Local file changed during syncing. It will be resumed. - + Local file changed during sync. فایل محلی در حین همگام‌سازی تغییر کرده است. - + Error writing metadata to the database @@ -2149,32 +2188,32 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The local file was removed during sync. فایل محلی در حین همگام‌سازی حذف شده است. - + Local file changed during sync. فایل محلی در حین همگام‌سازی تغییر کرده است. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2182,32 +2221,32 @@ It is not advisable to use it. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + Poll URL missing - + The local file was removed during sync. فایل محلی در حین همگام‌سازی حذف شده است. - + Local file changed during sync. فایل محلی در حین همگام‌سازی تغییر کرده است. - + The server did not acknowledge the last chunk. (No e-tag was present) @@ -2225,42 +2264,42 @@ It is not advisable to use it. برچسب متنی - + Time زمان - + File فایل - + Folder پوشه - + Action فعالیت - + Size اندازه - + Local sync protocol - + Copy کپی کردن - + Copy the activity list to the clipboard. @@ -2301,51 +2340,41 @@ It is not advisable to use it. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - - - - + Choose What to Sync انتخاب موارد همگام‌سازی - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... درحال بارگذاری... - + + Deselect remote folders you do not wish to synchronize. + + + + Name نام - + Size اندازه - - + + No subfolders currently on the server. - + An error occurred while loading the list of sub folders. @@ -2649,7 +2678,7 @@ It is not advisable to use it. OCC::SocketApi - + Share with %1 parameter is ownCloud اشتراک‌گذاری با %1 @@ -2856,275 +2885,285 @@ It is not advisable to use it. OCC::SyncEngine - + Success. موفقیت - + CSync failed to load the journal file. The journal file is corrupted. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>ماژول %1 برای csync نمی تواند بارگذاری شود.<br/>لطفا نصب را بررسی کنید!</p> - + CSync got an error while processing internal trees. CSync هنگام پردازش درختان داخلی یک خطا دریافت نمود. - + CSync failed to reserve memory. CSync موفق به رزرو حافظه نشد است. - + CSync fatal parameter error. - + CSync processing step update failed. مرحله به روز روسانی پردازش CSync ناموفق بود. - + CSync processing step reconcile failed. مرحله تطبیق پردازش CSync ناموفق بود. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. عدم موفقیت CSync برای مراجعه به پروکسی یا سرور. - + CSync failed to authenticate at the %1 server. عدم موفقیت CSync برای اعتبار دادن در %1 سرور. - + CSync failed to connect to the network. عدم موفقیت CSync برای اتصال به شبکه. - + A network connection timeout happened. - + A HTTP transmission error happened. خطا در انتقال HTTP اتفاق افتاده است. - + The mounted folder is temporarily not available on the server - + An error occurred while opening a folder یک خطا در هنگام باز کردن یک پوشه رخ داده‌ است - + Error while reading folder. خطا در هنگام خواندن پوشه - + File/Folder is ignored because it's hidden. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() - + Not allowed because you don't have permission to add parent folder - + Not allowed because you don't have permission to add files in that folder - + CSync: No space on %1 server available. CSync: فضا در %1 سرور در دسترس نیست. - + CSync unspecified error. خطای نامشخص CSync - + Aborted by the user متوقف شده توسط کاربر - - Filename contains invalid characters that can not be synced cross platform. - - - - + CSync failed to access - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. - + CSync failed due to unhandled permission denied. - + CSync tried to create a folder that already exists. - + The service is temporarily unavailable سرویس بصورت موقت خارج از دسترس است - + Access is forbidden - + An internal error number %1 occurred. یک خطای داخلی با شماره خطای %1 رخ داده است. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. نام فایل خیلی طولانی است. - + Stat failed. وضعیت ناموفق - + Filename encoding is not valid رمزگذاری نام فایل معتبر نیست - + Invalid characters, please rename "%1" کاراکتر نامعتبر، لطفا "%1" را تغییر نام دهید - + Unable to initialize a sync journal. - + Unable to read the blacklist from the local database - + Unable to read from the sync journal. - + Cannot open the sync journal - + File name contains at least one invalid character نام فایل دارای حداقل یک کاراکتر نامعتبر است - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add subfolders to that folder با توجه به عدم اجازه‌ی شما به ایجاد زیرپوشه به پوشه مجاز نیست - + Not allowed to upload this file because it is read-only on the server, restoring آپلود این فایل با توجه به فقط-خواندنی بودن آن در سرور مجاز نیست، در حال بازگرداندن - - + + Not allowed to remove, restoring حذف مجاز نیست، در حال بازگردادن - + Local files and share folder removed. فایل‌های محلی و پوشه‌ی اشتراک حذف شد. - + Move not allowed, item restored انتقال مجاز نیست، مورد بازگردانده شد - + Move not allowed because %1 is read-only - + the destination مقصد - + the source مبدا @@ -3148,17 +3187,17 @@ It is not advisable to use it. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>نسخه %1. برای اطلاعات بیشتر لطفا اینجا را مشاهده کنید t <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> @@ -3408,10 +3447,10 @@ It is not advisable to use it. - - - - + + + + TextLabel برچسب متنی @@ -3431,7 +3470,23 @@ It is not advisable to use it. - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync انتخاب موارد همگام‌سازی @@ -3451,12 +3506,12 @@ It is not advisable to use it. & نگهداری داده‌ محلی - + S&ync everything from server - + Status message پیغام وضعیت @@ -3497,7 +3552,7 @@ It is not advisable to use it. - + TextLabel برچسب متنی @@ -3553,8 +3608,8 @@ It is not advisable to use it. - Server &Address - سرور& آدرس + Ser&ver Address + @@ -3594,7 +3649,7 @@ It is not advisable to use it. QApplication - + QT_LAYOUT_DIRECTION @@ -3602,40 +3657,46 @@ It is not advisable to use it. QObject - + in the future - + %n day(s) ago - + %n hour(s) ago - + now - + Less than a minute ago - + %n minute(s) ago - + Some time ago + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3660,37 +3721,37 @@ It is not advisable to use it. %L1 B - + %n year(s) - + %n month(s) - + %n day(s) - + %n hour(s) - + %n minute(s) - + %n second(s) - + %1 %2 %1 %2 @@ -3711,7 +3772,7 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> diff --git a/translations/client_fi.ts b/translations/client_fi.ts index 70055d27b..d7c84eb59 100644 --- a/translations/client_fi.ts +++ b/translations/client_fi.ts @@ -126,7 +126,7 @@ - + Cancel Peruuta @@ -246,22 +246,32 @@ Kirjaudu sisään - - There are new folders that were not synchronized because they are too big: - Havaittiin uusia kansioita, joita ei synkronoitu niiden suuren koon vuoksi: + + There are folders that were not synchronized because they are too big: + - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal Vahvista tilin poistaminen - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Haluatko varmasti poistaa tilin <i>%1</i>?</p><p><b>Huomio:</b> Tämä toimenpide <b>ei</b> poista mitään tiedostoja.</p> - + Remove connection Poista yhteys @@ -521,6 +531,24 @@ Varmennetiedostot (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Virhe kirjoittaessa metadataa tietokantaan @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Yhteys aikakatkaistiin @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Keskeytetty käyttäjän toimesta @@ -604,158 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. Paikallista kansiota %1 ei ole olemassa. - + %1 should be a folder but is not. Kohteen %1 pitäisi olla kansio, mutta se ei kuitenkaan ole kansio. - + %1 is not readable. %1 ei ole luettavissa. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 on poistettu. - + %1 has been downloaded. %1 names a file. %1 on ladattu. - + %1 has been updated. %1 names a file. %1 on päivitetty. - + %1 has been renamed to %2. %1 and %2 name files. %1 on nimetty uudeelleen muotoon %2. - + %1 has been moved to %2. %1 on siirretty kohteeseen %2. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. Kohdetta %1 ei voi synkronoida virheen vuoksi. Katso tarkemmat tiedot lokista. - + Sync Activity Synkronointiaktiviteetti - + Could not read system exclude file - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - Uusi kansio, joka on suurempi kuin %1 Mt, on lisätty: %2. -Siirry asetuksiin valitaksesi sen, jos haluat ladata kyseisen kansion. - - - - 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? + - + + A folder from an external storage has been added. + + + + + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Poistetaanko kaikki tiedostot? - + Remove all files Poista kaikki tiedostot - + Keep files Säilytä tiedostot - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Varmuuskopio poistettu - + Normal Synchronisation Normaali synkronointi - + Keep Local Files as Conflict @@ -763,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state Kansion tilaa ei voitu alustaa - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + (backup) (varmuuskopio) - + (backup %1) (varmuuskopio %1) - + Undefined State. Määrittelemätön tila. - + Waiting to start syncing. Odotetaan synkronoinnin aloitusta. - + Preparing for sync. Valmistellaan synkronointia. - + Sync is running. Synkronointi on meneillään. - + Last Sync was successful. Viimeisin synkronointi suoritettiin onnistuneesti. - + Last Sync was successful, but with warnings on individual files. Viimeisin synkronointi onnistui, mutta yksittäisten tiedostojen kanssa ilmeni varoituksia. - + Setup Error. Asetusvirhe. - + User Abort. - + Sync is paused. Synkronointi on keskeytetty. - + %1 (Sync is paused) %1 (Synkronointi on keskeytetty) - + No valid folder selected! Kelvollista kansiota ei ole valittu! - + The selected path is not a folder! Valittu polku ei ole kansio! - + You have no permission to write to the selected folder! Sinulla ei ole kirjoitusoikeutta valittuun kansioon! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! Paikallinen kansio %1 sisältää kansion, jota käytetään kansion synkronointiyhteydessä. Valitse toinen kansio! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! - + 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! @@ -894,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder Yhteyden tulee olla muodostettu, jotta voit lisätä kansion - + Click this button to add a folder to synchronize. Napsauta valitaksesi synkronoitavan kansion. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Virhe ladatessa kansiolistausta palvelimelta. - + Signed out Kirjauduttu ulos - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. Kansion lisääminen on poistettu käytöstä, koska synkronoit jo kaikki tiedostot. Jos haluat synkronoida useita kansioita, poista nykyisen juurikansion synkronointiyhteys. - + Fetching folder list from server... Haetaan kansioluetteloa palvelimelta... - + Checking for changes in '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Synkronoidaan %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) - + u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) - + u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3/%4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" %5 jäljellä, %1/%2, tiedosto %3/%4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1/%2, tiedosto %3/%4 - + file %1 of %2 tiedosto %1/%2 - + Waiting... Odotetaan... - + Waiting for %n other folder(s)... Odotetaan %n muuta kansiota...Odotetaan %n muuta kansiota... - + Preparing to sync... Valmistaudutaan synkronointiin... @@ -1028,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection Lisää kansion synkronointiyhteys - + Add Sync Connection Lisää synkronointiyhteys @@ -1109,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Päätä mitä synkronoidaan: voit valinnaisesti jättää valitsematta etäkansioita, joita et halua synkronoitavan. - - OCC::FormatWarningsWizardPage @@ -1133,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Server returned wrong content-range - + Connection Timeout Yhteys aikakatkaistiin @@ -1176,10 +1208,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an Lisäasetukset - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" Mt + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1196,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an Käytä &mustavalkoisia kuvakkeita - + Edit &Ignored Files Muokkaa &ohitettavia tiedostoja - - Ask &confirmation before downloading folders larger than - Kysy &vahvistus, ennen kuin ladataan kansiot suurempia kuin - - - + S&how crash reporter N&äytä kaatumisraportoija + - About Tietoja - + Updates Päivitykset - + &Restart && Update &Käynnistä uudelleen && päivitä @@ -1396,7 +1434,7 @@ Kohteet, joiden poisto on sallittu, poistetaan, jos ne estävät kansion poistam OCC::MoveJob - + Connection timed out Yhteys aikakatkaistiin @@ -1545,23 +1583,23 @@ Kohteet, joiden poisto on sallittu, poistetaan, jos ne estävät kansion poistam OCC::NotificationWidget - + Created at %1 Luotu %1 - + Closing in a few seconds... Suljetaan muutamassa sekunnissa... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' valittu %2 @@ -1644,28 +1682,28 @@ for additional privileges during the process. Yhdistä... - + %1 folder '%2' is synced to local folder '%3' %1-kansio '%2' on synkronoitu paikalliseen kansioon '%3' - + Sync the folder '%1' Synkronoi kansio '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Varoitus:</strong> Paikallinen kansio ei ole tyhjä. Valitse jatkotoimenpide!</small></p> - + Local Sync Folder Paikallinen synkronointikansio - - + + (%1) (%1) @@ -1891,7 +1929,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Paikallinen synkronointikansio %1 luotu onnistuneesti!</b></font> @@ -1930,7 +1968,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::PUTFileJob - + Connection Timeout Yhteys aikakatkaistiin @@ -1938,7 +1976,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::PollJob - + Invalid JSON reply from the poll URL @@ -1946,7 +1984,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::PropagateDirectory - + Error writing metadata to the database Virhe kirjoittaessa metadataa tietokantaan @@ -1954,22 +1992,22 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! - + The download would reduce free disk space below %1 Lataaminen laskisi vapaan levytilan määrän alle rajan %1 - + Free space on disk is less than %1 Levyllä on vapaata tilaa vähemmän kuin %1 - + File was deleted from server Tiedosto poistettiin palvelimelta @@ -2002,17 +2040,17 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::PropagateItemJob - + ; Restoration Failed: %1 - + Continue blacklisting: - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -2075,7 +2113,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. @@ -2088,7 +2126,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". HTTP-palvelin palautti väärän koodin. Odotettiin koodia 201, vastaanotettiin "%1 %2". @@ -2101,17 +2139,17 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Tätä kansiota ei ole tule nimetä uudelleen. Muutetaan takaisin alkuperäinen nimi. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. Tiedosto nimettiin uudelleen, mutta se on osa "vain luku"-jakoa. Alkuperäinen tiedosto palautettiin. @@ -2130,22 +2168,22 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::PropagateUploadFileCommon - + File Removed Tiedosto poistettu - + Local file changed during syncing. It will be resumed. - + Local file changed during sync. Paikallinen tiedosto muuttui synkronoinnin aikana. - + Error writing metadata to the database Virhe kirjoittaessa metadataa tietokantaan @@ -2153,32 +2191,32 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The local file was removed during sync. Paikallinen tiedosto poistettiin synkronoinnin aikana. - + Local file changed during sync. Paikallinen tiedosto muuttui synkronoinnin aikana. - + Unexpected return code from server (%1) Odottamaton paluukoodi palvelimelta (%1) - + Missing File ID from server - + Missing ETag from server @@ -2186,32 +2224,32 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + Poll URL missing - + The local file was removed during sync. Paikallinen tiedosto poistettiin synkronoinnin aikana. - + Local file changed during sync. Paikallinen tiedosto muuttui synkronoinnin aikana. - + The server did not acknowledge the last chunk. (No e-tag was present) @@ -2229,42 +2267,42 @@ Osoitteen käyttäminen ei ole suositeltavaa. TekstiLeima - + Time Aika - + File Tiedosto - + Folder Kansio - + Action Toiminto - + Size Koko - + Local sync protocol Paikallinen synkronointiprotokolla - + Copy Kopioi - + Copy the activity list to the clipboard. Kopioi toimilista leikepöydälle. @@ -2305,51 +2343,41 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Ilman valintaa olevat kansiot <b>poistetaan</b> paikallisesta tiedostojärjestelmästä, eikä niitä synkronoida enää jatkossa tämän tietokoneen kanssa - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Päätä mitä synkronoidaan: valitse etäkansiot, jotka haluat synkronoida. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Päätä mitä synkronoidaan: jätä valitsematta etäkansiot, joita et halua synkronoitavan. - - - + Choose What to Sync Valitse synkronoitavat tiedot - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Ladataan... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Nimi - + Size Koko - - + + No subfolders currently on the server. Palvelimella ei ole alihakemistoja juuri nyt. - + An error occurred while loading the list of sub folders. Alikansioluetteloa ladatessa tapahtui virhe. @@ -2653,7 +2681,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::SocketApi - + Share with %1 parameter is ownCloud @@ -2862,275 +2890,285 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::SyncEngine - + Success. Onnistui. - + CSync failed to load the journal file. The journal file is corrupted. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1-liitännäistä csyncia varten ei voitu ladata.<br/>Varmista asennuksen toimivuus!</p> - + CSync got an error while processing internal trees. Csync-synkronointipalvelussa tapahtui virhe sisäisten puurakenteiden prosessoinnissa. - + CSync failed to reserve memory. CSync ei onnistunut varaamaan muistia. - + CSync fatal parameter error. - + CSync processing step update failed. - + CSync processing step reconcile failed. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. - + CSync failed to authenticate at the %1 server. - + CSync failed to connect to the network. CSync ei onnistunut yhdistämään verkkoon. - + A network connection timeout happened. Tapahtui verkon aikakatkaisu. - + A HTTP transmission error happened. Tapahtui HTTP-välitysvirhe. - + The mounted folder is temporarily not available on the server Liitetty kansio on väliaikaisesti pois käytöstä tällä palvelimella - + An error occurred while opening a folder Kansiota avatessa tapahtui virhe - + Error while reading folder. Kansiota lukiessa tapahtui virhe - + File/Folder is ignored because it's hidden. Tiedosto/kansi ohitetaan, koska se on piilotettu. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Vain %1 on käytettävissä, käynnistymiseen tarvitaan %2 - + Not allowed because you don't have permission to add parent folder Ei sallittu, koska käyttöoikeutesi eivät riitä ylätason kansion lisäämiseen - + Not allowed because you don't have permission to add files in that folder Ei sallittu, koska käyttöoikeutesi eivät riitä tiedostojen lisäämiseen kyseiseen kansioon - + CSync: No space on %1 server available. CSync: %1-palvelimella ei ole tilaa vapaana. - + CSync unspecified error. CSync - määrittämätön virhe. - + Aborted by the user Keskeytetty käyttäjän toimesta - - Filename contains invalid characters that can not be synced cross platform. - Tiedoston nimi sisältää virheellisiä merkkejä, joita ei voi synkronoida alustariippumattomasti. - - - + CSync failed to access - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. - + CSync failed due to unhandled permission denied. - + CSync tried to create a folder that already exists. - + The service is temporarily unavailable Palvelu ei ole juuri nyt käytettävissä - + Access is forbidden Pääsy estetty - + An internal error number %1 occurred. Sisäinen virhe, numero %1. - + The item is not synced because of previous errors: %1 Kohdetta ei synkronoitu aiempien virheiden vuoksi: %1 - + Symbolic links are not supported in syncing. Symboliset linkit eivät ole tuettuja synkronoinnissa. - + File is listed on the ignore list. Tiedosto on ohituslistalla. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. Tiedoston nimi on liian pitkä. - + Stat failed. Stat epäonnistui. - + Filename encoding is not valid Tiedostonimen merkistökoodaus ei ole kelvollista - + Invalid characters, please rename "%1" Virheellisiä merkkejä, anna uusi nimi kohteelle "%1" - + Unable to initialize a sync journal. - + Unable to read the blacklist from the local database - + Unable to read from the sync journal. - + Cannot open the sync journal - + File name contains at least one invalid character Tiedoston nimi sisältää ainakin yhden virheellisen merkin - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add subfolders to that folder Ei sallittu, koska oikeutesi eivät riitä alikansioiden lisäämiseen kyseiseen kansioon - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring Poistaminen ei ole sallittua, palautetaan - + Local files and share folder removed. Paikalliset tiedostot ja jakokansio poistettu. - + Move not allowed, item restored Siirtäminen ei ole sallittua, kohde palautettu - + Move not allowed because %1 is read-only Siirto ei ole sallittu, koska %1 on "vain luku"-tilassa - + the destination kohde - + the source lähde @@ -3154,17 +3192,17 @@ Osoitteen käyttäminen ei ole suositeltavaa. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Versio %1. Lisätietoja osoitteessa <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> <p>Tekijänoikeus ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> @@ -3414,10 +3452,10 @@ Osoitteen käyttäminen ei ole suositeltavaa. - - - - + + + + TextLabel TekstiLeima @@ -3437,7 +3475,23 @@ Osoitteen käyttäminen ei ole suositeltavaa. Aloita &puhdas synkronointi (poistaa paikallisen kansion!) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + Mt + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Valitse synkronoitavat tiedot @@ -3457,12 +3511,12 @@ Osoitteen käyttäminen ei ole suositeltavaa. &Säilytä paikallinen data - + S&ync everything from server S&ynkronoi kaikki palvelimelta - + Status message Tilaviesti @@ -3503,7 +3557,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. - + TextLabel TekstiLeima @@ -3559,8 +3613,8 @@ Osoitteen käyttäminen ei ole suositeltavaa. - Server &Address - Palvelimen &osoite + Ser&ver Address + @@ -3600,7 +3654,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. QApplication - + QT_LAYOUT_DIRECTION @@ -3608,40 +3662,46 @@ Osoitteen käyttäminen ei ole suositeltavaa. QObject - + in the future tulevaisuudessa - + %n day(s) ago %n päivä sitten%n päivää sitten - + %n hour(s) ago %n tunti sitten%n tuntia sitten - + now nyt - + Less than a minute ago Alle minuutti sitten - + %n minute(s) ago %n minuutti sitten%n minuuttia sitten - + Some time ago Jokin aika sitten + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3666,37 +3726,37 @@ Osoitteen käyttäminen ei ole suositeltavaa. %L1 t - + %n year(s) %n vuosi%n vuotta - + %n month(s) %n kuukausi%n kuukautta - + %n day(s) %n päivä%n päivää - + %n hour(s) %n tunti%n tuntia - + %n minute(s) %n minuutti%n minuuttia - + %n second(s) %n sekunti%n sekuntia - + %1 %2 %1 %2 @@ -3717,7 +3777,7 @@ Osoitteen käyttäminen ei ole suositeltavaa. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Koostettu Git-revisiosta <a href="%1">%2</a> %3, %4 käyttäen Qt:n versiota %5, %6</small></p> diff --git a/translations/client_fr.ts b/translations/client_fr.ts index a5d966549..e6666da0b 100644 --- a/translations/client_fr.ts +++ b/translations/client_fr.ts @@ -126,7 +126,7 @@ - + Cancel Annuler @@ -246,24 +246,34 @@ Se connecter - - There are new folders that were not synchronized because they are too big: - Certains dossiers n'ont pas été synchronisés en raison de leur taille trop importante : + + There are folders that were not synchronized because they are too big: + Certains dossiers n'ont pas été synchronisés parce qu'ils sont de taille trop importante : - + + There are folders that were not synchronized because they are external storages: + Certains dossiers n'ont pas été synchronisés parce qu'ils sont localisés sur un stockage externe : + + + + There are folders that were not synchronized because they are too big or external storages: + Certains dossiers n'ont pas été synchronisés par qu'ils sont localisés sur un stockage externe ou qu'ils sont de taille trop importante : + + + Confirm Account Removal - Confirmer la suppression du compte + Confirmation de retrait du compte - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - <p>Êtes-vous sûr de vouloir enlever le compte <i>%1</i>?</p><p><b>Note :</b> Aucun fichier ne sera supprimé</p> + <p>Êtes-vous certain de vouloir retirer <i>%1</i> des comptes synchronisés avec le serveur ?</p><p><b>Remarque :</b> cela ne supprimera pas votre compte sur le serveur et aucun fichier ne sera supprimé ni localement ni en ligne.</p> - + Remove connection - Supprimer la connexion + Retirer le compte @@ -440,7 +450,7 @@ Server Activities - Activités Serveur + Historique des opérations sur le serveur @@ -521,6 +531,24 @@ Fichiers de certificats (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Erreur à l'écriture des métadonnées dans la base de données @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Délai de connexion dépassé @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Interrompu par l'utilisateur @@ -604,143 +632,156 @@ OCC::Folder - + Local folder %1 does not exist. Le dossier local %1 n'existe pas. - + %1 should be a folder but is not. %1 devrait être un dossier mais ne l'est pas. - + %1 is not readable. %1 ne peut pas être lu. - - %1: %2 - this displays an error string (%2) for a file %1 - %1 : %2 - - - + %1 has been removed. %1 names a file. %1 a été supprimé. - + %1 has been downloaded. %1 names a file. %1 a été téléchargé. - + %1 has been updated. %1 names a file. %1 a été mis à jour. - + %1 has been renamed to %2. %1 and %2 name files. %1 a été renommé en %2. - + %1 has been moved to %2. %1 a été déplacé vers %2. - + %1 and %n other file(s) have been removed. %1 a été supprimé.%1 et %n autres fichiers ont été supprimés. - + %1 and %n other file(s) have been downloaded. %1 a été téléchargé.%1 et %n autres fichiers ont été téléchargés. - + %1 and %n other file(s) have been updated. %1 a été mis à jour.%1 et %n autres fichiers ont été mis à jour. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 a été renommé en %2.%1 a été renommé en %2 et %n autres fichiers ont été renommés. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 a été déplacé vers %2.%1 a été déplacé vers %2 et %n autres fichiers ont été déplacés. - + %1 has and %n other file(s) have sync conflicts. %1 a un conflit de synchronisation.%1 et %n autres fichiers ont des problèmes de synchronisation. - + %1 has a sync conflict. Please check the conflict file! %1 a un problème de synchronisation. Merci de vérifier le fichier conflit ! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 ne peut pas être synchronisé en raison d'erreurs. Consultez les logs pour les détails.%1 et %n autres fichiers n'ont pas pu être synchronisés en raison d'erreurs. Consultez les logs pour les détails. - + %1 could not be synced due to an error. See the log for details. %1 n'a pu être synchronisé pour cause d'erreur. Consultez les logs pour les détails. - + Sync Activity Activité de synchronisation - + Could not read system exclude file Impossible de lire le fichier d'exclusion du système - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. + Un nouveau dossier de taille supérieure à %1 Mo a été ajouté : %2. -Veuillez le sélectionner dans la fenêtre des paramètres pour le télécharger. + - - 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? - Cette synchronisation va supprimer tous les fichiers dans le dossier '%1'. -Peut-être la configuration a-t-elle été modifiée, ou les fichiers supprimés manuellement. -Êtes-vous sûr de vouloir effectuer cette opération ? + + A folder from an external storage has been added. + + Un nouveau dossier localisé sur un stockage externe a été ajouté. + + - + + Please go in the settings to select it if you wish to download it. + Merci d'aller dans les Paramètres pour indiquer si vous souhaitez le télécharger. + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Supprimer tous les fichiers ? - + Remove all files Supprimer tous les fichiers - + Keep files Garder les fichiers - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -749,17 +790,17 @@ Cela peut être dû à une copie de sauvegarde restaurée sur le serveur. Continuer la synchronisation comme d'habitude fera en sorte que tous les fichiers soient remplacés par des fichiers plus vieux d'un état précédent. Voulez-vous garder les versions les plus récentes de vos fichiers en tant que fichiers conflictuels ? - + Backup detected - Sauvegarde détecté + Sauvegarde détectée - + Normal Synchronisation Synchronisation normale - + Keep Local Files as Conflict Garder les fichiers locaux comme Conflits @@ -767,112 +808,112 @@ Continuer la synchronisation comme d'habitude fera en sorte que tous les fi OCC::FolderMan - + Could not reset folder state Impossible de réinitialiser l'état du dossier - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Un ancien fichier journal '%1' a été trouvé, mais ne peut être supprimé. Veuillez vous assurer qu’aucune application ne l'utilise en ce moment. - + (backup) (sauvegarde) - + (backup %1) (sauvegarde %1) - + Undefined State. Statut indéfini. - + Waiting to start syncing. En attente de synchronisation. - + Preparing for sync. Préparation de la synchronisation. - + Sync is running. La synchronisation est en cours. - + Last Sync was successful. Dernière synchronisation effectuée avec succès - + Last Sync was successful, but with warnings on individual files. La dernière synchronisation s'est achevée avec succès mais avec des avertissement à propos de certains fichiers. - + Setup Error. Erreur d'installation. - + User Abort. Abandon par l'utilisateur. - + Sync is paused. La synchronisation est en pause. - + %1 (Sync is paused) %1 (Synchronisation en pause) - + No valid folder selected! Aucun dossier valable sélectionné ! - + The selected path is not a folder! Le chemin sélectionné n'est pas un dossier ! - + You have no permission to write to the selected folder! Vous n'avez pas la permission d'écrire dans le dossier sélectionné ! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! Le dossier local %1 contient un lien symbolique. La cible du lien contient un dossier déjà synchronisé. Veuillez en choisir un autre ! - + There is already a sync from the server to this local folder. Please pick another local folder! Il y a déjà une synchronisation depuis le serveur vers ce dossier local. Merci de choisir un autre dossier local ! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! Le dossier local %1 contient un dossier déjà utilisé pour une synchronisation de dossiers. Veuillez en choisir un autre ! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! Le dossier local %1 se trouve dans un dossier déjà configuré pour une synchronisation de dossier. Veuillez en choisir un autre ! - + 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! Le dossier local %1 est un lien symbolique. Le dossier vers lequel le lien pointe est inclus dans un dossier déjà configuré pour une synchronisation de dossier. Veuillez en choisir un autre ! @@ -887,7 +928,7 @@ Continuer la synchronisation comme d'habitude fera en sorte que tous les fi Synchronizing with local folder - Synchronisation avec le dossier local + Synchronisation en cours avec le dossier local @@ -898,133 +939,133 @@ Continuer la synchronisation comme d'habitude fera en sorte que tous les fi OCC::FolderStatusModel - + You need to be connected to add a folder Vous devez être connecté pour ajouter un dossier - + Click this button to add a folder to synchronize. Cliquez ce bouton pour ajouter un dossier à synchroniser. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Une erreur est survenue lors du chargement de la liste des dossiers depuis le serveur. - + Signed out Session fermée - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. L'ajout de dossier est désactivé car vous synchronisez déjà tous vos fichiers. Si vous voulez synchroniser plusieurs dossiers, supprimez d'abord le dossier racine configuré actuellement. - + Fetching folder list from server... Récupération de la liste des dossiers depuis le serveur... - + Checking for changes in '%1' Recherche de modifications dans '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Synchronisation de %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) réception %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) envoi %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 de %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" - %5 restant, %1 sur %2, fichier %3 sur %4 + %5 restant(s), %1 sur %2, fichier %3 sur %4. - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 de %2, fichier %3 de %4 - + file %1 of %2 fichier %1 de %2 - + Waiting... En attente ... - + Waiting for %n other folder(s)... En attente de %n autre(s) dossier(s)En attente de %n autre(s) dossier(s) - + Preparing to sync... Préparation à la synchronisation @@ -1032,12 +1073,12 @@ Continuer la synchronisation comme d'habitude fera en sorte que tous les fi OCC::FolderWizard - + Add Folder Sync Connection Ajouter une synchronisation de dossier - + Add Sync Connection Ajouter une Synchronisation @@ -1113,14 +1154,6 @@ Continuer la synchronisation comme d'habitude fera en sorte que tous les fi Vous sychronisez déjà tous vos fichiers. Synchroniser un autre dossier n'est <b>pas</b> pris en charge. Si vous voulez synchroniser plusieurs dossiers, veuillez supprimer la synchronisation du dossier racine qui est configurée actuellement. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Choisissez le contenu à synchroniser : vous pouvez éventuellement désélectionner les sous-dossiers distants que vous ne désirez pas synchroniser. - - OCC::FormatWarningsWizardPage @@ -1137,22 +1170,22 @@ Continuer la synchronisation comme d'habitude fera en sorte que tous les fi OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Aucun E-Tag reçu du serveur, vérifiez le proxy / la passerelle - + We received a different E-Tag for resuming. Retrying next time. Nous avons reçu un E-Tag différent pour reprendre le téléchargement. Nouvel essai la prochaine fois. - + Server returned wrong content-range Le serveur a retourné une gamme de contenu erronée - + Connection Timeout Délai d'attente de connexion dépassé @@ -1180,10 +1213,21 @@ Continuer la synchronisation comme d'habitude fera en sorte que tous les fi Avancé - + + Ask for confirmation before synchronizing folders larger than + Demander confirmation avant de synchroniser les dossiers de taille supérieure à + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" Mo + + + Ask for confirmation before synchronizing external storages + Demander confirmation avant de synchroniser des stockages externes + &Launch on System Startup @@ -1200,33 +1244,28 @@ Continuer la synchronisation comme d'habitude fera en sorte que tous les fi Utiliser les icônes &monochromes - + Edit &Ignored Files - Éditer les fichiers &ignorés + Modifier les fichiers exclus - - Ask &confirmation before downloading folders larger than - Demander &confirmation avant de télécharger les dossiers de taille supérieure à - - - + S&how crash reporter Affic&her le rapport d'incident + - About À propos de - + Updates Mises à jour - + &Restart && Update &Redémarrer && Mettre à jour @@ -1400,7 +1439,7 @@ Les éléments dont la suppression automatique est permise seront supprimés s&a OCC::MoveJob - + Connection timed out Délai de connexion dépassé @@ -1549,23 +1588,23 @@ Les éléments dont la suppression automatique est permise seront supprimés s&a OCC::NotificationWidget - + Created at %1 Créé à %1 - + Closing in a few seconds... Fermeture dans quelques secondes... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' La requête %1 a échoué à %2 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' sélectionné à %2 @@ -1649,28 +1688,28 @@ L'assistant peut demander des privilèges additionnels durant le processus. Connexion… - + %1 folder '%2' is synced to local folder '%3' le dossier %1 '%2' est synchronisé avec le dossier local '%3' - + Sync the folder '%1' Synchroniser le dossier '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Attention :</strong> Le dossier local n'est pas vide. Que voulez-vous faire ?</small></p> - + Local Sync Folder Dossier de synchronisation local - - + + (%1) (%1) @@ -1896,7 +1935,7 @@ Il est déconseillé de l'utiliser. Impossible de supprimer et de sauvegarder le dossier parce que ce dossier ou un de ses fichiers est ouvert dans un autre programme. Veuillez fermer le dossier ou le fichier et ré-essayer, ou annuler l'installation. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Dossier de synchronisation local %1 créé avec succès !</b></font> @@ -1924,7 +1963,7 @@ Il est déconseillé de l'utiliser. Open Local Folder - Ouvrir le répertoire local + Ouvrir le dossier local @@ -1935,7 +1974,7 @@ Il est déconseillé de l'utiliser. OCC::PUTFileJob - + Connection Timeout Délai d'attente de connexion dépassé @@ -1943,7 +1982,7 @@ Il est déconseillé de l'utiliser. OCC::PollJob - + Invalid JSON reply from the poll URL L'URL interrogéé a renvoyé une réponse json non valide @@ -1951,7 +1990,7 @@ Il est déconseillé de l'utiliser. OCC::PropagateDirectory - + Error writing metadata to the database Erreur à l'écriture des métadonnées dans la base de données @@ -1959,22 +1998,22 @@ Il est déconseillé de l'utiliser. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Le fichier %1 ne peut pas être téléchargé en raison d'un conflit sur le nom de fichier local. - + The download would reduce free disk space below %1 Le téléchargement réduirait l'espace libre à moins de %1 - + Free space on disk is less than %1 Il y a moins de %1 d'espace libre sur le disque - + File was deleted from server Le fichier a été supprimé du serveur @@ -2007,17 +2046,17 @@ Il est déconseillé de l'utiliser. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Échec de la restauration : %1 - + Continue blacklisting: Conserver sur liste noire : - + A file or folder was removed from a read only share, but restoring failed: %1 Un fichier ou un dossier a été supprimé d'un partage en lecture seule, mais la restauration a échoué : %1 @@ -2080,7 +2119,7 @@ Il est déconseillé de l'utiliser. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Le fichier a été supprimé d'un partage en lecture seule. Il a été restauré. @@ -2093,7 +2132,7 @@ Il est déconseillé de l'utiliser. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Le code HTTP retourné par le serveur n'est pas valide. La valeur attendue est 201 mais la valeur reçue est "%1 %2". @@ -2106,17 +2145,17 @@ Il est déconseillé de l'utiliser. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Ce dossier ne doit pas être renommé. Il sera renommé avec son nom original. - + This folder must not be renamed. Please name it back to Shared. Le nom de ce dossier ne doit pas être changé. Veuillez le renommer en Shared. - + The file was renamed but is part of a read only share. The original file was restored. Le fichier a été renommé mais appartient à un partage en lecture seule. Le fichier original a été restauré. @@ -2135,22 +2174,22 @@ Il est déconseillé de l'utiliser. OCC::PropagateUploadFileCommon - + File Removed Fichier supprimé - + Local file changed during syncing. It will be resumed. Fichier local modifié pendant la synchronisation. Elle va reprendre. - + Local file changed during sync. Fichier local modifié pendant la synchronisation. - + Error writing metadata to the database Erreur à l'écriture des métadonnées dans la base de données @@ -2158,32 +2197,32 @@ Il est déconseillé de l'utiliser. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Arrêt forcé du job après réinitialisation de connexion HTTP avec Qt < 5.4.2. - + The local file was removed during sync. Fichier local supprimé pendant la synchronisation. - + Local file changed during sync. Fichier local modifié pendant la synchronisation. - + Unexpected return code from server (%1) Le serveur a retourné un code inattendu (%1) - + Missing File ID from server - + Missing ETag from server @@ -2191,32 +2230,32 @@ Il est déconseillé de l'utiliser. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Arrêt forcé du job après réinitialisation de connexion HTTP avec Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Le fichier a été modifié localement mais appartient à un partage en lecture seule. Il a été restauré et vos modifications sont présentes dans le fichiers de conflit. - + Poll URL missing URL de sondage manquante - + The local file was removed during sync. Fichier local supprimé pendant la synchronisation. - + Local file changed during sync. Fichier local modifié pendant la synchronisation. - + The server did not acknowledge the last chunk. (No e-tag was present) Le serveur n'a pas confirmé la réception du dernier morceau. (Aucun e-tag n'était présent). @@ -2234,42 +2273,42 @@ Il est déconseillé de l'utiliser. TextLabel - + Time Heure - + File Fichier - + Folder Dossier - + Action Action - + Size Taille - + Local sync protocol Protocole de synchronisation locale - + Copy Copier - + Copy the activity list to the clipboard. Copier la liste d'activités dans le presse-papier. @@ -2310,51 +2349,41 @@ Il est déconseillé de l'utiliser. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Décochez les dossiers qui doivent être <b>supprimés</b> de votre disque local et qui ne doivent pas être synchronisés avec cet ordinateur. - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Choisir le contenu à synchroniser : Sélectionnez les sous-dossiers distants que vous voulez synchroniser. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Choisir le contenu à synchroniser : Désélectionnez les sous-dossiers distants que vous ne voulez pas synchroniser. - - - + Choose What to Sync Choisir le contenu à synchroniser - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Chargement… - + + Deselect remote folders you do not wish to synchronize. + Désélectionnez les sous-dossiers distants que vous ne souhaitez pas synchroniser. + + + Name Nom - + Size Taille - - + + No subfolders currently on the server. Aucun sous-dossier sur le serveur. - + An error occurred while loading the list of sub folders. Une erreur est survenue lors du chargement de la liste des sous-dossiers. @@ -2503,7 +2532,7 @@ Il est déconseillé de l'utiliser. &Mail link - + Envoyer le lien @@ -2658,7 +2687,7 @@ Il est déconseillé de l'utiliser. OCC::SocketApi - + Share with %1 parameter is ownCloud Partager avec %1 @@ -2867,275 +2896,285 @@ Il est déconseillé de l'utiliser. OCC::SyncEngine - + Success. Succès. - + CSync failed to load the journal file. The journal file is corrupted. CSync a échoué à charger du fichier journal. Le fichier journal est corrompu. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Le module additionnel %1 pour csync n'a pas pu être chargé.<br/>Merci de vérifier votre installation !</p> - + CSync got an error while processing internal trees. Erreur CSync lors du traitement des arbres internes. - + CSync failed to reserve memory. Erreur lors de l'allocation mémoire par CSync. - + CSync fatal parameter error. Erreur fatale CSync : mauvais paramètre. - + CSync processing step update failed. Erreur CSync lors de l'opération de mise à jour - + CSync processing step reconcile failed. Erreur CSync lors de l'opération de réconciliation - + CSync could not authenticate at the proxy. CSync n'a pu s'authentifier auprès du proxy. - + CSync failed to lookup proxy or server. CSync n'a pu trouver le proxy ou serveur auquel se connecter. - + CSync failed to authenticate at the %1 server. CSync n'a pu s'authentifier auprès du serveur %1. - + CSync failed to connect to the network. CSync n'a pu établir une connexion au réseau. - + A network connection timeout happened. Le délai d'attente de la connexion réseau a été dépassé. - + A HTTP transmission error happened. Une erreur de transmission HTTP s'est produite. - + The mounted folder is temporarily not available on the server Le dossier monté est temporairement indisponible sur le serveur - + An error occurred while opening a folder Une erreur est survenue lors de l'ouverture d'un dossier - + Error while reading folder. Erreur lors de la lecture du dossier. - + File/Folder is ignored because it's hidden. Le fichier/dossier est ignoré car il est caché. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Seulement %1 disponibles, il faut au moins %2 pour démarrer - + Not allowed because you don't have permission to add parent folder Non autorisé car vous n'avez pas la permission d'ajouter un dossier parent - + Not allowed because you don't have permission to add files in that folder Non autorisé car vous n'avez pas la permission d'ajouter des fichiers dans ce dossier - + CSync: No space on %1 server available. CSync : Aucun espace disponible sur le serveur %1. - + CSync unspecified error. Erreur CSync inconnue. - + Aborted by the user Interrompu par l'utilisateur - - Filename contains invalid characters that can not be synced cross platform. - Le nom de fichier contient des caractères non valides qui ne peuvent être synchronisés entre plate-formes. - - - + CSync failed to access CSync n'a pas pu accéder à - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. CSync n’a pu charger ou créer le fichier de journalisation. Veuillez vérifier que vous possédez les droits en lecture/écriture dans le dossier de synchronisation local. - + CSync failed due to unhandled permission denied. CSync a échoué en raison d'un refus de permission non pris en charge. - + CSync tried to create a folder that already exists. CSync a tenté de créer un dossier déjà présent. - + The service is temporarily unavailable Le service est temporairement indisponible. - + Access is forbidden L'accès est interdit - + An internal error number %1 occurred. Une erreur interne numéro %1 est survenue. - + The item is not synced because of previous errors: %1 Cet élément n'a pas été synchronisé en raison des erreurs précédentes : %1 - + Symbolic links are not supported in syncing. Les liens symboliques ne sont pas pris en charge par la synchronisation. - + File is listed on the ignore list. Le fichier est dans la liste des fichiers à ignorer. - + + File names ending with a period are not supported on this file system. + Les noms de fichier se terminant par un point ne sont pas pris en charge sur votre système. + + + + File names containing the character '%1' are not supported on this file system. + Les noms de fichier contenant le caractère '%1' ne sont pas pris en charge sur votre système. + + + + The file name is a reserved name on this file system. + Le nom du fichier est réservé sur votre système. + + + Filename contains trailing spaces. Le nom du fichier se fini par des espaces. - + Filename is too long. Le nom de fichier est trop long. - + Stat failed. Stat échoué. - + Filename encoding is not valid L'encodage du nom de fichier n'est pas valide - + Invalid characters, please rename "%1" Caractères non valides. Veuillez renommer "%1" - + Unable to initialize a sync journal. Impossible d'initialiser un journal de synchronisation. - + Unable to read the blacklist from the local database Impossible de lire la liste noire de la base de données locale - + Unable to read from the sync journal. Impossible de lire le journal de synchronisation. - + Cannot open the sync journal Impossible d'ouvrir le journal de synchronisation - + File name contains at least one invalid character Le nom de fichier contient au moins un caractère non valable - - + + Ignored because of the "choose what to sync" blacklist Ignoré à cause de la liste noire "Choisir le contenu à synchroniser". - + Not allowed because you don't have permission to add subfolders to that folder Non autorisé car vous n'avez pas la permission d'ajouter des sous-dossiers dans ce dossier - + Not allowed to upload this file because it is read-only on the server, restoring Non autorisé à envoyer ce fichier car il est en lecture seule sur le serveur. Restauration - - + + Not allowed to remove, restoring Non autorisé à supprimer. Restauration - + Local files and share folder removed. Fichiers locaux et répertoire de partage supprimés. - + Move not allowed, item restored Déplacement non autorisé, élément restauré - + Move not allowed because %1 is read-only Déplacement non autorisé car %1 est en mode lecture seule - + the destination la destination - + the source la source @@ -3159,17 +3198,17 @@ Il est déconseillé de l'utiliser. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Version %1. Pour plus d'information, visitez <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> <p>Copyright ownCloud, Inc.</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Distribué par %1 et sous licence GNU General Public License (GPL) Version 2.0.<br/>%2 et le logo %2 sont des marques enregistrées de %1 aux Etats-Unis, dans d'autres pays, ou les deux.</p> @@ -3311,7 +3350,7 @@ Il est déconseillé de l'utiliser. Account synchronization is disabled - La synchronisation du compte est désactiver . + La synchronisation est en pause @@ -3326,22 +3365,22 @@ Il est déconseillé de l'utiliser. Unpause all synchronization - relancer toutes les synchronisations + Relancer toutes les synchronisations Unpause synchronization - relancer la synchronisation + Relancer la synchronisation Pause all synchronization - Mettre en pause tout la synchronisation + Mettre en pause toutes les synchronisations Pause synchronization - Mettre en pause la synchronisation + Mettre en pause la synchronisation @@ -3419,10 +3458,10 @@ Il est déconseillé de l'utiliser. - - - - + + + + TextLabel TextLabel @@ -3442,7 +3481,23 @@ Il est déconseillé de l'utiliser. Réinitialiser la syn&chronisation (Supprime le dossier local !) - + + Ask for confirmation before synchroni&zing folders larger than + Demander confirmation avant de synchroniser les dossiers de taille supérieure à + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + Mo + + + + Ask for confirmation before synchronizing e&xternal storages + Demander confirmation avant de synchroniser des stockages externes + + + Choose what to sync Choisir le contenu à synchroniser @@ -3462,12 +3517,12 @@ Il est déconseillé de l'utiliser. &Garder les données locales - + S&ync everything from server S&ynchroniser tout le contenu depuis le serveur - + Status message Message d'état @@ -3508,7 +3563,7 @@ Il est déconseillé de l'utiliser. - + TextLabel Zone de texte @@ -3564,8 +3619,8 @@ Il est déconseillé de l'utiliser. - Server &Address - &Adresse du serveur + Ser&ver Address + Adresse du serveur @@ -3605,7 +3660,7 @@ Il est déconseillé de l'utiliser. QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3613,40 +3668,46 @@ Il est déconseillé de l'utiliser. QObject - + in the future Dans le futur - + %n day(s) ago HierIl y a %n jours - + %n hour(s) ago Il y a %n heureIl y a %n heures - + now maintenant - + Less than a minute ago Il y a moins d'une minute - + %n minute(s) ago Il y a %n minuteIl y a %n minutes - + Some time ago Il y a quelque temps + + + %1: %2 + this displays an error string (%2) for a file %1 + %1 : %2 + Utility @@ -3671,37 +3732,37 @@ Il est déconseillé de l'utiliser. %L1 octets - + %n year(s) %n an%n ans - + %n month(s) %n mois%n mois - + %n day(s) %n jour%n jours - + %n hour(s) %n heure%n heures - + %n minute(s) %n minute%n minutes - + %n second(s) %n seconde%n secondes - + %1 %2 %1 %2 @@ -3722,7 +3783,7 @@ Il est déconseillé de l'utiliser. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Construit à partir de la révision Git <a href="%1">%2</a> du %3, %4 en utilisant Qt %5, %6.</small><p> diff --git a/translations/client_gl.ts b/translations/client_gl.ts index b00b2d62b..ce667cdea 100644 --- a/translations/client_gl.ts +++ b/translations/client_gl.ts @@ -126,7 +126,7 @@ - + Cancel Cancelar @@ -246,22 +246,32 @@ Acceder - - There are new folders that were not synchronized because they are too big: + + There are folders that were not synchronized because they are too big: - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection @@ -521,6 +531,24 @@ Ficheiros de certificado (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Esgotouse o tempo de conexión @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Interrompido polo usuario @@ -604,158 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. O cartafol local %1 non existe. - + %1 should be a folder but is not. - + %1 is not readable. %1 non é lexíbel. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 foi retirado satisfactoriamente. - + %1 has been downloaded. %1 names a file. %1 foi descargado satisfactoriamente. - + %1 has been updated. %1 names a file. %1 foi enviado satisfactoriamente. - + %1 has been renamed to %2. %1 and %2 name files. %1 foi renomeado satisfactoriamente a %2 - + %1 has been moved to %2. %1 foi movido satisfactoriamente a %2 - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. %1 non puido sincronizarse por mor dun erro. Vexa os detalles no rexistro. - + Sync Activity Actividade de sincronización - + Could not read system exclude file Non foi posíbel ler o ficheiro de exclusión do sistema - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - Foi engadido un novo cartafol maior de %1 MB: %2. -Vaia aos axustes e seleccióneo se quere descargalo. - - - - 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? + - + + A folder from an external storage has been added. + + + + + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Retirar todos os ficheiros? - + Remove all files Retirar todos os ficheiros - + Keep files Manter os ficheiros - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected - + Normal Synchronisation - + Keep Local Files as Conflict @@ -763,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state Non foi posíbel restabelecer o estado do cartafol - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Atopouse un rexistro de sincronización antigo en «%1» máis non pode ser retirado. Asegúrese de que non o está a usar ningunha aplicación. - + (backup) (copia de seguranza) - + (backup %1) (copia de seguranza %1) - + Undefined State. Estado sen definir. - + Waiting to start syncing. - + Preparing for sync. Preparando para sincronizar. - + Sync is running. Estase sincronizando. - + Last Sync was successful. A última sincronización fíxose correctamente. - + Last Sync was successful, but with warnings on individual files. A última sincronización fíxose correctamente, mais con algún aviso en ficheiros individuais. - + Setup Error. Erro de configuración. - + User Abort. Interrompido polo usuario. - + Sync is paused. Sincronización en pausa. - + %1 (Sync is paused) %1 (sincronización en pausa) - + No valid folder selected! Non seleccionou ningún cartafol correcto! - + The selected path is not a folder! - + You have no permission to write to the selected folder! Vostede non ten permiso para escribir neste cartafol! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! - + 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! @@ -894,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder Ten que estar conectado para engadir un cartafol - + Click this button to add a folder to synchronize. Prema nesta botón para engadir un cartafol para sincronizar - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. - + Signed out Desconectado - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. - + Fetching folder list from server... - + Checking for changes in '%1' - + , '%1' Build a list of file names - + '%1' Argument is a file name - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Sincronizando %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) descargar %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) enviar %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 de %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 de %2, ficheiro %3 de %4 - + file %1 of %2 ficheiro %1 de %2 - + Waiting... - + Waiting for %n other folder(s)... - + Preparing to sync... @@ -1028,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection - + Add Sync Connection @@ -1109,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an Xa se están a sincronizar todos os ficheiros. Isto <b>non</b> é compatíbel co sincronización doutro cartafol. Se quere sincronizar varios cartafoles, retire a sincronización do cartafol raíz configurado actualmente. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Escolla que sincronizar: Opcionalmente pode deselecionar subcartafoles remotos que non queira sincronizar. - - OCC::FormatWarningsWizardPage @@ -1133,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Non se recibiu a «E-Tag» do servidor, comprobe o proxy e/ou a pasarela - + We received a different E-Tag for resuming. Retrying next time. Recibiuse unha «E-Tag» diferente para continuar. Tentándoo outra vez. - + Server returned wrong content-range O servidor devolveu un intervalo de contidos estragado - + Connection Timeout Esgotouse o tempo de conexión @@ -1176,10 +1208,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an Avanzado - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1196,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an - + Edit &Ignored Files - - Ask &confirmation before downloading folders larger than - - - - + S&how crash reporter + - About Sobre - + Updates Actualizacións - + &Restart && Update &Reiniciar e actualizar @@ -1394,7 +1432,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::MoveJob - + Connection timed out Esgotouse o tempo de conexión @@ -1543,23 +1581,23 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::NotificationWidget - + Created at %1 - + Closing in a few seconds... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' @@ -1643,28 +1681,28 @@ actualización pode pedir privilexios adicionais durante o procedemento.Conectar... - + %1 folder '%2' is synced to local folder '%3' O cartafol %1 «%2» está sincronizado co cartafol local «%3» - + Sync the folder '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> - + Local Sync Folder Sincronización do cartafol local - - + + (%1) (%1) @@ -1890,7 +1928,7 @@ Recomendámoslle que non o use. Non é posíbel retirar e facer unha copia de seguranza do cartafol, xa que o cartafol ou un ficheiro está aberto noutro programa Peche o cartafol ou o ficheiro e ténteo de novo, ou cancele a acción. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>O cartafol local de sincronización %1 creouse correctamente!</b></font> @@ -1929,7 +1967,7 @@ Recomendámoslle que non o use. OCC::PUTFileJob - + Connection Timeout Esgotouse o tempo de conexión @@ -1937,7 +1975,7 @@ Recomendámoslle que non o use. OCC::PollJob - + Invalid JSON reply from the poll URL O URL requirido devolveu unha resposta JSON incorrecta @@ -1945,7 +1983,7 @@ Recomendámoslle que non o use. OCC::PropagateDirectory - + Error writing metadata to the database @@ -1953,22 +1991,22 @@ Recomendámoslle que non o use. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Non é posíbel descargar o ficheiro %1 por mor dunha colisión co nome dun ficheiro local! - + The download would reduce free disk space below %1 - + Free space on disk is less than %1 - + File was deleted from server O ficheiro vai seren eliminado do servidor @@ -2001,17 +2039,17 @@ Recomendámoslle que non o use. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Fallou a restauración: %1 - + Continue blacklisting: Continuar as listas negras: - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -2074,7 +2112,7 @@ Recomendámoslle que non o use. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Foi retirado un ficheiro desde unha compartición de só lectura. Foi restaurado. @@ -2087,7 +2125,7 @@ Recomendámoslle que non o use. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". O servidor devolveu código HTTP incorrecto. Agardábase 201, mais recibiuse «%1 %2». @@ -2100,17 +2138,17 @@ Recomendámoslle que non o use. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Non é posíbel renomear este cartafol. Non se lle cambiou o nome, mantense o orixinal. - + This folder must not be renamed. Please name it back to Shared. Non é posíbel renomear este cartafol. Devólvalle o nome ao compartido. - + The file was renamed but is part of a read only share. The original file was restored. O ficheiro foi renomeado mais é parte dunha compartición de só lectura. O ficheiro orixinal foi restaurado. @@ -2129,22 +2167,22 @@ Recomendámoslle que non o use. OCC::PropagateUploadFileCommon - + File Removed Ficheiro retirado - + Local file changed during syncing. It will be resumed. O ficheiro local cambiou durante a sincronización. Retomase. - + Local file changed during sync. O ficheiro local cambiou durante a sincronización. - + Error writing metadata to the database @@ -2152,32 +2190,32 @@ Recomendámoslle que non o use. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Forzando a interrupción do traballo na conexión HTTP reiniciandoa con Qt <5.4.2. - + The local file was removed during sync. O ficheiro local retirarase durante a sincronización. - + Local file changed during sync. O ficheiro local cambiou durante a sincronización. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2185,32 +2223,32 @@ Recomendámoslle que non o use. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Forzando a interrupción do traballo na conexión HTTP reiniciandoa con Qt <5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. O ficheiro foi editado localmente mais é parte dunha compartición de só lectura. O ficheiro foi restaurado e a súa edición atopase no ficheiro de conflitos. - + Poll URL missing Non se atopa o URL requirido - + The local file was removed during sync. O ficheiro local retirarase durante a sincronización. - + Local file changed during sync. O ficheiro local cambiou durante a sincronización. - + The server did not acknowledge the last chunk. (No e-tag was present) @@ -2228,42 +2266,42 @@ Recomendámoslle que non o use. Etiqueta de texto - + Time Hora - + File Ficheiro - + Folder Cartafol - + Action Acción - + Size Tamaño - + Local sync protocol - + Copy Copiar - + Copy the activity list to the clipboard. Copiar a lista da actividade no portapapeis. @@ -2304,51 +2342,41 @@ Recomendámoslle que non o use. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Os cartafoles non seleccionados van seren <b>eliminados</b> do seu sistema de ficheiros local e non volverán sincronizarse con esta computadora - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Escolla que sincronizar: Seleccione os subcartafoles remotos que quere sincronizar. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Escolla que sincronizar: Desmarque os subcartafoles remotos que non queira sincronizar. - - - + Choose What to Sync Escolla que sincronizar - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Cargando ... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Nome - + Size Tamaño - - + + No subfolders currently on the server. Actualmente non hai subcartafoles no servidor. - + An error occurred while loading the list of sub folders. @@ -2652,7 +2680,7 @@ Recomendámoslle que non o use. OCC::SocketApi - + Share with %1 parameter is ownCloud Compartir con %1 @@ -2861,275 +2889,285 @@ Recomendámoslle que non o use. OCC::SyncEngine - + Success. Correcto. - + CSync failed to load the journal file. The journal file is corrupted. Produciuse un fallo en CSync ao cargar o ficheiro de rexistro. O ficheiro de rexistro está estragado. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Non foi posíbel cargar o engadido %1 para CSync.<br/>Verifique a instalación!</p> - + CSync got an error while processing internal trees. CSync tivo un erro ao procesar árbores internas. - + CSync failed to reserve memory. Produciuse un fallo ao reservar memoria para CSync. - + CSync fatal parameter error. Produciuse un erro fatal de parámetro CSync. - + CSync processing step update failed. Produciuse un fallo ao procesar o paso de actualización de CSync. - + CSync processing step reconcile failed. Produciuse un fallo ao procesar o paso de reconciliación de CSync. - + CSync could not authenticate at the proxy. CSync non puido autenticarse no proxy. - + CSync failed to lookup proxy or server. CSYNC no puido atopar o servidor proxy. - + CSync failed to authenticate at the %1 server. CSync non puido autenticarse no servidor %1. - + CSync failed to connect to the network. CSYNC no puido conectarse á rede. - + A network connection timeout happened. Excedeuse do tempo de espera para a conexión á rede. - + A HTTP transmission error happened. Produciuse un erro na transmisión HTTP. - + The mounted folder is temporarily not available on the server - + An error occurred while opening a folder - + Error while reading folder. - + File/Folder is ignored because it's hidden. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() - + Not allowed because you don't have permission to add parent folder - + Not allowed because you don't have permission to add files in that folder - + CSync: No space on %1 server available. CSync: Non hai espazo dispoñíbel no servidor %1. - + CSync unspecified error. Produciuse un erro non especificado de CSync - + Aborted by the user Interrompido polo usuario - - Filename contains invalid characters that can not be synced cross platform. - O nome de ficheiro conten caracteres incorrectos que non poden sincronizarse entre distintas plataformas. - - - + CSync failed to access Produciuse un fallo ao reservar memoria para CSync. - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. - + CSync failed due to unhandled permission denied. - + CSync tried to create a folder that already exists. - + The service is temporarily unavailable O servizo está temporalmente inaccesíbel. - + Access is forbidden - + An internal error number %1 occurred. Produciuse un erro interno número %1. - + The item is not synced because of previous errors: %1 Este elemento non foi sincronizado por mor de erros anteriores: %1 - + Symbolic links are not supported in syncing. As ligazóns simbolicas non son admitidas nas sincronizacións - + File is listed on the ignore list. O ficheiro está na lista de ignorados. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. O nome de ficheiro é longo de máis. - + Stat failed. Fallou a obtención de estatísticas. - + Filename encoding is not valid O nome de ficheiro codificado non é correcto - + Invalid characters, please rename "%1" Caracteres incorrectos, déalle outro nome a «%1» - + Unable to initialize a sync journal. Non é posíbel preparar un rexistro de sincronización. - + Unable to read the blacklist from the local database - + Unable to read from the sync journal. - + Cannot open the sync journal Non foi posíbel abrir o rexistro de sincronización - + File name contains at least one invalid character O nome de ficheiro contén algún carácter incorrecto - - + + Ignored because of the "choose what to sync" blacklist Ignorado por mor da lista negra de «escolla que sincronizar» - + Not allowed because you don't have permission to add subfolders to that folder - + Not allowed to upload this file because it is read-only on the server, restoring Non está permitido o envío xa que o ficheiro é só de lectura no servidor, restaurando - - + + Not allowed to remove, restoring Non está permitido retiralo, restaurando - + Local files and share folder removed. Retirados os ficheiros locais e o cartafol compartido. - + Move not allowed, item restored Nos está permitido movelo, elemento restaurado - + Move not allowed because %1 is read-only Bon está permitido movelo xa que %1 é só de lectura - + the destination o destino - + the source a orixe @@ -3153,17 +3191,17 @@ Recomendámoslle que non o use. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Versión %1. Para obter máis información visite <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Distribuído por %1 e licenciado baixo a Licenza Pública Xeral (GPL) GNU Versión 2.0.<br/>Os logotipos %2 e %2 son marcas rexistradas de %1 nos Estados Unidos de Norte América e/ou outros países.</p> @@ -3413,10 +3451,10 @@ Recomendámoslle que non o use. - - - - + + + + TextLabel Etiqueta de texto @@ -3436,7 +3474,23 @@ Recomendámoslle que non o use. Iniciar unha sincronización &limpa (Borra o cartafol local!) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Escolla que sincronizar @@ -3456,12 +3510,12 @@ Recomendámoslle que non o use. &Conservar os datos locais - + S&ync everything from server Sincronizar &todo o contido do servidor - + Status message Mensaxe de estado @@ -3502,7 +3556,7 @@ Recomendámoslle que non o use. - + TextLabel Etiqueta de texto @@ -3558,8 +3612,8 @@ Recomendámoslle que non o use. - Server &Address - &Enderezo do servidor + Ser&ver Address + @@ -3599,7 +3653,7 @@ Recomendámoslle que non o use. QApplication - + QT_LAYOUT_DIRECTION @@ -3607,40 +3661,46 @@ Recomendámoslle que non o use. QObject - + in the future - + %n day(s) ago - + %n hour(s) ago - + now - + Less than a minute ago - + %n minute(s) ago - + Some time ago + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3665,37 +3725,37 @@ Recomendámoslle que non o use. %L1 B - + %n year(s) - + %n month(s) - + %n day(s) - + %n hour(s) - + %n minute(s) - + %n second(s) - + %1 %2 %1 %2 @@ -3716,7 +3776,7 @@ Recomendámoslle que non o use. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Construído a partir de la revisión Git <a href="%1">%2</a> en %3, %4 usando Qt %5, %6</small></p> diff --git a/translations/client_hu.ts b/translations/client_hu.ts index 6880b0ff4..b89c53623 100644 --- a/translations/client_hu.ts +++ b/translations/client_hu.ts @@ -126,7 +126,7 @@ - + Cancel Mégsem @@ -246,22 +246,32 @@ Bejelentkezés - - There are new folders that were not synchronized because they are too big: - Néhány új könyvtár nem került szinkronizálása, mert azok túl nagyok: + + There are folders that were not synchronized because they are too big: + - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal Fiók törlésének megerősítése - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Tényleg törölni szeretné a kapcsolatot <i>%1</i> fiókkal?</p><p><b>Megjegyzés:</b> Ez <b>nem</b> töröl fájlokat.</p> - + Remove connection Kapcsolat törlése @@ -521,6 +531,24 @@ Tanúsítvány fájlok (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out A kapcsolat időtúllépés miatt megszakadt @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Felhasználó megszakította @@ -604,157 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. %1 helyi mappa nem létezik. - + %1 should be a folder but is not. %1 valószínűleg könyvtár, de nem az. - + %1 is not readable. %1 nem olvasható. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 sikeresen törölve. - + %1 has been downloaded. %1 names a file. %1 sikeresen letöltve. - + %1 has been updated. %1 names a file. %1 sikeresen feltöltve. - + %1 has been renamed to %2. %1 and %2 name files. %1 átnevezve erre: %2. - + %1 has been moved to %2. %1 áthelyezve ide: %2. - + %1 and %n other file(s) have been removed. %1 és %n további fájl törölve.%1 és %n további fájl törölve. - + %1 and %n other file(s) have been downloaded. %1 és %n további fájl letöltve.%1 és %n további fájl letöltve. - + %1 and %n other file(s) have been updated. %1 és %n további fájl feltöltve.%1 és %n további fájl feltöltve. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 átnevezve erre: %2 és még %n további fájl átnevezve.%1 átnevezve erre: %2 és még %n további fájl átnevezve. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 áthelyezve ide: %2 és még %n további fájl áthelyezve.%1 áthelyezve ide: %2 és még %n további fájl áthelyezve. - + %1 has and %n other file(s) have sync conflicts. %1 és %n további fájl szinkronizálási konfliktussal rendelkezik.%1 és %n további fájl szinkronizálási konfliktussal rendelkezik. - + %1 has a sync conflict. Please check the conflict file! %1 fájl szinkronizálási konfliktussal rendelkezik. Kérjük ellenőrizze a konfliktus fájlt! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 és %n további fájlt nem sikerült szinkronizálni. Bővebb információ a naplófájlban.%1 és %n további fájlt nem sikerült szinkronizálni. Bővebb információ a naplófájlban. - + %1 could not be synced due to an error. See the log for details. %1 nem sikerült szinkronizálni. Bővebb információ a naplófájlban. - + Sync Activity Szinkronizálási aktivitás - + Could not read system exclude file - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. + - - 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? + + A folder from an external storage has been added. + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Törli az összes fájlt? - + Remove all files Összes fájl eltávolítása - + Keep files Fájlok megtartása - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Biztonsági mentés észlelve - + Normal Synchronisation Normal szinkronizáció - + Keep Local Files as Conflict Helyi file-ok megtartása konfliktusként @@ -762,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. - + (backup) (biztonsági mentés) - + (backup %1) (biztonsági mentés: %1) - + Undefined State. Ismeretlen állapot. - + Waiting to start syncing. Várakozás a szinkronizálás elindítására. - + Preparing for sync. Előkészítés szinkronizációhoz. - + Sync is running. Szinkronizálás fut. - + Last Sync was successful. Legutolsó szinkronizálás sikeres volt. - + Last Sync was successful, but with warnings on individual files. Az utolsó szinkronizáció sikeresen lefutott, de néhány figyelmeztetés van. - + Setup Error. Beállítás hiba. - + User Abort. Felhasználó megszakította. - + Sync is paused. Szinkronizálás megállítva. - + %1 (Sync is paused) %1 (szinkronizálás megállítva) - + No valid folder selected! Nincs érvényes könyvtár kiválasztva! - + The selected path is not a folder! A kiválasztott elérési út nem könyvtár! - + You have no permission to write to the selected folder! Nincs joga a kiválasztott könyvtár írásához! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! - + 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! @@ -893,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder - + Click this button to add a folder to synchronize. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. - + Signed out Kijelentkezve - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. - + Fetching folder list from server... - + Checking for changes in '%1' - + , '%1' Build a list of file names - + '%1' Argument is a file name - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" %1 szinkronizálása - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) letöltés: %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) feltöltés: %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 / %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" %5 maradt, %1 / %2, %3 / %4 fájl - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" - + file %1 of %2 %1 / %2 fájl - + Waiting... Várakozás... - + Waiting for %n other folder(s)... Várakozás %n további könyvtárra...Várakozás %n további könyvtárra... - + Preparing to sync... Felkészülés szinkronizálásra... @@ -1027,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection - + Add Sync Connection @@ -1108,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - - - OCC::FormatWarningsWizardPage @@ -1132,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. - + Server returned wrong content-range - + Connection Timeout Kapcsolat időtúllépés @@ -1175,10 +1208,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an Haladó - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1195,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an &Monokróm ikonok használata - + Edit &Ignored Files K&ihagyott fájlok szerkesztése - - Ask &confirmation before downloading folders larger than - Megerősítés &kérése nagyobb könyvtárak letöltése előtt: - - - + S&how crash reporter &Hibabejelentő megjelenítése + - About Rólunk - + Updates Frissítések - + &Restart && Update Új&raindítás és frissítés @@ -1393,7 +1432,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::MoveJob - + Connection timed out A kapcsolat időtúllépés miatt megszakadt @@ -1542,23 +1581,23 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::NotificationWidget - + Created at %1 - + Closing in a few seconds... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' @@ -1641,28 +1680,28 @@ for additional privileges during the process. Csatlakozás... - + %1 folder '%2' is synced to local folder '%3' - + Sync the folder '%1' „%1” könyvtár szinkronizálása - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> - + Local Sync Folder Helyi Sync mappa - - + + (%1) (%1) @@ -1887,7 +1926,7 @@ It is not advisable to use it. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Helyi %1 szinkronizációs mappa sikeresen létrehozva!</b></font> @@ -1926,7 +1965,7 @@ It is not advisable to use it. OCC::PUTFileJob - + Connection Timeout Kapcsolat időtúllépés @@ -1934,7 +1973,7 @@ It is not advisable to use it. OCC::PollJob - + Invalid JSON reply from the poll URL @@ -1942,7 +1981,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database @@ -1950,22 +1989,22 @@ It is not advisable to use it. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! - + The download would reduce free disk space below %1 - + Free space on disk is less than %1 - + File was deleted from server A fájl törlésre került a szerverről @@ -1998,17 +2037,17 @@ It is not advisable to use it. OCC::PropagateItemJob - + ; Restoration Failed: %1 - + Continue blacklisting: - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -2071,7 +2110,7 @@ It is not advisable to use it. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. @@ -2084,7 +2123,7 @@ It is not advisable to use it. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". @@ -2097,17 +2136,17 @@ It is not advisable to use it. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. - + This folder must not be renamed. Please name it back to Shared. - + The file was renamed but is part of a read only share. The original file was restored. @@ -2126,22 +2165,22 @@ It is not advisable to use it. OCC::PropagateUploadFileCommon - + File Removed Fájl törölve - + Local file changed during syncing. It will be resumed. - + Local file changed during sync. - + Error writing metadata to the database @@ -2149,32 +2188,32 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The local file was removed during sync. A helyi fájl el lett távolítva a szinkronizálás alatt. - + Local file changed during sync. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2182,32 +2221,32 @@ It is not advisable to use it. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. - + Poll URL missing - + The local file was removed during sync. A helyi fájl el lett távolítva a szinkronizálás alatt. - + Local file changed during sync. - + The server did not acknowledge the last chunk. (No e-tag was present) @@ -2225,42 +2264,42 @@ It is not advisable to use it. TextLabel - + Time Idő - + File Fájl - + Folder Mappa - + Action Művelet - + Size Méret - + Local sync protocol - + Copy Másolás - + Copy the activity list to the clipboard. Az aktivitási lista másolása a vágólapra. @@ -2301,51 +2340,41 @@ It is not advisable to use it. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - A jelöletlen könyvtárak <b>törlésre kerülnek</b> a helyi fájlrendszeredről és a továbbiakban nem lesz szinkronizálva ezzel a számítógéppel - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - - - - + Choose What to Sync Szinkronizálandó elemek kiválasztása - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Betöltés ... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Név - + Size Méret - - + + No subfolders currently on the server. - + An error occurred while loading the list of sub folders. @@ -2649,7 +2678,7 @@ It is not advisable to use it. OCC::SocketApi - + Share with %1 parameter is ownCloud Megosztás vele: %1 @@ -2857,275 +2886,285 @@ It is not advisable to use it. OCC::SyncEngine - + Success. Sikerült. - + CSync failed to load the journal file. The journal file is corrupted. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Az %1 beépülőmodul a csync-hez nem tölthető be.<br/>Ellenőrizze a telepítést!</p> - + CSync got an error while processing internal trees. A CSync hibába ütközött a belső adatok feldolgozása közben. - + CSync failed to reserve memory. Hiba a CSync memórifoglalásakor. - + CSync fatal parameter error. CSync hibás paraméterhiba. - + CSync processing step update failed. CSync frissítés feldolgozása meghíusult. - + CSync processing step reconcile failed. CSync egyeztetési lépés meghíusult. - + CSync could not authenticate at the proxy. - + CSync failed to lookup proxy or server. A CSync nem találja a proxy kiszolgálót. - + CSync failed to authenticate at the %1 server. A CSync nem tuja azonosítani magát a %1 kiszolgálón. - + CSync failed to connect to the network. CSync hálózati kapcsolódási hiba. - + A network connection timeout happened. - + A HTTP transmission error happened. HTTP átviteli hiba történt. - + The mounted folder is temporarily not available on the server - + An error occurred while opening a folder - + Error while reading folder. - + File/Folder is ignored because it's hidden. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() - + Not allowed because you don't have permission to add parent folder - + Not allowed because you don't have permission to add files in that folder - + CSync: No space on %1 server available. CSync: Nincs szabad tárhely az %1 kiszolgálón. - + CSync unspecified error. CSync ismeretlen hiba. - + Aborted by the user Felhasználó megszakította - - Filename contains invalid characters that can not be synced cross platform. - - - - + CSync failed to access - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. - + CSync failed due to unhandled permission denied. - + CSync tried to create a folder that already exists. - + The service is temporarily unavailable A szolgáltatás ideiglenesen nem elérhető - + Access is forbidden - + An internal error number %1 occurred. - + The item is not synced because of previous errors: %1 - + Symbolic links are not supported in syncing. - + File is listed on the ignore list. Fájl a kizárási listán. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. Fájlnév túl nagy. - + Stat failed. - + Filename encoding is not valid - + Invalid characters, please rename "%1" Érvénytelen karakterek, kérjük nevezd át: %1 - + Unable to initialize a sync journal. - + Unable to read the blacklist from the local database - + Unable to read from the sync journal. - + Cannot open the sync journal - + File name contains at least one invalid character A fájlnév legalább egy érvénytelen karaktert tartalmaz! - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add subfolders to that folder - + Not allowed to upload this file because it is read-only on the server, restoring - - + + Not allowed to remove, restoring - + Local files and share folder removed. - + Move not allowed, item restored - + Move not allowed because %1 is read-only - + the destination a cél - + the source a forrás @@ -3149,17 +3188,17 @@ It is not advisable to use it. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> %1 verzió elérhető. <p>További információk: <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> @@ -3409,10 +3448,10 @@ It is not advisable to use it. - - - - + + + + TextLabel TextLabel @@ -3432,7 +3471,23 @@ It is not advisable to use it. &Tiszta szinkronizálás elindítása (Mindent töröl a helyi könyvtárból!) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Szinkronizálandó elemek kiválasztása @@ -3452,12 +3507,12 @@ It is not advisable to use it. &Helyi adatok megtartása - + S&ync everything from server M&inden szinkronizálása a szerverről - + Status message Állapotüzenet @@ -3498,7 +3553,7 @@ It is not advisable to use it. - + TextLabel TextLabel @@ -3554,8 +3609,8 @@ It is not advisable to use it. - Server &Address - Kiszolgáló &címe + Ser&ver Address + @@ -3595,7 +3650,7 @@ It is not advisable to use it. QApplication - + QT_LAYOUT_DIRECTION @@ -3603,40 +3658,46 @@ It is not advisable to use it. QObject - + in the future - + %n day(s) ago - + %n hour(s) ago - + now - + Less than a minute ago - + %n minute(s) ago - + Some time ago + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3661,37 +3722,37 @@ It is not advisable to use it. %L1 B - + %n year(s) - + %n month(s) - + %n day(s) - + %n hour(s) - + %n minute(s) - + %n second(s) - + %1 %2 %1 %2 @@ -3712,7 +3773,7 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Fordítva a <a href="%1">%2</a> Git revizíóból, %3, %4 Qt %5, %6 felhasználásával</small></p> diff --git a/translations/client_it.ts b/translations/client_it.ts index ebe328a27..8b4ed5e4c 100644 --- a/translations/client_it.ts +++ b/translations/client_it.ts @@ -126,7 +126,7 @@ - + Cancel Annulla @@ -246,22 +246,32 @@ Accedi - - There are new folders that were not synchronized because they are too big: + + There are folders that were not synchronized because they are too big: Ci sono nuove cartelle che non sono state sincronizzate poiché sono troppo grandi: - + + There are folders that were not synchronized because they are external storages: + Ci sono nuove cartelle che non sono state sincronizzate poiché sono archiviazioni esterne: + + + + There are folders that were not synchronized because they are too big or external storages: + Ci sono nuove cartelle che non sono state sincronizzate poiché sono troppo grandi o archiviazioni esterne: + + + Confirm Account Removal Conferma rimozione account - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vuoi davvero eliminare la connessione all'account <i>%1</i>?</p><p><b>Nota:</b> ciò <b>non</b> eliminerà alcun file.</p> - + Remove connection Rimuovi connessione @@ -521,6 +531,24 @@ File di certificato (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Errore durante la scrittura dei metadati nel database @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Connessione scaduta @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Interrotto dall'utente @@ -604,143 +632,156 @@ OCC::Folder - + Local folder %1 does not exist. La cartella locale %1 non esiste. - + %1 should be a folder but is not. %1 dovrebbe essere una cartella, ma non lo è. - + %1 is not readable. %1 non è leggibile. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 è stato rimosso. - + %1 has been downloaded. %1 names a file. %1 è stato scaricato. - + %1 has been updated. %1 names a file. %1 è stato aggiornato. - + %1 has been renamed to %2. %1 and %2 name files. %1 è stato rinominato in %2. - + %1 has been moved to %2. %1 è stato spostato in %2. - + %1 and %n other file(s) have been removed. %1 e %n altro file sono stati rimossi.%1 e %n altri file sono stati rimossi. - + %1 and %n other file(s) have been downloaded. %1 e %n altro file sono stati scaricati.%1 e %n altri file sono stati scaricati. - + %1 and %n other file(s) have been updated. %1 e %n altro file sono stati aggiornati.%1 e %n altri file sono stati aggiornati. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 è stato rinominato in %2 e %n altro file sono stati rinominati.%1 è stato rinominato in %2 e %n altri file sono stati rinominati. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 è stato spostato in %2 e %n altro file sono stati spostati.%1 è stato spostato in %2 e %n altri file sono stati spostati. - + %1 has and %n other file(s) have sync conflicts. %1 e %n altro file hanno conflitti di sincronizzazione.%1 e %n altri file hanno conflitti di sincronizzazione. - + %1 has a sync conflict. Please check the conflict file! %1 ha un conflitto di sincronizzazione. Controlla il file in conflitto! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. 1% e %n altro file non sono stati sincronizzati a causa di errori. Controlla il log per i dettagli.1% e %n altri file non sono stati sincronizzati a causa di errori. Controlla il log per i dettagli. - + %1 could not be synced due to an error. See the log for details. %1 non può essere sincronizzato a causa di un errore. Controlla il log per i dettagli. - + Sync Activity Sincronizza attività - + Could not read system exclude file Impossibile leggere il file di esclusione di sistema - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. + Una nuova cartella più grande di %1 MB è stata aggiunta: %2. -Vai nelle impostazioni per selezionarla se desideri scaricarla. + - - 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? - Questa sincronizzazione rimuoverà tutti i file nella cartella di sincronizzazione '%1'. -Ciò potrebbe accadere in caso di riconfigurazione della cartella o di rimozione manuale di tutti i file. -Sei sicuro di voler eseguire questa operazione? + + A folder from an external storage has been added. + + Una nuova cartella da un'archiviazione esterna è stata aggiunta. + + - + + Please go in the settings to select it if you wish to download it. + Vai nelle impostazioni e selezionala se vuoi scaricarla. + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Vuoi rimuovere tutti i file? - + Remove all files Rimuovi tutti i file - + Keep files Mantieni i file - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -749,17 +790,17 @@ Ciò potrebbe verificarsi in seguito al ripristino di un backup sul server. Se continui normalmente la sincronizzazione provocherai la sovrascrittura di tutti i tuoi file con file più datati in uno stato precedente. Vuoi mantenere i tuoi file locali più recenti come file di conflitto? - + Backup detected Backup rilevato - + Normal Synchronisation Sincronizzazione normale - + Keep Local Files as Conflict Mantieni i file locali come conflitto @@ -767,112 +808,112 @@ Se continui normalmente la sincronizzazione provocherai la sovrascrittura di tut OCC::FolderMan - + Could not reset folder state Impossibile ripristinare lo stato della cartella - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. È stato trovato un vecchio registro di sincronizzazione '%1', ma non può essere rimosso. Assicurati che nessuna applicazione lo stia utilizzando. - + (backup) (copia di sicurezza) - + (backup %1) (copia di sicurezza %1) - + Undefined State. Stato non definito. - + Waiting to start syncing. In attesa di iniziare la sincronizzazione. - + Preparing for sync. Preparazione della sincronizzazione. - + Sync is running. La sincronizzazione è in corso. - + Last Sync was successful. L'ultima sincronizzazione è stata completata correttamente. - + Last Sync was successful, but with warnings on individual files. Ultima sincronizzazione avvenuta, ma con avvisi relativi a singoli file. - + Setup Error. Errore di configurazione. - + User Abort. Interrotto dall'utente. - + Sync is paused. La sincronizzazione è sospesa. - + %1 (Sync is paused) %1 (La sincronizzazione è sospesa) - + No valid folder selected! Nessuna cartella valida selezionata! - + The selected path is not a folder! Il percorso selezionato non è una cartella! - + You have no permission to write to the selected folder! Non hai i permessi di scrittura per la cartella selezionata! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! La cartella locale %1 contiene un collegamento simbolico. La destinazione del collegamento contiene una cartella già sincronizzata. Selezionane un'altra! - + There is already a sync from the server to this local folder. Please pick another local folder! Esiste già una sincronizzazione dal server a questa cartella locale. Seleziona un'altra cartella locale! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! La cartella locale %1 contiene già una cartella utilizzata in una connessione di sincronizzazione delle cartelle. Selezionane un'altra! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! La cartella locale %1 è già contenuta in una cartella utilizzata in una connessione di sincronizzazione delle cartelle. Selezionane un'altra! - + 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! La cartella locale %1 è un collegamento simbolico. La destinazione del collegamento è già contenuta in una cartella utilizzata in una connessione di sincronizzazione delle cartelle. Selezionane un'altra! @@ -898,133 +939,133 @@ Se continui normalmente la sincronizzazione provocherai la sovrascrittura di tut OCC::FolderStatusModel - + You need to be connected to add a folder Devi essere connesso per aggiungere una cartella - + Click this button to add a folder to synchronize. Fai clic su questo pulsante per aggiungere una cartella da sincronizzare. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Errore durante il caricamento dell'elenco delle cartelle dal server. - + Signed out Disconnesso - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. L'aggiunta di una cartella è disabilitata perché stai già sincronizzando tutti i tuoi file. Se desideri sincronizzare più cartelle, rimuovi la cartella radice attualmente configurata. - + Fetching folder list from server... Recupero dell'elenco delle cartelle dal server... - + Checking for changes in '%1' Controllo delle modifiche in '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Sincronizzazione di %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) ricezione %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) invio %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 di %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" %5 rimanenti, %1 di %2, file %3 di %4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 di %2, file %3 di %4 - + file %1 of %2 file %1 di %2 - + Waiting... Attendere... - + Waiting for %n other folder(s)... In attesa di %n altra cartella...In attesa di %n altre cartelle... - + Preparing to sync... Preparazione della sincronizzazione... @@ -1032,12 +1073,12 @@ Se continui normalmente la sincronizzazione provocherai la sovrascrittura di tut OCC::FolderWizard - + Add Folder Sync Connection Aggiungi connessioni di sincronizzazione cartelle - + Add Sync Connection Aggiungi connessione di sincronizzazione @@ -1113,14 +1154,6 @@ Se continui normalmente la sincronizzazione provocherai la sovrascrittura di tut Stai già sincronizzando tutti i tuoi file. La sincronizzazione di un'altra cartella <b>non</b> è supportata. Se vuoi sincronizzare più cartelle, rimuovi la configurazione della cartella principale di sincronizzazione. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Scegli cosa sincronizzare: puoi deselezionare opzionalmente le sottocartelle remote che non desideri sincronizzare. - - OCC::FormatWarningsWizardPage @@ -1137,22 +1170,22 @@ Se continui normalmente la sincronizzazione provocherai la sovrascrittura di tut OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nessun e-tag ricevuto dal server, controlla il proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Abbiamo ricevuto un e-tag diverso per il recupero. Riprova più tardi. - + Server returned wrong content-range Il server ha restituito un content-range errato - + Connection Timeout Connessione scaduta @@ -1180,10 +1213,21 @@ Se continui normalmente la sincronizzazione provocherai la sovrascrittura di tut Avanzate - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1200,33 +1244,28 @@ Se continui normalmente la sincronizzazione provocherai la sovrascrittura di tut Usa le icone &monocolore - + Edit &Ignored Files Mod&ifica file ignorati - - Ask &confirmation before downloading folders larger than - &Chiedi conferma prima di scaricare cartelle più grandi di - - - + S&how crash reporter Mostra il rapporto di c&hiusura inattesa + - About Informazioni - + Updates Aggiornamenti - + &Restart && Update &Riavvia e aggiorna @@ -1400,7 +1439,7 @@ Gli elementi per i quali è consentita l'eliminazione, saranno eliminati se OCC::MoveJob - + Connection timed out Connessione scaduta @@ -1549,23 +1588,23 @@ Gli elementi per i quali è consentita l'eliminazione, saranno eliminati se OCC::NotificationWidget - + Created at %1 Creato alle %1 - + Closing in a few seconds... Chiusura tra pochi secondi... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' %1 richiesta non riuscita alle %2 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' selezionato alle %2 @@ -1648,28 +1687,28 @@ for additional privileges during the process. Connetti... - + %1 folder '%2' is synced to local folder '%3' La cartella '%2' di %1 è sincronizzata con la cartella locale '%3' - + Sync the folder '%1' Sincronizza la cartella '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Avviso:</strong> la cartella locale non è vuota. Scegli una soluzione.</small></p> - + Local Sync Folder Cartella locale di sincronizzazione - - + + (%1) (%1) @@ -1895,7 +1934,7 @@ Non è consigliabile utilizzarlo. Impossibile rimuovere o creare una copia di sicurezza della cartella poiché la cartella o un file in essa contenuto è aperta in un altro programma. Chiudi la cartella o il file e premi Riprova o annulla la configurazione. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Cartella locale %1 creata correttamente!</b></font> @@ -1934,7 +1973,7 @@ Non è consigliabile utilizzarlo. OCC::PUTFileJob - + Connection Timeout Connessione scaduta @@ -1942,7 +1981,7 @@ Non è consigliabile utilizzarlo. OCC::PollJob - + Invalid JSON reply from the poll URL Risposta JSON non valida dall'URL di richiesta @@ -1950,7 +1989,7 @@ Non è consigliabile utilizzarlo. OCC::PropagateDirectory - + Error writing metadata to the database Errore durante la scrittura dei metadati nel database @@ -1958,22 +1997,22 @@ Non è consigliabile utilizzarlo. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Il file %1 non può essere scaricato a causa di un conflitto con un file locale. - + The download would reduce free disk space below %1 Lo scaricamento ridurrà lo spazio libero su disco al di sotto di %1 - + Free space on disk is less than %1 Lo spazio libero su disco è inferiore a %1 - + File was deleted from server Il file è stato eliminato dal server @@ -2006,17 +2045,17 @@ Non è consigliabile utilizzarlo. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Ripristino non riuscito: %1 - + Continue blacklisting: Continua la lista nera: - + A file or folder was removed from a read only share, but restoring failed: %1 Un file o una cartella è stato rimosso da una condivisione in sola lettura, ma il ripristino non è riuscito: %1 @@ -2079,7 +2118,7 @@ Non è consigliabile utilizzarlo. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Il file è stato rimosso da una condivisione in sola lettura. È stato ripristinato. @@ -2092,7 +2131,7 @@ Non è consigliabile utilizzarlo. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Codice HTTP errato restituito dal server. Atteso 201, ma ricevuto "%1 %2". @@ -2105,17 +2144,17 @@ Non è consigliabile utilizzarlo. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Questa cartella non può essere rinominata. Il nome originale è stato ripristinato. - + This folder must not be renamed. Please name it back to Shared. Questa cartella non può essere rinominata. Ripristina il nome Shared. - + The file was renamed but is part of a read only share. The original file was restored. Il file è stato rinominato, ma è parte di una condivisione in sola lettura. Il file originale è stato ripristinato. @@ -2134,22 +2173,22 @@ Non è consigliabile utilizzarlo. OCC::PropagateUploadFileCommon - + File Removed File rimosso - + Local file changed during syncing. It will be resumed. Il file locale è stato modificato durante la sincronizzazione. Sarà ripristinato. - + Local file changed during sync. Un file locale è cambiato durante la sincronizzazione. - + Error writing metadata to the database Errore durante la scrittura dei metadati nel database @@ -2157,32 +2196,32 @@ Non è consigliabile utilizzarlo. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Forzare l'interruzione dell'operazione in caso di ripristino della connessione HTTP con Qt < 5.4.2. - + The local file was removed during sync. Il file locale è stato rimosso durante la sincronizzazione. - + Local file changed during sync. Un file locale è cambiato durante la sincronizzazione. - + Unexpected return code from server (%1) Codice di uscita inatteso dal server (%1) - + Missing File ID from server File ID mancante dal server - + Missing ETag from server ETag mancante dal server @@ -2190,32 +2229,32 @@ Non è consigliabile utilizzarlo. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Forzare l'interruzione dell'operazione in caso di ripristino della connessione HTTP con Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Il file è stato modificato localmente, ma è parte di una condivisione in sola lettura. È stato ripristinato e la tua modifica è nel file di conflitto. - + Poll URL missing URL di richiesta mancante - + The local file was removed during sync. Il file locale è stato rimosso durante la sincronizzazione. - + Local file changed during sync. Un file locale è cambiato durante la sincronizzazione. - + The server did not acknowledge the last chunk. (No e-tag was present) Il server non ha riconosciuto l'ultimo pezzo. (Non era presente alcun e-tag) @@ -2233,42 +2272,42 @@ Non è consigliabile utilizzarlo. EtichettaTesto - + Time Ora - + File File - + Folder Cartella - + Action Azione - + Size Dimensione - + Local sync protocol Protocollo di sincronizzazione locale - + Copy Copia - + Copy the activity list to the clipboard. Copia l'elenco delle attività negli appunti. @@ -2309,51 +2348,41 @@ Non è consigliabile utilizzarlo. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Le cartelle non marcate saranno <b>rimosse</b> dal file system locale e non saranno sincronizzate più con questo computer - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Scegli cosa sincronizzare: seleziona le sottocartelle remote che desideri sincronizzare. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Scegli cosa sincronizzare: deseleziona le sottocartelle remote che non desideri sincronizzare. - - - + Choose What to Sync Scegli cosa sincronizzare - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Caricamento in corso... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Nome - + Size Dimensione - - + + No subfolders currently on the server. Attualmente non ci sono sottocartelle sul server. - + An error occurred while loading the list of sub folders. Si è verificato un errore durante il caricamento dell'elenco delle sottocartelle. @@ -2657,7 +2686,7 @@ Non è consigliabile utilizzarlo. OCC::SocketApi - + Share with %1 parameter is ownCloud Condividi con %1 @@ -2866,275 +2895,285 @@ Non è consigliabile utilizzarlo. OCC::SyncEngine - + Success. Successo. - + CSync failed to load the journal file. The journal file is corrupted. CSync non è riuscito a scrivere il file di registro. Il file di registro è danneggiato. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Il plugin %1 per csync non può essere caricato.<br/>Verifica l'installazione!</p> - + CSync got an error while processing internal trees. Errore di CSync durante l'elaborazione degli alberi interni. - + CSync failed to reserve memory. CSync non è riuscito a riservare la memoria. - + CSync fatal parameter error. Errore grave di parametro di CSync. - + CSync processing step update failed. La fase di aggiornamento di CSync non è riuscita. - + CSync processing step reconcile failed. La fase di riconciliazione di CSync non è riuscita. - + CSync could not authenticate at the proxy. CSync non è in grado di autenticarsi al proxy. - + CSync failed to lookup proxy or server. CSync non è riuscito a trovare un proxy o server. - + CSync failed to authenticate at the %1 server. CSync non è riuscito ad autenticarsi al server %1. - + CSync failed to connect to the network. CSync non è riuscito a connettersi alla rete. - + A network connection timeout happened. Si è verificato un timeout della connessione di rete. - + A HTTP transmission error happened. Si è verificato un errore di trasmissione HTTP. - + The mounted folder is temporarily not available on the server La cartella montata è temporaneamente indisponibile sul server - + An error occurred while opening a folder Si è verificato un errore durante l'apertura di una cartella - + Error while reading folder. Errore durante la lettura della cartella. - + File/Folder is ignored because it's hidden. Il file/cartella è ignorato poiché è nascosto. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Sono disponibili solo %1, servono almeno %2 per iniziare - + Not allowed because you don't have permission to add parent folder Non consentito poiché non disponi dei permessi per aggiungere la cartella superiore - + Not allowed because you don't have permission to add files in that folder Non consentito poiché non disponi dei permessi per aggiungere file in quella cartella - + CSync: No space on %1 server available. CSync: spazio insufficiente sul server %1. - + CSync unspecified error. Errore non specificato di CSync. - + Aborted by the user Interrotto dall'utente - - Filename contains invalid characters that can not be synced cross platform. - Il nome del file contiene caratteri non validi che non possono essere sincronizzati su diverse piattaforme. - - - + CSync failed to access CSync non è riuscito ad accedere - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. CSync non è riuscito a caricare o a creare il file journal. Assicurati di avere i permessi di lettura e scrittura nella cartella di sincronizzazione locale. - + CSync failed due to unhandled permission denied. Problema di CSync a causa di un permesso negato non gestito. - + CSync tried to create a folder that already exists. CSync ha cercato di creare una cartella già esistente. - + The service is temporarily unavailable Il servizio è temporaneamente non disponibile - + Access is forbidden L'accesso è vietato - + An internal error number %1 occurred. SI è verificato un errore interno numero %1. - + The item is not synced because of previous errors: %1 L'elemento non è sincronizzato a causa dell'errore precedente: %1 - + Symbolic links are not supported in syncing. I collegamenti simbolici non sono supportati dalla sincronizzazione. - + File is listed on the ignore list. Il file è stato aggiunto alla lista ignorati. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + Il nome del file è un nome riservato su questo file system. + + + Filename contains trailing spaces. Il nome del file contiene spazi alla fine. - + Filename is too long. Il nome del file è troppo lungo. - + Stat failed. Stat non riuscita. - + Filename encoding is not valid La codifica del nome del file non è valida - + Invalid characters, please rename "%1" Caratteri non validi, rinomina "%1" - + Unable to initialize a sync journal. Impossibile inizializzare il registro di sincronizzazione. - + Unable to read the blacklist from the local database Impossibile leggere la lista nera dal database locale - + Unable to read from the sync journal. Impossibile leggere dal registro di sincronizzazione. - + Cannot open the sync journal Impossibile aprire il registro di sincronizzazione - + File name contains at least one invalid character Il nome del file contiene almeno un carattere non valido - - + + Ignored because of the "choose what to sync" blacklist Ignorato in base alla lista nera per la scelta di cosa sincronizzare - + Not allowed because you don't have permission to add subfolders to that folder Non consentito poiché non disponi dei permessi per aggiungere sottocartelle in quella cartella - + Not allowed to upload this file because it is read-only on the server, restoring Il caricamento di questo file non è consentito poiché è in sola lettura sul server, ripristino - - + + Not allowed to remove, restoring Rimozione non consentita, ripristino - + Local files and share folder removed. I file locali e la cartella condivisa sono stati rimossi. - + Move not allowed, item restored Spostamento non consentito, elemento ripristinato - + Move not allowed because %1 is read-only Spostamento non consentito poiché %1 è in sola lettura - + the destination la destinazione - + the source l'origine @@ -3158,17 +3197,17 @@ Non è consigliabile utilizzarlo. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Versione %1. Per ulteriori informazioni vedi <a href="%2">3</a>.</p> - + <p>Copyright ownCloud GmbH</p> <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Distribuito da %1 e sotto licenza GNU General Public License (GPL) versione 2.0.<br/>%2 e il logo di %2 sono marchi registrati di %1 negli Stati Uniti, in altri paesi o entrambi.</p> @@ -3418,10 +3457,10 @@ Non è consigliabile utilizzarlo. - - - - + + + + TextLabel EtichettaTesto @@ -3441,7 +3480,23 @@ Non è consigliabile utilizzarlo. Avvia una nuova sin&cronizzazione (Cancella la cartella locale!) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Scegli cosa sincronizzare @@ -3461,12 +3516,12 @@ Non è consigliabile utilizzarlo. &Mantieni i dati locali - + S&ync everything from server Sincroni&zza tutto dal server - + Status message Messaggio di stato @@ -3507,7 +3562,7 @@ Non è consigliabile utilizzarlo. - + TextLabel EtichettaTesto @@ -3563,8 +3618,8 @@ Non è consigliabile utilizzarlo. - Server &Address - In&dirizzo server + Ser&ver Address + Indirizzo ser&ver @@ -3604,7 +3659,7 @@ Non è consigliabile utilizzarlo. QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3612,40 +3667,46 @@ Non è consigliabile utilizzarlo. QObject - + in the future nel futuro - + %n day(s) ago %n giorno fa%n giorni fa - + %n hour(s) ago %n ora fa%n ore fa - + now adesso - + Less than a minute ago Meno di un minuto fa - + %n minute(s) ago %n minuto fa%n minuti fa - + Some time ago Tempo fa + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3670,37 +3731,37 @@ Non è consigliabile utilizzarlo. %L1 B - + %n year(s) % anno%n anni - + %n month(s) %n mese%n mesi - + %n day(s) %n giorno%n giorni - + %n hour(s) %n ora%n ore - + %n minute(s) %n minuto%n minuti - + %n second(s) %n secondo%n secondi - + %1 %2 %1 %2 @@ -3721,7 +3782,7 @@ Non è consigliabile utilizzarlo. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Compilato dalla revisione Git <a href="%1">%2</a> il %3, %4 utilizzando Qt %5, %6</small><p> diff --git a/translations/client_ja.ts b/translations/client_ja.ts index 086174836..165a76774 100644 --- a/translations/client_ja.ts +++ b/translations/client_ja.ts @@ -126,7 +126,7 @@ - + Cancel キャンセル @@ -246,22 +246,32 @@ ログイン - - There are new folders that were not synchronized because they are too big: - 容量が大きいため、同期されていない新規フォルダーがあります: + + There are folders that were not synchronized because they are too big: + - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal アカウント削除確認 - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p> アカウント <i>%1</i> を本当に削除しますか?</p><p><b>注意:</b> これによりファイルが一切削除されることはありません。</p> - + Remove connection 接続削除 @@ -521,6 +531,24 @@ 証明書ファイル (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + 設定ファイルのアクセスでエラーが発生しました + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + ownCloudを終了 + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database メタデータのデータベースへの書き込みに失敗 @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out 接続タイムアウト @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user ユーザーによって中止されました @@ -604,160 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. ローカルフォルダー %1 は存在しません。 - + %1 should be a folder but is not. %1 はフォルダーのはずですが、そうではないようです。 - + %1 is not readable. %1 は読み込み可能ではありません。 - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 は削除されました。 - + %1 has been downloaded. %1 names a file. %1 はダウンロードされました。 - + %1 has been updated. %1 names a file. %1 が更新されました。 - + %1 has been renamed to %2. %1 and %2 name files. %1 の名前が %2 に変更されました。 - + %1 has been moved to %2. %1 は %2 に移動しました。 - + %1 and %n other file(s) have been removed. %1 とその他 %n 個のファイルが削除されました。 - + %1 and %n other file(s) have been downloaded. %1 とその他 %n 個のファイルがダウンロードされました。 - + %1 and %n other file(s) have been updated. %1 とその他 %n 個のファイルが更新されました。 - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 を %2 にファイル名を変更し、その他 %n 個のファイル名を変更しました。 - + %1 has been moved to %2 and %n other file(s) have been moved. %1 を %2 に移動し、その他 %n 個のファイルを移動しました。 - + %1 has and %n other file(s) have sync conflicts. %1 と その他 %n 個のファイルが同期で衝突しました。 - + %1 has a sync conflict. Please check the conflict file! %1 が同期で衝突しています。コンフリクトファイルを確認してください。 - + %1 and %n other file(s) could not be synced due to errors. See the log for details. エラーにより、%1 と その他 %n 個のファイルが同期できませんでした。ログで詳細を確認してください。 - + %1 could not be synced due to an error. See the log for details. エラーにより %1 が未同期です。ログで詳細を確認してください。 - + Sync Activity 同期アクティビティ - + Could not read system exclude file システム上の除外ファイルを読み込めません - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - 新しい %1 MB以上のフォルダーが追加されました: %2 -ダウンロードしたい場合は、設定画面で選択してください。 + + - - 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? - この同期により、ローカルの同期フォルダー '%1'にある全ファイルが削除されます。 -これはフォルダーが黙って再構成されたか、すべてのファイルが手動で削除されたことが原因である場合があります。 -本当にこの操作を実行しますか? + + A folder from an external storage has been added. + + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? すべてのファイルを削除しますか? - + Remove all files すべてのファイルを削除 - + Keep files ファイルを残す - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - この同期により同期フォルダ '%1' のファイルが以前のものに戻されます。 これは、バックアップがサーバー上に復元されたためです。 通常と同じように同期を続けると、すべてのファイルが以前の状態の古いファイルによって上書きされます。最新のローカルファイルを競合ファイルとして保存しますか? + この同期により同期フォルダー '%1' のファイルが以前のものに戻されます。 これは、バックアップがサーバー上に復元されたためです。 通常と同じように同期を続けると、すべてのファイルが以前の状態の古いファイルによって上書きされます。最新のローカルファイルを競合ファイルとして保存しますか? - + Backup detected バックアップが検出されました - + Normal Synchronisation 正常同期 - + Keep Local Files as Conflict コンフリクト時にローカルファイルを保持 @@ -765,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state フォルダーの状態をリセットできませんでした - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 古い同期ジャーナル '%1' が見つかりましたが、削除できませんでした。それを現在使用しているアプリケーションが存在しないか確認してください。 - + (backup) (バックアップ) - + (backup %1) (%1をバックアップ) - + Undefined State. 未定義の状態。 - + Waiting to start syncing. 同期開始を待機中 - + Preparing for sync. 同期の準備中。 - + Sync is running. 同期を実行中です。 - + Last Sync was successful. 最後の同期は成功しました。 - + Last Sync was successful, but with warnings on individual files. 最新の同期は成功しました。しかし、一部のファイルに問題がありました。 - + Setup Error. 設定エラー。 - + User Abort. ユーザーによる中止。 - + Sync is paused. 同期を一時停止しました。 - + %1 (Sync is paused) %1 (同期を一時停止) - + No valid folder selected! 有効なフォルダーが選択されていません! - + The selected path is not a folder! 指定のパスは、フォルダーではありません! - + You have no permission to write to the selected folder! 選択されたフォルダーに書き込み権限がありません - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - ローカルフォルダ %1 にはシンボリックリンクが含まれています。リンク先には既に同期されたフォルダが含まれているため、別のフォルダを選択してください! + ローカルフォルダー %1 にはシンボリックリンクが含まれています。リンク先にはすでに同期されたフォルダーが含まれているため、別のフォルダーを選択してください! - + There is already a sync from the server to this local folder. Please pick another local folder! - 既に同期されたフォルダがあります。別のフォルダを選択してください! + すでに同期されたフォルダーがあります。別のフォルダーを選択してください! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! ローカルフォルダー %1 にはすでに同期フォルダーとして利用されてるフォルダーを含んでいます。他のフォルダーを選択してください。 - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! ローカルフォルダー %1 には同期フォルダーとして利用されているフォルダーがあります。他のフォルダーを選択してください。 - + 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! ローカルフォルダー %1 には同期フォルダーとして利用されているフォルダーがあります。他のフォルダーを選択してください! @@ -896,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder フォルダーを追加するためには、接続している必要があります。 - + Click this button to add a folder to synchronize. このボタンをクリックして同期フォルダーを追加してください。 - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. サーバーからフォルダーのリスト取得時にエラー - + Signed out サインアウト - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. すでに同期対象のフォルダーのため、追加したフォルダーを無効にしました。複数のフォルダーを同期したい場合は、現在設定されているルートフォルダーの同期設定を削除してください。 - + Fetching folder list from server... サーバーからフォルダーリストを取得中... - + Checking for changes in '%1' '%1' の更新を確認しています - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" 同期中 %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) ダウンロード %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) アップロード %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%4 中 %3 完了) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" - 残り %5、%2中 %1完了 、%4中 %3 ファイル完了 + 残り%5、%2中%1完了 、ファイル%4個中%3個完了 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 of %2, ファイル数 %3 of %4 - + file %1 of %2 %1 / %2 ファイル - + Waiting... 待機中... - + Waiting for %n other folder(s)... %n 他のフォルダーの完了待ち... - + Preparing to sync... 同期の準備中... @@ -1030,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection 同期フォルダーを追加 - + Add Sync Connection 同期接続を追加 @@ -1111,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an すべてのファイルはすでに同期されています。他のフォルダーの同期は<b>サポートしていません</>。複数のフォルダーを同期したい場合は、現在設定されているルートフォルダー同期設定を削除してください。 - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - 何を同期するか選択: 同期したくないリモートのサブフォルダーは、同期対象から外せます。 - - OCC::FormatWarningsWizardPage @@ -1135,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway サーバーからE-Tagを受信できません。プロキシ/ゲートウェイを確認してください。 - + We received a different E-Tag for resuming. Retrying next time. 同期再開時に違う E-Tagを受信しました。次回リトライします。 - + Server returned wrong content-range サーバーが間違ったcontent-rangeを返しました - + Connection Timeout 接続タイムアウト @@ -1178,10 +1208,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an 詳細設定 - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1198,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an モノクロアイコンを使用(&M) - + Edit &Ignored Files 除外ファイルリストを編集(&I) - - Ask &confirmation before downloading folders larger than - 次の容量より大きい場合はダウンロード前に確認(C&) - - - + S&how crash reporter クラッシュ報告を表示(&H) + - About バージョン情報 - + Updates アップデート - + &Restart && Update 再起動してアップデート(&R) @@ -1234,7 +1270,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Please enter %1 password:<br><br>User: %2<br>Account: %3<br> - %1 のパスワードを入力してください:<br> <br>ユーザ:%2<br>アカウント:%3<br> + %1 のパスワードを入力してください:<br> <br>ユーザー:%2<br>アカウント:%3<br> @@ -1398,7 +1434,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::MoveJob - + Connection timed out 接続タイムアウト @@ -1547,23 +1583,23 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::NotificationWidget - + Created at %1 %1 を作成しました。 - + Closing in a few seconds... 数秒以内に接続を終了します。 - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' リクエスト %1 が %2 に失敗 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' が %2 に選択されました @@ -1646,28 +1682,28 @@ for additional privileges during the process. 接続... - + %1 folder '%2' is synced to local folder '%3' %1 フォルダー '%2' はローカルフォルダー '%3' と同期しています - + Sync the folder '%1' '%1' フォルダーを同期 - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>警告:</strong> ローカルフォルダーは空ではありません。解決方法を選択してください!</small></p> - + Local Sync Folder ローカル同期フォルダー - - + + (%1) (%1) @@ -1792,7 +1828,7 @@ It is not advisable to use it. Invalid URL - + 無効なURL @@ -1892,7 +1928,7 @@ It is not advisable to use it. フォルダーまたはその中にあるファイルが他のプログラムで開かれているため、フォルダーの削除やバックアップができません。フォルダーまたはファイルを閉じてから再試行するか、セットアップをキャンセルしてください。 - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>ローカルの同期フォルダー %1 は正常に作成されました!</b></font> @@ -1931,7 +1967,7 @@ It is not advisable to use it. OCC::PUTFileJob - + Connection Timeout 接続タイムアウト @@ -1939,7 +1975,7 @@ It is not advisable to use it. OCC::PollJob - + Invalid JSON reply from the poll URL 不正なJSONがポーリングURLから返りました @@ -1947,7 +1983,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database メタデータのデータベースへの書き込みに失敗 @@ -1955,22 +1991,22 @@ It is not advisable to use it. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! ファイル %1 はローカルファイル名が衝突しているためダウンロードできません! - + The download would reduce free disk space below %1 ダウンロードすると、空き容量が %1 になります - + Free space on disk is less than %1 ディスク空き容量が %1 よりも少なくなっています - + File was deleted from server ファイルはサーバーから削除されました @@ -2003,17 +2039,17 @@ It is not advisable to use it. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; 復元に失敗: %1 - + Continue blacklisting: ブラックリストの続き: - + A file or folder was removed from a read only share, but restoring failed: %1 ファイルまたはフォルダーが読み込み専用の共有から削除されましたが、復元に失敗しました: %1 @@ -2076,7 +2112,7 @@ It is not advisable to use it. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. ファイルが読み込み専用の共有から削除されました。ファイルは復元されました。 @@ -2089,7 +2125,7 @@ It is not advisable to use it. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". 誤ったHTTPコードがサーバーから返されました。201のはずが、"%1 %2"が返りました。 @@ -2102,17 +2138,17 @@ It is not advisable to use it. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. このフォルダー名は変更できません。元の名前に戻します。 - + This folder must not be renamed. Please name it back to Shared. このフォルダー名は変更できません。名前を Shared に戻してください。 - + The file was renamed but is part of a read only share. The original file was restored. ファイルの名前が変更されましたが、読み込み専用の共有の一部です。オリジナルのファイルが復元されました。 @@ -2131,22 +2167,22 @@ It is not advisable to use it. OCC::PropagateUploadFileCommon - + File Removed ファイルを削除しました - + Local file changed during syncing. It will be resumed. ローカルファイルが同期中に変更されました。再開されます。 - + Local file changed during sync. ローカルのファイルが同期中に変更されました。 - + Error writing metadata to the database メタデータのデータベースへの書き込みに失敗 @@ -2154,32 +2190,32 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. 5.4.2 以下のQt でHTTP 接続リセットが強制終了されました - + The local file was removed during sync. ローカルファイルを同期中に削除します。 - + Local file changed during sync. ローカルのファイルが同期中に変更されました。 - + Unexpected return code from server (%1) サーバー (%1) からの予期しない戻りコード - + Missing File ID from server サーバーからファイルIDの戻りがありません - + Missing ETag from server サーバーからETagの戻りがありません @@ -2187,32 +2223,32 @@ It is not advisable to use it. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. 5.4.2 以下のQt でHTTP 接続リセットが強制終了されました - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. ファイルがローカルで編集されましたが、読み込み専用の共有の一部です。ファイルは復元され、あなたの編集は競合するファイル内にあります。 - + Poll URL missing ポーリングURLがありません - + The local file was removed during sync. ローカルファイルを同期中に削除します。 - + Local file changed during sync. ローカルのファイルが同期中に変更されました。 - + The server did not acknowledge the last chunk. (No e-tag was present) サーバーは最終チャンクを認識しませんでした。(e-tag が存在しませんでした) @@ -2230,42 +2266,42 @@ It is not advisable to use it. テキストラベル - + Time 時刻 - + File ファイル - + Folder フォルダー - + Action アクション - + Size サイズ - + Local sync protocol ローカルファイル同期状況 - + Copy コピー - + Copy the activity list to the clipboard. アクティビティ一覧をコピーする @@ -2306,51 +2342,41 @@ It is not advisable to use it. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - チェックしていないフォルダーはローカルファイルシステムから <b>削除</b>され、このコンピューターと同期されなくなります。 - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - 同期対象の選択: 同期したいリモートのサブフォルダーを選択してください。 - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - 同期対象の選択: 同期したくないリモートのサブフォルダーは、同期対象から外せます。 - - - + Choose What to Sync 同期フォルダーを選択 - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... 読込中 ... - + + Deselect remote folders you do not wish to synchronize. + + + + Name 名前 - + Size サイズ - - + + No subfolders currently on the server. 現在サーバーにサブフォルダーはありません。 - + An error occurred while loading the list of sub folders. サーバーからフォルダーのリスト取得時にエラーが発生しました。 @@ -2654,7 +2680,7 @@ It is not advisable to use it. OCC::SocketApi - + Share with %1 parameter is ownCloud %1 と共有 @@ -2863,275 +2889,285 @@ It is not advisable to use it. OCC::SyncEngine - + Success. 成功。 - + CSync failed to load the journal file. The journal file is corrupted. CSyncはジャーナルファイルの読み込みに失敗しました。ジャーナルファイルが破損しています。 - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csync 用の %1 プラグインをロードできませんでした。<br/>インストール状態を確認してください!</p> - + CSync got an error while processing internal trees. CSyncは内部ツリーの処理中にエラーに遭遇しました。 - + CSync failed to reserve memory. CSyncで使用するメモリの確保に失敗しました。 - + CSync fatal parameter error. CSyncの致命的なパラメータエラーです。 - + CSync processing step update failed. CSyncの処理ステップの更新に失敗しました。 - + CSync processing step reconcile failed. CSyncの処理ステップの調停に失敗しました。 - + CSync could not authenticate at the proxy. CSyncはそのプロキシで認証できませんでした。 - + CSync failed to lookup proxy or server. CSyncはプロキシもしくはサーバーの参照に失敗しました。 - + CSync failed to authenticate at the %1 server. CSyncは %1 サーバーでの認証に失敗しました。 - + CSync failed to connect to the network. CSyncはネットワークへの接続に失敗しました。 - + A network connection timeout happened. ネットワーク接続のタイムアウトが発生しました。 - + A HTTP transmission error happened. HTTPの伝送エラーが発生しました。 - + The mounted folder is temporarily not available on the server サーバー上のマウント済フォルダーが一時的に利用できません。 - + An error occurred while opening a folder フォルダーを開く際にエラーが発生しました - + Error while reading folder. フォルダーの読み込みエラー - + File/Folder is ignored because it's hidden. 隠しファイル/フォルダーのため無視されました - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() %1 しか空き容量がありません、開始するためには少なくとも %2 は必要です。 - + Not allowed because you don't have permission to add parent folder 親フォルダーを追加する権限がありません - + Not allowed because you don't have permission to add files in that folder そのフォルダーにファイルを追加する権限がありません - + CSync: No space on %1 server available. CSync: %1 サーバーには利用可能な空き領域がありません。 - + CSync unspecified error. CSyncの未指定のエラーです。 - + Aborted by the user ユーザーによって中止されました - - Filename contains invalid characters that can not be synced cross platform. - 異なるプラットフォームOS間で利用できない不正な文字コードがファイル名に含まれているため、同期できません。 - - - + CSync failed to access CSync は接続できませんでした - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. CSyncはジャーナルファイルの読み込みや作成に失敗しました。ローカルの同期フォルダーに読み書きの権限があるか確認してください。 - + CSync failed due to unhandled permission denied. CSync が処理できないパーミション拒否により失敗しました - + CSync tried to create a folder that already exists. CSyncはすでに存在するフォルダーを作成しようとしました。 - + The service is temporarily unavailable サーバーは一時的に利用できません - + Access is forbidden アクセスが禁止されています - + An internal error number %1 occurred. 内部エラー番号 %1 が発生しました。 - + The item is not synced because of previous errors: %1 このアイテムは以前にエラーが発生したため同期しません: %1 - + Symbolic links are not supported in syncing. 同期機能はシンボリックリンクをサポートしていません。 - + File is listed on the ignore list. ファイルは除外リストに登録されています。 - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + ファイル名はこのファイルシステムで予約されている名前です。 + + + Filename contains trailing spaces. ファイル名末尾にスペースが含まれます。 - + Filename is too long. ファイル名が長すぎます - + Stat failed. 情報取得エラー - + Filename encoding is not valid ファイル名のエンコーディングが無効です。 - + Invalid characters, please rename "%1" 無効な文字です、"%1" を変更してください。 - + Unable to initialize a sync journal. 同期ジャーナルの初期化ができません。 - + Unable to read the blacklist from the local database ローカルデータベースからブラックリストを読み込みできません - + Unable to read from the sync journal. 同期ジャーナルから読み込みできません - + Cannot open the sync journal 同期ジャーナルを開くことができません - + File name contains at least one invalid character ファイル名に1文字以上の無効な文字が含まれています - - + + Ignored because of the "choose what to sync" blacklist "同期対象先" ブラックリストにより無視されました。 - + Not allowed because you don't have permission to add subfolders to that folder そのフォルダーにサブフォルダーを追加する権限がありません - + Not allowed to upload this file because it is read-only on the server, restoring サーバーでは読み取り専用となっているため、このファイルをアップロードすることはできません、復元しています - - + + Not allowed to remove, restoring 削除できないので復元しています - + Local files and share folder removed. ローカルファイルと共有フォルダーを削除しました。 - + Move not allowed, item restored 移動できないので項目を復元しました - + Move not allowed because %1 is read-only %1 は読み取り専用のため移動できません - + the destination 移動先 - + the source 移動元 @@ -3155,17 +3191,17 @@ It is not advisable to use it. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>バージョン %1. 詳細な情報は<a href='%2'>%3</a>を確認してください。</p> - + <p>Copyright ownCloud GmbH</p> <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>%1 が配布し、 GNU General Public License (GPL) バージョン2.0 の下でライセンスされています。<br/>%2 及び %2 のロゴはアメリカ合衆国またはその他の国、あるいはその両方における %1 の登録商標です。</p> @@ -3401,7 +3437,7 @@ It is not advisable to use it. <p>Version %2. For more information visit <a href="%3">https://%4</a></p><p>For known issues and help, please visit: <a href="https://central.owncloud.org/c/help/desktop-file-sync">https://central.owncloud.org</a></p><p><small>By Klaas Freitag, Daniel Molkentin, Olivier Goffart, Markus Götz, Jan-Christoph Borchardt, and others.</small></p><p>Copyright ownCloud GmbH</p><p>Licensed under the GNU General Public License (GPL) Version 2.0<br/>ownCloud and the ownCloud Logo are registered trademarks of ownCloud GmbH in the United States, other countries, or both.</p> - <p>バージョン %2 詳細については、<a href="%3">https://%4</a>をご覧ください。</p><p>既知の問題とヘルプは、<a href="https://central.owncloud.org/c/help/desktop-file-sync">https://central.owncloud.org</a>をご覧下さい。By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, Olivier Goffart, Markus Götz and others.</small></p><p>著作権 ownCloud, Inc.<p><p>がGNU General Public License (GPL) バージョン2.0 でライセンスされています。<br/>ownCloud 及び ownCloud のロゴはアメリカ合衆国またはその他の国、あるいはその両方における<br> ownCloud, Inc.の登録商標です。</p> + <p>バージョン %2 詳細については、<a href="%3">https://%4</a>をご覧ください。</p><p>既知の問題とヘルプは、<a href="https://central.owncloud.org/c/help/desktop-file-sync">https://central.owncloud.org</a>をご覧ください。By Klaas Freitag, Daniel Molkentin, Jan-Christoph Borchardt, Olivier Goffart, Markus Götz and others.</small></p><p>著作権 ownCloud, Inc.<p><p>がGNU General Public License (GPL) バージョン2.0 でライセンスされています。<br/>ownCloud 及び ownCloud のロゴはアメリカ合衆国またはその他の国、あるいはその両方における<br> ownCloud, Inc.の登録商標です。</p> @@ -3415,10 +3451,10 @@ It is not advisable to use it. - - - - + + + + TextLabel テキストラベル @@ -3438,7 +3474,23 @@ It is not advisable to use it. クリーン同期を開始(ローカルフォルダーは削除されます!)(&C) - + + Ask for confirmation before synchroni&zing folders larger than + 指定された容量以上のフォルダーは同期前に確認する + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + 外部ストレージと同期する前に確認する(&X) + + + Choose what to sync 同期フォルダーを選択 @@ -3458,12 +3510,12 @@ It is not advisable to use it. ローカルデータを保持(&K) - + S&ync everything from server サーバーからすべてのファイルを同期(&Y) - + Status message 状態メッセージ @@ -3504,7 +3556,7 @@ It is not advisable to use it. - + TextLabel テキストラベル @@ -3560,8 +3612,8 @@ It is not advisable to use it. - Server &Address - サーバーアドレス(&A) + Ser&ver Address + サーバーアドレス(&V) @@ -3601,7 +3653,7 @@ It is not advisable to use it. QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3609,40 +3661,46 @@ It is not advisable to use it. QObject - + in the future 今後 - + %n day(s) ago %n日前 - + %n hour(s) ago %n 時間前 - + now - + Less than a minute ago 1分以内 - + %n minute(s) ago %n 分前 - + Some time ago 数分前 + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3667,37 +3725,37 @@ It is not advisable to use it. %L1 B - + %n year(s) %n 年 - + %n month(s) %n ヶ月 - + %n day(s) %n 日 - + %n hour(s) %n 時間 - + %n minute(s) %n 分 - + %n second(s) %n 秒 - + %1 %2 %1 %2 @@ -3718,7 +3776,7 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small><a href="%1">%2</a> %3, %4 のGitリビジョンからのビルド Qt %5, %6 を利用</small></p> diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts index cfea437ee..d3906137d 100644 --- a/translations/client_nb_NO.ts +++ b/translations/client_nb_NO.ts @@ -126,7 +126,7 @@ - + Cancel Avbryt @@ -246,22 +246,32 @@ Logg inn - - There are new folders that were not synchronized because they are too big: - Det finnes nye mapper som ikke ble synkronisert fordi de er for store: + + There are folders that were not synchronized because they are too big: + - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal Bekreft fjerning av konto - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vil du virkelig fjerne tilkoblingen til kontoen <i>%1</i>?</p><p><b>Merk:</b> Dette vil <b>ikke</b> slette noen filer.</p> - + Remove connection Fjern tilkobling @@ -521,6 +531,24 @@ Sertifikat-filer (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Feil ved skriving av metadata til databasen @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Forbindelsen fikk tidsavbrudd @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Avbrutt av brukeren @@ -604,143 +632,153 @@ OCC::Folder - + Local folder %1 does not exist. Lokal mappe %1 eksisterer ikke. - + %1 should be a folder but is not. %1 skal være en mappe men er ikke det. - + %1 is not readable. %1 kan ikke leses. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 har blitt fjernet. - + %1 has been downloaded. %1 names a file. %1 har blitt lastet ned. - + %1 has been updated. %1 names a file. %1 har blitt oppdatert. - + %1 has been renamed to %2. %1 and %2 name files. %1 har blitt omdøpt til %2. - + %1 has been moved to %2. %1 har blitt flyttet til %2. - + %1 and %n other file(s) have been removed. %1 og %2 annen fil har blitt fjernet.%1 og %2 andre filer har blitt fjernet. - + %1 and %n other file(s) have been downloaded. %1 og %2 annen fil har blitt lastet ned.%1 og %2 andre filer har blitt lastet ned. - + %1 and %n other file(s) have been updated. %1 og %2 annen fil har blitt oppdatert.%1 og %2 andre filer har blitt oppdatert. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 er blitt omdøpt til %2 og %n annen fil har blitt omdøpt.%1 er blitt omdøpt til %2 og %n andre filer har blitt omdøpt. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 er blitt flyttet til %2 og %n annen fil har blitt flyttet.%1 er blitt flyttet til %2 og %n andre filer har blitt flyttet. - + %1 has and %n other file(s) have sync conflicts. %1 og %n andre filer har synkroniseringskonflikter.%1 og %n andre filer har synkroniseringskonflikter. - + %1 has a sync conflict. Please check the conflict file! %1 har en synkroniseringskonflikt. Sjekk konflikt-filen. - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 og %n andre filer kunne ikke synkroniseres pga. feil. Se loggen for detaljer.%1 og %n andre filer kunne ikke synkroniseres pga. feil. Se loggen for detaljer. - + %1 could not be synced due to an error. See the log for details. %1 kunne ikke synkroniseres pga. en feil. Se loggen for detaljer. - + Sync Activity Synkroniseringsaktivitet - + Could not read system exclude file Klarte ikke å lese systemets ekskluderingsfil - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - En ny mappe større enn %1 MB er blitt lagt til: %2. -Gå til Innstillinger og velg mappen hvis du ønsker å laste den ned. + + - - 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? - Denne synkroniseringen vil fjerne alle filene i synkroniseringsmappen '%1'. -Dette kan være fordi mappen ble omkonfigurert i det stille, eller alle filene ble fjernet manuelt. -Er du sikker på at du vil utføre denne operasjonen? + + A folder from an external storage has been added. + + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Fjerne alle filer? - + Remove all files Fjern alle filer - + Keep files Behold filer - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -749,17 +787,17 @@ Dette kan være fordi en backup ble gjenopprettet på serveren. Hvis synkroniseringen fortsetter som normalt, vil alle filene dine bli overskrevet av en eldre fil i en tidligere tilstand. Ønsker du å beholde dine ferskeste lokale filer som konflikt-filer? - + Backup detected Backup oppdaget - + Normal Synchronisation Normal synkronisering - + Keep Local Files as Conflict Behold lokale filer som konflikt @@ -767,112 +805,112 @@ Hvis synkroniseringen fortsetter som normalt, vil alle filene dine bli overskrev OCC::FolderMan - + Could not reset folder state Klarte ikke å tilbakestille mappetilstand - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. En gammel synkroniseringsjournal '%1' ble funnet men kunne ikke fjernes. Pass på at ingen applikasjoner bruker den. - + (backup) (sikkerhetskopi) - + (backup %1) (sikkerhetskopi %1) - + Undefined State. Udefinert tilstand. - + Waiting to start syncing. Venter på å starte synkronisering. - + Preparing for sync. Forbereder synkronisering. - + Sync is running. Synkronisering kjører. - + Last Sync was successful. Siste synkronisering var vellykket. - + Last Sync was successful, but with warnings on individual files. Siste synkronisering var vellykket, men med advarsler på enkelte filer. - + Setup Error. Feil med oppsett. - + User Abort. Brukeravbrudd. - + Sync is paused. Synkronisering er satt på pause. - + %1 (Sync is paused) %1 (Synkronisering er satt på pause) - + No valid folder selected! Ingen gyldig mappe valgt! - + The selected path is not a folder! Den valgte stien er ikke en mappe! - + You have no permission to write to the selected folder! Du har ikke skrivetilgang til den valgte mappen! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! Den lokale mappen %1 inneholder allerede en mappe brukt i en mappe-synkronisering. Velg en annen! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! Den lokale mappen %1 er allerede en undermappe av en mappe brukt i en mappe-synkronisering. Velg en annen! - + 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! Den lokale mappen %1 er en symbolsk lenke. Målet for lenken er allerede en undermappe av en mappe brukt i en mappe-synkronisering. Velg en annen! @@ -898,133 +936,133 @@ Hvis synkroniseringen fortsetter som normalt, vil alle filene dine bli overskrev OCC::FolderStatusModel - + You need to be connected to add a folder Du må være tilkoblet for å legge til en mappe - + Click this button to add a folder to synchronize. Klikk denne knappen for å legge til en mappe som skal synkroniseres. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Feil ved innlasting av listen av mapper fra serveren. - + Signed out Logget ut - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. Du kan ikke legge til en mappe fordi du allerede synkroniserer alle filene dine. Hvis du ønsker å synkronisere individuelle mapper, må du fjerne synkroniseringen av rotmappen som er konfigurert. - + Fetching folder list from server... Henter mappeliste fra server.. - + Checking for changes in '%1' Ser etter endringer i '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Synkroniserer %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) nedlasting %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) opplasting %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 av %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" %5 igjen, %1 av %2, fil %3 of %4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 av %2, fil %3 av %4 - + file %1 of %2 fil %1 av %2 - + Waiting... Venter.. - + Waiting for %n other folder(s)... Venter på %n annen mappe...Venter på %n andre mappe(r)... - + Preparing to sync... Forbereder synkronisering... @@ -1032,12 +1070,12 @@ Hvis synkroniseringen fortsetter som normalt, vil alle filene dine bli overskrev OCC::FolderWizard - + Add Folder Sync Connection Legg til mappe-synkronisering - + Add Sync Connection Legg til tilkobling for synkronisering @@ -1113,14 +1151,6 @@ Hvis synkroniseringen fortsetter som normalt, vil alle filene dine bli overskrev Du synkroniserer allerede alle filene dine. Synkronisering av enda en mappe støttes <b>ikke</b>. Hvis du vil synkronisere flere mapper må du fjerne den konfigurerte synkroniseringen av rotmappe. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Velg hva som skal synkroniseres: Du kan velge bort mapper som du ikke vil synkronisere. - - OCC::FormatWarningsWizardPage @@ -1137,22 +1167,22 @@ Hvis synkroniseringen fortsetter som normalt, vil alle filene dine bli overskrev OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ingen E-Tag mottatt fra server. Sjekk proxy/gateway. - + We received a different E-Tag for resuming. Retrying next time. Vi mottok en forskjellig E-Tag for å fortsette. Prøver igjen neste gang. - + Server returned wrong content-range Serveren returnerte feil content-range - + Connection Timeout Tidsavbrudd ved tilkobling @@ -1180,10 +1210,21 @@ Hvis synkroniseringen fortsetter som normalt, vil alle filene dine bli overskrev Avansert - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1200,33 +1241,28 @@ Hvis synkroniseringen fortsetter som normalt, vil alle filene dine bli overskrev Bruk svart/&hvite ikoner - + Edit &Ignored Files Rediger &ignorerte filer - - Ask &confirmation before downloading folders larger than - Be om &bekreftelse før nedlasting av mapper større enn - - - + S&how crash reporter Vis &krasj-rapportering + - About Om - + Updates Oppdateringer - + &Restart && Update &Omstart && Oppdater @@ -1400,7 +1436,7 @@ Elementer hvor sletting er tillatt, vil bli slettet hvis de forhindrer fjerning OCC::MoveJob - + Connection timed out Forbindelsen fikk tidsavbrudd @@ -1549,23 +1585,23 @@ Elementer hvor sletting er tillatt, vil bli slettet hvis de forhindrer fjerning OCC::NotificationWidget - + Created at %1 Opprettet %1 - + Closing in a few seconds... Lukkes om noen sekunder... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' %1 forespørsel feilet %2 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' valgt %2 @@ -1649,28 +1685,28 @@ kan be om ytterligere rettigheter under behandlingen. Koble til... - + %1 folder '%2' is synced to local folder '%3' %1 mappe '%2' er synkronisert til lokal mappe '%3' - + Sync the folder '%1' Synkroniser mappen '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Advarsel:</strong> Den lokale mappen er ikke tom. Velg en løsning!</small></p> - + Local Sync Folder Lokal synkroniseringsmappe - - + + (%1) (%1) @@ -1896,7 +1932,7 @@ Det er ikke tilrådelig å bruke den. Kan ikke fjerne og sikkerhetskopiere mappen fordi mappen eller en fil i mappen er åpen i et annet program. Lukk mappen eller filen og prøv igjen, eller avbryt oppsettet. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Oppretting av lokal synkroniseringsmappe %1 vellykket!</b></font> @@ -1935,7 +1971,7 @@ Det er ikke tilrådelig å bruke den. OCC::PUTFileJob - + Connection Timeout Tidsavbrudd ved tilkobling @@ -1943,7 +1979,7 @@ Det er ikke tilrådelig å bruke den. OCC::PollJob - + Invalid JSON reply from the poll URL Ugyldig JSON-svar fra forespørsels-URL @@ -1951,7 +1987,7 @@ Det er ikke tilrådelig å bruke den. OCC::PropagateDirectory - + Error writing metadata to the database Feil ved skriving av metadata til databasen @@ -1959,22 +1995,22 @@ Det er ikke tilrådelig å bruke den. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Fil %1 kan ikke lastes ned på grunn av lokalt sammenfall av filnavn! - + The download would reduce free disk space below %1 Nedlastingen ville ha redusert ledig diskplass til under %1 - + Free space on disk is less than %1 Ledig plass på disk er mindre enn %1 - + File was deleted from server Filen ble slettet fra serveren @@ -2007,17 +2043,17 @@ Det er ikke tilrådelig å bruke den. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Gjenoppretting feilet: %1 - + Continue blacklisting: Fortsett svartelisting: - + A file or folder was removed from a read only share, but restoring failed: %1 En fil eller mappe ble fjernet fra en deling med lesetilgang, men gjenoppretting feilet: %1 @@ -2080,7 +2116,7 @@ Det er ikke tilrådelig å bruke den. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Filen er blitt fjernet fra en deling med lesetilgang. Den ble gjenopprettet. @@ -2093,7 +2129,7 @@ Det er ikke tilrådelig å bruke den. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Feil HTTP-kode returnert fra server. Ventet 201, men mottok "%1 %2". @@ -2106,17 +2142,17 @@ Det er ikke tilrådelig å bruke den. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Denne mappen må ikke omdøpes. Den er omdøpt tilbake til sitt opprinnelige navn. - + This folder must not be renamed. Please name it back to Shared. Denne mappen må ikke omdøpes. Vennligst omdøp den tilbake til Shared. - + The file was renamed but is part of a read only share. The original file was restored. Filen ble gitt nytt navn mer er en del av en deling med lesetilgang. Den opprinnelige filen ble gjenopprettet. @@ -2135,22 +2171,22 @@ Det er ikke tilrådelig å bruke den. OCC::PropagateUploadFileCommon - + File Removed Fil fjernet - + Local file changed during syncing. It will be resumed. Lokal fil endret under synkronisering. Den vil gjenopptas. - + Local file changed during sync. Lokal fil endret under synkronisering. - + Error writing metadata to the database Feil ved skriving av metadata til databasen @@ -2158,32 +2194,32 @@ Det er ikke tilrådelig å bruke den. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Tvinger avbryting av jobb ved HTTP connection reset med Qt < 5.4.2. - + The local file was removed during sync. Den lokale filen ble fjernet under synkronisering. - + Local file changed during sync. Lokal fil endret under synkronisering. - + Unexpected return code from server (%1) Uventet returkode fra serveren (%1) - + Missing File ID from server Mangler File ID fra server - + Missing ETag from server Mangler ETag fra server @@ -2191,32 +2227,32 @@ Det er ikke tilrådelig å bruke den. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Tvinger avbryting av jobb ved HTTP connection reset med Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Filen ble redigert lokalt men er en del av en deling med lesetilgang. Den er blitt gjenopprettet og din endring er i konfliktfilen. - + Poll URL missing Forespørsels-URL mangler - + The local file was removed during sync. Den lokale filen ble fjernet under synkronisering. - + Local file changed during sync. Lokal fil endret under synkronisering. - + The server did not acknowledge the last chunk. (No e-tag was present) Serveren godtok ikke den siste deloverføringen. (Ingen e-tag var tilstede) @@ -2234,42 +2270,42 @@ Det er ikke tilrådelig å bruke den. Tekst-etikett - + Time Tid - + File Fil - + Folder Mappe - + Action Handling - + Size Størrelse - + Local sync protocol Lokal synkroniseringsprotokoll - + Copy Kopier - + Copy the activity list to the clipboard. Kopier aktivitetslisten til utklippstavlen. @@ -2310,51 +2346,41 @@ Det er ikke tilrådelig å bruke den. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Umarkerte mapper vil bli <b>fjernet</b> fra ditt lokale filsystem og vil ikke bli synkronisert med denne maskinen lenger - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Velg hva som skal synkroniseres: Velg eksterne undermapper som du vil synkronisere. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Velg hva som skal synkroniseres: Velg bort eksterne undermapper som du ikke vil synkronisere. - - - + Choose What to Sync Velg hva som synkroniseres - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Laster ... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Navn - + Size Størrelse - - + + No subfolders currently on the server. Ingen undermapper på serveren nå - + An error occurred while loading the list of sub folders. Det oppstod en feil ved lasting av liten med undermapper. @@ -2658,7 +2684,7 @@ Det er ikke tilrådelig å bruke den. OCC::SocketApi - + Share with %1 parameter is ownCloud Del med %1 @@ -2867,275 +2893,285 @@ Det er ikke tilrådelig å bruke den. OCC::SyncEngine - + Success. Suksess. - + CSync failed to load the journal file. The journal file is corrupted. CSync kunne ikke laste inn journalfilen. Journalfilen er ødelagt. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Klarte ikke å laste utvidelse %1 for csync.<br/>Verifiser installasjonen!</p> - + CSync got an error while processing internal trees. CSync fikk en feil under behandling av intern trestruktur. - + CSync failed to reserve memory. CSync klarte ikke å reservere minne. - + CSync fatal parameter error. CSync fatal parmeterfeil. - + CSync processing step update failed. CSync-behandlingssteg oppdatering feilet. - + CSync processing step reconcile failed. CSync-behandlingssteg overensstemming feilet. - + CSync could not authenticate at the proxy. CSync klarte ikke å autentisere mot proxy. - + CSync failed to lookup proxy or server. CSync klarte ikke å slå opp proxy eller server. - + CSync failed to authenticate at the %1 server. CSync karte ikke å autentisere på serveren %1. - + CSync failed to connect to the network. CSync klarte ikke å koble seg til nettverket. - + A network connection timeout happened. Det oppstod et tidsavbrudd for en nettverksforbindelse. - + A HTTP transmission error happened. En HTTP-overføringsfeil oppstod. - + The mounted folder is temporarily not available on the server Den oppkoblede mappen er for tiden ikke tilgjengelig på serveren - + An error occurred while opening a folder Det oppstod en feil ved åpning av en mappe - + Error while reading folder. Feil ved lesing av mappe. - + File/Folder is ignored because it's hidden. Filen/mappen ignoreres fordi den er skjult. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Bare %1 er tilgjengelig, trenger minst %2 for å begynne - + Not allowed because you don't have permission to add parent folder Ikke tillatt fordi du ikke har lov til å legge til foreldremappe - + Not allowed because you don't have permission to add files in that folder Ikke tillatt fordi du ikke har lov til å opprette filer i den mappen - + CSync: No space on %1 server available. CSync: Ikke ledig plass tilgjengelig på server %1. - + CSync unspecified error. CSync uspesifisert feil. - + Aborted by the user Avbrutt av brukeren - - Filename contains invalid characters that can not be synced cross platform. - Filnavnet inneholder ugyldige tegn som ikke kan synkroniseres på tvers av plattformer. - - - + CSync failed to access CSync klarte ikke å aksessere - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. CSync klarte ikke å laste eller opprette journalfilen. Sjekk at du har lese- og skrivetilgang i den lokale synkroniseringsmappen. - + CSync failed due to unhandled permission denied. CSync feilet fordi nektet tilgang ikke ble håndtert. - + CSync tried to create a folder that already exists. CSync prøvde å opprette en mappe som finnes allerede. - + The service is temporarily unavailable Tjenesten er midlertidig utilgjengelig - + Access is forbidden Tilgang er nektet - + An internal error number %1 occurred. En intern feil nummer %1 oppstod. - + The item is not synced because of previous errors: %1 Elementet er ikke synkronisert på grunn av tidligere feil: %1 - + Symbolic links are not supported in syncing. Symbolske lenker støttes ikke i synkronisering. - + File is listed on the ignore list. Filen ligger på ignoreringslisten. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. Filnavn inneholder blanke på slutten. - + Filename is too long. Filnavn er for langt. - + Stat failed. Stat feilet. - + Filename encoding is not valid Filnavn-koding er ikke gyldig - + Invalid characters, please rename "%1" Ugyldige tegn, gi et annet navn til "%1" - + Unable to initialize a sync journal. Kan ikke initialisere en synkroniseringsjournal. - + Unable to read the blacklist from the local database Kan ikke lese svartelisten fra den lokale databasen - + Unable to read from the sync journal. Kan ikke lese fra synkroniseringsjournalen - + Cannot open the sync journal Kan ikke åpne synkroniseringsjournalen - + File name contains at least one invalid character Filnavnet inneholder minst ett ulovlig tegn - - + + Ignored because of the "choose what to sync" blacklist Ignorert på grunn av svartelisten "velg hva som skal synkroniseres" - + Not allowed because you don't have permission to add subfolders to that folder Ikke tillatt fordi du ikke har lov til å lage undermapper i den mappen - + Not allowed to upload this file because it is read-only on the server, restoring Ikke tillatt å laste opp denne filenfordi den er skrivebeskyttet på serveren, gjenoppretter - - + + Not allowed to remove, restoring Ikke tillatt å fjerne, gjenoppretter - + Local files and share folder removed. Lokale filer og delingsmappe fjernet. - + Move not allowed, item restored Flytting ikke tillatt, element gjenopprettet - + Move not allowed because %1 is read-only Flytting ikke tillatt fordi %1 er skrivebeskyttet - + the destination målet - + the source kilden @@ -3159,17 +3195,17 @@ Det er ikke tilrådelig å bruke den. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Versjon %1. For mer informasjon gå til <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Distribuert av %1 og lisensiert under GNU General Public License (GPL) Version 2.0.<br/>%2 og %2-logoet er registrerte varemerker for %1 i USA, i andre land eller begge deler.</p> @@ -3419,10 +3455,10 @@ Det er ikke tilrådelig å bruke den. - - - - + + + + TextLabel Tekst-etikett @@ -3442,7 +3478,23 @@ Det er ikke tilrådelig å bruke den. Start en &ren synkronisering (sletter den lokale mappen!) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Velg hva som synkroniseres @@ -3462,12 +3514,12 @@ Det er ikke tilrådelig å bruke den. &Behold lokale data - + S&ync everything from server S&ynkroniser alt fra serveren - + Status message Statusmelding @@ -3508,7 +3560,7 @@ Det er ikke tilrådelig å bruke den. - + TextLabel Tekst-etikett @@ -3564,8 +3616,8 @@ Det er ikke tilrådelig å bruke den. - Server &Address - Server-&adresse + Ser&ver Address + @@ -3605,7 +3657,7 @@ Det er ikke tilrådelig å bruke den. QApplication - + QT_LAYOUT_DIRECTION LTR @@ -3613,40 +3665,46 @@ Det er ikke tilrådelig å bruke den. QObject - + in the future fram i tid - + %n day(s) ago i gårfor %n dager siden - + %n hour(s) ago for %n time sidenfor %n timer siden - + now - + Less than a minute ago For mindre enn et minutt siden - + %n minute(s) ago for %n minutt sidenfor %n minutter siden - + Some time ago For en stund siden + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3671,37 +3729,37 @@ Det er ikke tilrådelig å bruke den. %L1 B - + %n year(s) %n år%n år - + %n month(s) %n måned%n måneder - + %n day(s) %n dag%n dager - + %n hour(s) %n time%n timer - + %n minute(s) %n minutt%n minutter - + %n second(s) %n sekund%n sekunder - + %1 %2 %1 %2 @@ -3722,7 +3780,7 @@ Det er ikke tilrådelig å bruke den. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Bygget fra Git-revisjon <a href="%1">%2</a> %3, %4 med Qt %5, %6</small></p> diff --git a/translations/client_nl.ts b/translations/client_nl.ts index 9bfe1bda2..f1165b594 100644 --- a/translations/client_nl.ts +++ b/translations/client_nl.ts @@ -126,7 +126,7 @@ - + Cancel Annuleren @@ -246,22 +246,32 @@ Meld u aan - - There are new folders that were not synchronized because they are too big: - Er zijn nieuwe mappen die niet gesynchroniseerd werden, omdat ze te groot zijn: + + There are folders that were not synchronized because they are too big: + Er zijn mappen die niet gesynchroniseerd werden, omdat ze te groot zijn: - + + There are folders that were not synchronized because they are external storages: + Er zijn mappen die niet gesynchroniseerd werden, omdat ze op externe opslag staan: + + + + There are folders that were not synchronized because they are too big or external storages: + Er zijn mappen die niet gesynchroniseerd werden, omdat ze te groot zijn of op externe opslag staan: + + + Confirm Account Removal Bevestig verwijderen account - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Wilt u echt de verbinding met het account <i>%1</i> verbreken?</p><p><b>Let op:</b> Hierdoor verwijdert u <b>geen</b> bestanden.</p> - + Remove connection Verwijderen verbinding @@ -521,6 +531,24 @@ Certificaat bestanden (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + Fout bij benaderen configuratiebestand + + + + There was an error while accessing the configuration file at %1. + Er trad een fout op bij het benaderen configuratiebestand op %1 + + + + Quit ownCloud + Verlaten ownCloud + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Fout bij schrijven van Metadata naar de database @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Time-out verbinding @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Afgebroken door de gebruiker @@ -604,143 +632,155 @@ OCC::Folder - + Local folder %1 does not exist. Lokale map %1 bestaat niet. - + %1 should be a folder but is not. %1 zou een map moeten zijn, maar is dat niet. - + %1 is not readable. %1 is niet leesbaar. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 is verwijderd. - + %1 has been downloaded. %1 names a file. %1 is gedownload. - + %1 has been updated. %1 names a file. %1 is bijgewerkt. - + %1 has been renamed to %2. %1 and %2 name files. %1 is hernoemd naar %2. - + %1 has been moved to %2. %1 is verplaatst naar %2. - + %1 and %n other file(s) have been removed. %1 en %n ander bestand(en) zijn verwijderd.%1 en %n andere bestand(en) zijn verwijderd. - + %1 and %n other file(s) have been downloaded. %1 en %n ander bestand(en) zijn gedownload.%1 en %n andere bestand(en) zijn gedownload. - + %1 and %n other file(s) have been updated. %1 en %n ander bestand(en) zijn bijgewerkt.%1 en %n andere bestand(en) zijn bijgewerkt. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 is hernoemd naar %2 en %n ander bestand(en) is hernoemd.%1 is hernoemd naar %2 en %n andere bestand(en) zijn hernoemd. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 is verplaatst naar %2 en %n ander bestand(en) is verplaatst.%1 is verplaatst naar %2 en %n andere bestand(en) zijn verplaatst. - + %1 has and %n other file(s) have sync conflicts. %1 en %n ander bestand(en) hebben een sync conflict.%1 en %n andere bestand(en) hebben sync conflicten. - + %1 has a sync conflict. Please check the conflict file! %1 heeft een sync conflict. Controleer het conflict bestand! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 en %n ander bestand(en) konden niet worden gesynchroniseerd wegens fouten. Bekijk het log voor details.%1 en %n andere bestand(en) konden niet worden gesynchroniseerd wegens fouten. Bekijk het log voor details. - + %1 could not be synced due to an error. See the log for details. %1 kon niet worden gesynchroniseerd door een fout. Bekijk het log voor details. - + Sync Activity Synchronisatie-activiteit - + Could not read system exclude file Kon het systeem-uitsluitingsbestand niet lezen - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - Een nieuwe map groter dan %1 MB is toegevoegd: %2 -Ga naar de instellingen om het te selecteren als u deze wilt downloaden. + + Er is een nieuwe map groter dan %1 MB toegevoegd: %2. + - - 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? - Deze sync zou alle bestanden in syncmap '%1' verwijderen. -Dat zou kunnen gebeuren, omdat de map stilletjes was geherconfigureerd, of omdat alle bestanden handmatig zijn verwijderd. -Weet je zeker dat je door wilt gaan? + + A folder from an external storage has been added. + + Er is een map op externe opslag toegevoegd. + - + + Please go in the settings to select it if you wish to download it. + Ga naar de instellingen om het te selecteren als u deze wilt downloaden. + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Verwijder alle bestanden? - + Remove all files Verwijder alle bestanden - + Keep files Bewaar bestanden - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -749,17 +789,17 @@ Dit kan komen doordat een backup is hersteld op de server. Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere versie. Wilt u uw lokale meer recente bestanden behouden als conflict bestanden? - + Backup detected Backup gedetecteerd - + Normal Synchronisation Normale synchronisatie - + Keep Local Files as Conflict Behoud lokale bestanden als conflict @@ -767,112 +807,112 @@ Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere v OCC::FolderMan - + Could not reset folder state Kan de beginstaat van de map niet terugzetten - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Een oud synchronisatieverslag '%1' is gevonden maar kan niet worden verwijderd. Zorg ervoor dat geen applicatie dit bestand gebruikt. - + (backup) (backup) - + (backup %1) (backup %1) - + Undefined State. Ongedefiniëerde staat - + Waiting to start syncing. In afwachting van synchronisatie. - + Preparing for sync. Synchronisatie wordt voorbereid - + Sync is running. Bezig met synchroniseren. - + Last Sync was successful. Laatste synchronisatie was geslaagd. - + Last Sync was successful, but with warnings on individual files. Laatste synchronisatie geslaagd, maar met waarschuwingen over individuele bestanden. - + Setup Error. Installatiefout. - + User Abort. Afgebroken door gebruiker. - + Sync is paused. Synchronisatie gepauzeerd. - + %1 (Sync is paused) %1 (Synchronisatie onderbroken) - + No valid folder selected! Geen geldige map geselecteerd! - + The selected path is not a folder! Het geselecteerde pad is geen map! - + You have no permission to write to the selected folder! U heeft geen permissie om te schrijven naar de geselecteerde map! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! Lokale map %1 bevat een symbolische link. De doellink bevat een map die al is gesynchroniseerd. Kies een andere! - + There is already a sync from the server to this local folder. Please pick another local folder! Er wordt vanaf de server al naar deze lokale map gesynchroniseerd. Kies een andere lokale map! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! Lokale map %1 bevat al een map die wordt gebruikt voor een mapsync verbinding. Kies een andere! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! Lokale map %1 zit al in een map die wordt gebruikt voor een mapsync verbinding. Kies een andere! - + 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! Lokale map %1 is een symbolische link. De doellink zit al in een map die in een mapsync verbinding wordt gebruikt. Kies een andere! @@ -898,134 +938,134 @@ Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere v OCC::FolderStatusModel - + You need to be connected to add a folder U moet verbonden zijn om een map toe te voegen - + Click this button to add a folder to synchronize. Klik op deze knop om een te synchroniseren map toe te voegen. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Fout bij ophalen mappenlijst van de server. - + Signed out Afgemeld - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. Het toevoegen van een map is uitgeschakeld, omdat u reeds al uw bestanden synchroniseert. Als u meerdere mappen wilt synchroniseren moet u de nu geconfigureerde hoofdmap verwijderen. - + Fetching folder list from server... Mappenlijst ophalen van de server... - + Checking for changes in '%1' Controleren op wijzigingen in '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Synchroniseren %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) download %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) upload %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 van %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" %5 over, %1 van %2, bestand %3 van %4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 van %2, bestand %3 van %4 - + file %1 of %2 bestand %1 van %2 - + Waiting... Aan het wachten... - + Waiting for %n other folder(s)... Wacht op %n andere map...Wacht op %n andere mappen... - + Preparing to sync... Voorbereiden op sync... @@ -1033,12 +1073,12 @@ Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere v OCC::FolderWizard - + Add Folder Sync Connection Toevoegen mapsync verbinding - + Add Sync Connection Toevoegen Sync verbinding @@ -1114,14 +1154,6 @@ Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere v U bent al uw bestanden al aan het synchroniseren. Het synchroniseren van een andere map wordt <b>niet</b> ondersteund. Als u meerdere mappen wilt synchroniseren moet u de nu geconfigureerde synchronisatie hoofdmap verwijderen. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Kies wat u wilt synchroniseren: u kunt optioneel submappen die u niet wilt synchroniseren deselecteren. - - OCC::FormatWarningsWizardPage @@ -1138,22 +1170,22 @@ Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere v OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Geen E-Tag ontvangen van de server, controleer Proxy/Gateway - + We received a different E-Tag for resuming. Retrying next time. We ontvingen een afwijkende E-Tag om door te gaan. We proberen het later opnieuw. - + Server returned wrong content-range Server retourneerde verkeerde content-bandbreedte - + Connection Timeout Verbindingstime-out @@ -1181,10 +1213,21 @@ Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere v Geavanceerd - + + Ask for confirmation before synchronizing folders larger than + Vraag bevestiging voordat mappen worden gedownload groter dan + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + Vraag bevestiging voor synchronisatie van mappen op externe opslag + &Launch on System Startup @@ -1201,33 +1244,28 @@ Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere v Gebruik &monochrome pictogrammen - + Edit &Ignored Files Bewerken &genegeerde bestanden - - Ask &confirmation before downloading folders larger than - Vraag &bevestiging voordat mappen worden gedownload groter dan - - - + S&how crash reporter T&onen crash reporter + - About Over - + Updates Updates - + &Restart && Update &Herstarten en &Bijwerken @@ -1405,7 +1443,7 @@ Onderdelen die gewist mogen worden worden verwijderd als ze voorkomen dat een ma OCC::MoveJob - + Connection timed out Verbinding time-out @@ -1554,23 +1592,23 @@ Onderdelen die gewist mogen worden worden verwijderd als ze voorkomen dat een ma OCC::NotificationWidget - + Created at %1 Aangemaakt op %1 - + Closing in a few seconds... Wordt afgesloten binnen enkele seconden... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' %1 aanvraag mislukt om %2 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' geselecteerd om %2 @@ -1654,28 +1692,28 @@ vragen om extra autorisaties tijdens installatie. Verbinden... - + %1 folder '%2' is synced to local folder '%3' %1 map '%2' is gesynchroniseerd naar de lokale map '%3' - + Sync the folder '%1' Sync map '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Waarschuwing:</strong> De lokale map is niet leeg. Maak een keuze!</small></p> - + Local Sync Folder Lokale synchronisatiemap - - + + (%1) (%1) @@ -1901,7 +1939,7 @@ We adviseren deze site niet te gebruiken. Kan de map niet verwijderen en backuppen, omdat de map of een bestand daarin, geopend is in een ander programma. Sluit de map of het bestand en drup op Opnieuw of annuleer de installatie. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokale synch map %1 is succesvol aangemaakt!</b></font> @@ -1940,7 +1978,7 @@ We adviseren deze site niet te gebruiken. OCC::PUTFileJob - + Connection Timeout Verbindingstime-out @@ -1948,7 +1986,7 @@ We adviseren deze site niet te gebruiken. OCC::PollJob - + Invalid JSON reply from the poll URL Ongeldig JSON antwoord van de opgegeven URL @@ -1956,7 +1994,7 @@ We adviseren deze site niet te gebruiken. OCC::PropagateDirectory - + Error writing metadata to the database Fout bij schrijven van Metadata naar de database @@ -1964,22 +2002,22 @@ We adviseren deze site niet te gebruiken. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Bestand %1 kan niet worden gedownload, omdat de naam conflicteert met een lokaal bestand - + The download would reduce free disk space below %1 De download zou de vrije schijfruimte beperken tot onder %1 - + Free space on disk is less than %1 Vrije schijfruimte is minder dan %1 - + File was deleted from server Bestand was verwijderd van de server @@ -2012,17 +2050,17 @@ We adviseren deze site niet te gebruiken. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Herstel mislukte: %1 - + Continue blacklisting: Doorgaan met zwarte lijst: - + A file or folder was removed from a read only share, but restoring failed: %1 Er is een bestand of map verwijderd van een alleen-lezen share, maar herstellen is mislukt: %1 @@ -2085,7 +2123,7 @@ We adviseren deze site niet te gebruiken. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Het bestand is verwijderd van een alleen-lezen share. Het is teruggezet. @@ -2098,7 +2136,7 @@ We adviseren deze site niet te gebruiken. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Foutieve HTTP code ontvangen van de server. Verwacht was 201, maar ontvangen "%1 %2". @@ -2111,17 +2149,17 @@ We adviseren deze site niet te gebruiken. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Deze map mag niet worden hernoemd. De naam van de map is teruggezet naar de originele naam. - + This folder must not be renamed. Please name it back to Shared. Deze map mag niet worden hernoemd. Verander de naam terug in Gedeeld. - + The file was renamed but is part of a read only share. The original file was restored. Het bestand is hernoemd, maar hoort bij een alleen-lezen share. Het originele bestand is teruggezet. @@ -2140,22 +2178,22 @@ We adviseren deze site niet te gebruiken. OCC::PropagateUploadFileCommon - + File Removed Bestand verwijderd - + Local file changed during syncing. It will be resumed. Lokaal bestand gewijzigd bij sync. Wordt opnieuw meengenomen. - + Local file changed during sync. Lokaal bestand gewijzigd bij sync. - + Error writing metadata to the database Fout bij schrijven van Metadata naar de database @@ -2163,32 +2201,32 @@ We adviseren deze site niet te gebruiken. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Forceren job-beëindiging op HTTP verbindingsreset met Qt < 5.4.2. - + The local file was removed during sync. Het lokale bestand werd verwijderd tijdens sync. - + Local file changed during sync. Lokaal bestand gewijzigd bij sync. - + Unexpected return code from server (%1) Onverwachte reactie van server (%1) - + Missing File ID from server Ontbrekende File ID van de server - + Missing ETag from server Ontbrekende ETag van de server @@ -2196,32 +2234,32 @@ We adviseren deze site niet te gebruiken. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Forceren job-beëindiging op HTTP verbindingsreset met Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Het bestand is lokaal bewerkt, maar hoort bij een alleen-lezen share. Het originele bestand is teruggezet en uw bewerking staat in het conflicten bestand. - + Poll URL missing URL opvraag ontbreekt - + The local file was removed during sync. Het lokale bestand werd verwijderd tijdens sync. - + Local file changed during sync. Lokaal bestand gewijzigd bij sync. - + The server did not acknowledge the last chunk. (No e-tag was present) De server heeft het laatste deel niet bevestigd (er was geen e-tag aanwezig) @@ -2239,42 +2277,42 @@ We adviseren deze site niet te gebruiken. Tekstlabel - + Time Tijd - + File Bestand - + Folder Map - + Action Handeling - + Size Grootte - + Local sync protocol Lokaal sync protocol - + Copy Kopiëren - + Copy the activity list to the clipboard. Kopieer de activiteitenlijst naar het klembord. @@ -2315,51 +2353,41 @@ We adviseren deze site niet te gebruiken. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Niet geselecteerde mappen worden <b>verwijderd</b> van uw lokale bestandssysteem en worden niet meer gesynchroniseerd met deze computer - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Kies wat u wilt synchroniseren: Selecteer externe submappen die u wilt synchroniseren. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Kies wat u wilt synchroniseren: u kunt submappen die u niet wilt synchroniseren deselecteren. - - - + Choose What to Sync Kies wat te synchroniseren - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Laden ... - + + Deselect remote folders you do not wish to synchronize. + Deselecteer de externe mappen die u niet wenst te synchroniseren. + + + Name Naam - + Size Grootte - - + + No subfolders currently on the server. Momenteel geen submappen op de server. - + An error occurred while loading the list of sub folders. Er trad een fout op bij het laden van de lijst met submappen. @@ -2663,7 +2691,7 @@ We adviseren deze site niet te gebruiken. OCC::SocketApi - + Share with %1 parameter is ownCloud Delen met %1 @@ -2872,275 +2900,285 @@ We adviseren deze site niet te gebruiken. OCC::SyncEngine - + Success. Succes. - + CSync failed to load the journal file. The journal file is corrupted. CSync kon het journal bestand niet inladen. Het journal bestand is kapot. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>De %1 plugin voor csync kon niet worden geladen.<br/>Verifieer de installatie!</p> - + CSync got an error while processing internal trees. CSync kreeg een fout tijdens het verwerken van de interne mappenstructuur. - + CSync failed to reserve memory. CSync kon geen geheugen reserveren. - + CSync fatal parameter error. CSync fatale parameter fout. - + CSync processing step update failed. CSync verwerkingsstap bijwerken mislukt. - + CSync processing step reconcile failed. CSync verwerkingsstap verzamelen mislukt. - + CSync could not authenticate at the proxy. CSync kon niet authenticeren bij de proxy. - + CSync failed to lookup proxy or server. CSync kon geen proxy of server vinden. - + CSync failed to authenticate at the %1 server. CSync kon niet authenticeren bij de %1 server. - + CSync failed to connect to the network. CSync kon niet verbinden met het netwerk. - + A network connection timeout happened. Er trad een netwerk time-out op. - + A HTTP transmission error happened. Er trad een HTTP transmissiefout plaats. - + The mounted folder is temporarily not available on the server De gemounte map is tijdelijk niet beschikbaar op de server - + An error occurred while opening a folder Er trad een fout op bij het openen van een map - + Error while reading folder. Fout tijdens lezen map. - + File/Folder is ignored because it's hidden. Bestand/Map is genegeerd omdat het verborgen is. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Slechts %1 beschikbaar, maar heeft minimaal %2 nodig om te starten - + Not allowed because you don't have permission to add parent folder Niet toegestaan omdat u geen rechten hebt om een bovenliggende map toe te voegen - + Not allowed because you don't have permission to add files in that folder Niet toegestaan omdat u geen rechten hebt om bestanden in die map toe te voegen - + CSync: No space on %1 server available. CSync: Geen ruimte op %1 server beschikbaar. - + CSync unspecified error. CSync ongedefinieerde fout. - + Aborted by the user Afgebroken door de gebruiker - - Filename contains invalid characters that can not be synced cross platform. - Bestandsnaam bevat ongeldige tekens die niet tussen platformen gesynchroniseerd kunnen worden. - - - + CSync failed to access CSync kreeg geen toegang - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. CSync kon het journal bestand niet maken of lezen. Controleer of u de juiste lees- en schrijfrechten in de lokale syncmap hebt. - + CSync failed due to unhandled permission denied. CSync mislukt omdat de benodigde toegang werd geweigerd. - + CSync tried to create a folder that already exists. CSync probeerde een al bestaande map aan te maken. - + The service is temporarily unavailable De dienst is tijdelijk niet beschikbaar - + Access is forbidden Toegang verboden - + An internal error number %1 occurred. Een interne fout met nummer %1 is opgetreden. - + The item is not synced because of previous errors: %1 Dit onderwerp is niet gesynchroniseerd door eerdere fouten: %1 - + Symbolic links are not supported in syncing. Symbolische links worden niet ondersteund bij het synchroniseren. - + File is listed on the ignore list. Het bestand is opgenomen op de negeerlijst. - + + File names ending with a period are not supported on this file system. + Bestandsnamen die eindigen met een punt worden niet ondersteund door het bestandssysteem. + + + + File names containing the character '%1' are not supported on this file system. + Bestandsnamen met een '%1' symbool worden niet ondersteund door het bestandssysteem. + + + + The file name is a reserved name on this file system. + De bestandsnaam is een gereserveerde naam op dit bestandssysteem. + + + Filename contains trailing spaces. De bestandsnaam bevat spaties achteraan. - + Filename is too long. De bestandsnaam is te lang. - + Stat failed. Stat mislukt. - + Filename encoding is not valid Bestandsnaamcodering is niet geldig - + Invalid characters, please rename "%1" Ongeldige tekens, hernoem "%1" - + Unable to initialize a sync journal. Niet in staat om een synchronisatie transactielog te starten. - + Unable to read the blacklist from the local database Kan de blacklist niet lezen uit de lokale database - + Unable to read from the sync journal. Niet mogelijk om te lezen uit het synchronisatie verslag. - + Cannot open the sync journal Kan het sync transactielog niet openen - + File name contains at least one invalid character De bestandsnaam bevat ten minste één ongeldig teken - - + + Ignored because of the "choose what to sync" blacklist Genegeerd vanwege de "wat synchroniseren" zwarte lijst - + Not allowed because you don't have permission to add subfolders to that folder Niet toegestaan, omdat je geen permissies hebt om submappen aan die map toe te voegen - + Not allowed to upload this file because it is read-only on the server, restoring Niet toegestaan om dit bestand te uploaden, omdat het alleen-lezen is op de server, herstellen - - + + Not allowed to remove, restoring Niet toegestaan om te verwijderen, herstellen - + Local files and share folder removed. Lokale bestanden en share-map verwijderd. - + Move not allowed, item restored Verplaatsen niet toegestaan, object hersteld - + Move not allowed because %1 is read-only Verplaatsen niet toegestaan, omdat %1 alleen-lezen is - + the destination bestemming - + the source bron @@ -3164,17 +3202,17 @@ We adviseren deze site niet te gebruiken. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Versie %1. Voor meer informatie bezoek <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Gedistribueerd door %1 en gelicenseerd onder de GNU General Public License (GPL) Versie 2.0.<br/>%2 en het %2 logo zijn geregistreerde handelsmerken van %1 in de Verenigde Staten, in andere landen of beide.</p> @@ -3424,10 +3462,10 @@ We adviseren deze site niet te gebruiken. - - - - + + + + TextLabel TekstLabel @@ -3447,7 +3485,23 @@ We adviseren deze site niet te gebruiken. Starten &Schone sync (maakt lokale map leeg!) - + + Ask for confirmation before synchroni&zing folders larger than + Vraag bevestiging voor &synchronisatie van mappen groter dan + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + Vraag bevestiging voor synchronisatie van e&xterne opslag + + + Choose what to sync Selectieve synchronisatie @@ -3467,12 +3521,12 @@ We adviseren deze site niet te gebruiken. &Bewaar lokale gegevens - + S&ync everything from server S&ynchroniseer alles vanaf de server - + Status message Statusbericht @@ -3513,7 +3567,7 @@ We adviseren deze site niet te gebruiken. - + TextLabel Tekstlabel @@ -3569,8 +3623,8 @@ We adviseren deze site niet te gebruiken. - Server &Address - Server &adres + Ser&ver Address + Ser&veradres @@ -3610,7 +3664,7 @@ We adviseren deze site niet te gebruiken. QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3618,40 +3672,46 @@ We adviseren deze site niet te gebruiken. QObject - + in the future in de toekomst - + %n day(s) ago %n dag geleden%n dagen geleden - + %n hour(s) ago %n uur geleden%n uur geleden - + now nu - + Less than a minute ago Minder dan een minuut geleden - + %n minute(s) ago %n minuut geleden%n minuten geleden - + Some time ago Even geleden + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3676,37 +3736,37 @@ We adviseren deze site niet te gebruiken. %L1 B - + %n year(s) %n jaar%n jaar - + %n month(s) %n maand%n maanden - + %n day(s) %n dag%n dagen - + %n hour(s) %n uur%n uur - + %n minute(s) %n minuut%n minuten - + %n second(s) %n seconde%n seconde(n) - + %1 %2 %1 %2 @@ -3727,7 +3787,7 @@ We adviseren deze site niet te gebruiken. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Gebouwd vanuit Git revisie <a href="%1">%2</a> op %3, %4 gebruik makend van Qt %5, %6</small></p> diff --git a/translations/client_pl.ts b/translations/client_pl.ts index 958c030ff..4ff0129df 100644 --- a/translations/client_pl.ts +++ b/translations/client_pl.ts @@ -126,7 +126,7 @@ - + Cancel Anuluj @@ -246,22 +246,32 @@ Zaloguj - - There are new folders that were not synchronized because they are too big: - Istnieją nowe foldery, które nie zostały zsynchronizowane, gdyż są za duże. + + There are folders that were not synchronized because they are too big: + Te foldery nie zostały zsynchronizowane ponieważ są zbyt duze: - + + There are folders that were not synchronized because they are external storages: + Te foldery nie zostały zsynchronizowane ponieważ znajdują się w pamięci zewnętrznej: + + + + There are folders that were not synchronized because they are too big or external storages: + Te foldery nie zostały zsynchronizowane ponieważ są zbyt duże lub znajdują się w pamięci zewnętrznej: + + + Confirm Account Removal Potwierdź usunięcie konta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Czy na pewno chcesz usunąć połączenie z kontem <i>%1</i>?</p><p><b>Uwaga:</b> ta operacja <b>nie</b> usunie plików klienta.</p> - + Remove connection Usuwanie połączenia @@ -465,12 +475,12 @@ You received %n new notification(s) from %2. - Otrzymano %n nowe powiadomienie od %2.Otrzymano %n nowe powiadomienia od %2.Otrzymano %n nowych powiadomień od %2. + Otrzymano %n nowe powiadomienie od %2.Otrzymano %n nowe powiadomienia od %2.Otrzymano %n nowych powiadomień od %2.Otrzymano %n nowych powiadomień od %2. You received %n new notification(s) from %1 and %2. - Otrzymano %n nowe powiadomienie od %1 i %2.Otrzymano %n nowe powiadomienia od %1 i %2.Otrzymano %n nowych powiadomień %1 i %2. + Otrzymano %n nowe powiadomienie od %1 i %2.Otrzymano %n nowe powiadomienia od %1 i %2.Otrzymano %n nowych powiadomień %1 i %2.Otrzymano %n nowych powiadomień %1 i %2. @@ -498,7 +508,7 @@ Certificate & Key (pkcs12) : - + Pliki certyfikatu (*.p12 *.pfx) @@ -521,6 +531,24 @@ Pliki certyfikatu (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Błąd podczas zapisu metadanych do bazy @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Przekroczono czas odpowiedzi @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Anulowane przez użytkownika @@ -604,160 +632,172 @@ OCC::Folder - + Local folder %1 does not exist. Folder lokalny %1 nie istnieje. - + %1 should be a folder but is not. %1 powinien być katalogiem, ale nie jest. - + %1 is not readable. %1 jest nie do odczytu. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 został usunięty. - + %1 has been downloaded. %1 names a file. %1 został ściągnięty. - + %1 has been updated. %1 names a file. %1 został uaktualniony. - + %1 has been renamed to %2. %1 and %2 name files. %1 zmienił nazwę na %2. - + %1 has been moved to %2. %1 został przeniesiony do %2. - + %1 and %n other file(s) have been removed. - %1 i %n inny plik został usunięty.%1 i %n inne pliki zostały usunięte.%1 i %n innych plików zostało usuniętych. + %1 i %n inny plik został usunięty.%1 i %n inne pliki zostały usunięte.%1 i %n innych plików zostało usuniętych.%1 i %n innych plików zostało usuniętych. - + %1 and %n other file(s) have been downloaded. - %1 i %n inny plik został pobrany.%1 i %n inne pliki zostały pobrane.%1 i %n innych plików zostało pobranych. + %1 i %n inny plik został pobrany.%1 i %n inne pliki zostały pobrane.%1 i %n innych plików zostało pobranych.%1 i %n innych plików zostało pobranych. - + %1 and %n other file(s) have been updated. - %1 i %n inny plik został zaktualizowany.%1 i %n inne pliki zostały zaktualizowane.%1 i %n innych plików zostało zaktualizowanych. + %1 i %n inny plik został zaktualizowany.%1 i %n inne pliki zostały zaktualizowane.%1 i %n innych plików zostało zaktualizowanych.%1 i %n innych plików zostało zaktualizowanych. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - Zmieniono nazwę %1 na %2 oraz %n innemu plikowi została zmieniona nazwa.Zmieniono nazwę %1 na %2 oraz %n innym plikom została zmieniona nazwa.%1 has been renamed to %2 and %n other file(s) have been renamed. + Zmieniono nazwę %1 na %2 oraz %n innemu plikowi została zmieniona nazwa.Zmieniono nazwę %1 na %2 oraz %n innym plikom została zmieniona nazwa.%1 has been renamed to %2 and %n other file(s) have been renamed.%1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - Przeniesiono %1 do %2 oraz przeniesiono %n inny plik.Przeniesiono %1 do %2 oraz przeniesiono %n inne pliki.Przeniesiono %1 do %2 oraz przeniesiono %n innych plików. + Przeniesiono %1 do %2 oraz przeniesiono %n inny plik.Przeniesiono %1 do %2 oraz przeniesiono %n inne pliki.Przeniesiono %1 do %2 oraz przeniesiono %n innych plików.Przeniesiono %1 do %2 oraz przeniesiono %n innych plików. - + %1 has and %n other file(s) have sync conflicts. - + - + %1 has a sync conflict. Please check the conflict file! %1 ma konflikt synchronizacji. Sprawdź konfliktujący plik! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + - + %1 could not be synced due to an error. See the log for details. %1 nie może zostać zsynchronizowany z powodu błędu. Zobacz szczegóły w logu. - + Sync Activity Aktywności synchronizacji - + Could not read system exclude file Nie można przeczytać pliku wyłączeń - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - Nowy folder większy od %1 MB został dodany -Przejdź do ustawień i zaznacz go, jeśli chcesz go pobrać. + + Nowy folder większy niż %1MB został dodany: %2 + - - 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? - Ta synchronizacja usunie wszystkie pliki w folderze '%1'. -Może to być spowodowane faktem, że folder został przekonfigurowany lub wszystkie pliki zostały z niego usunięte ręcznie. -Czy jesteś pewien, że chcesz wykonać tę operację ? + + A folder from an external storage has been added. + + Folder z pamięci zewnętrznej został dodany . + - + + Please go in the settings to select it if you wish to download it. + Przejdź do ustawień żeby go zaznaczyć i pobrać. + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Usunąć wszystkie pliki? - + Remove all files Usuń wszystkie pliki - + Keep files Pozostaw pliki - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Wykryto kopię zapasową. - + Normal Synchronisation Normalna synchronizacja. - + Keep Local Files as Conflict Zatrzymaj pliki lokalne i ustaw status konfliktu. @@ -765,112 +805,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state Nie udało się zresetować stanu folderu - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Stary sync journal '%1' został znaleziony, lecz nie mógł być usunięty. Proszę się upewnić, że żaden program go obecnie nie używa. - + (backup) (kopia zapasowa) - + (backup %1) (kopia zapasowa %1) - + Undefined State. Niezdefiniowany stan - + Waiting to start syncing. Poczekaj na rozpoczęcie synchronizacji. - + Preparing for sync. Przygotowuję do synchronizacji - + Sync is running. Synchronizacja w toku - + Last Sync was successful. Ostatnia synchronizacja zakończona powodzeniem. - + Last Sync was successful, but with warnings on individual files. Ostatnia synchronizacja udana, ale istnieją ostrzeżenia z pojedynczymi plikami. - + Setup Error. Błąd ustawień. - + User Abort. Użytkownik anulował. - + Sync is paused. Synchronizacja wstrzymana - + %1 (Sync is paused) %1 (Synchronizacja jest zatrzymana) - + No valid folder selected! Nie wybrano poprawnego folderu. - + The selected path is not a folder! Wybrana ścieżka nie jest katalogiem! - + You have no permission to write to the selected folder! Nie masz uprawnień, aby zapisywać w tym katalogu! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! Lokalny folder %1 już zawiera folder użyty na potrzeby synchronizacji. Proszę wybrać inny folder lokalny. - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! Lokalny folder %1 już zawiera folder użyty na potrzeby synchronizacji. Proszę wybrać inny folder lokalny. - + 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! @@ -896,133 +936,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder Musisz być podłączony, by dodać folder. - + Click this button to add a folder to synchronize. Kliknij ten przycisk, by dodać folder do synchronizacji. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Wystąpił błąd podczas pobierania listy folderów z serwera. - + Signed out Odłączony - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. Dodawanie folderu jest zablokowane, ponieważ już synchronizujesz wszystkie swoje pliki. Jeśli chcesz zsynchronizować wiele folderów, usuń folder aktualnie skonfigurowany. - + Fetching folder list from server... Pobieranie listy folderów z serwera. - + Checking for changes in '%1' Sprawdzanie zmian na '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Synchronizowanie %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) pobieranie %1/s - + u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) wysyłanie %1/s - + u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 z %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" Plik %3 z %4, pozostało czasu %5 (%1 z %2) - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 z %2, plik %3 z %4 - + file %1 of %2 plik %1 z %2 - + Waiting... Czekaj... - + Waiting for %n other folder(s)... - + - + Preparing to sync... Przygotowanie do synchronizacji ... @@ -1030,12 +1070,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection Dodaj folder połączenia synchronizacji - + Add Sync Connection Dodaj połączenie synchronizacji @@ -1111,14 +1151,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an Już aktualizujesz wszystkie pliku. Synchronizacja innego folderu <b>nie</b> jest wspierana. Jeśli chcesz synchronizować wiele folderów, proszę usuń aktualnie skonfigurowaną synchronizację folderu głównego. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Wybierz co synchronizować: Możesz opcjonalnie odznaczyć podkatalogi, których nie chcesz synchronizować. - - OCC::FormatWarningsWizardPage @@ -1135,22 +1167,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nie otrzymano E-Tag z serwera, sprawdź Proxy/Bramę - + We received a different E-Tag for resuming. Retrying next time. Otrzymaliśmy inny E-Tag wznowienia. Spróbuje ponownie następnym razem. - + Server returned wrong content-range Serwer zwrócił błędną zakres zawartości - + Connection Timeout Limit czasu połączenia @@ -1178,10 +1210,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an Zaawansowane - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1198,33 +1241,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an Używaj &monochromatycznych ikon - + Edit &Ignored Files Edytuj pliki &ignorowane (pomijane) - - Ask &confirmation before downloading folders larger than - &Zapytaj o potwierdzenie przed pobraniem folderów większych niż - - - + S&how crash reporter Pokaż &raport awarii + - About O aplikacji - + Updates Aktualizacje - + &Restart && Update &Zrestartuj && Aktualizuj @@ -1234,7 +1272,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Please enter %1 password:<br><br>User: %2<br>Account: %3<br> - + Wprowadź %1 hasło:<br><br>Użytkownik:%2<br>Konto:%3<br> @@ -1398,7 +1436,7 @@ Pozycje, dla których usuwanie jest dozwolone zostaną usunięte, jeżeli uprawn OCC::MoveJob - + Connection timed out Przekroczono czas odpowiedzi @@ -1547,23 +1585,23 @@ Pozycje, dla których usuwanie jest dozwolone zostaną usunięte, jeżeli uprawn OCC::NotificationWidget - + Created at %1 Utworzono o %1 - + Closing in a few seconds... Za kilka sekund nastąpi zamknięcie... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' @@ -1601,12 +1639,12 @@ o dodatkowe uprawnienia podczas procesu aktualizacji. %1 version %2 available. Restart application to start the update. - + %1 wersja %2 jest dostępna. Zrestartuj aplikację aby rozpocząć aktualizację. New %1 version %2 available. Please use the system's update tool to install it. - + Nowa %1 wersja %2 jest dostępna.Użyj systemowego narzędzia aby ją zainstalować. @@ -1647,28 +1685,28 @@ o dodatkowe uprawnienia podczas procesu aktualizacji. Połącz... - + %1 folder '%2' is synced to local folder '%3' %1 katalog '%2' jest zsynchronizowany do katalogu lokalnego '%3' - + Sync the folder '%1' Synchronizuj folder '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Uwaga:</strong> katalog lokalny nie jest pusty. Bądź ostrożny !</small></p> - + Local Sync Folder Folder lokalnej synchronizacji - - + + (%1) (%1) @@ -1794,7 +1832,7 @@ Niezalecane jest jego użycie. Invalid URL - + Błędny adres url. @@ -1894,7 +1932,7 @@ Niezalecane jest jego użycie. Nie można usunąć i zarchiwizować folderu ponieważ znajdujący się w nim plik lub folder jest otwarty przez inny program. Proszę zamknąć folder lub plik albo kliknąć ponów lub anuluj setup. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Utworzenie lokalnego folderu synchronizowanego %1 zakończone pomyślnie!</b></font> @@ -1933,7 +1971,7 @@ Niezalecane jest jego użycie. OCC::PUTFileJob - + Connection Timeout Limit czasu połączenia @@ -1941,7 +1979,7 @@ Niezalecane jest jego użycie. OCC::PollJob - + Invalid JSON reply from the poll URL @@ -1949,7 +1987,7 @@ Niezalecane jest jego użycie. OCC::PropagateDirectory - + Error writing metadata to the database Błąd podczas zapisu metadanych do bazy @@ -1957,22 +1995,22 @@ Niezalecane jest jego użycie. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Nie można pobrać pliku %1 ze względu na konflikt nazwy pliku lokalnego! - + The download would reduce free disk space below %1 Pobranie zmniejszy ilość wolnego miejsca poniżej %1. - + Free space on disk is less than %1 Wolne miejsce na dysku jest mniejsze niż %1 - + File was deleted from server Plik został usunięty z serwera @@ -2005,17 +2043,17 @@ Niezalecane jest jego użycie. OCC::PropagateItemJob - + ; Restoration Failed: %1 - + Continue blacklisting: - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -2025,7 +2063,7 @@ Niezalecane jest jego użycie. could not delete file %1, error: %2 - + nie można skasować pliku %1, błąd: %2 @@ -2053,7 +2091,7 @@ Niezalecane jest jego użycie. Could not remove folder '%1' - + Nie można usunąć folderu '%1' @@ -2078,7 +2116,7 @@ Niezalecane jest jego użycie. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Plik został usunięty z zasobu z prawem tylko do odczytu. Został przywrócony. @@ -2091,7 +2129,7 @@ Niezalecane jest jego użycie. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". @@ -2104,17 +2142,17 @@ Niezalecane jest jego użycie. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Folder ten nie może być zmieniony. Został zmieniony z powrotem do pierwotnej nazwy. - + This folder must not be renamed. Please name it back to Shared. Nie wolno zmieniać nazwy tego folderu. Proszę zmień nazwę z powrotem na Shared. - + The file was renamed but is part of a read only share. The original file was restored. Plik był edytowany lokalnie ale jest częścią udziału z prawem tylko do odczytu. Przywrócono oryginalny plik @@ -2133,22 +2171,22 @@ Niezalecane jest jego użycie. OCC::PropagateUploadFileCommon - + File Removed Usunięto plik - + Local file changed during syncing. It will be resumed. - + Local file changed during sync. Lokalny plik zmienił się podczas synchronizacji. - + Error writing metadata to the database Błąd podczas zapisu metadanych do bazy @@ -2156,32 +2194,32 @@ Niezalecane jest jego użycie. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The local file was removed during sync. Pliki lokalny został usunięty podczas synchronizacji. - + Local file changed during sync. Lokalny plik zmienił się podczas synchronizacji. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2189,32 +2227,32 @@ Niezalecane jest jego użycie. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Plik był edytowany lokalnie ale jest częścią udziału z prawem tylko do odczytu. Został przywrócony i Twoja edycja jest w pliku konfliktu - + Poll URL missing - + The local file was removed during sync. Pliki lokalny został usunięty podczas synchronizacji. - + Local file changed during sync. Lokalny plik zmienił się podczas synchronizacji. - + The server did not acknowledge the last chunk. (No e-tag was present) @@ -2232,42 +2270,42 @@ Niezalecane jest jego użycie. Etykieta - + Time Czas - + File Plik - + Folder Folder - + Action Akcja - + Size Rozmiar - + Local sync protocol Lokalny protokół synchronizacji - + Copy Kopiuj - + Copy the activity list to the clipboard. Kopiuj listę aktywności do schowka. @@ -2308,51 +2346,41 @@ Niezalecane jest jego użycie. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Niezaznaczone katalogi zostaną <b>usunięte</b> z lokalnego systemu plików i nie będą już więcej synchronizowane na tym komputerze. - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - - - - + Choose What to Sync Wybierz co synchronizować - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Wczytuję ... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Nazwa - + Size Rozmiar - - + + No subfolders currently on the server. - + An error occurred while loading the list of sub folders. @@ -2542,7 +2570,7 @@ Niezalecane jest jego użycie. Could not open email client - + Nie można uruchomić klienta email @@ -2656,7 +2684,7 @@ Niezalecane jest jego użycie. OCC::SocketApi - + Share with %1 parameter is ownCloud Współdzielone z %1 @@ -2865,275 +2893,285 @@ Niezalecane jest jego użycie. OCC::SyncEngine - + Success. Sukces. - + CSync failed to load the journal file. The journal file is corrupted. CSync nie udało się wczytać pliku dziennika. Plik dziennika jest uszkodzony. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Wtyczka %1 do csync nie może być załadowana.<br/>Sprawdź poprawność instalacji!</p> - + CSync got an error while processing internal trees. CSync napotkał błąd podczas przetwarzania wewnętrznych drzew. - + CSync failed to reserve memory. CSync nie mógł zarezerwować pamięci. - + CSync fatal parameter error. Krytyczny błąd parametru CSync. - + CSync processing step update failed. Aktualizacja procesu przetwarzania CSync nie powiodła się. - + CSync processing step reconcile failed. Scalenie w procesie przetwarzania CSync nie powiodło się. - + CSync could not authenticate at the proxy. CSync nie mógł się uwierzytelnić przez proxy. - + CSync failed to lookup proxy or server. CSync nie mógł odnaleźć serwera proxy. - + CSync failed to authenticate at the %1 server. CSync nie mógł uwierzytelnić się na serwerze %1. - + CSync failed to connect to the network. CSync nie mógł połączyć się z siecią. - + A network connection timeout happened. Upłynął limit czasu połączenia. - + A HTTP transmission error happened. Wystąpił błąd transmisji HTTP. - + The mounted folder is temporarily not available on the server Chwilowy brak dostępu do serwera, z którego montowany jest folder. - + An error occurred while opening a folder Wystąpił błąd podczas otwierania katalogu - + Error while reading folder. Błąd podczas odczytu katalogu. - + File/Folder is ignored because it's hidden. Plik / katalog zostanie zignorowany, ponieważ jest ukryty. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() - + Not allowed because you don't have permission to add parent folder Niedozwolone, ponieważ nie masz uprawnień do dodawania katalogu nadrzędnego - + Not allowed because you don't have permission to add files in that folder Niedozwolone, ponieważ nie masz uprawnień do dodawania plików w tym katalogu - + CSync: No space on %1 server available. CSync: Brak dostępnego miejsca na serwerze %1. - + CSync unspecified error. Nieokreślony błąd CSync. - + Aborted by the user Anulowane przez użytkownika - - Filename contains invalid characters that can not be synced cross platform. - Nazwa pliku zawiera niedozwolone znaki, przez co może nie być synchronizowany. - - - + CSync failed to access - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. - + CSync failed due to unhandled permission denied. - + CSync tried to create a folder that already exists. - + The service is temporarily unavailable Usługa jest czasowo niedostępna - + Access is forbidden Dostęp zabroniony - + An internal error number %1 occurred. - + The item is not synced because of previous errors: %1 Ten element nie jest zsynchronizowane z powodu poprzednich błędów: %1 - + Symbolic links are not supported in syncing. Linki symboliczne nie są wspierane przy synchronizacji. - + File is listed on the ignore list. Plik jest na liście plików ignorowanych. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. Nazwa pliku zbyt długa - + Stat failed. Błąd statystyk. - + Filename encoding is not valid - + Invalid characters, please rename "%1" - + Unable to initialize a sync journal. Nie można zainicjować synchronizacji dziennika. - + Unable to read the blacklist from the local database - + Unable to read from the sync journal. Nie można czytać z dziennika synchronizacji. - + Cannot open the sync journal Nie można otworzyć dziennika synchronizacji - + File name contains at least one invalid character Nazwa pliku zawiera co najmniej jeden nieprawidłowy znak - - + + Ignored because of the "choose what to sync" blacklist - + Not allowed because you don't have permission to add subfolders to that folder Niedozwolone, ponieważ nie masz uprawnień do dodawania podkatalogów w tym katalogu - + Not allowed to upload this file because it is read-only on the server, restoring Wgrywanie niedozwolone, ponieważ plik jest tylko do odczytu na serwerze, przywracanie - - + + Not allowed to remove, restoring Brak uprawnień by usunąć, przywracanie - + Local files and share folder removed. Lokalne pliki i udostępniane foldery zostały usunięte. - + Move not allowed, item restored Przenoszenie niedozwolone, obiekt przywrócony - + Move not allowed because %1 is read-only Przenoszenie niedozwolone, ponieważ %1 jest tylko do odczytu - + the destination docelowy - + the source źródło @@ -3157,17 +3195,17 @@ Niezalecane jest jego użycie. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Wersja %1. Aby uzyskać więcej informacji prosimy odwiedzić <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> @@ -3417,10 +3455,10 @@ Niezalecane jest jego użycie. - - - - + + + + TextLabel Etykieta @@ -3440,7 +3478,23 @@ Niezalecane jest jego użycie. Zacznij od &czystej synchronizacji (usuwa lokalny katalog !) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Wybierz co synchronizować @@ -3460,12 +3514,12 @@ Niezalecane jest jego użycie. &Zachowaj dane lokalne - + S&ync everything from server S&ynchronizuj wszystko z serwera - + Status message Status wiadomości @@ -3506,7 +3560,7 @@ Niezalecane jest jego użycie. - + TextLabel Etykieta tekstowa @@ -3562,8 +3616,8 @@ Niezalecane jest jego użycie. - Server &Address - Adres &serwera + Ser&ver Address + @@ -3604,7 +3658,7 @@ Kliknij QApplication - + QT_LAYOUT_DIRECTION @@ -3612,40 +3666,46 @@ Kliknij QObject - + in the future w przyszłości - + %n day(s) ago - %n dzień temu%n dni temu%n dni temu + %n dzień temu%n dni temu%n dni temu%n dni temu - + %n hour(s) ago - %n godzinę temu%n godziny temu%n godzin temu + %n godzinę temu%n godziny temu%n godzin temu%n godzin temu - + now teraz - + Less than a minute ago Mniej niż minutę temu - + %n minute(s) ago - %n minutę temu%n minuty temu%n minut temu + %n minutę temu%n minuty temu%n minut temu%n minut temu - + Some time ago Jakiś czas temu + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3670,37 +3730,37 @@ Kliknij %L1 B - + %n year(s) - %n rok%n lata%n lat + %n rok%n lata%n lat%n lat + + + + %n month(s) + %n miesiąc%n miesiące%n miesięcy%n miesięcy - %n month(s) - %n miesiąc%n miesiące%n miesięcy + %n day(s) + %n dzień%n dni%n dni%n dni - %n day(s) - %n dzień%n dni%n dni + %n hour(s) + %n godzina%n godziny%n godzin%n godzin - %n hour(s) - %n godzina%n godziny%n godzin + %n minute(s) + %n minuta%n minuty%n minut%n minut - %n minute(s) - %n minuta%n minuty%n minut - - - %n second(s) - + - + %1 %2 %1 %2 @@ -3721,7 +3781,7 @@ Kliknij ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> @@ -3771,7 +3831,7 @@ Kliknij Updated local metadata - + Zaktualizowano lokalne metadane @@ -3813,7 +3873,7 @@ Kliknij updating local metadata - + aktualizacja lokalnych metadanych diff --git a/translations/client_pt.ts b/translations/client_pt.ts index ec47801a9..6cdc1acbd 100644 --- a/translations/client_pt.ts +++ b/translations/client_pt.ts @@ -126,7 +126,7 @@ - + Cancel Cancelar @@ -168,7 +168,7 @@ Restart sync - + Retomar sincronização @@ -246,22 +246,32 @@ Iniciar Sessão - - There are new folders that were not synchronized because they are too big: - Existem novas pastas que não foram sincronizadas porque são demasiado grandes: + + There are folders that were not synchronized because they are too big: + Existem pastas que não foram sincronizadas por serem demasiado grandes: - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal Confirmar Remoção da Conta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Deseja mesmo remover a ligação da conta <i>%1</i>?</p><p><b>Nota:</b> isto <b>não</b> irá eliminar quaisquer ficheiros.</p> - + Remove connection Remover ligação @@ -521,6 +531,24 @@ Ficheiros de certificado (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Erro ao gravar os metadados para a base de dados @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out A ligação expirou @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Abortado pelo utilizador @@ -604,160 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. A pasta local %1 não existe. - + %1 should be a folder but is not. %1 deveria ser uma pasta, mas não é. - + %1 is not readable. %1 não é legível. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 foi removido. - + %1 has been downloaded. %1 names a file. %1 foi transferido. - + %1 has been updated. %1 names a file. %1 foi atualizado. - + %1 has been renamed to %2. %1 and %2 name files. %1 foi renomeado para %2 - + %1 has been moved to %2. %1 foi movido para %2 - + %1 and %n other file(s) have been removed. '%1' e %n outro(s) ficheiro(s) foram removidos'%1' e %n outros ficheiros foram removidos. - + %1 and %n other file(s) have been downloaded. %1 e %n outro ficheiro foram transferidos.%1 e %n outros ficheiros foram transferidos. - + %1 and %n other file(s) have been updated. %1 e %n outro ficheiro foram actualizados.%1 e %n outros ficheiros foram actualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 foi renomeado para %2 e %n outro ficheiro foi renomeado.%1 foi renomeado para %2 e %n outros ficheiros foram renomeados. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 foi movido para %2 e %n outro ficheiro foi movido.%1 foi movido para %2 e %n outros ficheiros foram movidos. - + %1 has and %n other file(s) have sync conflicts. %1 tem e %n outro ficheiro têm problemas de sincronização.%1 tem e %n outros ficheiros têm problemas de sincronização. - + %1 has a sync conflict. Please check the conflict file! %1 tem um problema de sincronização. Por favor, verifique o ficheiro com conflito! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 e %n outro ficheiro não podem ser sincronizados devido a erros. Consulte o registo de eventos para mais detalhes.%1 e %n outros ficheiros não podem ser sincronizados devido a erros. Consulte o registo de eventos para mais detalhes. - + %1 could not be synced due to an error. See the log for details. Não foi possível sincronizar %1 devido a um erro. Consulte o registo para detalhes. - + Sync Activity Atividade de Sincronização - + Could not read system exclude file Não foi possível ler o ficheiro excluir do sistema - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - Foi adicionada uma nova pasta maior do que %1 MB: %2. -Por favor, vá às configurações para a selecionar, se a desejar transferir. + + - - 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? - Esta sincronização removerá todos os ficheiros na pasta de sincronização '%1'. -Isto poderá acontecer porque a pasta foi reconfigurada silenciosamente, ou todos os seus ficheiros foram removidos manualmente. -Tem a certeza que deseja realizar esta operação? + + A folder from an external storage has been added. + + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Remover todos os ficheiros? - + Remove all files Remover todos os ficheiros - + Keep files Manter ficheiros - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Detetada cópia de segurança - + Normal Synchronisation Sincronização Normal - + Keep Local Files as Conflict Manter Ficheiros Locais como Conflito @@ -765,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state Não foi possível reiniciar o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Foi encontrado um 'journal' de sincronização, mas não foi possível removê-lo. Por favor, certifique-se que nenhuma aplicação o está a utilizar. - + (backup) (cópia de segurança) - + (backup %1) (cópia de segurança %1) - + Undefined State. Estado indefinido. - + Waiting to start syncing. A aguardar para iniciar a sincronização. - + Preparing for sync. A preparar para sincronizar. - + Sync is running. A sincronização está em execução. - + Last Sync was successful. A última sincronização foi bem sucedida. - + Last Sync was successful, but with warnings on individual files. A última sincronização foi bem sucedida, mas com avisos nos ficheiros individuais. - + Setup Error. Erro de instalação. - + User Abort. Abortado pelo utilizador. - + Sync is paused. A sincronização está pausada. - + %1 (Sync is paused) %1 (A sincronização está pausada) - + No valid folder selected! Não foi selecionada nenhuma pasta válida! - + The selected path is not a folder! O caminho selecionado não é uma pasta! - + You have no permission to write to the selected folder! Não tem permissão para gravar para a pasta selecionada! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! A pasta local %1 já contém uma pasta utilizada numa ligação de sincronização de pasta. Por favor, escolha outra! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! A pasta local %1 já contém uma pasta usada numa ligação de sincronização de pasta. Por favor, escolha outra! - + 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! A pasta local %1 é uma hiperligação simbólica. A hiperligação de destino já contém uma pasta usada numa ligação de sincronização de pasta. Por favor, escolha outra! @@ -896,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder Precisa de estar ligado para adicionar uma pasta - + Click this button to add a folder to synchronize. Clique neste botão para adicionar uma pasta para sincronizar. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Erro durante o carregamento da lista de pastas a partir do servidor. - + Signed out Sessão terminada - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. Adicionar pasta está desativada porque já está a sincronizar todos os seus ficheiros. Se deseja sincronizar múltiplas pastas, por favor, remova a pasta raiz atualmente configurada. - + Fetching folder list from server... A obter a lista de pastas do servidor... - + Checking for changes in '%1' A procurar por alterações em '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" A sincronizar %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) transferir %s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) enviar %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 de %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" %5 restante, %1 de %2, ficheiro %3 de %4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 de %2, ficheiro %3 de %4 - + file %1 of %2 ficheiro %1 de %2 - + Waiting... A aguardar... - + Waiting for %n other folder(s)... A aguardar por %n outra pasta...A aguardar por %n outra(s) pasta(s)... - + Preparing to sync... A preparar para sincronizar... @@ -1030,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection Adicionar Ligação de Sincronização de Pasta - + Add Sync Connection Adicionar Ligação de Sincronização @@ -1111,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an Já está a sincronizar todos os seus ficheiros. Sincronizar outra pasta<b>não</b> é suportado. Se desejar sincronizar múltiplas pastas, por favor, remova a sincronização da pasta raiz atualmente configurada. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Escolha o que Sincronizar. Opcionalmente, pode desselecionar opcionalmente as subpastas remotas que não pretende sincronizar. - - OCC::FormatWarningsWizardPage @@ -1135,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nenhum E-Tag recebida do servidor, verifique Proxy / Acesso - + We received a different E-Tag for resuming. Retrying next time. Nós recebemos uma E-Tag diferente para retomar. Tentar da próxima vez. - + Server returned wrong content-range O servidor devolveu o alcance-conteúdo errado - + Connection Timeout O tempo de ligação expirou @@ -1178,10 +1208,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an Avançada - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1198,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an Utilizar Ícones &Monocromáticos - + Edit &Ignored Files Editar Ficheiros &Ignorados - - Ask &confirmation before downloading folders larger than - Pedir &confirmação antes de transferir as pastas maiores que - - - + S&how crash reporter M&ostrar relatório de crache + - About Sobre - + Updates Atualizações - + &Restart && Update &Reiniciar e Atualizar @@ -1234,7 +1270,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an Please enter %1 password:<br><br>User: %2<br>Account: %3<br> - + Por favor, insira a palavra-passe %1:<br><br>Utilizador: %2<br>Conta: %3<br> @@ -1249,7 +1285,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an <a href="%1">Click here</a> to request an app password from the web interface. - + <a href="%1">Clique aqui</a> para solicitar uma palavra-passe da aplicação a partir da interface da Web. @@ -1398,7 +1434,7 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a OCC::MoveJob - + Connection timed out A ligação expirou @@ -1547,23 +1583,23 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a OCC::NotificationWidget - + Created at %1 Criado às %1 - + Closing in a few seconds... A fechar dentro de alguns segundos... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' %1 pedido falhou a %2 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' selecionado a %2 @@ -1647,28 +1683,28 @@ poderá pedir por privilégios adicionais durante o processo. Ligar... - + %1 folder '%2' is synced to local folder '%3' %1 pasta '%2' é sincronizada para pasta local '%3' - + Sync the folder '%1' Sincronizar a pasta '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Aviso:</strong> a pasta local não está vazia. Escolha uma resolução!</small></p> - + Local Sync Folder Pasta de Sincronização Local - - + + (%1) (%1) @@ -1894,7 +1930,7 @@ Não é aconselhada a sua utilização. Não é possível remover e fazer backup à pasta porque a pasta ou um ficheiro nesta está aberto em outro programa. Por favor, feche a pasta ou o ficheiro e clique novamente ou cancele a configuração. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Pasta de sincronização local %1 criada com sucesso!</b></font> @@ -1933,7 +1969,7 @@ Não é aconselhada a sua utilização. OCC::PUTFileJob - + Connection Timeout O tempo de ligação expirou @@ -1941,7 +1977,7 @@ Não é aconselhada a sua utilização. OCC::PollJob - + Invalid JSON reply from the poll URL Resposta JSON inválida do URL poll @@ -1949,7 +1985,7 @@ Não é aconselhada a sua utilização. OCC::PropagateDirectory - + Error writing metadata to the database Erro ao escrever a meta-informação par a base de dados @@ -1957,22 +1993,22 @@ Não é aconselhada a sua utilização. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Não foi possível transferir o ficheiro %1 devido a um conflito com o nome de ficheiro local! - + The download would reduce free disk space below %1 - A transferência poderá reduzir o espaço livre em disco para abaixo de %1 + A transferência poderá reduzir o espaço livre em disco para menos de %1 - + Free space on disk is less than %1 O Espaço livre no disco é inferior a %1 - + File was deleted from server O ficheiro foi eliminado do servidor @@ -2005,17 +2041,17 @@ Não é aconselhada a sua utilização. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Restauro Falhou: %1 - + Continue blacklisting: Continue a enviar para lista negra: - + A file or folder was removed from a read only share, but restoring failed: %1 Um ficheiro ou pasta foi removido de uma partilha só de leitura, mas o restauro falhou: %1 @@ -2078,7 +2114,7 @@ Não é aconselhada a sua utilização. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. O ficheiro havia sido removido de uma partilha apenas de leitura. Ficheiro restaurado. @@ -2091,7 +2127,7 @@ Não é aconselhada a sua utilização. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Código HTTP errado devolvido pelo servidor. Esperado 201, mas foi recebido "%1 %2". @@ -2104,17 +2140,17 @@ Não é aconselhada a sua utilização. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Esta pasta não pode ser renomeada. A alterar para nome original. - + This folder must not be renamed. Please name it back to Shared. Esta pasta não pode ser renomeada. Por favor renomeie para o seu nome original: Shared. - + The file was renamed but is part of a read only share. The original file was restored. O ficheiro foi renomeado mas faz parte de uma partilha só de leitura. O ficheiro original foi restaurado. @@ -2133,22 +2169,22 @@ Não é aconselhada a sua utilização. OCC::PropagateUploadFileCommon - + File Removed Ficheiro Eliminado - + Local file changed during syncing. It will be resumed. O ficheiro local foi alterado durante a sincronização. Vai ser finalizado. - + Local file changed during sync. Ficheiro local alterado durante a sincronização. - + Error writing metadata to the database Erro ao gravar os metadados para a base de dados @@ -2156,32 +2192,32 @@ Não é aconselhada a sua utilização. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. A forçar aborto no trabalho de redefinição de conexão HTTP com Qt < 5.4.3 - + The local file was removed during sync. O arquivo local foi removido durante a sincronização. - + Local file changed during sync. Ficheiro local alterado durante a sincronização. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2189,32 +2225,32 @@ Não é aconselhada a sua utilização. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. A forçar aborto no trabalho de redefinição de conexão HTTP com Qt < 5.4.3 - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. O ficheiro foi editado localmente mas faz parte de uma prtilha só de leitura. Foi restaurado mas a edição está no ficheiro de conflito. - + Poll URL missing URL poll em falta - + The local file was removed during sync. O arquivo local foi removido durante a sincronização. - + Local file changed during sync. Ficheiro local alterado durante a sincronização. - + The server did not acknowledge the last chunk. (No e-tag was present) O servidor não reconheceu a última parte. (Nenhuma e-tag estava presente) @@ -2232,42 +2268,42 @@ Não é aconselhada a sua utilização. TextLabel - + Time Tempo - + File Ficheiro - + Folder Pasta - + Action Ação - + Size Tamanho - + Local sync protocol Protocolo de sincronização local - + Copy Copiar - + Copy the activity list to the clipboard. Copiar lista de actividades para a área de transferência. @@ -2308,51 +2344,41 @@ Não é aconselhada a sua utilização. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Pastas não selecionadas serão <b>removidas</b> do seu sistema local de ficheiros e não serão sincronizadas neste computador - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Escolher o que Sincronizar: Marque as sub pastas remotas que deseja sincronizar. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Escolher o que Sincronizar: Desmarque as sub pastas remotas que não deseja sincronizar. - - - + Choose What to Sync Escolher o Que Sincronizar - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... A carregar... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Nome - + Size Tamanho - - + + No subfolders currently on the server. Atualmente não há sub-pastas no servidor. - + An error occurred while loading the list of sub folders. Ocorreu um erro ao carregar a lista das sub pastas. @@ -2656,7 +2682,7 @@ Não é aconselhada a sua utilização. OCC::SocketApi - + Share with %1 parameter is ownCloud Partilhar com %1 @@ -2865,275 +2891,285 @@ Não é aconselhada a sua utilização. OCC::SyncEngine - + Success. Sucesso - + CSync failed to load the journal file. The journal file is corrupted. CSync falhou a carregar o ficheiro do jornal. O ficheiro do jornal está corrupto. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>O plugin %1 para o CSync não foi carregado.<br/>Por favor verifique a instalação!</p> - + CSync got an error while processing internal trees. Csync obteve um erro enquanto processava as árvores internas. - + CSync failed to reserve memory. O CSync falhou a reservar memória - + CSync fatal parameter error. Parametro errado, CSync falhou - + CSync processing step update failed. O passo de processamento do CSyn falhou - + CSync processing step reconcile failed. CSync: Processo de reconciliação falhou. - + CSync could not authenticate at the proxy. CSync: não foi possível autenticar no servidor proxy. - + CSync failed to lookup proxy or server. CSync: não conseguiu contactar o proxy ou o servidor. - + CSync failed to authenticate at the %1 server. CSync: Erro a autenticar no servidor %1 - + CSync failed to connect to the network. CSync: Erro na conecção à rede - + A network connection timeout happened. Houve um erro de timeout de rede. - + A HTTP transmission error happened. Ocorreu um erro de transmissão HTTP - + The mounted folder is temporarily not available on the server O pasta montada está temporariamente indisponível no servidor - + An error occurred while opening a folder Ocorreu um erro ao abrir uma pasta - + Error while reading folder. Erro ao ler o ficheiro. - + File/Folder is ignored because it's hidden. O ficheiro/pasta foi ignorado porque está oculto. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Apenas %1 estão disponíveis, é preciso um mínimo de %2 para começar - + Not allowed because you don't have permission to add parent folder Não permitido, porque não tem permissão para adicionar a pasta fonte - + Not allowed because you don't have permission to add files in that folder Não permitido, porque não tem permissão para adicionar os ficheiros nessa pasta - + CSync: No space on %1 server available. CSync: Não ha espaço disponível no servidor %1 - + CSync unspecified error. CSync: erro não especificado - + Aborted by the user Cancelado pelo utilizador - - Filename contains invalid characters that can not be synced cross platform. - O nome do ficheiro contém carateres inválidos que não podem ser sincronizados através das plataformas. - - - + CSync failed to access CSync falhou o acesso - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. CSync falhou no carregamento ou criação do ficheiro jornal. Certifique-se de que tem permissões de gravação e leitura na pasta de sincronização local. - + CSync failed due to unhandled permission denied. CSync falhou devido a permissão não tratada negada. - + CSync tried to create a folder that already exists. O CSync tentou criar uma pasta que já existe. - + The service is temporarily unavailable O serviço está temporariamente indisponível - + Access is forbidden O acesso é proibido - + An internal error number %1 occurred. Ocorreu o erro interno número %1. - + The item is not synced because of previous errors: %1 O item não está sincronizado devido a erros anteriores: %1 - + Symbolic links are not supported in syncing. Hiperligações simbólicas não são suportadas em sincronização. - + File is listed on the ignore list. O ficheiro está na lista de ficheiros a ignorar. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. O nome do ficheiro é muito grande - + Stat failed. Estado falhou. - + Filename encoding is not valid Codificação de nome de ficheiro não é válida - + Invalid characters, please rename "%1" Carateres inválidos, por favor, renomeie "%1" - + Unable to initialize a sync journal. Impossível inicializar sincronização 'journal'. - + Unable to read the blacklist from the local database Não foi possível ler a lista negra a partir da base de dados local - + Unable to read from the sync journal. Não foi possível ler a partir do jornal de sincronização. - + Cannot open the sync journal Impossível abrir o jornal de sincronismo - + File name contains at least one invalid character O nome de ficheiro contém pelo menos um caráter inválido - - + + Ignored because of the "choose what to sync" blacklist Ignorado devido à blacklist de escolha para sincronização - + Not allowed because you don't have permission to add subfolders to that folder Não permitido, porque não tem permissão para adicionar as subpastas nessa pasta - + Not allowed to upload this file because it is read-only on the server, restoring Não é permitido enviar este ficheiro porque este é só de leitura no servidor, a restaurar - - + + Not allowed to remove, restoring Não autorizado para remoção, restaurando - + Local files and share folder removed. Ficheiros locais e pasta partilhada removidos. - + Move not allowed, item restored Mover não foi permitido, item restaurado - + Move not allowed because %1 is read-only Mover não foi autorizado porque %1 é só de leitura - + the destination o destino - + the source a origem @@ -3157,17 +3193,17 @@ Não é aconselhada a sua utilização. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Versão %1. Para mais informações visite <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> <p>Todos os direitos reservados ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Distribuído por %1 e licenciado sob a GNU General Public License (GPL) Versão 2.0.<br/>%2 e o logótipo %2 são marcas registadas da %1 nos Estados Unidos, outros países, ou ambos </p> @@ -3417,10 +3453,10 @@ Não é aconselhada a sua utilização. - - - - + + + + TextLabel TextLabel @@ -3440,7 +3476,23 @@ Não é aconselhada a sua utilização. &Iniciar uma nova sincronização (Apaga a pasta local) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Escolher o que sincronizar @@ -3460,12 +3512,12 @@ Não é aconselhada a sua utilização. &Manter dados locais - + S&ync everything from server Sincronizar tudo do servidor - + Status message Mensagem de estado @@ -3506,7 +3558,7 @@ Não é aconselhada a sua utilização. - + TextLabel TextLabel @@ -3562,8 +3614,8 @@ Não é aconselhada a sua utilização. - Server &Address - Endereço do servidor + Ser&ver Address + @@ -3603,7 +3655,7 @@ Não é aconselhada a sua utilização. QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3611,40 +3663,46 @@ Não é aconselhada a sua utilização. QObject - + in the future no futuro - + %n day(s) ago %n dia atrás%n dias atrás - + %n hour(s) ago %n hora atrás%n horas atrás - + now agora - + Less than a minute ago Menos de um minuto atrás - + %n minute(s) ago %n minuto atrás%n minutos atrás - + Some time ago Algum tempo atrás + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3669,37 +3727,37 @@ Não é aconselhada a sua utilização. %L1 B - + %n year(s) %n ano%n ano(s) - + %n month(s) %n mês%n meses - + %n day(s) %n dia%n dias - + %n hour(s) %n hora%n horas - + %n minute(s) %n minuto%n minutos - + %n second(s) %n segundo%n segundos - + %1 %2 %1 %2 @@ -3720,7 +3778,7 @@ Não é aconselhada a sua utilização. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Construído a partir da revisão Git <a href="%1">%2</a> em %3, %4 usando Qt %5, %6</small></p> @@ -3786,7 +3844,7 @@ Não é aconselhada a sua utilização. uploading - A enviar + a enviar diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts index 5c4bad486..f27022a5f 100644 --- a/translations/client_pt_BR.ts +++ b/translations/client_pt_BR.ts @@ -126,7 +126,7 @@ - + Cancel Cancelar @@ -246,22 +246,32 @@ Entrar - - There are new folders that were not synchronized because they are too big: - Há novas pastas que não foram sincronizadas, porque eles são muito grandes: + + There are folders that were not synchronized because they are too big: + Existem pastas que não foram sincronizadas porque são muito grandes: - + + There are folders that were not synchronized because they are external storages: + Existem pastas que não foram sincronizadas porque são armazenamentos externos: + + + + There are folders that were not synchronized because they are too big or external storages: + Existem pastas que não foram sincronizadas porque são muito grandes ou armazenamentos externos: + + + Confirm Account Removal Confirmar a Remoção da Conta - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Você realmente deseja remover a conexão desta conta<i>%1</i>?</p><p><b>Nota:</b> Isto <b>não</b> irá deletar nenhum arquivo.</p> - + Remove connection Remover conexão @@ -521,6 +531,24 @@ Arquivos de certificado (* p12 * .pfx) + + OCC::Application + + + Error accessing the configuration file + Erro acessando o arquivo de configuração + + + + There was an error while accessing the configuration file at %1. + Ocorreu um erro ao acessar o arquivo de configuração em %1. + + + + Quit ownCloud + Sair do ownCloud + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Ocorreu um erro ao escrever metadados ao banco de dados @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Conexão expirou @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Abortado pelo usuário @@ -604,143 +632,158 @@ OCC::Folder - + Local folder %1 does not exist. A pasta local %1 não existe. - + %1 should be a folder but is not. %1 deve ser uma pasta, mas não é. - + %1 is not readable. %1 não pode ser lido. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 foi removido. - + %1 has been downloaded. %1 names a file. %1 foi baixado. - + %1 has been updated. %1 names a file. %1 foi atualizado. - + %1 has been renamed to %2. %1 and %2 name files. %1 foi renomeado para %2. - + %1 has been moved to %2. %1 foi movido para %2. - + %1 and %n other file(s) have been removed. %1 e %n outro arquivo foi removido.%1 e %n outros arquivos foram removidos. - + %1 and %n other file(s) have been downloaded. %1 e %n outro(s) arquivo(s) foi(foram) baixados.%1 e %n outro(s) arquivo(s) foi(foram) baixados. - + %1 and %n other file(s) have been updated. %1 e %n outro arquivo foi atualizado.%1 e %n outros arquivos foram atualizados. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 foi renomeado para %2 e %n outro arquivo foi renomeado.%1 foi renomeado para %2 e %n outros arquivos foram renomeados. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 foi movido para %2 e %n outro arquivo foi movido.%1 foi movido para %2 e %n outros arquivos foram movidos. - + %1 has and %n other file(s) have sync conflicts. %1 tem e %n outro arquivo tem conflito na sincronização.%1 tem e %n outros arquivos teem conflito na sincronização. - + %1 has a sync conflict. Please check the conflict file! %1 tem um conflito na sincronização. Por favor verifique o arquivo de conflito! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 e %n outro arquivo não pode ser sincronizado devido a erros. Veja o log para detalhes.%1 e %n outros arquivos não poderam ser sincronizados devido a erros. Veja o log para detalhes. - + %1 could not be synced due to an error. See the log for details. %1 não pode ser sincronizado devido a um erro. Veja o log para obter detalhes. - + Sync Activity Atividade de Sincronização - + Could not read system exclude file Não foi possível ler o sistema de arquivo de exclusão - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - Uma nova pasta maior que %1 MB foi adicionada: %2. -Por favor, vá nas configurações para selecionar o que você deseja para fazer o download. + + Uma nova pasta maior que %1 MB foi adicionada: %2 + - - 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? - Esta sincronização removerá todos os arquivos na pasta sincronizada '%1'. -Isso pode ser porque a pasta foi reconfigurada em silêncio, ou porque todos os arquivos foram manualmente removidos. -Tem certeza de que deseja executar esta operação? + + A folder from an external storage has been added. + + Uma pasta de um armazenamento externo foi adicionada. + - + + Please go in the settings to select it if you wish to download it. + Por favor, vá nas configurações para selecioná-lo se você deseja baixá-lo. + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + Todos os arquivos na pasta '%1' de sincronização foram excluídos no servidor. + Essas exclusões serão sincronizadas com a pasta de sincronização local, tornando esses arquivos indisponíveis, a menos que você tenha o direito de restaurar. + Se você decidir manter os arquivos, eles serão re-sincronizados com o servidor se você tiver direitos para fazê-lo. +Se você decidir excluir os arquivos, eles não estarão disponíveis para você, a menos que você seja o proprietário. + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + Todos os arquivos na pasta de sincronização local '%1' foram excluídos. Essas exclusões serão sincronizadas com o servidor, tornando tais arquivos indisponíveis, a menos que restaurados.Tem certeza de que deseja sincronizar essas ações com o servidor?Se isso foi um acidente e você decidir manter seus arquivos, eles serão re-sincronizados a partir do servidor. + + + Remove All Files? Deseja Remover Todos os Arquivos? - + Remove all files Remover todos os arquivos - + Keep files Manter arquivos - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -749,17 +792,17 @@ Isso pode ser porque um backup foi restaurado no servidor. Continuar a sincronização como normal fará com que todos os seus arquivos sejam substituídos por um arquivo antigo em um estado anterior. Deseja manter seus arquivos mais recentes locais como arquivos de conflito? - + Backup detected Backup detectado - + Normal Synchronisation Sincronização Normal - + Keep Local Files as Conflict Manter Arquivos Locais como Conflito @@ -767,112 +810,112 @@ Continuar a sincronização como normal fará com que todos os seus arquivos sej OCC::FolderMan - + Could not reset folder state Não foi possível redefinir o estado da pasta - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Uma velha revista de sincronização '%1' foi encontrada, mas não pôde ser removida. Por favor, certifique-se de que nenhuma aplicação está a usá-la. - + (backup) (backup) - + (backup %1) (backup %1) - + Undefined State. Estado indefinido. - + Waiting to start syncing. À espera do início da sincronização. - + Preparing for sync. Preparando para sincronização. - + Sync is running. A sincronização está ocorrendo. - + Last Sync was successful. A última sincronização foi feita com sucesso. - + Last Sync was successful, but with warnings on individual files. A última sincronização foi executada com sucesso, mas com advertências em arquivos individuais. - + Setup Error. Erro de Configuração. - + User Abort. Usuário Abortou. - + Sync is paused. Sincronização pausada. - + %1 (Sync is paused) %1 (Pausa na Sincronização) - + No valid folder selected! Nenhuma pasta válida selecionada! - + The selected path is not a folder! O caminho selecionado não é uma pasta! - + You have no permission to write to the selected folder! Voce não tem permissão para escrita na pasta selecionada! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! A pasta local %1 contém um link simbólico. O destino do link contém uma pasta já sincronizados. Por favor, escolha uma outra! - + There is already a sync from the server to this local folder. Please pick another local folder! Já existe uma sincronização do servidor para esta pasta local. Por favor, escolha uma outra pasta local! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! A pasta local %1 já contém uma pasta utilizada numa ligação de sincronização de pasta. Por favor, escolha outra! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! A pasta local %1 já está contida em uma pasta usada em uma conexão de sincronização de pastas. Por favor, escolha outra! - + 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! A pasta local %1 é um link simbólico. O destino do link já está contido em uma pasta usada em uma conexão de sincronização de pastas. Por favor, escolha outra! @@ -898,133 +941,133 @@ Continuar a sincronização como normal fará com que todos os seus arquivos sej OCC::FolderStatusModel - + You need to be connected to add a folder Você precisa estar conectado para adicionar uma pasta - + Click this button to add a folder to synchronize. Clique nesse botão para adicionar uma pasta para sincronizar. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Erro enquanto carregava a lista de pastas do servidor. - + Signed out Desconectado - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. Adição de pasta está desativado porque você já está sincronizando todos os seus arquivos. Se você deseja sincronizar várias pastas, por favor, remova a pasta raiz configurada atualmente. - + Fetching folder list from server... Obtendo lista de pastas do servidor... - + Checking for changes in '%1' Verificando alterações em '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Sincronizando %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) baixar %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) enviar %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 de %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" %5 restando, %1 de %2, arquivo %3 de %4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 de%2, arquivo %3 de %4 - + file %1 of %2 arquivo %1 de %2 - + Waiting... Esperando... - + Waiting for %n other folder(s)... Esperando por %n outra pasta...Esperando por %n outras pastas... - + Preparing to sync... Preparando para sincronizar... @@ -1032,12 +1075,12 @@ Continuar a sincronização como normal fará com que todos os seus arquivos sej OCC::FolderWizard - + Add Folder Sync Connection Adicionar Conexão de Sincronização de pasta - + Add Sync Connection Adicionar Conexão de Sincronização @@ -1113,14 +1156,6 @@ Continuar a sincronização como normal fará com que todos os seus arquivos sej Você já está sincronizando todos os seus arquivos. Sincronizar outra pasta <b>não</ b> é possível. Se você deseja sincronizar várias pastas, por favor, remova a sincronização configurada atualmente para a pasta raiz. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Escolha o que Sincronizar: Você pode, opcionalmente, desmarcar subpastas remotas que você não deseja sincronizar. - - OCC::FormatWarningsWizardPage @@ -1137,22 +1172,22 @@ Continuar a sincronização como normal fará com que todos os seus arquivos sej OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Nenhuma E-Tag recebida do servidor, verifique Proxy / gateway - + We received a different E-Tag for resuming. Retrying next time. Recebemos um e-Tag diferente para resumir. Tente uma próxima vez. - + Server returned wrong content-range O servidor retornou erro numa série-de-conteúdo - + Connection Timeout Conexão Finalizada @@ -1180,10 +1215,21 @@ Continuar a sincronização como normal fará com que todos os seus arquivos sej Avançado - + + Ask for confirmation before synchronizing folders larger than + Solicite confirmação antes de sincronizar pastas maiores que + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + Pedir confirmação antes de sincronizar os armazenamentos externos + &Launch on System Startup @@ -1200,33 +1246,28 @@ Continuar a sincronização como normal fará com que todos os seus arquivos sej Usar Icones &Monocromáticos - + Edit &Ignored Files Editar Arquivos &Ignorados - - Ask &confirmation before downloading folders larger than - Solicitar &confirmação entes de baixar pastas maiores que - - - + S&how crash reporter M&ostrar relatório de acidente + - About Sobre - + Updates Atualizações - + &Restart && Update &Reiniciar && Atualização @@ -1401,7 +1442,7 @@ Itens onde a eliminação é permitida serão excluídos se eles evitarem que um OCC::MoveJob - + Connection timed out Conexão expirou @@ -1550,23 +1591,23 @@ Itens onde a eliminação é permitida serão excluídos se eles evitarem que um OCC::NotificationWidget - + Created at %1 Criada em %1 - + Closing in a few seconds... Fechando em poucos segundos... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' requisição %1 falhou em %2 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' selecionada em %2 @@ -1649,28 +1690,28 @@ for additional privileges during the process. Conectar... - + %1 folder '%2' is synced to local folder '%3' %1 Pasta '%2' está sincronizada com pasta local '%3' - + Sync the folder '%1' Sincronizar a pasta '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Aviso:</strong> A pasta local não está vazia. Escolha uma resolução!</small></p> - + Local Sync Folder Sincronizar Pasta Local - - + + (%1) (%1) @@ -1895,7 +1936,7 @@ It is not advisable to use it. Não é possível remover e fazer backup da pasta porque a pasta ou um arquivo que está nesta pasta está aberto em outro programa. Por favor, feche a pasta ou arquivo e clique tentar novamente ou cancelar a operação. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Pasta de sincronização local %1 criada com sucesso!</b></font> @@ -1934,7 +1975,7 @@ It is not advisable to use it. OCC::PUTFileJob - + Connection Timeout Conexão Finalizada @@ -1942,7 +1983,7 @@ It is not advisable to use it. OCC::PollJob - + Invalid JSON reply from the poll URL Resposta JSON inválida a partir do conjunto de URL @@ -1950,7 +1991,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database Ocorreu um erro ao escrever metadados ao banco de dados @@ -1958,22 +1999,22 @@ It is not advisable to use it. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! O arquivo %1 não pode ser baixado devido a um confronto local no nome do arquivo! - + The download would reduce free disk space below %1 O download reduzirá o espaço livre em disco abaixo de %1 - + Free space on disk is less than %1 O espaço livre no disco é inferior a %1 - + File was deleted from server O arquivo foi eliminado do servidor @@ -2006,17 +2047,17 @@ It is not advisable to use it. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Falha na Restauração: %1 - + Continue blacklisting: Continuar na lista negra: - + A file or folder was removed from a read only share, but restoring failed: %1 Um arquivo ou pasta foi removido de um compartilhamento de somente leitura, mas a restauração falhou: %1 @@ -2079,7 +2120,7 @@ It is not advisable to use it. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. O arquivo foi removido de um compartilhamento somente de leitura. Ele foi restaurado. @@ -2092,7 +2133,7 @@ It is not advisable to use it. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Código HTTP retornado errado pelo servidor. 201 esperado, mas recebeu "%1 %2". @@ -2105,17 +2146,17 @@ It is not advisable to use it. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Esta pasta não pode ser renomeada. Ela será renomeado de volta ao seu nome original. - + This folder must not be renamed. Please name it back to Shared. Esta pasta não pode ser renomeada. Por favor, nomeie-a de volta para Compartilhada. - + The file was renamed but is part of a read only share. The original file was restored. O arquivo foi renomeado mas faz parte de compartilhamento só de leitura. O arquivo original foi restaurado. @@ -2134,22 +2175,22 @@ It is not advisable to use it. OCC::PropagateUploadFileCommon - + File Removed Arquivo Removido - + Local file changed during syncing. It will be resumed. Arquivo local alterado durante a sincronização. Ele será retomado. - + Local file changed during sync. Arquivo local modificado durante a sincronização. - + Error writing metadata to the database Ocorreu um erro ao escrever metadados ao banco de dados @@ -2157,32 +2198,32 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Forçando cancelamento do trabalho em redefinição de conexão HTTP com o Qt < 5.4.2. - + The local file was removed during sync. O arquivo local foi removido durante a sincronização. - + Local file changed during sync. Arquivo local modificado durante a sincronização. - + Unexpected return code from server (%1) Código de retorno inesperado do servidor (%1) - + Missing File ID from server Falta ID do arquivo do servidor - + Missing ETag from server Falta ETag do servidor @@ -2190,32 +2231,32 @@ It is not advisable to use it. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Forçando cancelamento do trabalho em redefinição de conexão HTTP com o Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. O arquivo foi editado localmente mas faz parte de compartilhamento só de leitura. Ele foi restaurado mas sua edição está em conflito com o arquivo. - + Poll URL missing Faltando conjunto de URL - + The local file was removed during sync. O arquivo local foi removido durante a sincronização. - + Local file changed during sync. Arquivo local modificado durante a sincronização. - + The server did not acknowledge the last chunk. (No e-tag was present) O servidor não reconheceu o último pedaço. (Nenhuma e-tag estava presente) @@ -2233,42 +2274,42 @@ It is not advisable to use it. RótuloTexto - + Time Tempo - + File Arquivo - + Folder Pasta - + Action Ação - + Size Tamanho - + Local sync protocol Protocolo de sincronização local - + Copy Copiar - + Copy the activity list to the clipboard. Copiar a lista de atividades para a área de transferência. @@ -2309,51 +2350,41 @@ It is not advisable to use it. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Pastas não marcadas serão <b>removidos</b> de seu sistema de arquivos local e não serão mais sincronizadas com este computador - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Escolha o que Sincronizar: Selecione subpastas remotas que você deseja sincronizar. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Escolha o que Sincronizar: Desmarque subpastas remotas que você não deseja sincronizar. - - - + Choose What to Sync Escolher o que Sincronizar - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Carregando... - + + Deselect remote folders you do not wish to synchronize. + Desmarque as pastas remotas que não deseja sincronizar. + + + Name Nome - + Size Tamanho - - + + No subfolders currently on the server. Nenhuma sub-pasta atualmente no servidor. - + An error occurred while loading the list of sub folders. Ocorreu um erro enquanto carregava a lista de subpastas. @@ -2657,7 +2688,7 @@ It is not advisable to use it. OCC::SocketApi - + Share with %1 parameter is ownCloud Compartilhar com %1 @@ -2866,275 +2897,285 @@ It is not advisable to use it. OCC::SyncEngine - + Success. Sucesso. - + CSync failed to load the journal file. The journal file is corrupted. CSync não conseguiu carregar o arquivo journal. O arquivo journal está corrompido. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>O plugin %1 para csync não foi carregado.<br/>Por favor verifique a instalação!</p> - + CSync got an error while processing internal trees. Erro do CSync enquanto processava árvores internas. - + CSync failed to reserve memory. CSync falhou ao reservar memória. - + CSync fatal parameter error. Erro fatal de parametro do CSync. - + CSync processing step update failed. Processamento da atualização do CSync falhou. - + CSync processing step reconcile failed. Processamento da conciliação do CSync falhou. - + CSync could not authenticate at the proxy. Csync não conseguiu autenticação no proxy. - + CSync failed to lookup proxy or server. CSync falhou ao localizar o proxy ou servidor. - + CSync failed to authenticate at the %1 server. CSync falhou ao autenticar no servidor %1. - + CSync failed to connect to the network. CSync falhou ao conectar à rede. - + A network connection timeout happened. Ocorreu uma desconexão de rede. - + A HTTP transmission error happened. Houve um erro na transmissão HTTP. - + The mounted folder is temporarily not available on the server A pasta montada não está temporariamente disponível no servidor - + An error occurred while opening a folder Ocorreu um erro ao abrir uma pasta - + Error while reading folder. Erro ao ler pasta. - + File/Folder is ignored because it's hidden. Arquivo/pasta ignorado porque porque está escondido. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Apenas %1 estão disponíveis, precisamos de pelo menos %2 para começar - + Not allowed because you don't have permission to add parent folder Não permitido porque você não tem permissão para adicionar pasta mãe - + Not allowed because you don't have permission to add files in that folder Não permitido porque você não tem permissão para adicionar arquivos na pasta - + CSync: No space on %1 server available. CSync: Sem espaço disponível no servidor %1. - + CSync unspecified error. Erro não especificado no CSync. - + Aborted by the user Abortado pelo usuário - - Filename contains invalid characters that can not be synced cross platform. - Nome do arquivo contém caracteres inválidos que não podem ser sincronizados entre plataformas. - - - + CSync failed to access CSync não conseguiu o acesso - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. CSync falhou ao carregar ou criar o arquivo de diário. Certifique-se de ter permissão de ler e escrever na pasta de sincronização local. - + CSync failed due to unhandled permission denied. CSync falhou devido a permissão de não manipulação negada. - + CSync tried to create a folder that already exists. CSync tentou criar uma pasta que já existe. - + The service is temporarily unavailable O serviço está temporariamente indisponível - + Access is forbidden Acesso proibido - + An internal error number %1 occurred. Um erro interno de número %1 ocorreu. - + The item is not synced because of previous errors: %1 O item não está sincronizado devido a erros anteriores: %1 - + Symbolic links are not supported in syncing. Linques simbólicos não são suportados em sincronização. - + File is listed on the ignore list. O arquivo está listado na lista de ignorados. - + + File names ending with a period are not supported on this file system. + Os nomes de arquivos que terminam com um ponto não são suportados neste sistema de arquivos. + + + + File names containing the character '%1' are not supported on this file system. + Os nomes de arquivos que contêm o caractere '%1' não são suportados neste sistema de arquivos. + + + + The file name is a reserved name on this file system. + O nome do arquivo é um nome reservado neste sistema de arquivos. + + + Filename contains trailing spaces. O nome do arquivo contém espaços deixados para trás. - + Filename is too long. O nome do arquivo é muito longo. - + Stat failed. Stat falhou. - + Filename encoding is not valid A codificação do nome do arquivo não é válida - + Invalid characters, please rename "%1" Caracteres inválidos, por favor renomear "%1" - + Unable to initialize a sync journal. Impossibilitado de iniciar a sincronização. - + Unable to read the blacklist from the local database Não é possível ler a lista negra a partir do banco de dados local - + Unable to read from the sync journal. Não é possível ler a partir do relatório de sincronização. - + Cannot open the sync journal Não é possível abrir o arquivo de sincronização - + File name contains at least one invalid character O nome do arquivo contem pelo menos um caractere inválido - - + + Ignored because of the "choose what to sync" blacklist Ignorado por causa da lista negra "escolher o que sincronizar" - + Not allowed because you don't have permission to add subfolders to that folder Não permitido porque você não tem permissão para adicionar subpastas para essa pasta - + Not allowed to upload this file because it is read-only on the server, restoring Não é permitido fazer o upload deste arquivo porque ele é somente leitura no servidor, restaurando - - + + Not allowed to remove, restoring Não é permitido remover, restaurando - + Local files and share folder removed. Arquivos locais e pasta compartilhada removida. - + Move not allowed, item restored Não é permitido mover, item restaurado - + Move not allowed because %1 is read-only Não é permitido mover porque %1 é somente para leitura - + the destination o destino - + the source a fonte @@ -3158,17 +3199,17 @@ It is not advisable to use it. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Versão %1. Para mais informações por favor visite <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> <p>Direitos autorais ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Distribuído por %1 e licenciado sobre a GNU General Public License (GPL) Versão 2.0.<br/>%2 e o %2 logo são marcas registradas de %1 nos Estados Unidos, outros países ou ambos.</p> @@ -3419,10 +3460,10 @@ Para problemas conhecidos e ajuda, visite: <a href="https://central.ownc - - - - + + + + TextLabel TextLabel @@ -3442,7 +3483,23 @@ Para problemas conhecidos e ajuda, visite: <a href="https://central.ownc Iniciar uma sincronização &limpa (Elimina a pasta local!) - + + Ask for confirmation before synchroni&zing folders larger than + Solicite confirmação antes de sincroni&zar pastas maiores que + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + Solicitar confirmação antes de sincronizar os armazenamentos e&xternos + + + Choose what to sync Escolha o que quer sincronizar @@ -3462,12 +3519,12 @@ Para problemas conhecidos e ajuda, visite: <a href="https://central.ownc &Manter dados locais - + S&ync everything from server S&ync tudo do servidor - + Status message Mensagem de status @@ -3508,7 +3565,7 @@ Para problemas conhecidos e ajuda, visite: <a href="https://central.ownc - + TextLabel TextLabel @@ -3564,8 +3621,8 @@ Para problemas conhecidos e ajuda, visite: <a href="https://central.ownc - Server &Address - &Endereço do Servidor + Ser&ver Address + Endereço do Ser&vidor @@ -3605,7 +3662,7 @@ Para problemas conhecidos e ajuda, visite: <a href="https://central.ownc QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3613,40 +3670,46 @@ Para problemas conhecidos e ajuda, visite: <a href="https://central.ownc QObject - + in the future no futuro - + %n day(s) ago %n dia(s) atrás%n dia(s) atrás - + %n hour(s) ago %n hora(s) atrás%n hora(s) atrás - + now agora - + Less than a minute ago A menos de um minuto atrás - + %n minute(s) ago %n minuto(s) atrás%n minuto(s) atrás - + Some time ago Algum tempo atrás + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3671,37 +3734,37 @@ Para problemas conhecidos e ajuda, visite: <a href="https://central.ownc %L1 B - + %n year(s) %n ano%n ano(s) - + %n month(s) %n mês%n mês(es) - + %n day(s) %n day%n dia(s) - + %n hour(s) %n hora%n hora(s) - + %n minute(s) %n minuto%n minuto(s) - + %n second(s) %n segundo%n segundo(s) - + %1 %2 %1 %2 @@ -3722,7 +3785,7 @@ Para problemas conhecidos e ajuda, visite: <a href="https://central.ownc ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Construído a partir de revisão Git <a href="%1">%2</a> em %3, %4 usando Qt %5, %6</small></p> diff --git a/translations/client_ru.ts b/translations/client_ru.ts index 444daa43c..977384b76 100644 --- a/translations/client_ru.ts +++ b/translations/client_ru.ts @@ -126,7 +126,7 @@ - + Cancel Отмена @@ -246,22 +246,32 @@ Войти - - There are new folders that were not synchronized because they are too big: - Есть новые каталоги, которые не были синхронизированы, так как они слишком большие: + + There are folders that were not synchronized because they are too big: + Есть каталоги, которые не были синхронизированы, так как они слишком большие: - + + There are folders that were not synchronized because they are external storages: + Есть каталоги, которые не были синхронизированы, так как они являются внешними хранилищами: + + + + There are folders that were not synchronized because they are too big or external storages: + Есть каталоги, которые не были синхронизированы, так как они слишком велики или являются внешними хранилищами: + + + Confirm Account Removal Подтверждение удаления учетной записи - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Вы действительно желаете удалить подключение к учетной записи <i>%1</i>?</p><p><b>Примечание:</b> Это действие <b>НЕ</b> удалит ваши файлы.</p> - + Remove connection Удалить подключение @@ -521,6 +531,24 @@ Файлы сертификатов (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + Ошибка при доступе к файлу конфигурации + + + + There was an error while accessing the configuration file at %1. + При обращении к файлу конфигурации %1 произошла ошибка. + + + + Quit ownCloud + Выйти из ownCloud + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Ошибка записи метаданных в базу данных @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Время ожидания соединения превышено @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Прервано пользов @@ -604,160 +632,177 @@ OCC::Folder - + Local folder %1 does not exist. Локальный каталог %1 не существует. - + %1 should be a folder but is not. %1 должен быть папкой, но ей не является. - + %1 is not readable. %1 не может быть прочитан. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. '%1' был удалён. - + %1 has been downloaded. %1 names a file. %1 был загружен. - + %1 has been updated. %1 names a file. %1 был обновлён. - + %1 has been renamed to %2. %1 and %2 name files. %1 был переименован в %2. - + %1 has been moved to %2. %1 был перемещён в %2. - + %1 and %n other file(s) have been removed. %1 и ещё %n другой файл был удалён.%1 и ещё %n других файла было удалено.%1 и ещё %n других файлов были удалены.%1 и ещё %n других файлов были удалены. - + %1 and %n other file(s) have been downloaded. %1 и ещё %n другой файл были скачаны.%1 и ещё %n других файла были скачаны.%1 и ещё %n других файлов были скачаны.%1 и ещё %n других файлов были скачаны. - + %1 and %n other file(s) have been updated. %1 и ещё %n другой файл были обновлены.%1 и ещё %n других файла были обновлены.%1 и ещё %n других файлов были обновлены.%1 и ещё %n других файлов были обновлены. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 был переименован в %2, и ещё %n другой файл был переименован.%1 был переименован в %2, и ещё %n других файла были переименованы.%1 был переименован в %2, и ещё %n других файлов были переименованы.%1 был переименован в %2, и ещё %n других файлов были переименованы. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 был перемещён в %2, и ещё %n другой файл был перемещён.%1 был перемещён в %2, и ещё %n других файла были перемещены.%1 был перемещён в %2, и ещё %n других файла были перемещены.%1 был перемещён в %2, и ещё %n других файла были перемещены. - + %1 has and %n other file(s) have sync conflicts. У %1 и ещё у %n другого файла есть конфликты синхронизации.У %1 и ещё у %n других файлов есть конфликты синхронизации.У %1 и ещё у %n других файлов есть конфликты синхронизации.У %1 и ещё у %n других файлов есть конфликты синхронизации. - + %1 has a sync conflict. Please check the conflict file! У %1 есть конфликт синхронизации. Пожалуйста, проверьте конфликтный файл! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 и ещё %n другой файл не удалось синхронизировать из-за ошибок. Подробности смотрите в журнале.%1 и ещё %n других файла не удалось синхронизировать из-за ошибок. Подробности смотрите в журнале.%1 и ещё %n других файлов не удалось синхронизировать из-за ошибок. Подробности смотрите в журнале.%1 и ещё %n других файлов не удалось синхронизировать из-за ошибок. Подробности смотрите в журнале. - + %1 could not be synced due to an error. See the log for details. %1 не может быть синхронизирован из-за ошибки. Подробности смотрите в журнале. - + Sync Activity Журнал синхронизации - + Could not read system exclude file Невозможно прочесть системный файл исключений - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - Новый каталог размером более %1 МБ был добавлен: %2. -Пожалуйста, перейдите в настройки, если хотите скачать его. + + Был добавлен новый каталог размером более %1 МБ: %2. + - - 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? - Эта синхронизация удалит все файлы в папке '%1'. -Это может произойти из-за того, что были изменены настройки папки или файлы были удалены вручную. -Вы действительно хотите выполнить эту операцию? + + A folder from an external storage has been added. + + Добавлен каталог из внешнего хранилища. + - + + Please go in the settings to select it if you wish to download it. + Пожалуйста, перейдите в настройки, чтобы выбрать его, если вы хотите его скачать. + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + Все фйлы в синхронизируемом каталоге '%1' были удалены на сервере. +Эти удаления будут переданы в ваш локальный синхронизируемый каталог, так что файлы станут недоступны, если только у вас нет права на восстановление. +Если вы решите сохранить эти файлы, то они будут повторно синхронизированы с сервером, при наличии у вас прав на это. +Если вы решили удалить файлы, они станут вам недоступны, крмое случая, когда вы сам владелец. + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + Все файлы в локальном синхронизируемом каталоге '%1' были удалены. Эти удаления будут отправлены на ваш сервер, сделав таким образом файлы совсем недоступными, если только не восстанавливать их из резервной копии. +Вы уверены, что хотите засинхронизировать сервер со всеми этими изменениями? +Если это произошло случайно и вы решите сохранить файлы, они будут перезакачаны с сервера. + + + Remove All Files? Удалить все файлы? - + Remove all files Удалить все файлы - + Keep files Сохранить файлы - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? Эта синхронизация собирается сбросить файлы в катлоге '%1' в более ранее состояние. Такое может случиться, если на сервере восстановлена резервная копия. Если продолжать синхронизацию как обычно, то ваши файлы будут перетёрты более старыми версиями. Хотите сохранить ваши локальные свежие файлы в качестве конфликтных? - + Backup detected Обнаружена резервная копия - + Normal Synchronisation Обычная синхронизация - + Keep Local Files as Conflict Сохранить локальные файлы как конфликтующие @@ -765,112 +810,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state Невозможно сбросить состояние каталога - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Найден старый журнал синхронизации '%1', и он не может быть удалён. Убедитесь что он не открыт в другом приложении. - + (backup) (резервная копия) - + (backup %1) (резервная копия %1) - + Undefined State. Неопределенное состояние. - + Waiting to start syncing. Ожидание запуска синхронизации. - + Preparing for sync. Подготовка к синхронизации. - + Sync is running. Идет синхронизация. - + Last Sync was successful. Последняя синхронизация прошла успешно. - + Last Sync was successful, but with warnings on individual files. Последняя синхронизация прошла успешно, но были предупреждения для некоторых файлов. - + Setup Error. Ошибка установки. - + User Abort. Отмена пользователем. - + Sync is paused. Синхронизация приостановлена. - + %1 (Sync is paused) %! (синхронизация приостановлена) - + No valid folder selected! Не выбран валидный каталог! - + The selected path is not a folder! Выбранный путь не является каталогом! - + You have no permission to write to the selected folder! У вас недостаточно прав для записи в выбранный каталог! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! Локальный каталог %1 содержит символьную ссылку. Место, на которое указывает ссылка, уже содержит засинхронизированный каталог. Пожалуйста, выберите другой! - + There is already a sync from the server to this local folder. Please pick another local folder! Уже есть синхронизация с сервера в этот локальный каталог. Пожалуйста, выберите другой локальный каталог! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! Локальная директория %1 уже содержит папку, которая используется для синхронизации. Пожалуйста выберите другую! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! Локальная директория %1 уже содержит директорию, которая используется для синхронизации. Пожалуйста выберите другую! - + 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! Локальная директория %1 является символьной ссылкой. Эта ссылка указывает на путь, находящийся внутри директории, уже используемой для синхронизации. Пожалуйста укажите другую! @@ -896,133 +941,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder Необходимо подключиться, чтобы добавить каталог - + Click this button to add a folder to synchronize. Нажмите на эту кнопку для добавления каталога к синхронизации. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Ошибка загрузки списка папок с сервера. - + Signed out Вышли из аккаунта - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. Добавление папки отключена, потому что вы уже синхронизированы все файлы. Если вы хотите синхронизировать несколько папок, пожалуйста, удалите текущую корневую папку. - + Fetching folder list from server... Извлечение списка папок с сервера... - + Checking for changes in '%1' Проверка изменений в '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Синхронизация %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) скачивание %1/с - + u2193 %1/s u2193 %1/сjavascript:; - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) загрузка %1/с - + u2191 %1/s u2191 %1/с - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 из %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" Осталось %5, %1 из %2, файл %3 из %4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 из %2, файл %3 из %4 - + file %1 of %2 файл %1 из %2 - + Waiting... Ожидание... - + Waiting for %n other folder(s)... Ожидание %n директории...Ожидание %n директорий...Ожидание %n директорий...Ожидание %n директорий... - + Preparing to sync... Подготовка к синхронизации... @@ -1030,12 +1075,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection Добавить папку для синхронизации - + Add Sync Connection Добавить подключение для синхронизации @@ -1111,14 +1156,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an В данный момент включена синхронизация всех файлов. Синхронизация другого каталога в этом режиме <b>не</b> поддерживается. Удалите синхронизацию корневого каталога сервера для синхронизации нескольких локальных каталогов. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Выберите Что Синхронизировать: Вы можете отменить выбор папок, которые Вы не хотите синхронизировать. - - OCC::FormatWarningsWizardPage @@ -1135,22 +1172,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway E-Tag от сервера не получен, проверьте настройки прокси/шлюза. - + We received a different E-Tag for resuming. Retrying next time. Мы получили другой E-Tag для возобновления. Повторите попытку позже. - + Server returned wrong content-range Сервер вернул неверный диапазон содержимого - + Connection Timeout Время ожидания подключения истекло @@ -1178,10 +1215,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an Дополнительно - + + Ask for confirmation before synchronizing folders larger than + Спрашивать подтверждение перед синхронизацией каталогов размером больше чем + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" МБ + + + Ask for confirmation before synchronizing external storages + Спрашивать подтверждение перед синхронизацией внешних хранилищ + &Launch on System Startup @@ -1198,33 +1246,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an Использовать черно-белые иконки - + Edit &Ignored Files Редактировать &Ignored файлы - - Ask &confirmation before downloading folders larger than - Запрашивать &подтверждение перед загрузкой каталогов больше чем - - - + S&how crash reporter Показать отчёты об ошибках + - About О программе - + Updates Обновления - + &Restart && Update &Перезапуск и обновление @@ -1397,7 +1440,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::MoveJob - + Connection timed out Время ожидания соединения превышено @@ -1546,23 +1589,23 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::NotificationWidget - + Created at %1 Создано %1 - + Closing in a few seconds... Закроется через несколько секунд… - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' %1: запрос выполнен неудачно в %2 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' выбрано в %2 @@ -1646,28 +1689,28 @@ for additional privileges during the process. Соединение... - + %1 folder '%2' is synced to local folder '%3' %1 каталог '%2' синхронизирован с локальным каталогом '%3' - + Sync the folder '%1' Синхронизация папки '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Внимание:</strong> Локальная папка не пуста. Выберите действие!</small></p> - + Local Sync Folder Локальный каталог синхронизации - - + + (%1) (%1) @@ -1893,7 +1936,7 @@ It is not advisable to use it. Невозможно удалить каталог и создать его резервную копию, каталог или файл в ней открыт в другой программе. Закройте каталог или файл и нажмите "Повторить попытку", либо прервите мастер настройки. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Локальный каталог синхронизации %1 успешно создан!</b></font> @@ -1932,7 +1975,7 @@ It is not advisable to use it. OCC::PUTFileJob - + Connection Timeout Время ожидания подключения истекло @@ -1940,7 +1983,7 @@ It is not advisable to use it. OCC::PollJob - + Invalid JSON reply from the poll URL Не правильный JSON ответ на сформированный URL @@ -1948,7 +1991,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database Ошибка записи метаданных в базу данных @@ -1956,22 +1999,22 @@ It is not advisable to use it. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Файл %1 не может быть загружен из-за локального конфликта имен! - + The download would reduce free disk space below %1 Эта загрузка уменьшит свободное дисковое пространство ниже %1 - + Free space on disk is less than %1 Свободное место на диске меньше, чем %1 - + File was deleted from server Файл был удален с сервера @@ -2004,17 +2047,17 @@ It is not advisable to use it. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Восстановление не удалось: %1 - + Continue blacklisting: Продолжить занесение в чёрный список: - + A file or folder was removed from a read only share, but restoring failed: %1 Файл или папка была удалена из доступа только для чтения, восстановление завершилось с ошибкой: %1 @@ -2077,7 +2120,7 @@ It is not advisable to use it. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Файл удалён с удаленного общего ресурса только для чтения. Файл был восстановлен. @@ -2090,7 +2133,7 @@ It is not advisable to use it. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Сервер ответил не правильным HTTP кодом. Ожидался 201, но получен "%1 %2". @@ -2103,17 +2146,17 @@ It is not advisable to use it. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Этот каталог не должен переименовываться. Ему будет присвоено изначальное имя. - + This folder must not be renamed. Please name it back to Shared. Этот каталог не должен переименовываться. Присвойте ему изначальное имя: Shared. - + The file was renamed but is part of a read only share. The original file was restored. Файл переименован на удаленном общем ресурсе только для чтения. Файл был восстановлен. @@ -2132,22 +2175,22 @@ It is not advisable to use it. OCC::PropagateUploadFileCommon - + File Removed Файл Перемещён - + Local file changed during syncing. It will be resumed. Локальный файл изменился в процессе синхронизации. Операция будет возобновлена. - + Local file changed during sync. Локальный файл изменился в процессе синхронизации. - + Error writing metadata to the database Ошибка записи метаданных в базу данных @@ -2155,32 +2198,32 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Принудительная остановка задачи при сбросе HTTP подключения для Qt < 5.4.2. - + The local file was removed during sync. Локальный файл был удалён в процессе синхронизации. - + Local file changed during sync. Локальный файл изменился в процессе синхронизации. - + Unexpected return code from server (%1) Неожиданный код завершения от сервера (%1) - + Missing File ID from server Отсутствует код файла от сервера - + Missing ETag from server Отсутствует ETag с сервера @@ -2188,32 +2231,32 @@ It is not advisable to use it. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Принудительная остановка задачи при сбросе HTTP подключения для Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Измененный файл принадлежит удаленному общему ресурсу только для чтения. Файл был восстановлен, ваши правки доступны в файле конфликтов. - + Poll URL missing Не хватает сформированного URL - + The local file was removed during sync. Локальный файл был удалён в процессе синхронизации. - + Local file changed during sync. Локальный файл изменился в процессе синхронизации. - + The server did not acknowledge the last chunk. (No e-tag was present) Сервер не смог подтвердить последнюю часть данных.(Отсутствовали теги e-tag) @@ -2231,42 +2274,42 @@ It is not advisable to use it. TextLabel - + Time Время - + File Файл - + Folder Каталог - + Action Действие - + Size Размер - + Local sync protocol Локальный протокол синхронизации - + Copy Копировать - + Copy the activity list to the clipboard. Скопировать журнал синхронизации в буфер обмена. @@ -2307,51 +2350,41 @@ It is not advisable to use it. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Не отмеченные каталоги будут <b>удалены</b> из вашей локальной файловой системы и больше не будут синхронизироваться на этом компьютере - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Выберите Что Синхронизировать: Выберите папки на удалённом сервер, которые Вы хотели бы синхронизировать. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Выберите Что Синхронизировать: Снимите выбор папок на удалённом сервере, которые Вы не хотите синхронизировать. - - - + Choose What to Sync Уточнить объекты - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Загрузка ... - - Name - Имя + + Deselect remote folders you do not wish to synchronize. + Снимите выбор с удалённых папок, котрые вы не хотите синхронизировать. - + + Name + Название + + + Size Размер - - + + No subfolders currently on the server. Нет подкаталогов на сервере на данный момент. - + An error occurred while loading the list of sub folders. Произошла ошибка во время загрузки списка подпапок. @@ -2655,7 +2688,7 @@ It is not advisable to use it. OCC::SocketApi - + Share with %1 parameter is ownCloud Поделиться с %1 @@ -2864,275 +2897,285 @@ It is not advisable to use it. OCC::SyncEngine - + Success. Успешно. - + CSync failed to load the journal file. The journal file is corrupted. CSync не удалось загрузить файл журнала. Файл журнала повреждён. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Не удается загрузить плагин 1% для csync.<br/>Проверьте установку!</p> - + CSync got an error while processing internal trees. CSync получил сообщение об ошибке при обработке внутренних деревьев. - + CSync failed to reserve memory. CSync не удалось зарезервировать память. - + CSync fatal parameter error. Критическая ошибка параметра CSync. - + CSync processing step update failed. Процесс обновления CSync не удался. - + CSync processing step reconcile failed. Процесс согласования CSync не удался. - + CSync could not authenticate at the proxy. CSync не удалось авторизоваться на прокси сервере. - + CSync failed to lookup proxy or server. CSync не удалось найти прокси сервер. - + CSync failed to authenticate at the %1 server. CSync не удалось авторизоваться на сервере %1. - + CSync failed to connect to the network. CSync не удалось подключиться к сети. - + A network connection timeout happened. Вышло время ожидания подключения к сети. - + A HTTP transmission error happened. Произошла ошибка передачи HTTP. - + The mounted folder is temporarily not available on the server Смонтированная папка временно недоступна на сервере - + An error occurred while opening a folder Произошла ошибка во время открытия папки - + Error while reading folder. Произошла ошибка во время чтения папки. - + File/Folder is ignored because it's hidden. Файл/папка проигнорированы, так как являются скрытыми. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Только %1 доступно, нужно как минимум %2 чтобы начать - + Not allowed because you don't have permission to add parent folder Не разрешается, так как у вас нет полномочий на добавление родительской папки - + Not allowed because you don't have permission to add files in that folder Не разрешается, так как у вас нет полномочий на добавление файлов в эту папку - + CSync: No space on %1 server available. CSync: Нет свободного пространства на сервере %1. - + CSync unspecified error. Неизвестная ошибка CSync. - + Aborted by the user Прервано пользователем - - Filename contains invalid characters that can not be synced cross platform. - Файл содержит недопустимые символы, которые невозможно синхронизировать между платформами. - - - + CSync failed to access CSync отказано в доступе - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. CSync не удалось загрузить файл журнала. Убедитесь в наличии прав на чтение и запись в локальную папку. - + CSync failed due to unhandled permission denied. CSync не выполнен из-за отказа в доступе для необработанного разрешения. - + CSync tried to create a folder that already exists. CSync попытался создать папку, которая уже существует. - + The service is temporarily unavailable Сервис временно недоступен - + Access is forbidden Доступ запрещен - + An internal error number %1 occurred. Произошла внутренняя ошибка номер %1. - + The item is not synced because of previous errors: %1 Элемент не синхронизируется из-за произошедших ошибок: %1 - + Symbolic links are not supported in syncing. Синхронизация символических ссылок не поддерживается. - + File is listed on the ignore list. Файл присутствует в списке игнорируемых. - + + File names ending with a period are not supported on this file system. + Эта файловая система не поддерживает имена файлов, оканчивающиеся на точку. + + + + File names containing the character '%1' are not supported on this file system. + Эта файловая система не поддерживает имена файлов, содержащие символ '%1'. + + + + The file name is a reserved name on this file system. + Данное имя файла зарезервировано в данной файловой системе. + + + Filename contains trailing spaces. Имя файла содержит пробелы на конце. - + Filename is too long. Имя файла слишком длинное. - + Stat failed. Не удалось загрузить статистику. - + Filename encoding is not valid Кодировка имени файла не верна - + Invalid characters, please rename "%1" Недопустимые символы, пожалуйста, переименуйте "%1" - + Unable to initialize a sync journal. Невозможно инициализировать журнал синхронизации. - + Unable to read the blacklist from the local database Не удалось прочитать файл чёрного списка из локальной базы данных. - + Unable to read from the sync journal. Не удалось прочитать из журнала синхронизации. - + Cannot open the sync journal Не удаётся открыть журнал синхронизации - + File name contains at least one invalid character Имя файла содержит по крайней мере один некорректный символ - - + + Ignored because of the "choose what to sync" blacklist Игнорируется из-за черного списка в "что синхронизировать" - + Not allowed because you don't have permission to add subfolders to that folder Не разрешается, так как у вас нет полномочий на добавление подпапок в папку. - + Not allowed to upload this file because it is read-only on the server, restoring Не допускается загрузка этого файла, так как на сервере он помечен только для чтения, восстанавливаем - - + + Not allowed to remove, restoring Не допускается удаление, восстанавливаем - + Local files and share folder removed. Локальные файлы и общий каталог удалены. - + Move not allowed, item restored Перемещение не допускается, элемент восстановлен - + Move not allowed because %1 is read-only Перемещение не допускается, поскольку %1 помечен только для чтения - + the destination назначение - + the source источник @@ -3156,17 +3199,17 @@ It is not advisable to use it. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Версия %1. Для получения дополнительной информации посетите <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> <p>Все права принадлежат ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Распространяется %1 и лицензировано под GNU General Public License (GPL) Версии 2.0.<br/>Логотипы %2 и %2 являются зарегистрированной торговой маркой %1 в США и/или других странах.</p> @@ -3416,10 +3459,10 @@ It is not advisable to use it. - - - - + + + + TextLabel TextLabel @@ -3439,7 +3482,23 @@ It is not advisable to use it. Начать новую синхронизацию (Стирает локальную папку!) - + + Ask for confirmation before synchroni&zing folders larger than + Спрашивать подтверждение перед синхрони&зацией папок, по размеру больше чем + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + МБ + + + + Ask for confirmation before synchronizing e&xternal storages + Спрашивать подтверждение перед синхронизацией вне&шних хранилищ + + + Choose what to sync Уточнить объекты @@ -3459,12 +3518,12 @@ It is not advisable to use it. &Сохранить локальные данные - + S&ync everything from server Синхронизировать всё с сервером - + Status message Сообщение о состоянии @@ -3505,7 +3564,7 @@ It is not advisable to use it. - + TextLabel TextLabel @@ -3561,8 +3620,8 @@ It is not advisable to use it. - Server &Address - &Адрес сервера + Ser&ver Address + Адрес сер&вера @@ -3602,7 +3661,7 @@ It is not advisable to use it. QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3610,40 +3669,46 @@ It is not advisable to use it. QObject - + in the future в будущем - + %n day(s) ago %n день назад%n дня назад%n дней назад%n дней назад - + %n hour(s) ago %n час назад%n часа назад%n часов назад%n часов назад - + now сейчас - + Less than a minute ago Меньше минуты назад - + %n minute(s) ago %n минута назад%n минуты назад%n минут назад%n минут назад - + Some time ago Некоторое время назад + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3668,37 +3733,37 @@ It is not advisable to use it. %L1 Б - + %n year(s) %n год%n года%n лет%n лет - + %n month(s) %n месяц%n месяца%3 месяцев%n месяцев - + %n day(s) %n день%n дня%n дней%n дней - + %n hour(s) %n час%n часа%n часов%n часов - + %n minute(s) %n минута%n минуты%n минут%n минут - + %n second(s) %n секунда%n секунды%n секунд%n секунд - + %1 %2 %1 %2 @@ -3719,7 +3784,7 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Собрано исходников Git версии <a href="%1">%2</a> на %3, %4 используя Qt %5, %6</small></p> diff --git a/translations/client_sk.ts b/translations/client_sk.ts index ab0e570f3..3b79cd4a8 100644 --- a/translations/client_sk.ts +++ b/translations/client_sk.ts @@ -126,7 +126,7 @@ - + Cancel Zrušiť @@ -246,22 +246,32 @@ Prihlásiť sa - - There are new folders that were not synchronized because they are too big: - Niektoré nové priečinky neboli synchronizované, pretože sú priveľké: + + There are folders that were not synchronized because they are too big: + - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal Potvrďte ostránenie účtu - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Naozaj chcete odstrániť pripojenie k účtu <i>%1</i>?</p><p><b>Poznámka:</b> Tým sa <b>nevymažú</b> žiadne súbory.</p> - + Remove connection Vymazať pripojenie @@ -521,6 +531,24 @@ Súbory certifikátu (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Chyba pri zápise metadát do databázy @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Pripojenie expirovalo @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Zrušené používateľom @@ -604,160 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. Lokálny priečinok %1 neexistuje. - + %1 should be a folder but is not. %1 by mal byť priečinok, avšak nie je. - + %1 is not readable. %1 nie je čitateľný. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 bol zmazaný. - + %1 has been downloaded. %1 names a file. %1 bol stiahnutý. - + %1 has been updated. %1 names a file. %1 bol aktualizovaný. - + %1 has been renamed to %2. %1 and %2 name files. %1 bol premenovaný na %2. - + %1 has been moved to %2. %1 bol presunutý do %2. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. %1 nemôže byť synchronizovaný kvôli chybe. Pozrite sa do logu pre podrobnosti. - + Sync Activity Aktivita synchronizácie - + Could not read system exclude file Nemožno čítať systémový exclude file - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - Bol pridaný nový priečinok, väčší ako %1 MB: %2. -Pokiaľ si ho prajete stiahnuť, vyberte ho v nastaveniach. + + - - 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? - Táto synchronizácia odstráni všetky súbory v synchronizovanom priečinku '%1'. -Dôvodom môže byť, že sa daný priečinok potichu rekonfiguroval, alebo boli súbory manuálne odstránené. -Ste si istý, že chcete pokračovať? + + A folder from an external storage has been added. + + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Odstrániť všetky súbory? - + Remove all files Odstrániť všetky súbory - + Keep files Ponechať súbory - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Záloha je dostupná - + Normal Synchronisation Bežná synchronizácia - + Keep Local Files as Conflict Ponechať lokálne súbory ako konfliktné @@ -765,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state Nemožno resetovať stav priečinka - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Starý synchronizačný žurnál '%1' nájdený, avšak neodstrániteľný. Prosím uistite sa, že žiadna aplikácia ho práve nevyužíva. - + (backup) (záloha) - + (backup %1) (záloha %1) - + Undefined State. Nedefinovaný stav. - + Waiting to start syncing. Čaká sa na začiatok synchronizácie - + Preparing for sync. Príprava na synchronizáciu. - + Sync is running. Synchronizácia prebieha. - + Last Sync was successful. Posledná synchronizácia sa úspešne skončila. - + Last Sync was successful, but with warnings on individual files. Posledná synchronizácia bola úspešná, ale s varovaniami pre individuálne súbory. - + Setup Error. Chyba pri inštalácii. - + User Abort. Zrušené používateľom. - + Sync is paused. Synchronizácia je pozastavená. - + %1 (Sync is paused) %1 (Synchronizácia je pozastavená) - + No valid folder selected! Nebol zvolený platný priečinok. - + The selected path is not a folder! Zvolená cesta nie je priečinok. - + You have no permission to write to the selected folder! Nemáte oprávnenia pre zápis do daného priečinka! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! - + 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! @@ -896,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder Na pridanie priečinku je nutné byť pripojený - + Click this button to add a folder to synchronize. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. - + Signed out Odhlásený - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. - + Fetching folder list from server... Načítavam zoznam priečinkov zo servera... - + Checking for changes in '%1' Kontrolujú sa zmeny v „%1“ - + , '%1' Build a list of file names - + '%1' Argument is a file name - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Synchronizuje sa %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) stiahnuť %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) nahrať %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 of %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 z %2, súbor %3 z %4 - + file %1 of %2 súbor %1 z %2 - + Waiting... Čakajte... - + Waiting for %n other folder(s)... - + Preparing to sync... Príprava na synchronizáciu... @@ -1030,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection - + Add Sync Connection @@ -1111,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an Už synchronizujete všetky vaše súbory. Synchronizácia dalšieho priečinka <b>nie je</b> podporovaná. Ak chcete synchronizovať viac priečinkov, odstránte, prosím, synchronizáciu aktuálneho kořenového priečinka. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Výber synchronizácie: Môžete dodatočne odobrať vzdialené podpriečinky, ktoré si neželáte synchronizovať. - - OCC::FormatWarningsWizardPage @@ -1135,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Zo servera nebol prijatý E-Tag, skontrolujte proxy/bránu - + We received a different E-Tag for resuming. Retrying next time. Prijali sme iný E-Tag pre pokračovanie. Skúsim to neskôr znovu. - + Server returned wrong content-range Server vrátil nesprávnu hodnotu Content-range - + Connection Timeout Spojenie vypršalo @@ -1178,10 +1208,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an Rozšírené - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1198,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an - + Edit &Ignored Files - - Ask &confirmation before downloading folders larger than - - - - + S&how crash reporter + - About O - + Updates Aktualizácie - + &Restart && Update &Restart && aktualizácia @@ -1396,7 +1432,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::MoveJob - + Connection timed out Pripojenie expirovalo @@ -1545,23 +1581,23 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::NotificationWidget - + Created at %1 Vytvorený o %1 - + Closing in a few seconds... Ukončenie o pár sekúnd... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' %1 požiadavka zlyhala o %2 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' @@ -1645,28 +1681,28 @@ môžu byť vyžadované dodatočné oprávnenia. Pripojiť... - + %1 folder '%2' is synced to local folder '%3' %1 priečinok '%2' je zosynchronizovaný do lokálneho priečinka '%3' - + Sync the folder '%1' Sychronizovať priečinok '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> - + Local Sync Folder Lokálny synchronizačný priečinok - - + + (%1) (%1) @@ -1892,7 +1928,7 @@ Nie je vhodné ju používať. Nemožno odstrániť a zazálohovať priečinok, pretože priečinok alebo súbor je otvorený v inom programe. Prosím zatvorte priečinok nebo súbor a skúste to znovu alebo zrušte akciu. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokálny synchronizačný priečinok %1 bol úspešne vytvorený!</b></font> @@ -1931,7 +1967,7 @@ Nie je vhodné ju používať. OCC::PUTFileJob - + Connection Timeout Spojenie vypršalo @@ -1939,7 +1975,7 @@ Nie je vhodné ju používať. OCC::PollJob - + Invalid JSON reply from the poll URL Neplatná JSON odpoveď z URL adresy @@ -1947,7 +1983,7 @@ Nie je vhodné ju používať. OCC::PropagateDirectory - + Error writing metadata to the database Chyba pri zápise metadát do databázy @@ -1955,22 +1991,22 @@ Nie je vhodné ju používať. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Súbor %1 nie je možné stiahnuť, pretože súbor s rovnakým menom už existuje! - + The download would reduce free disk space below %1 - + Free space on disk is less than %1 - + File was deleted from server Súbor bol vymazaný zo servera @@ -2003,17 +2039,17 @@ Nie je vhodné ju používať. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Obnovenie zlyhalo: %1 - + Continue blacklisting: Pokračovať v blacklistingu: - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -2076,7 +2112,7 @@ Nie je vhodné ju používať. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Súbor bol odobratý zo zdieľania len na čítanie. Súbor bol obnovený. @@ -2089,7 +2125,7 @@ Nie je vhodné ju používať. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Server vrátil neplatný HTTP kód. Očakávaný bol 201, ale vrátený bol "%1 %2". @@ -2102,17 +2138,17 @@ Nie je vhodné ju používať. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Tento priečinok nemôže byť premenovaný. Prosím, vráťte mu pôvodné meno. - + This folder must not be renamed. Please name it back to Shared. Tento priečinok nemôže byť premenovaný. Prosím, vráťte mu meno Shared. - + The file was renamed but is part of a read only share. The original file was restored. Súbor bol premenovaný, ale je súčasťou zdieľania len na čítanie. Pôvodný súbor bol obnovený. @@ -2131,22 +2167,22 @@ Nie je vhodné ju používať. OCC::PropagateUploadFileCommon - + File Removed Súbor zmazaný - + Local file changed during syncing. It will be resumed. Lokálny súbor bol zmenený počas synchronizácie. Bude obnovený. - + Local file changed during sync. Lokálny súbor bol zmenený počas synchronizácie. - + Error writing metadata to the database Chyba pri zápise metadát do databázy @@ -2154,32 +2190,32 @@ Nie je vhodné ju používať. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Vynútené ukončenie procesu pri resete HTTP pripojení s Qt < 5.4.2. - + The local file was removed during sync. Lokálny súbor bol odstránený počas synchronizácie. - + Local file changed during sync. Lokálny súbor bol zmenený počas synchronizácie. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2187,32 +2223,32 @@ Nie je vhodné ju používať. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Vynútené ukončenie procesu pri resete HTTP pripojení s Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Súbor bol zmenený, ale je súčasťou zdieľania len na čítanie. Pôvodný súbor bol obnovený a upravená verzia je uložená v konfliktnom súbore. - + Poll URL missing Chýba URL adresa - + The local file was removed during sync. Lokálny súbor bol odstránený počas synchronizácie. - + Local file changed during sync. Lokálny súbor bol zmenený počas synchronizácie. - + The server did not acknowledge the last chunk. (No e-tag was present) @@ -2230,42 +2266,42 @@ Nie je vhodné ju používať. Štítok - + Time Čas - + File Súbor - + Folder Priečinok - + Action Akcia - + Size Veľkosť - + Local sync protocol Lokálny protokol synchronizácie - + Copy Kopírovať - + Copy the activity list to the clipboard. Skopírovať zoznam aktivít do schránky. @@ -2306,51 +2342,41 @@ Nie je vhodné ju používať. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Neoznačené priečinky budú <b>odstránené</b> z lokálneho systému a nebudú už synchronizované na tento počítač - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Výber synchronizácie: Označte vzdialené podpriečinky, ktoré si želáte synchronizovať. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Výber synchronizácie: Odoberte vzdialené podpriečinky, ktoré si neželáte synchronizovať. - - - + Choose What to Sync Vybrať čo synchronizovať - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Nahrávam... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Názov - + Size Veľkosť - - + + No subfolders currently on the server. Na serveri teraz nie sú žiadne podpriečinky. - + An error occurred while loading the list of sub folders. @@ -2654,7 +2680,7 @@ Nie je vhodné ju používať. OCC::SocketApi - + Share with %1 parameter is ownCloud Zdieľať s %1 @@ -2863,275 +2889,285 @@ Nie je vhodné ju používať. OCC::SyncEngine - + Success. Úspech. - + CSync failed to load the journal file. The journal file is corrupted. Nepodarilo sa načítanie žurnálovacieho súboru CSync. Súbor je poškodený. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>%1 zásuvný modul pre "CSync" nebolo možné načítať.<br/>Prosím skontrolujte inštaláciu!</p> - + CSync got an error while processing internal trees. Spracovanie "vnútorných stromov" vrámci "CSync" zlyhalo. - + CSync failed to reserve memory. CSync sa nepodarilo zarezervovať pamäť. - + CSync fatal parameter error. CSync kritická chyba parametrov. - + CSync processing step update failed. CSync sa nepodarilo spracovať krok aktualizácie. - + CSync processing step reconcile failed. CSync sa nepodarilo spracovať krok zladenia. - + CSync could not authenticate at the proxy. CSync sa nemohol prihlásiť k proxy. - + CSync failed to lookup proxy or server. CSync sa nepodarilo nájsť proxy alebo server. - + CSync failed to authenticate at the %1 server. CSync sa nepodarilo prihlásiť na server %1. - + CSync failed to connect to the network. CSync sa nepodarilo pripojiť k sieti. - + A network connection timeout happened. Skončil časový limit sieťového spojenia. - + A HTTP transmission error happened. Chyba HTTP prenosu. - + The mounted folder is temporarily not available on the server - + An error occurred while opening a folder Nastala chyba počas otvárania priečinka - + Error while reading folder. Chyba pri čítaní adresára - + File/Folder is ignored because it's hidden. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() - + Not allowed because you don't have permission to add parent folder - + Not allowed because you don't have permission to add files in that folder - + CSync: No space on %1 server available. CSync: Na serveri %1 nie je žiadne voľné miesto. - + CSync unspecified error. CSync nešpecifikovaná chyba. - + Aborted by the user Zrušené používateľom - - Filename contains invalid characters that can not be synced cross platform. - - - - + CSync failed to access Prístup pre CSync zlyhal - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. - + CSync failed due to unhandled permission denied. - + CSync tried to create a folder that already exists. - + The service is temporarily unavailable Služba je dočasne nedostupná - + Access is forbidden Prístup odmietnutý - + An internal error number %1 occurred. Vyskytla sa interná chyba číslo %1. - + The item is not synced because of previous errors: %1 Položka nebola synchronizovaná kvôli predchádzajúcej chybe: %1 - + Symbolic links are not supported in syncing. Symbolické odkazy nie sú podporované pri synchronizácii. - + File is listed on the ignore list. Súbor je zapísaný na zozname ignorovaných. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. Meno súboru je veľmi dlhé. - + Stat failed. - + Filename encoding is not valid Kódovanie znakov názvu súboru je neplatné - + Invalid characters, please rename "%1" Neplatné znaky, premenujte prosím "%1" - + Unable to initialize a sync journal. Nemôžem inicializovať synchronizačný žurnál. - + Unable to read the blacklist from the local database - + Unable to read from the sync journal. Nemožno čítať zo synchronizačného žurnálu - + Cannot open the sync journal Nemožno otvoriť sync žurnál - + File name contains at least one invalid character Názov súboru obsahuje nevhodný znak - - + + Ignored because of the "choose what to sync" blacklist Ignorované podľa nastavenia "vybrať čo synchronizovať" - + Not allowed because you don't have permission to add subfolders to that folder Nie je dovolené, lebo nemáte oprávnenie pridávať podpriečinky do tohto priečinka - + Not allowed to upload this file because it is read-only on the server, restoring Nie je dovolené tento súbor nahrať, pretože je na serveri iba na čítanie. Obnovuje sa. - - + + Not allowed to remove, restoring Nie je dovolené odstrániť. Obnovuje sa. - + Local files and share folder removed. Lokálne súbory a zdieľaný priečinok boli odstránené. - + Move not allowed, item restored Presunutie nie je dovolené. Položka obnovená. - + Move not allowed because %1 is read-only Presunutie nie je dovolené, pretože %1 je na serveri iba na čítanie - + the destination cieľ - + the source zdroj @@ -3155,17 +3191,17 @@ Nie je vhodné ju používať. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Verzia %1. Pre viac informácií choďte na <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Šíri %1 pod licenciou GNU General Public License (GPL) Verzia 2.0.<br/>%2 a %2 logo sú registrované známky %1 v USA, ostatných krajinách, alebo oboje.</p> @@ -3415,10 +3451,10 @@ Nie je vhodné ju používať. - - - - + + + + TextLabel Štítok @@ -3438,7 +3474,23 @@ Nie je vhodné ju používať. Spustiť novú synchronizáciu (Vymaže obsah lokálneho priečinka!) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Vybrať čo synchronizovať @@ -3458,12 +3510,12 @@ Nie je vhodné ju používať. &Nechať lokálne dáta - + S&ync everything from server S&ynchronizovať zo servera všetko - + Status message Správa o stave @@ -3504,7 +3556,7 @@ Nie je vhodné ju používať. - + TextLabel Štítok @@ -3560,8 +3612,8 @@ Nie je vhodné ju používať. - Server &Address - Serverová &adresa + Ser&ver Address + @@ -3601,7 +3653,7 @@ Nie je vhodné ju používať. QApplication - + QT_LAYOUT_DIRECTION @@ -3609,40 +3661,46 @@ Nie je vhodné ju používať. QObject - + in the future v budúcnosti - + %n day(s) ago pred %n dňompred %n dňamipred %n dňami - + %n hour(s) ago pred %n hodinoupred %n hodinamipred %n hodinami - + now teraz - + Less than a minute ago Menej ako pred minútou - + %n minute(s) ago pred %n minútoupred %n minútamipred %n minútami - + Some time ago Pred istým časom + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3667,37 +3725,37 @@ Nie je vhodné ju používať. %L1 B - + %n year(s) %n rok%n roky%n rokov - + %n month(s) %n mesiac%n mesiace%n mesiacov - + %n day(s) %n deň%n dni%n dní - + %n hour(s) %n hodina%n hodiny%n hodín - + %n minute(s) %n minúta%n minúty%n minút - + %n second(s) %n sekunda%n sekundy%n sekúnd - + %1 %2 %1 %2 @@ -3718,7 +3776,7 @@ Nie je vhodné ju používať. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Zostavené z Git revízie <a href="%1">%2</a> na %3, %4 s použitím Qt %5, %6</small></p> diff --git a/translations/client_sl.ts b/translations/client_sl.ts index 34c8a67d1..71d898db3 100644 --- a/translations/client_sl.ts +++ b/translations/client_sl.ts @@ -126,7 +126,7 @@ - + Cancel Prekliči @@ -246,22 +246,32 @@ Prijava - - There are new folders that were not synchronized because they are too big: - Zaznane so mape, ki zaradi velikosti niso bile usklajene: + + There are folders that were not synchronized because they are too big: + Zaznane so mape, ki zaradi omejitve velikosti niso bile usklajene: - + + There are folders that were not synchronized because they are external storages: + Zaznane so mape, ki zaradi pripadnosti zunanji shrambi niso bile usklajene: + + + + There are folders that were not synchronized because they are too big or external storages: + Zaznane so mape, ki zaradi omejitve velikosti ali pripadnosti zunanji shrambi niso bile usklajene: + + + Confirm Account Removal Potrdi odstranitev računa - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Ali res želite odstraniti povezavo z računom <i>%1</i>?</p><p><b>Opomba:</b> S tem <b>ne bo</b> izbrisana nobena datoteka.</p> - + Remove connection Odstrani povezavo @@ -521,6 +531,24 @@ Vrste potrdil (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + Napaka dostopa do nastavitvene datoteke + + + + There was an error while accessing the configuration file at %1. + Med dostopom do nastavitvene datoteke na %1 je prišlo do napake. + + + + Quit ownCloud + Končaj ownCloud + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Napaka zapisovanja metapodatkov v podatkovno zbirko @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Povezava je časovno potekla @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Opravilo je bilo prekinjeno s strani uporabnika @@ -604,143 +632,155 @@ OCC::Folder - + Local folder %1 does not exist. Krajevna mapa %1 ne obstaja. - + %1 should be a folder but is not. %1 bi morala biti mapa, pa ni. - + %1 is not readable. %1 ni mogoče brati. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. Datoteka %1 je odstranjena. - + %1 has been downloaded. %1 names a file. Datoteka %1 je prejeta. - + %1 has been updated. %1 names a file. Datoteka %1 je posodobljena. - + %1 has been renamed to %2. %1 and %2 name files. Datoteka %1 je preimenovana v %2. - + %1 has been moved to %2. Datoteka %1 je premaknjena v %2. - + %1 and %n other file(s) have been removed. Datoteka %1 in še %n druga datoteka je bila izbrisana.Datoteka %1 in še %n drugi datoteki sta bili izbrisani.Datoteka %1 in še %n druge datoteke so bile izbrisane.Datoteka %1 in še %n drugih datotek je bilo izbrisanih. - + %1 and %n other file(s) have been downloaded. Datoteka %1 in še %n druga datoteka je bila shranjena na disk.Datoteka %1 in še %n drugi datoteki sta bili shranjeni na disk.Datoteka %1 in še %n druge datoteke so bile shranjene na disk.Datoteka %1 in še %n drugih datotek je bilo shranjenih na disk. - + %1 and %n other file(s) have been updated. Datoteka %1 in še %n druga datoteka je bila posodobljena.Datoteka %1 in še %n drugi datoteki sta bili posodobljeni.Datoteka %1 in še %n druge datoteke so bile posodobljene.Datoteka %1 in še %n drugih datotek je bilo posodobljenih. - + %1 has been renamed to %2 and %n other file(s) have been renamed. Datoteka %1 je bila preimenovana v %2 in še %n druga datoteka je bila preimenovana.Datoteka %1 je bila preimenovana v %2 in še %n drugi datoteki sta bili preimenovani.Datoteka %1 je bila preimenovana v %2 in še %n druge datoteke so bile preimenovane.Datoteka %1 je bila preimenovana v %2 in še %n drugih datotek je bilo preimenovanih. - + %1 has been moved to %2 and %n other file(s) have been moved. Datoteka %1 je bila premaknjena v %2 in še %n druga datoteka je bila premaknjena.Datoteka %1 je bila premaknjena v %2 in še %n drugi datoteki sta bili premaknjeni.Datoteka %1 je bila premaknjena v %2 in še %n druge datoteke so bile premaknjene.Datoteka %1 je bila premaknjena v %2 in še %n drugih datotek je bilo premaknjenih. - + %1 has and %n other file(s) have sync conflicts. Pri datoteki %1 in še %n drugi datoteki je zaznan spor usklajevanja.Pri datoteki %1 in še %n drugih datotekah je zaznan spor usklajevanja.Pri datoteki %1 in še %n drugih datotekah je zaznan spor usklajevanja.Pri datoteki %1 in še %n drugih datotekah je zaznan spor usklajevanja. - + %1 has a sync conflict. Please check the conflict file! Pri datoteki %1 je zaznan spor usklajevanja. Preverite datoteko! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. Datoteke %1 in še %n druge datoteke ni mogoče uskladiti zaradi napak. Podrobnosti so zapisane v dnevniški datoteki.Datoteke %1 in še %n drugih datotek ni mogoče uskladiti zaradi napak. Podrobnosti so zapisane v dnevniški datoteki.Datoteke %1 in še %n drugih datotek ni mogoče uskladiti zaradi napak. Podrobnosti so zapisane v dnevniški datoteki.Datoteke %1 in še %n drugih datotek ni mogoče uskladiti zaradi napak. Podrobnosti so zapisane v dnevniški datoteki. - + %1 could not be synced due to an error. See the log for details. Datoteke %1 zaradi napake ni mogoče uskladiti. Več podrobnosti je zabeleženih v dnevniški datoteki. - + Sync Activity Dejavnost usklajevanja - + Could not read system exclude file Ni mogoče prebrati sistemske izločitvene datoteke - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. + Dodana je nova mapa, ki presega %1 MB: %2. -Med nastavitvami jo lahko izberete in označite za prejem. + - - 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? - Z usklajevanjem bodo odstranjene vse datoteke v usklajevani mapi '%1'. -Mapa je bila morda odstranjena, ali pa so bile spremenjene nastavitve. -Ali ste prepričani, da želite izvesti to opravilo? + + A folder from an external storage has been added. + + Dodana je mapa iz zunanje shrambe. + - + + Please go in the settings to select it if you wish to download it. + Med nastavitvami jo lahko izberete in označite za prejem. + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Ali naj bodo odstranjene vse datoteke? - + Remove all files Odstrani vse datoteke - + Keep files Ohrani datoteke - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -749,17 +789,17 @@ To se lahko zgodi, če je na strežniku na primer obnovljena varnostna kopija. Z nadaljevanjem usklajevanja bodo vse trenutne datoteke prepisane s starejšimi različicami. Ali želite ohraniti trenutne krajevne datoteke kot preimenovane datoteke v usklajevalnem sporu? - + Backup detected Varnostna kopija je zaznana - + Normal Synchronisation Običajno usklajevanje - + Keep Local Files as Conflict Ohrani krajevne datoteke kot datoteke v sporu @@ -767,112 +807,112 @@ Z nadaljevanjem usklajevanja bodo vse trenutne datoteke prepisane s starejšimi OCC::FolderMan - + Could not reset folder state Ni mogoče ponastaviti stanja mape - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Obstaja starejši dnevnik usklajevanja '%1', vendar ga ni mogoče odstraniti. Preverite, ali je datoteka v uporabi. - + (backup) (varnostna kopija) - + (backup %1) (varnostna kopija %1) - + Undefined State. Nedoločeno stanje. - + Waiting to start syncing. Čakanje začetek usklajevanja - + Preparing for sync. Poteka priprava za usklajevanje. - + Sync is running. Usklajevanje je v teku. - + Last Sync was successful. Zadnje usklajevanje je bilo uspešno končano. - + Last Sync was successful, but with warnings on individual files. Zadnje usklajevanje je bilo sicer uspešno, vendar z opozorili za posamezne datoteke. - + Setup Error. Napaka nastavitve. - + User Abort. Uporabniška prekinitev. - + Sync is paused. Usklajevanje je začasno v premoru. - + %1 (Sync is paused) %1 (usklajevanje je v premoru) - + No valid folder selected! Ni izbrane veljavne mape! - + The selected path is not a folder! Izbrana pot ni mapa! - + You have no permission to write to the selected folder! Ni ustreznih dovoljenj za pisanje v izbrano mapo! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! Krajevna mapa %1 vsebuje simbolno povezavo. Ciljno mesto povezave že vključuje mapo, ki se usklajuje. Izbrati je treba drugo. - + There is already a sync from the server to this local folder. Please pick another local folder! Za to krajevno pot je že ustvarjeno mesto za usklajevanje. Izbrati je treba drugo. - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! Krajevna mapa %1 že vključuje mapo, ki je določena za usklajevanje. Izbrati je treba drugo. - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! Krajevna mapa %1 je že v določena za usklajevanje. Izbrati je treba drugo. - + 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! Krajevna mapa %1 je simbolna povezava. Cilj povezave že vsebuje mapo, ki je uporabljena pri povezavi usklajevanja mape. Izberite drugo. @@ -898,133 +938,133 @@ Z nadaljevanjem usklajevanja bodo vse trenutne datoteke prepisane s starejšimi OCC::FolderStatusModel - + You need to be connected to add a folder Za dodajanje mape mora biti vzpostavljea povezava - + Click this button to add a folder to synchronize. Kliknite za dodajanje mape za usklajevanje. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Prišlo je do napake med nalaganjem datotek s strežnika. - + Signed out Odjavljeno - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. Dodajanje mape je onemogočeno, ker se usklajojejo vse vaše datoteke. Če želite usklajevati več map, odstranite trenutno nastavljeno korensko mapo. - + Fetching folder list from server... Poteka pridobivanje seznama map s strežnika ... - + Checking for changes in '%1' Preverjanje za spremembe v '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Usklajevanje %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) prejemanje %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) pošiljanje %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 od %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" Preostalo še %5, %1 od %2, datoteka %3 od %4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 od %2, datoteka %3 od %4 - + file %1 of %2 datoteka %1 od %2 - + Waiting... Čakanje na povezavo ... - + Waiting for %n other folder(s)... V pripravi je %n druga map ...V pripravi sta %n drugi mapi ...V pripravi so %n druge mape ...V pripravi je %n drugih map ... - + Preparing to sync... Priprava na usklajevanje ... @@ -1032,12 +1072,12 @@ Z nadaljevanjem usklajevanja bodo vse trenutne datoteke prepisane s starejšimi OCC::FolderWizard - + Add Folder Sync Connection Dodaj povezavo za usklajevanje mape - + Add Sync Connection Dodaj povezavo za usklajevanje @@ -1113,14 +1153,6 @@ Z nadaljevanjem usklajevanja bodo vse trenutne datoteke prepisane s starejšimi Trenutno so v usklajevanju vse datoteke korenske mape. Usklajevanje še ene mape <b>ni</b> podprto. Če želite uskladiti več map, je treba odstraniti trenutno nastavljeno korensko mapo in spremeniti nastavitve. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Izbira usklajevanja: izbirno je mogoče določiti oddaljene podrejene mape, ki naj se ne usklajujejo. - - OCC::FormatWarningsWizardPage @@ -1137,22 +1169,22 @@ Z nadaljevanjem usklajevanja bodo vse trenutne datoteke prepisane s starejšimi OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ni prejete oznake s strežnika. Preveriti je treba podatke posredovalnega strežnika ali prehoda. - + We received a different E-Tag for resuming. Retrying next time. Prejeta je različna oznaka za nadaljevanje opravila. Ponovni poskus bo izveden kasneje. - + Server returned wrong content-range Odziv strežnika kaže na neveljaven obseg vsebine - + Connection Timeout Povezava je časovno potekla @@ -1180,10 +1212,21 @@ Z nadaljevanjem usklajevanja bodo vse trenutne datoteke prepisane s starejšimi Napredne možnosti - + + Ask for confirmation before synchronizing folders larger than + Vprašaj za potrditev pred usklajevanjem map, večjih kot + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + Vprašaj za potrditev pred usklajevanjem zunanjih shramb + &Launch on System Startup @@ -1200,33 +1243,28 @@ Z nadaljevanjem usklajevanja bodo vse trenutne datoteke prepisane s starejšimi Uporabi &črno-bele ikone - + Edit &Ignored Files Uredi &prezrte datoteke - - Ask &confirmation before downloading folders larger than - Vprašaj za &potrditev pred prejemanjem map, večjih od - - - + S&how crash reporter Pokaži &poročilo sesutja + - About O programu... - + Updates Posodobitve - + &Restart && Update &Ponovno zaženi && posodobi @@ -1400,7 +1438,7 @@ Predmeti na mestu, kjer je brisanje dovoljeno, bodo izbisani, v kolikor zaradi n OCC::MoveJob - + Connection timed out Povezava je potekla @@ -1549,23 +1587,23 @@ Predmeti na mestu, kjer je brisanje dovoljeno, bodo izbisani, v kolikor zaradi n OCC::NotificationWidget - + Created at %1 Ustvarjeno ob %1$s - + Closing in a few seconds... V nekaj sekundah bo izvedeno zapiranje ... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' %1 zahteva spodletela na %2 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' izbrano na %2 @@ -1649,28 +1687,28 @@ zahteva skrbniška dovoljenja za dokončanje opravila. Vzpostavi povezavo ... - + %1 folder '%2' is synced to local folder '%3' %1 mapa '%2' je usklajena s krajevno mapo '%3' - + Sync the folder '%1' Uskladi mapo '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Opozorilo:</strong> krajevna mapa ni prazna. Izberite možnost za razrešitev problema!</small></p> - + Local Sync Folder Krajevna mapa usklajevanja - - + + (%1) (%1) @@ -1896,7 +1934,7 @@ Uporaba ni priporočljiva. Mape ni mogoče odstraniti niti ni mogoče ustvariti varnostne kopije, saj je mapa oziroma dokument v njej odprt z drugim programom. Zaprite mapo/dokument ali prekinite namestitev. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Krajevno usklajena mapa %1 je uspešno ustvarjena!</b></font> @@ -1935,7 +1973,7 @@ Uporaba ni priporočljiva. OCC::PUTFileJob - + Connection Timeout Povezava časovno pretekla @@ -1943,7 +1981,7 @@ Uporaba ni priporočljiva. OCC::PollJob - + Invalid JSON reply from the poll URL Neveljaven odziv JSON preverjanja naslova URL @@ -1951,7 +1989,7 @@ Uporaba ni priporočljiva. OCC::PropagateDirectory - + Error writing metadata to the database Napaka zapisovanja metapodatkov v podatkovno zbirko @@ -1959,22 +1997,22 @@ Uporaba ni priporočljiva. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Datoteke %1 ni mogoče prejeti zaradi neskladja z imenom krajevne datoteke! - + The download would reduce free disk space below %1 Prejem bi zmanjšal prostor na disku pod %1 - + Free space on disk is less than %1 Na disku je prostora manj kot %1 - + File was deleted from server Datoteka je izbrisana s strežnika @@ -2007,17 +2045,17 @@ Uporaba ni priporočljiva. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; obnovitev je spodletela: %1 - + Continue blacklisting: Nadaljuj z blokiranjem prek črnega seznama: - + A file or folder was removed from a read only share, but restoring failed: %1 Datoteka ali mapa je bila odstranjena iz mesta v souporabi, ki je nastavljeno le za branje, obnavljanje pa je spodletelo: %1 @@ -2080,7 +2118,7 @@ Uporaba ni priporočljiva. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Datoteka je bila odstranjena iz mesta v souporabi, vendar je uspešno obnovljena. @@ -2093,7 +2131,7 @@ Uporaba ni priporočljiva. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". S strežnika je vrnjen neveljaven odziv HTTP. Pričakovan je 201, prejet pa je bil "%1 %2". @@ -2106,17 +2144,17 @@ Uporaba ni priporočljiva. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Te mape ni dovoljeno preimenovati, zato bo samodejno preimenovana v izvorno ime. - + This folder must not be renamed. Please name it back to Shared. Te mape ni dovoljeno preimenovati. Preimenujte jo nazaj na privzeto vrednost. - + The file was renamed but is part of a read only share. The original file was restored. Datoteka je preimenovana, vendar je označena za souporabo le za branje. Obnovljena je izvirna datoteka. @@ -2135,22 +2173,22 @@ Uporaba ni priporočljiva. OCC::PropagateUploadFileCommon - + File Removed Datoteka je odstranjena - + Local file changed during syncing. It will be resumed. Krajevna datoteka je bila med usklajevanjem spremenjena. Usklajena bo, ko bo shranjena. - + Local file changed during sync. Krajevna datoteka je bila med usklajevanjem spremenjena. - + Error writing metadata to the database Napaka zapisovanja metapodatkov v podatkovno zbirko @@ -2158,32 +2196,32 @@ Uporaba ni priporočljiva. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Vsiljevanje prekinitve posla na prekinitvi povezave HTTP s Qt < 5.4.2. - + The local file was removed during sync. Krajevna datoteka je bila med usklajevanjem odstranjena. - + Local file changed during sync. Krajevna datoteka je bila med usklajevanjem spremenjena. - + Unexpected return code from server (%1) Napaka: nepričakovan odziv s strežnika (%1). - + Missing File ID from server Na strežniku manjka ID datoteke - + Missing ETag from server Na strežniku manjka ETag datoteke @@ -2191,32 +2229,32 @@ Uporaba ni priporočljiva. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Vsiljevanje prekinitve posla na prekinitvi povezave HTTP s Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Datoteka je bila krajevno spremenjena, čeprav je označena le za branje. Izvorna datoteka je obnovljena, narejene spremembe pa so zabeležene v datoteki spora. - + Poll URL missing Preveri manjkajoči naslov URL - + The local file was removed during sync. Krajevna datoteka je bila med usklajevanjem odstranjena. - + Local file changed during sync. Krajevna datoteka je bila med usklajevanjem spremenjena. - + The server did not acknowledge the last chunk. (No e-tag was present) Strežnik ne sprejme zadnjega paketa (ni navedene e-oznake) @@ -2234,42 +2272,42 @@ Uporaba ni priporočljiva. Besedilna oznaka - + Time Čas - + File Datoteka - + Folder Mapa - + Action Dejanje - + Size Velikost - + Local sync protocol Krajevni protokol usklajevanja - + Copy Kopiraj - + Copy the activity list to the clipboard. Kopiraj seznam opravil v odložišče. @@ -2310,51 +2348,41 @@ Uporaba ni priporočljiva. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Neizbrane mape bodo <b>odstranjene</b> iz krajevnega datotečnega sistema in s tem računalnikom ne bodo več usklajevane! - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Izbira usklajevanja: izbor oddaljenih podrejenih map, ki naj bodo usklajevane. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Izberite, kaj želite uskladiti: Odstranite izbor oddaljenih map, ki jih ne želite imeti na tem računalniku. - - - + Choose What to Sync Izbor map za usklajevanje - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... - Nalaganje ... + Poteka nalaganje ... - + + Deselect remote folders you do not wish to synchronize. + Odstranite izbor oddaljenih map, ki jih ne želite usklajevati. + + + Name Ime - + Size Velikost - - + + No subfolders currently on the server. Na strežniku trenutno ni podrejenih map. - + An error occurred while loading the list of sub folders. Prišlo je do napake med nalaganjem seznama podrejenih map. @@ -2658,7 +2686,7 @@ Uporaba ni priporočljiva. OCC::SocketApi - + Share with %1 parameter is ownCloud Omogoči souporabo z %1 @@ -2867,275 +2895,285 @@ Uporaba ni priporočljiva. OCC::SyncEngine - + Success. Uspešno končano. - + CSync failed to load the journal file. The journal file is corrupted. Nalaganje dnevniške datoteke s CSync je spodletelo. Dnevniška datoteka je okvarjena. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Vstavka %1 za CSync ni mogoče naložiti.<br/>Preverite namestitev!</p> - + CSync got an error while processing internal trees. Pri obdelavi notranje drevesne strukture s CSync je prišlo do napake. - + CSync failed to reserve memory. Vpisovanje prostora v pomnilniku za CSync je spodletelo. - + CSync fatal parameter error. Usodna napaka parametra CSync. - + CSync processing step update failed. Korak opravila posodobitve CSync je spodletel. - + CSync processing step reconcile failed. Korak opravila poravnave CSync je spodletel. - + CSync could not authenticate at the proxy. Overitev CSync na posredniškem strežniku je spodletela. - + CSync failed to lookup proxy or server. Poizvedba posredniškega strežnika s CSync je spodletela. - + CSync failed to authenticate at the %1 server. Overitev CSync pri strežniku %1 je spodletela. - + CSync failed to connect to the network. Povezava CSync v omrežje je spodletela. - + A network connection timeout happened. Omrežna povezava je časovno potekla. - + A HTTP transmission error happened. Prišlo je do napake med prenosom HTTP. - + The mounted folder is temporarily not available on the server Priklopljena mapa trenutno ni na voljo na strežniku - + An error occurred while opening a folder Med odpiranjem mape je prišlo do napake. - + Error while reading folder. Napaka med branjem mape - + File/Folder is ignored because it's hidden. Datoteka/Mapa je prezrta, ker je skrita. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Le %1 je na voljo, zahtevanih pa je vaj %2 za zagon - + Not allowed because you don't have permission to add parent folder Dejanje ni dovoljeno, ker ni ustreznih dovoljenj za dodajanje starševske mape - + Not allowed because you don't have permission to add files in that folder Dejanje ni dovoljeno, ker ni ustreznih dovoljenj za dodajanje datotek v to mapo - + CSync: No space on %1 server available. Odziv CSync: na strežniku %1 ni razpoložljivega prostora. - + CSync unspecified error. Nedoločena napaka CSync. - + Aborted by the user Opravilo je bilo prekinjeno s strani uporabnika - - Filename contains invalid characters that can not be synced cross platform. - Ime datoteke vsebuje neveljavne znake, ki jih ni mogoče uskladiti na vseh okoljih. - - - + CSync failed to access Dostop s CSync je spodletel - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. Nalaganje ali ustvarjanje dnevniške datoteke s CSync je spodletelo. Za to opravilo so zahtevana dovoljenja branja in zapisovanja krajevne mape za usklajevanje. - + CSync failed due to unhandled permission denied. Delovanje CSync je zaradi nerazrešenih dovoljenj spodletelo. - + CSync tried to create a folder that already exists. Ustvarjanje mape s CSync je spodletelo. Mapa že obstaja. - + The service is temporarily unavailable Storitev trenutno ni na voljo - + Access is forbidden Dostop je prepovedan. - + An internal error number %1 occurred. Prišlo je do notranje napake %1. - + The item is not synced because of previous errors: %1 Predmet ni usklajen zaradi predhodne napake: %1 - + Symbolic links are not supported in syncing. Usklajevanje simbolnih povezav ni podprto. - + File is listed on the ignore list. Datoteka je na seznamu prezrtih datotek. - + + File names ending with a period are not supported on this file system. + Imena datotek, ki vsebujejo piko, na tem sistemu niso podprta. + + + + File names containing the character '%1' are not supported on this file system. + Imena datotek, ki vsebujejo znak »%1«, na tem sistemu niso podprta. + + + + The file name is a reserved name on this file system. + Ime datoteke je na tem sistemu zadržano za sistemsko datoteko. + + + Filename contains trailing spaces. Datoteka vsebuje pripete presledne znake - + Filename is too long. Ime datoteke je predolgo. - + Stat failed. Določanje statističnih podatkov je spodletelo. - + Filename encoding is not valid Kodni zapis imena datoteke ni veljaven. - + Invalid characters, please rename "%1" Uporabljen je neveljaven znak; preimenujte "%1" - + Unable to initialize a sync journal. Dnevnika usklajevanja ni mogoče začeti. - + Unable to read the blacklist from the local database Ni mogoče prebrati črnega seznama iz krajevne mape - + Unable to read from the sync journal. Ni mogoče brati iz dnevnika usklajevanja - + Cannot open the sync journal Ni mogoče odpreti dnevnika usklajevanja - + File name contains at least one invalid character Ime datoteke vsebuje vsaj en neveljaven znak. - - + + Ignored because of the "choose what to sync" blacklist Prezrto, ker je predmet označen na črni listi za usklajevanje - + Not allowed because you don't have permission to add subfolders to that folder Dejanje ni dovoljeno! Ni ustreznih dovoljenj za dodajanje podmap v to mapo. - + Not allowed to upload this file because it is read-only on the server, restoring Ni dovoljeno pošiljati te datoteke, ker ima določena dovoljenja le za branje. Datoteka bo obnovljena na izvorno različico. - - + + Not allowed to remove, restoring Odstranitev ni dovoljena, datoteka bo obnovljena. - + Local files and share folder removed. Krajevne datoteke in mape v souporabi so odstranjene. - + Move not allowed, item restored Premikanje ni dovoljeno, datoteka bo obnovljena. - + Move not allowed because %1 is read-only Premikanje ni dovoljeno, ker je nastavljeno določilo %1 le za branje. - + the destination cilj - + the source vir @@ -3159,17 +3197,17 @@ Uporaba ni priporočljiva. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Različica %1. Za več podrobnosti si oglejte <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> <p>Avtorske pravice ownCloud, GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Programski paket objavlja %1 pod pogoji Splošnega javnega dovoljenja GNU (GNU General Public License - GPL), različice 2.0.<br>%2 in logotip %2 sta blagovni znamki %1 v Združenih državah, drugih državah ali oboje.</p> @@ -3419,10 +3457,10 @@ Uporaba ni priporočljiva. - - - - + + + + TextLabel Besedilna oznaka @@ -3442,7 +3480,23 @@ Uporaba ni priporočljiva. Začni s &svežim usklajevanjem (izbriše krajevno mapo!) - + + Ask for confirmation before synchroni&zing folders larger than + Vprašaj za potrditev pred usklajevan&jem map, večjih kot + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + Vprašaj za potrditev pred usklajevanjem zunanji&h shramb + + + Choose what to sync Izbor datotek za usklajevanje @@ -3462,12 +3516,12 @@ Uporaba ni priporočljiva. &Ohrani krajevno shranjene podatke - + S&ync everything from server Uskladi &vse datoteke s strežnika - + Status message Sporočilo stanja @@ -3508,7 +3562,7 @@ Uporaba ni priporočljiva. - + TextLabel Besedilna oznaka @@ -3564,8 +3618,8 @@ Uporaba ni priporočljiva. - Server &Address - &Naslov strežnika + Ser&ver Address + Naslo&v strežnika @@ -3605,7 +3659,7 @@ Uporaba ni priporočljiva. QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3613,40 +3667,46 @@ Uporaba ni priporočljiva. QObject - + in the future v prihodnje - + %n day(s) ago pred %n dnevompred %n dnevomapred %n dnevipred %n dnevi - + %n hour(s) ago pred %n uropred %n uramapred %n uramipred %n urami - + now zdaj - + Less than a minute ago Pred manj kot minuto - + %n minute(s) ago pred %n minutopred %n minutamapred %n minutamipred %n minutami - + Some time ago Pred nekaj časa + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3671,37 +3731,37 @@ Uporaba ni priporočljiva. %L1 B - + %n year(s) %n leto%n leti%n leta%n let - + %n month(s) %n mesec%n meseca%n meseci%n mesecev - + %n day(s) %n dan%n dneva%n dnevi%n dni - + %n hour(s) %n ura%n uri%n ure%n ur - + %n minute(s) %n minuta%n minuti%n minute%n minut - + %n second(s) %n sekunda%n sekundi%n sekunde%n sekund - + %1 %2 %1 %2 @@ -3722,7 +3782,7 @@ Uporaba ni priporočljiva. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Izgrajeno na osnovi predelave Git <a href="%1">%2</a> na %3, %4 z uporabo Qt %5, %6</small></p> diff --git a/translations/client_sr.ts b/translations/client_sr.ts index 8ece42058..4edf95342 100644 --- a/translations/client_sr.ts +++ b/translations/client_sr.ts @@ -126,7 +126,7 @@ - + Cancel Одустани @@ -246,22 +246,32 @@ Пријава - - There are new folders that were not synchronized because they are too big: - Нове фасцикле нису синхронизоване јер су превелике: + + There are folders that were not synchronized because they are too big: + - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal Потврда уклањања налога - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection Уклони везу @@ -521,6 +531,24 @@ Фајлови сертификата (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Време повезивања истекло @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Прекинуо корисник @@ -604,157 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. Локална фасцикла %1 не постоји. - + %1 should be a folder but is not. %1 би требало да је фасцикла али није. - + %1 is not readable. %1 није читљив. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 је уклоњен. - + %1 has been downloaded. %1 names a file. %1 је преузет. - + %1 has been updated. %1 names a file. %1 је ажуриран. - + %1 has been renamed to %2. %1 and %2 name files. %1 је преименован у %2. - + %1 has been moved to %2. %1 је премештен у %2. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. %1 није синхронизован због грешке. Погледајте записник за детаље. - + Sync Activity Активност синхронизације - + Could not read system exclude file Не могу да прочитам системски списак за игнорисање - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. + - - 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? + + A folder from an external storage has been added. + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Уклонити све фајлове? - + Remove all files Уклони све фајлове - + Keep files Остави фајлове - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected - + Normal Synchronisation - + Keep Local Files as Conflict @@ -762,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state Не могу да ресетујем стање фасцикле - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Пронађен је стари журнал синхронизације „%1“ али се не може уклонити. Проверите да га нека апликација тренутно не користи. - + (backup) (резерва) - + (backup %1) (резерва %1) - + Undefined State. Неодређено стање. - + Waiting to start syncing. - + Preparing for sync. Припремам синхронизацију. - + Sync is running. Синхронизација у току. - + Last Sync was successful. Последња синхронизација је била успешна. - + Last Sync was successful, but with warnings on individual files. Последња синхронизација је била успешна али са упозорењима за поједине фајлове. - + Setup Error. Грешка подешавања. - + User Abort. Корисник прекинуо. - + Sync is paused. Синхронизација је паузирана. - + %1 (Sync is paused) %1 (синхронизација паузирана) - + No valid folder selected! - + The selected path is not a folder! - + You have no permission to write to the selected folder! Немате дозволе за упис у изабрану фасциклу! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! - + 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! @@ -893,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder - + Click this button to add a folder to synchronize. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. - + Signed out Одјављен - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. - + Fetching folder list from server... Добављам списак фасцикли са сервера... - + Checking for changes in '%1' Проверавам измене у „%1“ - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name „%1“ - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Синхронизујем %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) преузми %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) отпреми %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 од %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" - + file %1 of %2 фајл %1 од %2 - + Waiting... Чекам... - + Waiting for %n other folder(s)... - + Preparing to sync... Припремам синхронизацију... @@ -1027,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection Додај везу синхронизације фасцикле - + Add Sync Connection Додај везу синхронизације @@ -1108,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an Већ синхронизујете све ваше фајлове. Синхронизација других фасцикли <b>није</b> подржана. Ако желите синхронизацију више фасцикли, уклоните тренутно подешену корену фасциклу. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Изаберите шта синхронизујете. Можете искључити удаљене фасцикле које не желите да синхронизујете. - - OCC::FormatWarningsWizardPage @@ -1132,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Нема е-ознаке са сервера. Проверите прокси или мрежни излаз - + We received a different E-Tag for resuming. Retrying next time. Добијена је различита е-ознака за наставак преноса. Покушаћу поново следећи пут. - + Server returned wrong content-range Сервер је вратио погрешан опсег садржаја - + Connection Timeout Време за повезивање је истекло @@ -1175,10 +1208,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an Напредно - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1195,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an Користи &једнобојне иконе - + Edit &Ignored Files Уреди &занемарене фајлове - - Ask &confirmation before downloading folders larger than - - - - + S&how crash reporter + - About О програму - + Updates Ажурирања - + &Restart && Update &Поново покрени и ажурирај @@ -1393,7 +1432,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::MoveJob - + Connection timed out Време повезивања истекло @@ -1542,23 +1581,23 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::NotificationWidget - + Created at %1 - + Closing in a few seconds... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' @@ -1642,28 +1681,28 @@ for additional privileges during the process. Повежи се... - + %1 folder '%2' is synced to local folder '%3' %1 фасцикла „%2“ је сингронизована са локалном „%3“ - + Sync the folder '%1' Синхронизуј фасциклу „%1“ - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> - + Local Sync Folder Синхронизација локалне фасцикле - - + + (%1) (%1) @@ -1889,7 +1928,7 @@ It is not advisable to use it. Не могу да уклоним и направим резервну копију фасцикле јер су фасцикла или фајл отворени у другом програму. Затворите фасциклу или фајл и покушајте поново или одустаните од подешавања. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Локална фасцикла за синхронизовање %1 је успешно направљена!</b></font> @@ -1928,7 +1967,7 @@ It is not advisable to use it. OCC::PUTFileJob - + Connection Timeout Веза је истекла @@ -1936,7 +1975,7 @@ It is not advisable to use it. OCC::PollJob - + Invalid JSON reply from the poll URL Неисправан ЈСОН одговор са адресе упита @@ -1944,7 +1983,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database @@ -1952,22 +1991,22 @@ It is not advisable to use it. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Фајл %1 се не може преузети јер се судара са називом локалног фајла! - + The download would reduce free disk space below %1 - + Free space on disk is less than %1 - + File was deleted from server Фајл је обрисан са сервера @@ -2000,17 +2039,17 @@ It is not advisable to use it. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Враћање није успело: %1 - + Continue blacklisting: Настави блокирање: - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -2073,7 +2112,7 @@ It is not advisable to use it. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Фајл је уклоњен из дељења које је само за читање. Зато је враћен. @@ -2086,7 +2125,7 @@ It is not advisable to use it. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Сервер је вратио лош ХТТП код. Очекивано је 201 али је примљено „%1 %2“. @@ -2099,17 +2138,17 @@ It is not advisable to use it. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Ова фасцикла се не сме преименовати. Зато је враћен првобитни назив. - + This folder must not be renamed. Please name it back to Shared. Ова фасцикла се не сме преименовати. Молим вас вратите назив у „Shared“. - + The file was renamed but is part of a read only share. The original file was restored. Фајл је био преименован али је део дељења које је само за читање. Оригинални фајл је враћен. @@ -2128,22 +2167,22 @@ It is not advisable to use it. OCC::PropagateUploadFileCommon - + File Removed Фајл уклоњен - + Local file changed during syncing. It will be resumed. Локални фајл је измењен током синхронизације. Биће настављена. - + Local file changed during sync. Локални фајл измењен током синхронизације. - + Error writing metadata to the database @@ -2151,32 +2190,32 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Присили прекид посла код прекида ХТТП везе са КуТ < 5.4.2 - + The local file was removed during sync. Локални фајл је уклоњен током синхронизације. - + Local file changed during sync. Локални фајл измењен током синхронизације. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2184,32 +2223,32 @@ It is not advisable to use it. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Присили прекид посла код прекида ХТТП везе са КуТ < 5.4.2 - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Фајл је измењен локално али је у саставу дељења које је само за читање. Враћен је у претходно стање а измене су у фајлу сукоба. - + Poll URL missing Адреса упита недостаје - + The local file was removed during sync. Локални фајл је уклоњен током синхронизације. - + Local file changed during sync. Локални фајл измењен током синхронизације. - + The server did not acknowledge the last chunk. (No e-tag was present) @@ -2227,42 +2266,42 @@ It is not advisable to use it. Текст ознака - + Time време - + File фајл - + Folder фасцикла - + Action радња - + Size величина - + Local sync protocol Локални протокол синхронизације - + Copy Копирај - + Copy the activity list to the clipboard. Копирај активност у клипборд. @@ -2303,51 +2342,41 @@ It is not advisable to use it. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Неозначене фасцикле биће <b>уклоњене</b> из локалног фајл-система и више се неће синхронизовати на овом рачунару - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Изаберите шта синхронизујете. Изаберите удаљене фасцикле које желите да синхронизујете. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Изаберите шта синхронизујете. Избаците удаљене фасцикле које не желите да синхронизујете. - - - + Choose What to Sync Изаберите шта синхронизовати - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Учитавам ... - + + Deselect remote folders you do not wish to synchronize. + + + + Name назив - + Size величина - - + + No subfolders currently on the server. На серверу тренутно нема потфасцикли. - + An error occurred while loading the list of sub folders. @@ -2651,7 +2680,7 @@ It is not advisable to use it. OCC::SocketApi - + Share with %1 parameter is ownCloud Подели са %1 @@ -2860,275 +2889,285 @@ It is not advisable to use it. OCC::SyncEngine - + Success. Успешно. - + CSync failed to load the journal file. The journal file is corrupted. CSync не може да учита фајл дневника. Фајл дневника је оштећен. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Прикључак %1 за csync се не може учитати.<br/>Проверите инсталацију!</p> - + CSync got an error while processing internal trees. CSync има грешку при обради интерног стабла. - + CSync failed to reserve memory. CSync не може да резервише меморију. - + CSync fatal parameter error. CSync фатална грешка параметара. - + CSync processing step update failed. CSync није успео да ажурира корак процесирања. - + CSync processing step reconcile failed. CSync није успео да усклади корак процесирања. - + CSync could not authenticate at the proxy. CSync не може да се аутентификује на проксију. - + CSync failed to lookup proxy or server. CSync не налази прокси или сервер. - + CSync failed to authenticate at the %1 server. CSync не може да се аутентификује на %1 серверу. - + CSync failed to connect to the network. CSync не може да приступи мрежи. - + A network connection timeout happened. Истекло је време за повезивање. - + A HTTP transmission error happened. Дошло је до грешке ХТТП преноса. - + The mounted folder is temporarily not available on the server - + An error occurred while opening a folder - + Error while reading folder. - + File/Folder is ignored because it's hidden. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() - + Not allowed because you don't have permission to add parent folder - + Not allowed because you don't have permission to add files in that folder - + CSync: No space on %1 server available. CSync: нема простора на %1 серверу. - + CSync unspecified error. CSync недефинисана грешка. - + Aborted by the user Прекинуо корисник - - Filename contains invalid characters that can not be synced cross platform. - - - - + CSync failed to access CSync није приступио - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. - + CSync failed due to unhandled permission denied. - + CSync tried to create a folder that already exists. - + The service is temporarily unavailable Услуга је привремено недоступна - + Access is forbidden Приступ је забрањен - + An internal error number %1 occurred. Десила се интерна грешка број %1. - + The item is not synced because of previous errors: %1 Ставка није синхронизована због ранијих грешака: %1 - + Symbolic links are not supported in syncing. Симболичке везе нису подржане у синхронизацији. - + File is listed on the ignore list. Фајл се налази на листи за игнорисање. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. Назив фајла је предугачак. - + Stat failed. - + Filename encoding is not valid Кодирање назива фајла није исправно - + Invalid characters, please rename "%1" - + Unable to initialize a sync journal. Није могуће покренути у синхронизацију дневника. - + Unable to read the blacklist from the local database - + Unable to read from the sync journal. - + Cannot open the sync journal Не могу да отворим дневник синхронизације - + File name contains at least one invalid character Назив садржи бар један недозвољен карактер - - + + Ignored because of the "choose what to sync" blacklist Игнорисано јер се не налази на листи за синхронизацију - + Not allowed because you don't have permission to add subfolders to that folder - + Not allowed to upload this file because it is read-only on the server, restoring Није могуће отпремити овај фајл јер је на серверу само за читање. Враћам - - + + Not allowed to remove, restoring Није могуће уклањање. Враћам - + Local files and share folder removed. Локални фајлови и дељена фасцикла су уклоњени. - + Move not allowed, item restored Премештање није дозвољено. Ставка је враћена - + Move not allowed because %1 is read-only Премештање није дозвољено јер %1 је само за читање - + the destination одредиште - + the source извор @@ -3152,17 +3191,17 @@ It is not advisable to use it. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Верзија %1. За више информација посетите <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Дистрибуира %1 под ГНУ општом јавном лиценцом (ОЈЛ) верзија 2.0.<br/>%2 и %2 лого су регистроване марке %1 у САД, другим земљама или обоје</p> @@ -3412,10 +3451,10 @@ It is not advisable to use it. - - - - + + + + TextLabel Текст ознака @@ -3435,7 +3474,23 @@ It is not advisable to use it. &Почни чисту синхронизацију (брише локалну фасциклу!) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Изаберите шта синхронизовати @@ -3455,12 +3510,12 @@ It is not advisable to use it. &Остави локалне податке - + S&ync everything from server Син&хронизуј све са сервера - + Status message Порука стања @@ -3501,7 +3556,7 @@ It is not advisable to use it. - + TextLabel Текст ознака @@ -3557,8 +3612,8 @@ It is not advisable to use it. - Server &Address - &Адреса сервера + Ser&ver Address + @@ -3598,7 +3653,7 @@ It is not advisable to use it. QApplication - + QT_LAYOUT_DIRECTION @@ -3606,40 +3661,46 @@ It is not advisable to use it. QObject - + in the future - + %n day(s) ago - + %n hour(s) ago - + now - + Less than a minute ago пре мање од минут - + %n minute(s) ago - + Some time ago пре неког времена + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3664,37 +3725,37 @@ It is not advisable to use it. %L1 B - + %n year(s) - + %n month(s) - + %n day(s) - + %n hour(s) - + %n minute(s) - + %n second(s) - + %1 %2 %1 %2 @@ -3715,7 +3776,7 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Направљено од ГИТ ревизије <a href="%1">%2</a> %3, %4 користећи КуТ %5, %6</small></p> diff --git a/translations/client_sv.ts b/translations/client_sv.ts index 05a5123d7..660caa01b 100644 --- a/translations/client_sv.ts +++ b/translations/client_sv.ts @@ -126,7 +126,7 @@ - + Cancel Avbryt @@ -246,22 +246,32 @@ Logga in - - There are new folders that were not synchronized because they are too big: - Det finns nya mappar som inte synkroniserades på grund av att det är för stora: + + There are folders that were not synchronized because they are too big: + - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal Bekräfta radering an kontot - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>Vill du verkligen avsluta anslutningen till kontot <i>%1</i>?</p><p><b>Observera:</b> Detta kommer <b>inte</b> radera några filer.</p> - + Remove connection Radera anslutning @@ -521,6 +531,24 @@ Certifikatfiler (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Fel vid skrivning av metadata till databasen @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Tidsgräns för anslutningen överskreds @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Avbruten av användare @@ -604,143 +632,153 @@ OCC::Folder - + Local folder %1 does not exist. Den lokala mappen %1 finns inte. - + %1 should be a folder but is not. %1 borde vara en mapp, men är inte det. - + %1 is not readable. %1 är inte läsbar. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 har tagits bort. - + %1 has been downloaded. %1 names a file. %1 har laddats ner. - + %1 has been updated. %1 names a file. %1 har uppdaterats. - + %1 has been renamed to %2. %1 and %2 name files. %1 har döpts om till %2. - + %1 has been moved to %2. %1 har flyttats till %2. - + %1 and %n other file(s) have been removed. %1 och %n andra filer har tagits bort.%1 och %n andra filer har tagits bort. - + %1 and %n other file(s) have been downloaded. %1 och %n andra filer har laddats ner.%1 och %n andra filer har laddats ner. - + %1 and %n other file(s) have been updated. %1 och %n andra filer har uppdaterats.%1 och %n andra filer har uppdaterats. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 har döpts om till %2 och %n andra filer har döpts om.%1 har döpts om till %2 och %n andra filer har döpts om. - + %1 has been moved to %2 and %n other file(s) have been moved. %1 har flyttats till %2 och %n andra filer har flyttats.%1 har flyttats till %2 och %n andra filer har flyttats. - + %1 has and %n other file(s) have sync conflicts. %1 och %n andra filer har synk-konflikter.%1 och %n andra filer har synk-konflikter. - + %1 has a sync conflict. Please check the conflict file! %1 har en synk-konflikt. Vänligen kontrollera konfliktfilen! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 och %n andra filer kunde inte synkas på grund av fel. Se loggen för detaljer.%1 och %n andra filer kunde inte synkas på grund av fel. Se loggen för detaljer. - + %1 could not be synced due to an error. See the log for details. %1 kunde inte synkroniseras på grund av ett fel. Kolla loggen för ytterligare detaljer. - + Sync Activity Synk aktivitet - + Could not read system exclude file Kunde inte läsa systemets exkluderings-fil - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - En ny mapp större än %1 MB har lagts till: %2. -Var god gå in i inställningarna för att markera mappen om du vill ladda ner den. + + - - 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? - Denna synkronisering skulle radera alla filerna i mappen '%1'. -Detta kan bero på att mappen omkonfigurerats i bakgrunden, eller för att alla filerna raderats manuellt. -Är du säker på att du vill fortsätta? + + A folder from an external storage has been added. + + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Ta bort alla filer? - + Remove all files Ta bort alla filer - + Keep files Behåll filer - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -749,17 +787,17 @@ Detta kan vara för att en säkerhetskopia har återställts på servern. Om du fortsätter synkningen kommer alla dina filer återställas med en äldre version av filen. Vill du behålla dina nyare lokala filer som konfliktfiler? - + Backup detected Backup upptäckt - + Normal Synchronisation Normal synkronisation - + Keep Local Files as Conflict Behåll lokala filer som konflikt @@ -767,112 +805,112 @@ Om du fortsätter synkningen kommer alla dina filer återställas med en äldre OCC::FolderMan - + Could not reset folder state Kunde inte återställa mappens skick - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. En gammal synkroniseringsjournal '%1' hittades, men kunde inte raderas. Vänligen se till att inga program för tillfället använder den. - + (backup) (säkerhetskopia) - + (backup %1) (säkerhetkopia %1) - + Undefined State. Okänt tillstånd. - + Waiting to start syncing. Väntar på att starta synkronisering. - + Preparing for sync. Förbereder synkronisering - + Sync is running. Synkronisering pågår. - + Last Sync was successful. Senaste synkronisering lyckades. - + Last Sync was successful, but with warnings on individual files. Senaste synkning lyckades, men det finns varningar för vissa filer! - + Setup Error. Inställningsfel. - + User Abort. Användare Avbryt - + Sync is paused. Synkronisering är pausad. - + %1 (Sync is paused) %1 (Synk är stoppad) - + No valid folder selected! Ingen giltig mapp markerad! - + The selected path is not a folder! Den markerade sökvägen är inte en mapp! - + You have no permission to write to the selected folder! Du har inga skrivrättigheter till den valda mappen! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! Den lokala mappen %1 innehåller redan en mapp som synkas. Var god välj en annan! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! Den lokala mappen %1 finns redan inuti en mapp som synkas. Var god välj en annan! - + 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! Den lokala mappen %1 är en symbolisk länk. Länkmålet finns redan inuti en mapp som synkas. Var god välj en annan! @@ -898,133 +936,133 @@ Om du fortsätter synkningen kommer alla dina filer återställas med en äldre OCC::FolderStatusModel - + You need to be connected to add a folder Du måste vara ansluten för att lägga till en mapp - + Click this button to add a folder to synchronize. Klicka här för att lägga till en mapp att synka. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Ett fel uppstod när mapplistan försökte laddas från servern. - + Signed out Utloggad - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. Tillägg av mappar är avstängt eftersom du redan synkar alla dina filer. Om du vill synka fler mappar, var god ta bort den nuvarande rotmappen. - + Fetching folder list from server... Hämtar mapplistan från servern... - + Checking for changes in '%1' Kollar efter ändringar i '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" Synkroniserar %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) ladda ner %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) ladda upp %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 av %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" %5 kvar, %1 av %2, fil %3 av %4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 av %2, fil %3 av %4 - + file %1 of %2 fil %1 av %2 - + Waiting... Väntar... - + Waiting for %n other folder(s)... Väntat på %n annan mapp...Väntat på %n andra mappar... - + Preparing to sync... Förbereder för att synkronisera... @@ -1032,12 +1070,12 @@ Om du fortsätter synkningen kommer alla dina filer återställas med en äldre OCC::FolderWizard - + Add Folder Sync Connection Lägg till mapp att synka. - + Add Sync Connection Lägg till anslutning. @@ -1113,14 +1151,6 @@ Om du fortsätter synkningen kommer alla dina filer återställas med en äldre Du synkroniserar redan alla dina filer. Synkronisering av en annan mapp stöds <b>ej</b>. Om du vill synka flera mappar, ta bort den för tillfället konfigurerade rotmappen från synk. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Välj Vad du vill Synka: Du har även möjlighet att avmarkera mappar på servern som du ej vill synkronisera. - - OCC::FormatWarningsWizardPage @@ -1137,22 +1167,22 @@ Om du fortsätter synkningen kommer alla dina filer återställas med en äldre OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Ingen E-Tag mottogs från servern, kontrollera proxy/gateway - + We received a different E-Tag for resuming. Retrying next time. Vi mottog en helt annan e-tag för att återuppta. Försök igen nästa gång. - + Server returned wrong content-range Servern returnerade felaktig content-range - + Connection Timeout Anslutningen avbröts på grund av timeout @@ -1180,10 +1210,21 @@ Om du fortsätter synkningen kommer alla dina filer återställas med en äldre Avancerad - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1200,33 +1241,28 @@ Om du fortsätter synkningen kommer alla dina filer återställas med en äldre Använd &monokroma ikoner - + Edit &Ignored Files Ändra &ignorerade filer - - Ask &confirmation before downloading folders larger than - Be om &bekräftelse innan nedladdning sker av mappar som är större än - - - + S&how crash reporter Visa krashrapporteraren + - About Om - + Updates Uppdateringar - + &Restart && Update %Starta om && Uppdatera @@ -1400,7 +1436,7 @@ Objekt som tillåter radering kommer tas bort om de förhindrar en mapp att tas OCC::MoveJob - + Connection timed out Tidsgräns för anslutningen överskreds @@ -1549,23 +1585,23 @@ Objekt som tillåter radering kommer tas bort om de förhindrar en mapp att tas OCC::NotificationWidget - + Created at %1 Skapad %1 - + Closing in a few seconds... Stänger om ett par sekunder... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' %1 begäran misslyckades %2 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' vald %2 @@ -1649,28 +1685,28 @@ ytterligare rättigheter under processen. Anslut... - + %1 folder '%2' is synced to local folder '%3' %1 mappen '%2' är synkroniserad mot den lokala mappen '%3' - + Sync the folder '%1' Synka mappen '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Varning:</strong> Den lokala mappen är inte tom. Välj alternativ!</small></p> - + Local Sync Folder Lokal mapp för synkning - - + + (%1) (%1) @@ -1896,7 +1932,7 @@ Det är inte lämpligt använda den. Kan inte ta bort och göra en säkerhetskopia av mappen på grund av att mappen eller en fil i den används av ett annat program. Vänligen stäng mappen eller filen och försök igen eller avbryt installationen. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Lokal synkmapp %1 skapad!</b></font> @@ -1935,7 +1971,7 @@ Det är inte lämpligt använda den. OCC::PUTFileJob - + Connection Timeout Anslutningen avbröts på grund av timeout @@ -1943,7 +1979,7 @@ Det är inte lämpligt använda den. OCC::PollJob - + Invalid JSON reply from the poll URL Ogiltigt JSON-svar från hämtnings-URLen @@ -1951,7 +1987,7 @@ Det är inte lämpligt använda den. OCC::PropagateDirectory - + Error writing metadata to the database Fel vid skrivning av metadata till databasen @@ -1959,22 +1995,22 @@ Det är inte lämpligt använda den. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Fil %1 kan inte laddas ner på grund av namnkonflikt med en lokal fil! - + The download would reduce free disk space below %1 Nedladdningen skulle innebära ledigt utrymme understiger %1 - + Free space on disk is less than %1 Ledigt utrymme är under %1 - + File was deleted from server Filen har tagits bort från servern @@ -2007,17 +2043,17 @@ Det är inte lämpligt använda den. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Återställning misslyckades: %1 - + Continue blacklisting: Fortsätt svartlista: - + A file or folder was removed from a read only share, but restoring failed: %1 En fil eller mapp togs bort från en skrivskyddad delning, men återställning misslyckades: %1 @@ -2080,7 +2116,7 @@ Det är inte lämpligt använda den. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Den här filen har tagits bort från en endast-läsbar delning. Den återställdes. @@ -2093,7 +2129,7 @@ Det är inte lämpligt använda den. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Felaktig HTTP-kod i svaret från servern. '201' förväntades, men "%1 %2" mottogs. @@ -2106,17 +2142,17 @@ Det är inte lämpligt använda den. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Denna mapp får inte byta namn. Den kommer att döpas om till sitt ursprungliga namn. - + This folder must not be renamed. Please name it back to Shared. Denna mapp får ej döpas om. Vänligen döp den till Delad igen. - + The file was renamed but is part of a read only share. The original file was restored. En fil döptes om men är en del av en endast-läsbar delning. Original filen återställdes. @@ -2135,22 +2171,22 @@ Det är inte lämpligt använda den. OCC::PropagateUploadFileCommon - + File Removed Filen Raderad - + Local file changed during syncing. It will be resumed. Lokal fil ändrades under synkningen. Den kommer återupptas. - + Local file changed during sync. Lokal fil ändrades under synk. - + Error writing metadata to the database Fel vid skrivning av metadata till databasen @@ -2158,32 +2194,32 @@ Det är inte lämpligt använda den. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Tvinga jobbavbryt vid återställning av HTTP-anslutning med Qt < 5.4.2. - + The local file was removed during sync. Den lokala filen togs bort under synkronisering. - + Local file changed during sync. Lokal fil ändrades under synk. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2191,32 +2227,32 @@ Det är inte lämpligt använda den. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Tvinga jobbavbryt vid återställning av HTTP-anslutning med Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Filen ändrades lokalt men är en del av en endast-läsbar delning. Den återställdes och din editering är i konflikt filen. - + Poll URL missing Hämtnings-URL saknas - + The local file was removed during sync. Den lokala filen togs bort under synkronisering. - + Local file changed during sync. Lokal fil ändrades under synk. - + The server did not acknowledge the last chunk. (No e-tag was present) Servern bekräftade inte senaste leveransen. (Ingen e-tagg fanns) @@ -2234,42 +2270,42 @@ Det är inte lämpligt använda den. Textetikett - + Time Tid - + File Fil - + Folder Mapp - + Action Ågärd - + Size Storlek - + Local sync protocol Lokalt synkprotokoll - + Copy Kopiera - + Copy the activity list to the clipboard. Kopiera aktivitetslistan till urklipp. @@ -2310,51 +2346,41 @@ Det är inte lämpligt använda den. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - De mappar som inte väljs kommer att <b>raderas</b> från det lokala filsystemet och kommer inte att synkroniseras till den här datorn längre. - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Välj vad som synkas: Välj de fjärrmappar du vill synkronisera. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Välj vad som synkas: Välj bort de fjärrmappar du inte vill synkronisera. - - - + Choose What to Sync Välj vad som ska synkas - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Laddar ... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Namn - + Size Storlek - - + + No subfolders currently on the server. Inga undermappar på servern för närvarande. - + An error occurred while loading the list of sub folders. Ett fel uppstod när listan för submappar laddades. @@ -2658,7 +2684,7 @@ Det är inte lämpligt använda den. OCC::SocketApi - + Share with %1 parameter is ownCloud Dela med %1 @@ -2867,275 +2893,285 @@ Det är inte lämpligt använda den. OCC::SyncEngine - + Success. Lyckades. - + CSync failed to load the journal file. The journal file is corrupted. CSync misslyckades med att ladda journalfilen. Journalfilen är korrupt. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Plugin %1 för csync kunde inte laddas.<br/>Var god verifiera installationen!</p> - + CSync got an error while processing internal trees. CSYNC fel vid intern bearbetning. - + CSync failed to reserve memory. CSync misslyckades att reservera minne. - + CSync fatal parameter error. CSync fatal parameter fel. - + CSync processing step update failed. CSync processteg update misslyckades. - + CSync processing step reconcile failed. CSync processteg reconcile misslyckades. - + CSync could not authenticate at the proxy. CSync kunde inte autentisera mot proxy. - + CSync failed to lookup proxy or server. CSync misslyckades att hitta proxy eller server. - + CSync failed to authenticate at the %1 server. CSync misslyckades att autentisera mot %1 servern. - + CSync failed to connect to the network. CSync misslyckades att ansluta mot nätverket. - + A network connection timeout happened. En timeout på nätverksanslutningen har inträffat. - + A HTTP transmission error happened. Ett HTTP överföringsfel inträffade. - + The mounted folder is temporarily not available on the server Den monterade mappen är tillfälligt otillgänglig på servern - + An error occurred while opening a folder En fel inträffande under öppnandet av en mapp - + Error while reading folder. Fel vid mappinläsning. - + File/Folder is ignored because it's hidden. Filen/Mappen är ignorerad för att den är dold. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Endast %1 tillgängligt, behöver minst %2 för att starta - + Not allowed because you don't have permission to add parent folder Otillåtet eftersom du inte har rättigheter att lägga till övermappar - + Not allowed because you don't have permission to add files in that folder Otillåtet eftersom du inte har rättigheter att lägga till filer i den mappen. - + CSync: No space on %1 server available. CSync: Ingen plats på %1 server tillgänglig. - + CSync unspecified error. CSync ospecificerat fel. - + Aborted by the user Avbruten av användare - - Filename contains invalid characters that can not be synced cross platform. - Filnamnet innehåller otillåtna tecken som inte kan synkroniseras till andra plattformar. - - - + CSync failed to access CSync misslyckades med att läsa - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. CSync misslyckades med att ladda eller skapa journalfilen. Säkerställ att du har rättigheter att läsa och skriva i den lokala synkmappen. - + CSync failed due to unhandled permission denied. CSync misslyckades på grund av ohanterad avslagning av rättighet. - + CSync tried to create a folder that already exists. CSync försökte skapa en mapp som redan finns. - + The service is temporarily unavailable Tjänsten är tillfälligt otillgänglig - + Access is forbidden Tillgång förbjuden - + An internal error number %1 occurred. Ett internt fel nummer %1 inträffade. - + The item is not synced because of previous errors: %1 Objektet kunde inte synkas på grund av tidigare fel: %1 - + Symbolic links are not supported in syncing. Symboliska länkar stöds ej i synkningen. - + File is listed on the ignore list. Filen är listad i ignorerings listan. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. Filnamn innehåller mellanslag i slutet. - + Filename is too long. Filnamnet är för långt. - + Stat failed. Stat misslyckades. - + Filename encoding is not valid Filnamnskodning är inte giltig - + Invalid characters, please rename "%1" Otillåtna tecken, var vänlig byt namn på "%1" - + Unable to initialize a sync journal. Kan inte initialisera en synk journal. - + Unable to read the blacklist from the local database Kunde inte läsa svartlistan från den lokala databasen - + Unable to read from the sync journal. Kunde inte läsa från synk-journalen. - + Cannot open the sync journal Kunde inte öppna synk journalen - + File name contains at least one invalid character Filnamnet innehåller minst ett ogiltigt tecken - - + + Ignored because of the "choose what to sync" blacklist Ignorerad eftersom den är svartlistad i "välj vad som ska synkas" - + Not allowed because you don't have permission to add subfolders to that folder Otillåtet eftersom du inte har rättigheter att lägga till undermappar i den mappen. - + Not allowed to upload this file because it is read-only on the server, restoring Inte behörig att ladda upp denna fil då den är skrivskyddad på servern, återställer - - + + Not allowed to remove, restoring Inte behörig att radera, återställer - + Local files and share folder removed. Lokala filer och mappar som är delade är borttagna. - + Move not allowed, item restored Det gick inte att genomföra flytten, objektet återställs - + Move not allowed because %1 is read-only Det gick inte att genomföra flytten då %1 är skrivskyddad - + the destination destinationen - + the source källan @@ -3159,17 +3195,17 @@ Det är inte lämpligt använda den. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Version %1. För mer information vänligen besök <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Distribueras av %1 och licenserad under GNU General Public License (GPL) Version 2.0.<br/>%2 och %2 logotyp är registrerade varumärken av %1 i Förenta Staterna, andra länder, eller både och.</p> @@ -3419,10 +3455,10 @@ Det är inte lämpligt använda den. - - - - + + + + TextLabel Textetikett @@ -3442,7 +3478,23 @@ Det är inte lämpligt använda den. Starta en %ren synkning (tar bort den lokala mappen!) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Välj vad som ska synkas @@ -3462,12 +3514,12 @@ Det är inte lämpligt använda den. &Behåll lokal data - + S&ync everything from server S&ynka allt från servern - + Status message Statusmeddelande @@ -3508,7 +3560,7 @@ Det är inte lämpligt använda den. - + TextLabel Textetikett @@ -3564,8 +3616,8 @@ Det är inte lämpligt använda den. - Server &Address - Server &Adress + Ser&ver Address + @@ -3605,7 +3657,7 @@ Det är inte lämpligt använda den. QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3613,40 +3665,46 @@ Det är inte lämpligt använda den. QObject - + in the future i framtiden - + %n day(s) ago %n dag sedan%n dag(ar) sedan - + %n hour(s) ago %n timme sedan%n timmar sedan - + now nu - + Less than a minute ago Mindre än en minut sedan - + %n minute(s) ago %n minut sedan%n minut(er) sedan - + Some time ago En stund sedan + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3671,37 +3729,37 @@ Det är inte lämpligt använda den. %L1 B - + %n year(s) %n år%n år - + %n month(s) %n månad(er)%n månad(er) - + %n day(s) %n dag(ar)%n dag(ar) - + %n hour(s) %n timme/timmar%n timme/timmar - + %n minute(s) %n minut(er)%n minut(er) - + %n second(s) %n sekund(er)%n sekund(er) - + %1 %2 %1 %2 @@ -3722,7 +3780,7 @@ Det är inte lämpligt använda den. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Byggd från Git revision <a href="%1">%2</a> den %3, %4 med Qt %5, %6</small></p> diff --git a/translations/client_th.ts b/translations/client_th.ts index d5e70c4ec..bd3e6d767 100644 --- a/translations/client_th.ts +++ b/translations/client_th.ts @@ -126,7 +126,7 @@ - + Cancel ยกเลิก @@ -246,22 +246,32 @@ เข้าสู่ระบบ - - There are new folders that were not synchronized because they are too big: - มีโฟลเดอร์ใหม่ที่จะไม่ถูกประสานข้อมูลเพราะมันมีขนาดใหญ่เกินไป + + There are folders that were not synchronized because they are too big: + บางโฟลเดอร์จะไม่ถูกประสานข้อมูลเพราะขนาดของมันใหญ่เกินไป: - + + There are folders that were not synchronized because they are external storages: + มีบางโฟลเดอร์จะไม่ถูกประสานข้อมูลเพราะเป็นพื้นที่จัดเก็บข้อมูลภายนอก + + + + There are folders that were not synchronized because they are too big or external storages: + มีบางโฟลเดอร์จะไม่ถูกประสานข้อมูลเพราะเป็นพื้นที่จัดเก็บข้อมูลภายนอกหรือมีขนาดที่ใหญ่เกินไป + + + Confirm Account Removal ยืนยันการลบบัญชี - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>คุณต้องการลบการเชื่อมต่อกับบัญชี<i>%1</i>?</p><p><b>หมายเหตุ:</b> นี้จะ <b>ไม่</b> ลบไฟล์ใดๆ</p> - + Remove connection ลบการเชื่อมต่อ @@ -521,6 +531,24 @@ ไฟล์ใบรับรอง (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + เกิดข้อผิดพลาดขณะกำลังเข้าถึงไฟล์กำหนดค่า + + + + There was an error while accessing the configuration file at %1. + เกิดข้อผิดพลาดขณะกำลังเข้าถึงไฟล์กำหนดค่า %1 + + + + Quit ownCloud + ออกจาก ownCloud + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database ข้อผิดพลาดในการเขียนข้อมูลเมตาไปยังฐานข้อมูล @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out หมดเวลาการเชื่อมต่อ @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user ยกเลิกโดยผู้ใช้ @@ -604,143 +632,155 @@ OCC::Folder - + Local folder %1 does not exist. โฟลเดอร์ต้นทาง %1 ไม่มีอยู่ - + %1 should be a folder but is not. %1 ควรจะเป็นโฟลเดอร์ แต่ทำไม่ได้ - + %1 is not readable. ไม่สามารถอ่านข้อมูล %1 ได้ - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 ได้ถูกลบออก - + %1 has been downloaded. %1 names a file. %1 ได้ถูกดาวน์โหลด - + %1 has been updated. %1 names a file. %1 ได้ถูกอัพเดทเรียบร้อยแล้ว - + %1 has been renamed to %2. %1 and %2 name files. %1 ได้ถูกเปลี่ยนชื่อเป็น %2 - + %1 has been moved to %2. %1 ได้ถูกย้ายไปยัง %2 - + %1 and %n other file(s) have been removed. %1 และ %n ไฟล์อื่นๆได้ถูกลบออก - + %1 and %n other file(s) have been downloaded. %1 และ %n ไฟล์อื่นๆ ได้ถูกดาวน์โหลดเรียบร้อยแล้ว - + %1 and %n other file(s) have been updated. %1 และ %n ไฟล์อื่นๆ ได้รับการอัพเดท - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 และไฟล์อื่นๆอีก %n ไฟล์ได้ถูกเปลี่ยนชื่อเป็น %2 - + %1 has been moved to %2 and %n other file(s) have been moved. %1 และไฟล์อื่นๆอีก %n ไฟล์ได้ถูกย้ายไปยัง %2 - + %1 has and %n other file(s) have sync conflicts. %1 และ %n ไฟล์อื่นๆ เกิดปัญหาขณะประสานข้อมูล - + %1 has a sync conflict. Please check the conflict file! %1 มีปัญหาขณะประสานข้อมูล กรุณาตรวจสอบไฟล์ที่มีปัญหานั้น - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 และไฟล์อื่นๆอีก %n ไฟล์ไม่สามารถประสานข้อมูลเนื่องจากเกิดข้อผิดพลาด กรุณาดูไฟล์ log สำหรับรายละเอียดเพิ่มเติม - + %1 could not be synced due to an error. See the log for details. %1 ไม่สามารถประสานข้อมูลเนื่องจากมีข้อผิดพลาด สามารถดูไฟล์ log สำหรับรายละเอียดเพิ่มเติม - + Sync Activity ความเคลื่อนไหวของการประสานข้อมูล - + Could not read system exclude file ไม่สามารถอ่าน ยกเว้นไฟล์ระบบ - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. + โฟลเดอร์ใหม่มีขนาดใหญ่กว่า %1 เมกะไบต์ ได้ถูกเพิ่ม: %2 -กรุณาไปตั้งค่าถ้าคุณต้องการให้มันดาวน์โหลดได้ + - - 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? - การประสานข้อมูลนี้จะลบไฟล์ทั้งหมดที่อยู่ในโฟลเดอร์ประสานข้อมูล '%1' -สาเหตุเนื่องจากมีการเปลี่ยนแปลงข้อมูลโฟลเดอร์หรือไฟล์ทั้งหมดถูกลบด้วยตนเอง -คุณแน่ใจว่าคุณต้องการที่จะดำเนินการนี้? + + A folder from an external storage has been added. + + โฟลเดอร์ที่มีพื้นที่จัดเก็บข้อมูลภายนอกได้ถูกเพิ่ม + - + + Please go in the settings to select it if you wish to download it. + กรุณาไปในส่วนของการตั้งค่าเพื่อเลือก ถ้าคุณต้องการจะดาวน์โหลด + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? ลบไฟล์ทั้งหมด? - + Remove all files ลบไฟล์ทั้งหมด - + Keep files เก็บไฟล์เอาไว้ - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? @@ -749,17 +789,17 @@ Continuing the sync as normal will cause all your files to be overwritten by an ไฟล์ปัจจุบันของคุณทั้งหมดจะถูกเขียนทับด้วยไฟล์เก่า คุณต้องการเก็บไฟล์ไว้หรือไม่? - + Backup detected ตรวจพบการสำรองข้อมูล - + Normal Synchronisation ประสานข้อมูลปกติ - + Keep Local Files as Conflict เก็บไฟล์ต้นทางเป็นไฟล์ที่มีปัญหา @@ -767,112 +807,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state ไม่สามารถรีเซ็ตสถานะโฟลเดอร์ - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. บนบันทึกการประสานข้อมูลเก่า '%1' แต่ไม่สามารถลบออกได้ กรุณาตรวจสอบให้แน่ใจว่าไม่มีแอพฯ หรือการทำงานใดๆที่ใช้มันอยู่ - + (backup) (สำรองข้อมูล) - + (backup %1) (สำรองข้อมูล %1) - + Undefined State. สถานะที่ยังไม่ได้ถูกกำหนด - + Waiting to start syncing. กำลังรอเริ่มต้นการประสานข้อมูล - + Preparing for sync. กำลังเตรียมการประสานข้อมูล - + Sync is running. การประสานข้อมูลกำลังทำงาน - + Last Sync was successful. ประสานข้อมูลครั้งล่าสุดเสร็จเรียบร้อยแล้ว - + Last Sync was successful, but with warnings on individual files. การประสานข้อมูลสำเร็จ แต่มีคำเตือนในแต่ละไฟล์ - + Setup Error. เกิดข้อผิดพลาดในการติดตั้ง - + User Abort. ยกเลิกผู้ใช้ - + Sync is paused. การประสานข้อมูลถูกหยุดไว้ชั่วคราว - + %1 (Sync is paused) %1 (การประสานข้อมูลถูกหยุดชั่วคราว) - + No valid folder selected! เลือกโฟลเดอร์ไม่ถูกต้อง! - + The selected path is not a folder! เส้นทางที่เลือกไม่ใช่โฟลเดอร์! - + You have no permission to write to the selected folder! คุณมีสิทธิ์ที่จะเขียนโฟลเดอร์ที่เลือกนี้! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! โฟลเดอร์ต้นทาง %1 ได้ถูกเก็บข้อมูลของพาทแล้ว ลิงค์เป้าหมายมีโฟลเดอร์ที่ประสานข้อมูลแล้ว โปรดเลือกอันอื่น! - + There is already a sync from the server to this local folder. Please pick another local folder! โฟลเดอร์ต้นทางนี้ได้ถูกประสานข้อมูลกับเซิร์ฟเวอร์แล้ว โปรดเลือกโฟลเดอร์ต้นทางอื่นๆ! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! เนื้อหาโฟลเดอร์ต้นทาง %1 ได้ถูกใช้ไปแล้วในโฟลเดอร์ที่ประสานข้อมูล กรุณาเลือกอีกอันหนึ่ง! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! เนื้อหาของโฟลเดอร์ต้นทาง %1 ไดถูกใช้ไปแล้วในโฟลเดอร์ที่ประสานข้อมูล กรุณาเลือกอีกอันหนึ่ง! - + 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! โฟลเดอร์ต้นทาง %1 เป็นการเชื่อมโยงสัญลักษณ์ เป้าหมายของลิงค์มีเนื้อหาที่ถูกใช้ไปแล้วในโฟลเดอร์ที่ประสานข้อมูล กรุณาเลือกอีกอันหนึ่ง! @@ -899,133 +939,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder คุณจะต้องเชื่อมต่อก่อนที่จะเพิ่มโฟลเดอร์ - + Click this button to add a folder to synchronize. คลิกที่ปุ่มนี้เพื่อเพิ่มโฟลเดอร์ที่ต้องการประสานข้อมูล - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. ข้อผิดพลาดในขณะที่โหลดรายชื่อโฟลเดอร์จากเซิร์ฟเวอร์ - + Signed out ออกจากระบบ - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. การเพิ่มโฟลเดอร์ถูกยกเลิกเพราะคุณได้ประสานไฟล์ทั้งหมดของคุณอยู่แล้ว หากคุณต้องการประสานข้อมูลหลายโฟลเดอร์โปรดลบโฟลเดอร์รากกำหนดค่าในปัจจุบัน - + Fetching folder list from server... กำลังดึงรายการโฟลเดอร์จากเซิร์ฟเวอร์ ... - + Checking for changes in '%1' กำลังตรวจสอบการเปลี่ยนแปลงใน '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" กำลังประสานข้อมูล %1 - - + + , หรือ - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) ดาวน์โหลด %1/วินาที - + u2193 %1/s u2193 %1/วินาที - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) อัปโหลด - + u2191 %1/s u2191 %1/วินาที - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 ของ %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" เหลืออีก %5 ไฟล์, %1 ไฟล์จาก %2, %3 ไฟล์จาก %4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 จาก %2, %3 จาก %4 ไฟล์ - + file %1 of %2 ไฟล์ %1 จาก %2 - + Waiting... กรุณารอซักครู่... - + Waiting for %n other folder(s)... กำลังรออีก (%n) โฟลเดอร์... - + Preparing to sync... กำลังเตรียมพร้อมในการประสานข้อมูล @@ -1033,12 +1073,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection เพิ่มโฟลเดอร์ที่ต้องการประสานข้อมูล - + Add Sync Connection เพิ่มการประสานข้อมูลให้ตรงกัน @@ -1114,14 +1154,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an คุณกำลังผสานข้อมูลไฟลืทั้งหมดอยู่แล้ว การผสานข้อมูลโฟลเดอร์อื่นๆ<b>ไม่</b>ได้รับการสนับสนุน หากคุณต้องการประสานข้อมูลหลายโฟลเดอร์ กรุณาลบการกำหนดค่าผสานข้อมูลโฟลเดอร์รากในปัจจุบัน - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - เลือกสิ่งที่จะประสานข้อมูล: คุณสามารถยกเลิกการเลือกโฟลเดอร์ย่อยรีโมทของหากคุณไม่ต้องการประสานข้อมูล - - OCC::FormatWarningsWizardPage @@ -1138,22 +1170,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway ไม่มี E-Tag ที่ได้รับจากเซิร์ฟเวอร์ กรุณาตรวจสอบ พร็อกซี่หรือเกตเวย์ - + We received a different E-Tag for resuming. Retrying next time. เราได้รับ E-Tag ที่แตกต่างกันสำหรับการทำงาน กรุณาลองอีกครั้งในเวลาถัดไป - + Server returned wrong content-range เซิร์ฟเวอร์ส่งคืนช่วงของเนื้อหาที่ผิด - + Connection Timeout หมดเวลาการเชื่อมต่อ @@ -1181,10 +1213,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an ขั้นสูง - + + Ask for confirmation before synchronizing folders larger than + ถามก่อนที่จะประสานข้อมูลกับโฟลเดอร์ที่มีขนาดใหญ่กว่า + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" เมกะไบต์ + + + Ask for confirmation before synchronizing external storages + ถามก่อนที่จะประสานข้อมูลกับพื้นที่จัดเก็บข้อมูลภายนอก + &Launch on System Startup @@ -1201,33 +1244,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an ใช้ไอคอนขาวดำ - + Edit &Ignored Files แก้ไขและละเว้นการแก้ไขไฟล์ - - Ask &confirmation before downloading folders larger than - ถามเพื่อยืนยันก่อนดาวน์โหลดโฟลเดอร์ที่มีขนาดใหญ่กว่า - - - + S&how crash reporter แสดงรายงานความผิดพลาด + - About เกี่ยวกับเรา - + Updates อัพเดท - + &Restart && Update และเริ่มต้นใหม่ && อัพเดท @@ -1401,7 +1439,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::MoveJob - + Connection timed out หมดเวลาการเชื่อมต่อ @@ -1550,23 +1588,23 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::NotificationWidget - + Created at %1 ถูกสร้างแล้วที่ %1 - + Closing in a few seconds... กำลังจะปิดในไม่กี่วินาที ... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' %1 ร้องขอล้มเหลวที่ %2 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' ได้เลือกแล้วที่ %2 @@ -1649,28 +1687,28 @@ for additional privileges during the process. เชื่อมต่อ... - + %1 folder '%2' is synced to local folder '%3' %1 โฟลเดอร์ '%2' ถูกประสานข้อมูลไปยังโฟลเดอร์ต้นทาง '%3' - + Sync the folder '%1' ประสานข้อมูลโฟลเดอร์ '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>คำเตือน:</strong> โฟลเดอร์ต้นทางจะต้องไม่ว่างเปล่า เลือกความละเอียด!</small></p> - + Local Sync Folder ประสานโฟลเดอร์ต้นทาง - - + + (%1) (%1) @@ -1896,7 +1934,7 @@ It is not advisable to use it. ไม่สามารถลบและสำรองข้อมูลโฟลเดอร์เพราะโฟลเดอร์หรือไฟล์ในนั้นจะเปิดในโปรแกรมอื่นอยู่ กรุณาปิดโฟลเดอร์หรือไฟล์และกดลองใหม่อีกครั้งหรือยกเลิกการติดตั้ง - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>ประสานข้อมูลโฟลเดอร์ต้นทาง %1 ได้ถูกสร้างขึ้นเรียบร้อยแล้ว!</b></font> @@ -1935,7 +1973,7 @@ It is not advisable to use it. OCC::PUTFileJob - + Connection Timeout หมดเวลาการเชื่อมต่อ @@ -1943,7 +1981,7 @@ It is not advisable to use it. OCC::PollJob - + Invalid JSON reply from the poll URL ตอบกลับ JSON ไม่ถูกต้องจาก URL แบบสำรวจความคิดเห็น @@ -1951,7 +1989,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database ข้อผิดพลาดในการเขียนข้อมูลเมตาไปยังฐานข้อมูล @@ -1959,22 +1997,22 @@ It is not advisable to use it. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! ไฟล์ %1 ไม่สามารถดาวน์โหลดได้เพราะชื่อไฟล์ต้นทางเหมือนกัน! - + The download would reduce free disk space below %1 การดาวน์โหลดจะลดพื้นที่ว่างในดิสก์ด้านล่าง %1 - + Free space on disk is less than %1 พื้นที่ว่างในดิสก์น้อยกว่า %1 - + File was deleted from server ไฟล์ถูกลบออกจากเซิร์ฟเวอร์ @@ -2007,17 +2045,17 @@ It is not advisable to use it. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; ฟื้นฟูล้มเหลว: %1 - + Continue blacklisting: ดำเนินการขึ้นบัญชีดำ: - + A file or folder was removed from a read only share, but restoring failed: %1 ไฟล์หรือโฟลเดอร์ที่ถูกลบออกจากส่วนการอ่านเพียงอย่างเดียว แต่ล้มเหลวในการฟื้นฟู: %1 @@ -2080,7 +2118,7 @@ It is not advisable to use it. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. ไฟล์ถูกลบออกจากการแชร์เพื่ออ่านเพียงอย่างเดียว ได้รับการกู้คืน @@ -2093,7 +2131,7 @@ It is not advisable to use it. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". รหัส HTTP ผิดพลาด โดยเซิร์ฟเวอร์คาดว่าจะได้รับรหัส 201 แต่กลับได้รับ "%1 %2" @@ -2106,17 +2144,17 @@ It is not advisable to use it. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. โฟลเดอร์นี้จะต้องไม่ถูกเปลี่ยนชื่อ มันจะถูกเปลี่ยนกลับไปใช้ชื่อเดิม - + This folder must not be renamed. Please name it back to Shared. โฟลเดอร์นี้จะต้องไม่ถูกเปลี่ยนชื่อ กรุณาตั้งชื่อมันให้เหมือนตอนที่แชร์ - + The file was renamed but is part of a read only share. The original file was restored. ไฟล์ที่ถูกเปลี่ยนชื่อ แต่เป็นส่วนหนึ่งของการแชร์เพื่ออ่านเพียงอย่างเดียว ไฟล์ต้นฉบับจะถูกกู้คืน @@ -2135,22 +2173,22 @@ It is not advisable to use it. OCC::PropagateUploadFileCommon - + File Removed ไฟล์ถูกลบไปแล้ว - + Local file changed during syncing. It will be resumed. ไฟล์ต้นทางถูกเปลี่ยนแปลงในระหว่างการซิงค์ มันจะกลับมา - + Local file changed during sync. ไฟล์ต้นทางถูกเปลี่ยนแปลงขณะกำลังประสานข้อมูล - + Error writing metadata to the database ข้อผิดพลาดในการเขียนข้อมูลเมตาไปยังฐานข้อมูล @@ -2158,32 +2196,32 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. บังคับให้ยกเลิกงานในการตั้งค่าการเชื่อมต่อ HTTP กับ Qt < 5.4.2 - + The local file was removed during sync. ไฟล์ต้นทางถูกลบออกในระหว่างการประสานข้อมูล - + Local file changed during sync. ไฟล์ต้นทางถูกเปลี่ยนแปลงขณะกำลังประสานข้อมูล - + Unexpected return code from server (%1) มีรหัสข้อผิดพลาดตอบกลับมาจากเซิร์ฟเวอร์ (%1) - + Missing File ID from server ไฟล์ไอดีได้หายไปจากเซิร์ฟเวอร์ - + Missing ETag from server ETag ได้หายไปจากเซิร์ฟเวอร์ @@ -2191,32 +2229,32 @@ It is not advisable to use it. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. บังคับให้ยกเลิกงานในการตั้งค่าการเชื่อมต่อ HTTP กับ Qt < 5.4.2 - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. ไฟล์ต้นทางได้ถูกแก้ไขแต่เป็นส่วนหนึ่งของการแชร์ให้สามารถอ่านได้อย่างเดียว มันถูกกู้คืนและการแก้ไขของคุณอยู่ในไฟล์ที่มีปัญหา - + Poll URL missing URL แบบสำรวจความคิดเห็นหายไป - + The local file was removed during sync. ไฟล์ต้นทางถูกลบออกในระหว่างการประสานข้อมูล - + Local file changed during sync. ไฟล์ต้นทางถูกเปลี่ยนแปลงขณะกำลังประสานข้อมูล - + The server did not acknowledge the last chunk. (No e-tag was present) เซิร์ฟเวอร์ไม่ยอมรับส่วนสุดท้าย (ไม่มี e-tag ในปัจจุบัน) @@ -2234,42 +2272,42 @@ It is not advisable to use it. ป้ายข้อความ - + Time เวลา - + File ไฟล์ - + Folder แฟ้มเอกสาร - + Action การกระทำ - + Size ขนาด - + Local sync protocol โปรโตคอลการประสานข้อมูลต้นทาง - + Copy คัดลอก - + Copy the activity list to the clipboard. คัดลอกรายชื่อกิจกรรมไปยังคลิปบอร์ด @@ -2310,51 +2348,41 @@ It is not advisable to use it. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - โฟลเดอร์ที่ไม่ถูกตรวจสอบจะถูก <b>ลบ</b> จากระบบแฟ้มต้นทางของคุณและจะไม่ประสานข้อมูลกับคอมพิวเตอร์เครื่องนี้อีกต่อไป - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - เลือกสิ่งที่ต้องการประสานข้อมูล: เลือกโฟลเดอร์ย่อยของรีโมทที่คุณต้องการประสานข้อมูล - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - เลือกสิ่งที่ต้องการประสานข้อมูล: ยกเลิกการเลือกโฟลเดอร์ย่อยของรีโมทที่คุณต้องการประสานข้อมูล - - - + Choose What to Sync เลือกสิ่งที่ต้องการประสานข้อมูล - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... กำลังโหลด ... - + + Deselect remote folders you do not wish to synchronize. + ไม่ต้องเลือกรีโมทโฟลเดอร์ที่คุณไม่ต้องการประสานข้อมูล + + + Name ชื่อ - + Size ขนาด - - + + No subfolders currently on the server. ไม่มีโฟลเดอร์ย่อยอยู่บนเซิร์ฟเวอร์ - + An error occurred while loading the list of sub folders. เกิดข้อผิดพลาดขณะโหลดรายชื่อของโฟลเดอร์ย่อย @@ -2658,7 +2686,7 @@ It is not advisable to use it. OCC::SocketApi - + Share with %1 parameter is ownCloud แชร์กับ %1 @@ -2865,275 +2893,285 @@ It is not advisable to use it. OCC::SyncEngine - + Success. เสร็จสิ้น - + CSync failed to load the journal file. The journal file is corrupted. CSync ไม่สามารถโหลดไฟล์เจอร์นัล ไฟล์เจอร์นัลได้รับความเสียหาย - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>ปลั๊กอิน %1 สำหรับ csync ไม่สามารถโหลดได้.<br/>กรุณาตรวจสอบความถูกต้องในการติดตั้ง!</p> - + CSync got an error while processing internal trees. CSync เกิดข้อผิดพลาดบางประการในระหว่างประมวลผล internal trees - + CSync failed to reserve memory. การจัดสรรหน่วยความจำ CSync ล้มเหลว - + CSync fatal parameter error. พบข้อผิดพลาดเกี่ยวกับ CSync fatal parameter - + CSync processing step update failed. การอัพเดทขั้นตอนการประมวลผล CSync ล้มเหลว - + CSync processing step reconcile failed. การอัพเดทขั้นตอนการประมวลผล CSync ล้มเหลว - + CSync could not authenticate at the proxy. CSync ไม่สามารถรับรองความถูกต้องที่พร็อกซี่ - + CSync failed to lookup proxy or server. CSync ไม่สามารถค้นหาพร็อกซี่บนเซิร์ฟเวอร์ได้ - + CSync failed to authenticate at the %1 server. CSync ล้มเหลวในการยืนยันสิทธิ์การเข้าใช้งานที่เซิร์ฟเวอร์ %1 - + CSync failed to connect to the network. CSync ล้มเหลวในการเชื่อมต่อกับเครือข่าย - + A network connection timeout happened. หมดเวลาการเชื่อมต่อเครือข่าย - + A HTTP transmission error happened. เกิดข้อผิดพลาดเกี่ยวกับ HTTP transmission - + The mounted folder is temporarily not available on the server โฟลเดอร์ที่ติดตั้งชั่วคราว ไม่สามารถใช้งานบนเซิร์ฟเวอร์ - + An error occurred while opening a folder เกิดข้อผิดพลาดบางอย่างขณะกำลังเปิดโฟลเดอร์ - + Error while reading folder. เกิดข้อผิดพลาดขณะกำลังอ่านโฟลเดอร์ - + File/Folder is ignored because it's hidden. ไฟล์/โฟลเดอร์ ที่ซ่อนอยู่จะถูกละเว้น - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() มีเพียง %1 ที่พร้อมใช้งาน คุณจำเป็นต้องมีไม่น้อยกว่า %2 เพื่อเริ่มใช้งาน - + Not allowed because you don't have permission to add parent folder ไม่ได้รับอนุญาต เพราะคุณไม่มีสิทธิ์ที่จะเพิ่มโฟลเดอร์หลัก - + Not allowed because you don't have permission to add files in that folder ไม่ได้รับอนุญาต เพราะคุณไม่มีสิทธิ์ที่จะเพิ่มไฟล์ในโฟลเดอร์นั้น - + CSync: No space on %1 server available. CSync: ไม่มีพื้นที่เหลือเพียงพอบนเซิร์ฟเวอร์ %1 - + CSync unspecified error. CSync ไม่สามารถระบุข้อผิดพลาดได้ - + Aborted by the user ยกเลิกโดยผู้ใช้ - - Filename contains invalid characters that can not be synced cross platform. - ชื่อไฟล์มีอักขระที่ไม่ถูกต้องจึงไม่สามารถประสานข้อมูลข้ามแพลตฟอร์ม - - - + CSync failed to access ล้มเหลวในการเข้าถึง CSync - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. CSync ผิดพลาด ไม่สามารถโหลดหรือสร้างไฟล์เจอร์นัล ให้แน่ใจว่าคุณได้อ่านและเขียนสิทธิ์ในการประสานโฟลเดอร์ต้นทาง - + CSync failed due to unhandled permission denied. CSync ล้มเหลวเนื่องจากการอนุญาตให้จัดการได้ถูกปฏิเสธ - + CSync tried to create a folder that already exists. CSync พยายามสร้างโฟลเดอร์ที่มีอยู่แล้ว - + The service is temporarily unavailable ไม่สามารถใช้บริการได้ชั่วคราว - + Access is forbidden ถูกปฏิเสธการเข้าถึง - + An internal error number %1 occurred. จำนวนข้อผิดพลาดภายในที่เกิดขึ้น %1 - + The item is not synced because of previous errors: %1 รายการจะไม่ถูกประสานข้อมูลเนื่องจากเกิดข้อผิดพลาดก่อนหน้านี้: %1 - + Symbolic links are not supported in syncing. ลิงค์สัญลักษณ์จะไม่ได้รับการสนับสนุนในการประสานข้อมูล - + File is listed on the ignore list. ไฟล์อยู่ในรายการที่ละเว้น - + + File names ending with a period are not supported on this file system. + ชื่อไฟล์ที่ลงท้ายด้วยระยะเวลา ยังไม่ได้รับการสนับสนุนบนระบบไฟล์นี้ + + + + File names containing the character '%1' are not supported on this file system. + ชื่อไฟล์ที่มีตัวอักษร '%1' ยังไม่ได้รับการสนับสนุนบนระบบไฟล์นี้ + + + + The file name is a reserved name on this file system. + ชื่อไฟล์นี้เป็นชื่อที่ถูกสงวนไว้ + + + Filename contains trailing spaces. ชื่อไฟล์มีช่องว่างต่อท้าย - + Filename is too long. ชื่อไฟล์ยาวเกินไป - + Stat failed. สถิติความล้มเหลว - + Filename encoding is not valid การเข้ารหัสชื่อไฟล์ไม่ถูกต้อง - + Invalid characters, please rename "%1" ตัวอักษรไม่ถูกต้อง โปรดเปลี่ยนชื่อ "%1" - + Unable to initialize a sync journal. ไม่สามารถเตรียมการประสานข้อมูลเจอร์นัล - + Unable to read the blacklist from the local database ไม่สามารถอ่านบัญชีดำจากฐานข้อมูลต้นทาง - + Unable to read from the sync journal. ไม่สามารถอ่านจากบันทึกการประสานข้อมูล - + Cannot open the sync journal ไม่สามารถเปิดการผสานข้อมูลเจอร์นัล - + File name contains at least one invalid character มีชื่อแฟ้มอย่างน้อยหนึ่งตัวอักษรที่ไม่ถูกต้อง - - + + Ignored because of the "choose what to sync" blacklist ถูกละเว้นเพราะ "ข้อมูลที่เลือกประสาน" ติดบัญชีดำ - + Not allowed because you don't have permission to add subfolders to that folder ไม่อนุญาติเพราะคุณไม่มีสิทธิ์ที่จะเพิ่มโฟลเดอร์ย่อยของโฟลเดอร์นั้น - + Not allowed to upload this file because it is read-only on the server, restoring ไม่อนุญาตให้อัพโหลดไฟล์นี้เพราะมันจะอ่านได้เพียงอย่างเดียวบนเซิร์ฟเวอร์ กำลังฟื้นฟู - - + + Not allowed to remove, restoring ไม่อนุญาตให้ลบเพราะกำลังฟื้นฟู - + Local files and share folder removed. ไฟล์ต้นทางและโฟลเดอร์ที่แชร์ถูกลบออก - + Move not allowed, item restored ไม่ได้รับอนุญาตให้ย้าย เพราะกำลังกู้คืนรายการ - + Move not allowed because %1 is read-only ไม่อนุญาตให้ย้ายเพราะ %1 จะอ่านได้เพียงอย่างเดียว - + the destination ปลายทาง - + the source แหล่งที่มา @@ -3157,17 +3195,17 @@ It is not advisable to use it. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>รุ่น %1 สำหรับข้อมูลเพิ่มเติมกรุณาเยี่ยมชม <a href='%2'>%3</a></p> - + <p>Copyright ownCloud GmbH</p> <p>ลิขสิทธิ์ ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>เผยแพร่โดย %1 และมีใบอนุญาตภายใต้ GNU General Public License (GPL) รุ่น 2.0 <br/>%2 และการลงทะเบียนโลโก้ %2 เครื่องหมายการค้าของ %1 ในประเทศสหรัฐอเมริกา ประเทศอื่นๆ หรือทั้งสองอย่าง</p> @@ -3417,10 +3455,10 @@ It is not advisable to use it. - - - - + + + + TextLabel ป้ายข้อความ @@ -3440,7 +3478,23 @@ It is not advisable to use it. เริ่มต้นทำความสะอาดการประสานข้อมูล (ลบโฟลเดอร์ต้นทาง) - + + Ask for confirmation before synchroni&zing folders larger than + ถามก่อนที่จะประสานข้อมูลกับโฟลเดอร์ที่มีขนาดใหญ่กว่า + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + เมกะไบต์ + + + + Ask for confirmation before synchronizing e&xternal storages + ถามก่อนที่จะประสานข้อมูลกับพื้นที่จัดเก็บข้อมูลภายนอก + + + Choose what to sync เลือกข้อมูลที่ต้องการประสาน @@ -3460,12 +3514,12 @@ It is not advisable to use it. และเก็บข้อมูลต้นทาง - + S&ync everything from server ผสานข้อมูลทุกอย่างจากเซิร์ฟเวอร์ - + Status message ข้อความสถานะ @@ -3506,7 +3560,7 @@ It is not advisable to use it. - + TextLabel ป้ายข้อความ @@ -3562,8 +3616,8 @@ It is not advisable to use it. - Server &Address - เซิร์ฟเวอร์และที่อยู่ + Ser&ver Address + ที่อยู่เซิฟเวอร์ @@ -3603,7 +3657,7 @@ It is not advisable to use it. QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3611,40 +3665,46 @@ It is not advisable to use it. QObject - + in the future ในอนาคต - + %n day(s) ago %n วันที่ผ่านมา - + %n hour(s) ago %n ชั่วโมงที่ผ่านมา - + now ตอนนี้ - + Less than a minute ago ไม่กี่นาทีที่ผ่านมา - + %n minute(s) ago %n นาทีที่ผ่านมา - + Some time ago บางเวลาที่ผ่านมา + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3669,37 +3729,37 @@ It is not advisable to use it. %L1 B - + %n year(s) %n ปี - + %n month(s) %n เดือน - + %n day(s) %n วัน - + %n hour(s) %n ชั่วโมง - + %n minute(s) %n นาที - + %n second(s) %n วินาที - + %1 %2 %1 %2 @@ -3720,7 +3780,7 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>ที่สร้างขึ้นจากการแก้ไข Git <a href="%1">%2</a> บน %3, %4 กำลังใช้ Qt %5, %6</small></p> diff --git a/translations/client_tr.ts b/translations/client_tr.ts index 0260a918a..be41611e5 100644 --- a/translations/client_tr.ts +++ b/translations/client_tr.ts @@ -106,12 +106,12 @@ Synchronize all - + Tümünü eşitle Synchronize none - + Hiçbirini eşitleme @@ -126,7 +126,7 @@ - + Cancel İptal @@ -163,12 +163,12 @@ Force sync now - + Şimdi eşitlemeye zorla Restart sync - + Eşitlemeyi yeniden başlat @@ -246,22 +246,32 @@ Giriş yap - - There are new folders that were not synchronized because they are too big: - Çok büyük olduklarından eşitlenmemiş yeni klasörler mevcut: + + There are folders that were not synchronized because they are too big: + - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal Hesap Silinmesini Onaylayın - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p><i>%1</i> hesabının bağlantısını kaldırmayı gerçekten istiyor musunuz?</p><p><b>Not:</b> Bu işlem herhangi bir dosyayı <b>silmeyecektir</b>.</p> - + Remove connection Bağlantıyı kaldır @@ -415,7 +425,7 @@ The list of unsynced items has been copied to the clipboard. - + Eşitlenmemiş ögelerin listesi panoya kopyalandı. @@ -521,6 +531,24 @@ Sertifika dosyaları (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database Veritabanına üstveri yazma hatası @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Bağlantı zaman aşımına uğradı @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Kullanıcı tarafından iptal edildi @@ -604,160 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. %1 yerel klasörü mevcut değil. - + %1 should be a folder but is not. %1 bir dizin olmalı, ancak değil. - + %1 is not readable. %1 okunabilir değil. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 kaldırıldı. - + %1 has been downloaded. %1 names a file. %1 indirildi. - + %1 has been updated. %1 names a file. %1 güncellendi. - + %1 has been renamed to %2. %1 and %2 name files. %1, %2 olarak adlandırıldı. - + %1 has been moved to %2. %1, %2 konumuna taşındı. - + %1 and %n other file(s) have been removed. %1 ve diğer %n dosya kaldırıldı.%1 ve diğer %n dosya kaldırıldı. - + %1 and %n other file(s) have been downloaded. %1 ve diğer %n dosya indirildi.%1 ve diğer %n dosya indirildi. - + %1 and %n other file(s) have been updated. '%1' ve diğer %n dosya güncellendi.%1 ve diğer %n dosya güncellendi. - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1, %2 olarak yeniden adlandırıldı ve %n diğer dosyanın adı değiştirildi.%1, %2 olarak yeniden adlandırıldı ve %n diğer dosyanın adı değiştirildi. - + %1 has been moved to %2 and %n other file(s) have been moved. %1, %2 konumuna taşındı ve %n diğer dosya taşındı.%1, %2 konumuna taşındı ve %n diğer dosya taşındı. - + %1 has and %n other file(s) have sync conflicts. %1 ve %n diğer dosya eşitleme çakışması bulunduruyor.%1 ve %n diğer dosya eşitleme çakışması bulunduruyor. - + %1 has a sync conflict. Please check the conflict file! %1 bir eşitleme çakışması bulunduruyor. Lütfen çakışan dosyayı kontrol edin! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 ve diğer %n dosya hatalar nedeniyle eşlenemedi. Ayrıntılar için ayıt dosyasına bakın.%1 ve diğer %n dosya hatalar nedeniyle eşlenemedi. Ayrıntılar için günlük dosyasına bakın. - + %1 could not be synced due to an error. See the log for details. %1 bir hata nedeniyle eşitlenemedi. Ayrıntılar için günlüğe bakın. - + Sync Activity Eşitleme Etkinliği - + Could not read system exclude file Sistem hariç tutulma dosyası okunamadı - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - %1 MB boyutundan daha büyük bir yeni klasör eklendi: %2\n -İndirmek istiyorsanız lütfen ayarlar bölümünden seçin. + + - - This sync would remove all the files in the sync folder '%1'. -This might be because the folder was silently reconfigured, or that all the files were manually removed. -Are you sure you want to perform this operation? - Bu eşitleme, yerel eşitleme klasörü '%1' içindeki tüm dosyaları kaldıracak. -Bu, klasörün sessizce yeniden yapılandırılması veya tüm dosyaların el ile kaldırılmış olmasından olabilir. -Bu işlemi gerçekleştirmek istediğinize emin misiniz? + + A folder from an external storage has been added. + + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Tüm Dosyalar Kaldırılsın mı? - + Remove all files Tüm dosyaları kaldır - + Keep files Dosyaları koru - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Yedek bulundu - + Normal Synchronisation Normal Eşitleme - + Keep Local Files as Conflict Çakışma Durumunda Yerel Dosyaları Tut @@ -765,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state Klasör durumu sıfırılanamadı - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Eski eşitleme günlüğü '%1' bulundu ancak kaldırılamadı. Başka bir uygulama tarafından kullanılmadığından emin olun. - + (backup) (yedek) - + (backup %1) (yedek %1) - + Undefined State. Tanımlanmamış Durum. - + Waiting to start syncing. Eşitlemenin başlanması bekleniyor. - + Preparing for sync. Eşitleme için hazırlanıyor. - + Sync is running. Eşitleme çalışıyor. - + Last Sync was successful. Son Eşitleme başarılı oldu. - + Last Sync was successful, but with warnings on individual files. Son eşitleme başarılıydı, ancak tekil dosyalarda uyarılar vardı. - + Setup Error. Kurulum Hatası. - + User Abort. Kullanıcı İptal Etti. - + Sync is paused. Eşitleme duraklatıldı. - + %1 (Sync is paused) %1 (Eşitleme duraklatıldı) - + No valid folder selected! Geçerli klasör seçilmedi! - + The selected path is not a folder! Seçilen yol bir klasör değil! - + You have no permission to write to the selected folder! Seçilen klasöre yazma izniniz yok! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! %1 yerel klasörü zaten bir eşitleme klasörü içermektedir. Lütfen farklı bir seçim yapın! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! %1 yerel klasörü zaten bir eşitleme klasörü içindedir. Lütfen farklı bir seçim yapın! - + 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! %1 yerel klasörü sembolik bağlantıdır. Bu bağlantının işaretlediği klasör zaten yapılandırılmış bir klasör içindedir. Lütfen farklı bir seçim yapın! @@ -896,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder Bir klasör eklemek için bağlı olmanız gerekir - + Click this button to add a folder to synchronize. Bir klasörü eşitlemeye dahil etmek için bu düğmeye tıklayın. - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. Sunucudan klasörlerin listesi yüklenirken hata oluştu. - + Signed out Oturum sonlandırıldı - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. Klasör ekleme devre dışı, çünkü şu anda bütün dosyalarınızı eşitliyorsunuz. Çoklu klasör eşitlemesi yapmak istiyorsanız, lütfen geçerli yapılandırılmış kök klasörünü silin. - + Fetching folder list from server... Sunucudan klasör listesi alınıyor... - + Checking for changes in '%1' %1 üzerindeki değişiklikler denetleniyor - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" %1 eşitleniyor - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) indirme %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) gönderme %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3/%4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" Kalan %5, %1/%2, dosya %3/%4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1/%2, %3/%4 dosya - + file %1 of %2 dosya %1/%2 - + Waiting... Bekleniyor... - + Waiting for %n other folder(s)... Diğer %n klasör bekleniyor...Diğer %n klasör bekleniyor... - + Preparing to sync... Eşitleme için hazırlanıyor... @@ -1030,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection Klasör Eşitleme Bağlantısı Ekle - + Add Sync Connection Eşitleme Bağlantısı Ekle @@ -1111,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an Zaten tüm dosyalarınızı eşitliyorsunuz. Farklı bir klasör eşitlemek <b>desteklenmiyor</b>. Eğer çoklu klasörleri eşitlemek isterseniz, lütfen şu anda yapılandırılmış kök klasör eşitlemesini kaldırın. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Ne Eşitleneceğini Seçin: Eşitlemek istemediğiniz uzak alt klasörlerin seçimini isteğe bağlı olarak kaldırabilirsiniz. - - OCC::FormatWarningsWizardPage @@ -1135,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Sunucudan E-Tag alınamadı, Vekil Sunucu/Ağ Geçidi'ni denetleyin. - + We received a different E-Tag for resuming. Retrying next time. Devam etmek üzere farklı bir E-Etiket aldık. Sonraki işlemde yeniden denenecek. - + Server returned wrong content-range Sunucu yanlış içerik aralığı döndürdü - + Connection Timeout Bağlantı Zaman Aşımı @@ -1178,10 +1208,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an Gelişmiş - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1198,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an İki &Renkli Simgeler Kullan - + Edit &Ignored Files Yoksayılan &Dosyaları Düzenle - - Ask &confirmation before downloading folders larger than - Bundan &daha büyük klasörlerin eşitlenmesi için onay iste: - - - + S&how crash reporter Ç&ökme bildiricisini göster + - About Hakkında - + Updates Güncellemeler - + &Restart && Update &Yeniden Başlat ve Güncelle @@ -1398,7 +1434,7 @@ Bir dizinin silinmesine engel oluyorsa silmeye izin verilen yerlerdeki ögeler s OCC::MoveJob - + Connection timed out Bağlantı zaman aşımına uğradı @@ -1547,23 +1583,23 @@ Bir dizinin silinmesine engel oluyorsa silmeye izin verilen yerlerdeki ögeler s OCC::NotificationWidget - + Created at %1 Oluşturulma %1 - + Closing in a few seconds... Saniyeler içinde kapatılıyor... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' %1 isteği %2 üzerinde başarısız oldu - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' %2 üzerinde '%1' seçildi @@ -1646,28 +1682,28 @@ for additional privileges during the process. Bağlan... - + %1 folder '%2' is synced to local folder '%3' %1 klasörü '%2', yerel '%3' klasörü ile eşitlendi - + Sync the folder '%1' '%1' klasörünü eşitle - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>Uyarı:</strong> Yerel klasör boş değil. Bir çözüm seçin!</small></p> - + Local Sync Folder Yerel Eşitleme Klasörü - - + + (%1) (%1) @@ -1793,7 +1829,7 @@ Kullanmanız önerilmez. Invalid URL - + Geçersiz URL @@ -1893,7 +1929,7 @@ Kullanmanız önerilmez. Klasör veya içerisindeki bir dosya farklı bir program içerisinde açık olduğundan, kaldırma ve yedekleme işlemi yapılamıyor. Lütfen klasör veya dosyayı kapatıp yeniden deneyin veya kurulumu iptal edin. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Yerel eşitleme klasörü %1 başarıyla oluşturuldu!</b></font> @@ -1932,7 +1968,7 @@ Kullanmanız önerilmez. OCC::PUTFileJob - + Connection Timeout Bağlantı Zaman Aşımı @@ -1940,7 +1976,7 @@ Kullanmanız önerilmez. OCC::PollJob - + Invalid JSON reply from the poll URL Getirme URL'sinden geçersiz JSON yanıtı @@ -1948,7 +1984,7 @@ Kullanmanız önerilmez. OCC::PropagateDirectory - + Error writing metadata to the database Veritabanına üstveri yazma hatası @@ -1956,22 +1992,22 @@ Kullanmanız önerilmez. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! %1 dosyası, yerel dosya adı çakışması nedeniyle indirilemiyor! - + The download would reduce free disk space below %1 Dosya indirimi boş disk alanını %1 altına düşürecektir - + Free space on disk is less than %1 Boş disk alanı %1 altında - + File was deleted from server Dosya sunucudan silindi @@ -2004,17 +2040,17 @@ Kullanmanız önerilmez. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Geri Yükleme Başarısız: %1 - + Continue blacklisting: Kara listeye devam et: - + A file or folder was removed from a read only share, but restoring failed: %1 Bir dosya veya dizin bir salt okunur paylaşımdan kaldırılmıştı, ancak geri yükleme başarısız oldu: %1 @@ -2077,7 +2113,7 @@ Kullanmanız önerilmez. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Dosya salt okunur bir paylaşımdan kaldırılmıştı. Geri yüklendi. @@ -2090,7 +2126,7 @@ Kullanmanız önerilmez. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Sunucudan yanlış HTTP kodu döndü. 201 bekleniyordu, ancak "%1 %2" geldi. @@ -2103,17 +2139,17 @@ Kullanmanız önerilmez. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Bu klasörün adı değiştirilmemelidir. Özgün adına geri dönüştürüldü. - + This folder must not be renamed. Please name it back to Shared. Bu klasörün adı değiştirilmemelidir. Lütfen Shared olarak geri adlandırın. - + The file was renamed but is part of a read only share. The original file was restored. Dosya adlandırıldı ancak salt okunur paylaşımın bir parçası. Özgün dosya geri yüklendi. @@ -2132,22 +2168,22 @@ Kullanmanız önerilmez. OCC::PropagateUploadFileCommon - + File Removed Dosya Kaldırıldı - + Local file changed during syncing. It will be resumed. Eşitleme sırasında yerel dosya değişti. Devam edilecek. - + Local file changed during sync. Eşitleme sırasında yerel dosya değişti. - + Error writing metadata to the database Veritabanına üstveri yazma hatası @@ -2155,32 +2191,32 @@ Kullanmanız önerilmez. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Qt < 5.4.2 ile HTTP bağlantı sıfırlamasında görev iptali zorlanıyor. - + The local file was removed during sync. Eşitleme sırasında yerel dosya kaldırıldı. - + Local file changed during sync. Eşitleme sırasında yerel dosya değişti. - + Unexpected return code from server (%1) - + (%1) Sunucusundan bilinmeyen dönüş kodu - + Missing File ID from server - + Missing ETag from server @@ -2188,32 +2224,32 @@ Kullanmanız önerilmez. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Qt < 5.4.2 ile HTTP bağlantı sıfırlamasında görev iptali zorlanıyor. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Dosya yerel olarak düzenlendi ancak salt okunur paylaşımın bir parçası. Geri yüklendi ve düzenlemeniz çakışan dosyada. - + Poll URL missing Getirme URL'si eksik - + The local file was removed during sync. Eşitleme sırasında yerel dosya kaldırıldı. - + Local file changed during sync. Eşitleme sırasında yerel dosya değişti. - + The server did not acknowledge the last chunk. (No e-tag was present) Sunucu son yığını onaylamadı. (Mevcut e-etiket bulunamadı) @@ -2231,42 +2267,42 @@ Kullanmanız önerilmez. MetinEtiketi - + Time Zaman - + File Dosya - + Folder Klasör - + Action Eylem - + Size Boyut - + Local sync protocol Yerel eşitleme protokolü - + Copy Kopyala - + Copy the activity list to the clipboard. Etkinlik listesini panoya kopyala. @@ -2307,51 +2343,41 @@ Kullanmanız önerilmez. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Seçilmemiş klasörler yerel dosya sisteminizden <b>silinecek</b> ve bir daha bu bilgisayarla eşitlenmeyecektir - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Ne Eşitleneceğini Seçin: Eşitlemek istediğiniz uzak alt klasörleri seçin. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Ne Eşitleneceğini Seçin: Eşitlemek istemediğiniz uzak alt klasörlerin seçimini kaldırın. - - - + Choose What to Sync Ne Eşitleneceğini Seçin - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Yükleniyor... - + + Deselect remote folders you do not wish to synchronize. + + + + Name Ad - + Size Boyut - - + + No subfolders currently on the server. Sunucuda şu anda alt dizin bulunmuyor. - + An error occurred while loading the list of sub folders. Alt klasör listesi alınırken bir hata oluştu. @@ -2541,7 +2567,7 @@ Kullanmanız önerilmez. Could not open email client - + E posta istemcisi açılamadı @@ -2655,7 +2681,7 @@ Kullanmanız önerilmez. OCC::SocketApi - + Share with %1 parameter is ownCloud %1 ile paylaş @@ -2864,275 +2890,285 @@ Kullanmanız önerilmez. OCC::SyncEngine - + Success. Başarılı. - + CSync failed to load the journal file. The journal file is corrupted. CSync günlük dosyasını yükleyemedi. Günlük dosyası bozuk. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Csync için %1 eklentisi yüklenemedi.<br/>Lütfen kurulumu doğrulayın!</p> - + CSync got an error while processing internal trees. CSync dahili ağaçları işlerken bir hata ile karşılaştı. - + CSync failed to reserve memory. CSync bellek ayıramadı. - + CSync fatal parameter error. CSync ciddi parametre hatası. - + CSync processing step update failed. CSync güncelleme süreç adımı başarısız. - + CSync processing step reconcile failed. CSync uzlaştırma süreç adımı başarısız. - + CSync could not authenticate at the proxy. CSync vekil sunucuda kimlik doğrulayamadı. - + CSync failed to lookup proxy or server. CSync bir vekil veya sunucu ararken başarısız oldu. - + CSync failed to authenticate at the %1 server. CSync %1 sunucusunda kimlik doğrularken başarısız oldu. - + CSync failed to connect to the network. CSync ağa bağlanamadı. - + A network connection timeout happened. Bir ağ zaman aşımı meydana geldi. - + A HTTP transmission error happened. Bir HTTP aktarım hatası oluştu. - + The mounted folder is temporarily not available on the server Bağlanan dizin geçici olarak sunucuda mevcut değil - + An error occurred while opening a folder Klasör açılırken bir hata oluştu - + Error while reading folder. Klasör okunurken hata oluştu. - + File/Folder is ignored because it's hidden. Dosya/Klasör gizli olduğu için yoksayıldı. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Sadece %1 mevcut, Çalıştırmak için en az %2 gerekmektedir - + Not allowed because you don't have permission to add parent folder Üst dizin ekleme yetkiniz olmadığından izin verilmedi - + Not allowed because you don't have permission to add files in that folder Bu klasöre dosya ekleme yetkiniz olmadığından izin verilmedi - + CSync: No space on %1 server available. CSync: %1 sunucusunda kullanılabilir alan yok. - + CSync unspecified error. CSync belirtilmemiş hata. - + Aborted by the user Kullanıcı tarafından iptal edildi - - Filename contains invalid characters that can not be synced cross platform. - Dosya adı platformlar arası eşitleme yapılamayacak geçersiz karakterler içeriyor. - - - + CSync failed to access CSync erişimde başarısız oldu - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. CSync, günlük dosyası yüklenemedi veya oluşturalamadı. Lütfen yerel eşitleme dizininde okuma ve yazma izinleriniz olduğundan emin olun. - + CSync failed due to unhandled permission denied. CSync ele alınmayan izin reddinden dolayı başarısız. - + CSync tried to create a folder that already exists. CSync, zaten mevcut olan bir klasör oluşturmaya çalıştı. - + The service is temporarily unavailable Hizmet geçiçi olarak kullanılamıyor - + Access is forbidden Erişim yasak - + An internal error number %1 occurred. %1 numaralı dahili bir hata oluştu - + The item is not synced because of previous errors: %1 Bu öge, önceki hatalardan dolayı eşitlenemiyor: %1 - + Symbolic links are not supported in syncing. Sembolik bağlantılar eşitlemede desteklenmiyor. - + File is listed on the ignore list. Dosya yoksayma listesinde. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. Dosya adı çok uzun. - + Stat failed. Durum alma başarısız. - + Filename encoding is not valid Dosya adı kodlaması geçerli değil - + Invalid characters, please rename "%1" Geçersiz karakterler, lütfen "%1" yerine yeni bir isim girin - + Unable to initialize a sync journal. Bir eşitleme günlüğü başlatılamadı. - + Unable to read the blacklist from the local database Yerel veritabanından kara liste okunamadı - + Unable to read from the sync journal. Eşitleme günlüğünden okunamadı. - + Cannot open the sync journal Eşitleme günlüğü açılamıyor - + File name contains at least one invalid character Dosya adı en az bir geçersiz karakter içeriyor - - + + Ignored because of the "choose what to sync" blacklist "Eşitlenecekleri seçin" kara listesinde olduğundan yoksayıldı. - + Not allowed because you don't have permission to add subfolders to that folder Bu dizine alt dizin ekleme yetkiniz olmadığından izin verilmedi - + Not allowed to upload this file because it is read-only on the server, restoring Sunucuda salt okunur olduğundan, bu dosya yüklenemedi, geri alınıyor - - + + Not allowed to remove, restoring Kaldırmaya izin verilmedi, geri alınıyor - + Local files and share folder removed. Yerel dosyalar ve paylaşım klasörü kaldırıldı. - + Move not allowed, item restored Taşımaya izin verilmedi, öge geri alındı - + Move not allowed because %1 is read-only %1 salt okunur olduğundan taşımaya izin verilmedi - + the destination hedef - + the source kaynak @@ -3156,17 +3192,17 @@ Kullanmanız önerilmez. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Sürüm %1. Daha fazla bilgi için lütfen <a href='%2'>%3</a> adresini ziyaret edin.</p> - + <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>%1 tarafından dağıtılmış ve GNU Genel Kamu Lisansı (GPL) Sürüm 2.0 ile lisanslanmıştır.<br/>%2 ve %2 logoları ABD ve/veya diğer ülkelerde %1 tescili markalarıdır.</p> @@ -3353,7 +3389,7 @@ Kullanmanız önerilmez. New account... - + Yeni hesap... @@ -3416,10 +3452,10 @@ Kullanmanız önerilmez. - - - - + + + + TextLabel MetinEtiketi @@ -3439,7 +3475,23 @@ Kullanmanız önerilmez. Temiz bir &eşitleme başlat (Yerel klasörü siler!) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Ne eşitleneceğini seçin @@ -3459,12 +3511,12 @@ Kullanmanız önerilmez. &Yerel veriyi sakla - + S&ync everything from server Sunucudaki her şeyi &eşitle - + Status message Durum iletisi @@ -3505,7 +3557,7 @@ Kullanmanız önerilmez. - + TextLabel MetinEtiketi @@ -3561,8 +3613,8 @@ Kullanmanız önerilmez. - Server &Address - Sunucu &Adresi + Ser&ver Address + @@ -3602,7 +3654,7 @@ Kullanmanız önerilmez. QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3610,40 +3662,46 @@ Kullanmanız önerilmez. QObject - + in the future gelecekte - + %n day(s) ago %n gün önce%n gün önce - + %n hour(s) ago %n saat önce%n saat önce - + now şimdi - + Less than a minute ago 1 dakika önce - + %n minute(s) ago %n dakika önce%n dakika önce - + Some time ago Bir süre önce + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3668,37 +3726,37 @@ Kullanmanız önerilmez. %L1 B - + %n year(s) %n yıl%n yıl - + %n month(s) %n ay%n ay - + %n day(s) %n gün%n gün - + %n hour(s) %n saat%n saat - + %n minute(s) %n dakika%n dakika - + %n second(s) %n saniye%n saniye - + %1 %2 %1 %2 @@ -3719,7 +3777,7 @@ Kullanmanız önerilmez. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small><a href="%1">%2</a> Git gözden geçirmesi ile %3, %4 tarihinde, Qt %5, %6 kullanılarak derlendi.</small></p> diff --git a/translations/client_uk.ts b/translations/client_uk.ts index 8c6b38508..76d42ec28 100644 --- a/translations/client_uk.ts +++ b/translations/client_uk.ts @@ -106,17 +106,17 @@ Synchronize all - + Синхронізувати все Synchronize none - + Не синхронізувати нічого Apply manual changes - + Застосувати ручні зміни @@ -126,7 +126,7 @@ - + Cancel Скасувати @@ -163,12 +163,12 @@ Force sync now - + Примусово синхронізувати зараз Restart sync - + Перезапустити синхронізацію @@ -246,22 +246,32 @@ Увійти - - There are new folders that were not synchronized because they are too big: + + There are folders that were not synchronized because they are too big: - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal Підтвердіть видалення облікового запису - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> - + Remove connection @@ -279,12 +289,12 @@ Resume sync - + Відновити синхронізацію Pause sync - + Призупинити синхронізацію @@ -521,6 +531,24 @@ Файли сертіфікатів (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out Час очікування з'єднання перевищено @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user Скасовано користувачем @@ -604,157 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. Локальна тека %1 не існує. - + %1 should be a folder but is not. - + %1 is not readable. %1 не читається. - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 видалено. - + %1 has been downloaded. %1 names a file. %1 завантажено. - + %1 has been updated. %1 names a file. %1 оновлено. - + %1 has been renamed to %2. %1 and %2 name files. %1 перейменовано на %2 - + %1 has been moved to %2. %1 переміщено в %2. - + %1 and %n other file(s) have been removed. - + %1 and %n other file(s) have been downloaded. - + %1 and %n other file(s) have been updated. - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. %1 не може синхронізуватися через помилки. Дивіться деталі в журналі. - + Sync Activity Журнал синхронізації - + Could not read system exclude file Неможливо прочитати виключений системний файл - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. + - - 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? + + A folder from an external storage has been added. + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? Видалити усі файли? - + Remove all files Видалити усі файли - + Keep files Зберегти файли - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected Резервну копію знайдено - + Normal Synchronisation - + Keep Local Files as Conflict @@ -762,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state Не вдалося скинути стан теки - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. Знайдено старий журнал синхронізації '%1', його неможливо видалити. Будь ласка, впевніться що він не відкритий в іншій програмі. - + (backup) (Резервна копія) - + (backup %1) (Резервна копія %1) - + Undefined State. Невизначений стан. - + Waiting to start syncing. - + Очікування початку синхронізації. - + Preparing for sync. Підготовка до синхронізації - + Sync is running. Синхронізація запущена. - + Last Sync was successful. Остання синхронізація була успішною. - + Last Sync was successful, but with warnings on individual files. Остання синхронізація пройшла вдало, але були зауваження про деякі файли. - + Setup Error. Помилка встановлення. - + User Abort. Скасовано користувачем. - + Sync is paused. Синхронізація призупинена. - + %1 (Sync is paused) %1 (Синхронізація призупинена) - + No valid folder selected! - + The selected path is not a folder! - + You have no permission to write to the selected folder! У вас немає прав на запис в цю теку! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! - + 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! @@ -893,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder - + Click this button to add a folder to synchronize. - + %1 (%2) Example text: "File.txt (23KB)" - + %1 (%2) - + Error while loading the list of folders from the server. - + Signed out Вийшов - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. - + Fetching folder list from server... - + Checking for changes in '%1' - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) - + завантаження %1/с - + u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) - + відвантаження %1/с - + u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 of %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" - + file %1 of %2 файл %1 з %2 - + Waiting... Очікування... - + Waiting for %n other folder(s)... - + Preparing to sync... @@ -1027,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection - + Add Sync Connection @@ -1108,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an Всі ваші файли синхронізуються. Синхронізація інших тек в цьому режимі <b>не</b> підтримується. Якщо вам необхідно синхронізувати декілька локальних каталогів, спочатку видаліть синхронізацію батьківської теки. - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - Оберіть, що Синхронізувати: Ви можете вимкнути синхронізацію для деяких підкаталогів. - - OCC::FormatWarningsWizardPage @@ -1132,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway Не отримано E-Tag від серверу, перевірте мережеві налаштування (проксі, шлюз) - + We received a different E-Tag for resuming. Retrying next time. Ми отримали інший E-Tag для відновлення. Спробуйте ще раз пізніше. - + Server returned wrong content-range Сервер повернув невірний content-range - + Connection Timeout Час з'єднання вичерпано @@ -1175,8 +1208,19 @@ Continuing the sync as normal will cause all your files to be overwritten by an Додатково - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing external storages @@ -1195,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an Використовувати &монохромні піктограми - + Edit &Ignored Files Редагувати &ігноровані файли - - Ask &confirmation before downloading folders larger than - Запитувати &підтвердження перед завантаженням тек більших за - - - + S&how crash reporter + - About Про - + Updates Оновлення - + &Restart && Update &Перезавантаження && Оновлення @@ -1393,7 +1432,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::MoveJob - + Connection timed out Час очікування з'єднання вичерпано @@ -1542,23 +1581,23 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::NotificationWidget - + Created at %1 - + Closing in a few seconds... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' @@ -1641,28 +1680,28 @@ for additional privileges during the process. Підключення ... - + %1 folder '%2' is synced to local folder '%3' %1 тека '%2' синхронізована з локальним каталогом '%3' - + Sync the folder '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> - + Local Sync Folder Локальна Тека для Синхронізації - - + + (%1) (%1) @@ -1788,7 +1827,7 @@ It is not advisable to use it. Invalid URL - + Невірний URL @@ -1888,7 +1927,7 @@ It is not advisable to use it. Неможливо видалити теку та створити її резервну копію, оскільки тека або файли, що в ній розташовані, використовуються. Будь ласка, закрийте всі програми, що можуть використовувати цю теку та спробуйте ще раз, або скасуйте встановлення. - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>Локальна тека синхронізації %1 успішно створена!</b></font> @@ -1927,7 +1966,7 @@ It is not advisable to use it. OCC::PUTFileJob - + Connection Timeout Час з'єднання вичерпано @@ -1935,7 +1974,7 @@ It is not advisable to use it. OCC::PollJob - + Invalid JSON reply from the poll URL Неправильна JSON відповідь на сформований URL @@ -1943,7 +1982,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database @@ -1951,24 +1990,24 @@ It is not advisable to use it. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! Файл %1 не може бути завантажено через локальний конфлікт назви файлу! - + The download would reduce free disk space below %1 - + Free space on disk is less than %1 - + File was deleted from server - + Файл видалено з сервера @@ -1999,17 +2038,17 @@ It is not advisable to use it. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; Відновлення не вдалося: %1 - + Continue blacklisting: Продовжити занесення до чорного списку: - + A file or folder was removed from a read only share, but restoring failed: %1 @@ -2072,7 +2111,7 @@ It is not advisable to use it. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. Файл видалено з опублікованої теки з правами тільки на перегляд. Файл відновлено. @@ -2085,7 +2124,7 @@ It is not advisable to use it. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". Сервер відповів неправильним HTTP кодом. Очікувався 201, але отримано "%1 %2". @@ -2098,17 +2137,17 @@ It is not advisable to use it. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. Цю теку не можна перейменувати. Буде використано старе ім'я. - + This folder must not be renamed. Please name it back to Shared. Цю теку не можна перейменувати. Будь ласка, поверніть їй ім'я Shared. - + The file was renamed but is part of a read only share. The original file was restored. Файл було перейменовано, але він розташований в теці з правами лише на перегляд. Відновлено оригінальний файл. @@ -2127,22 +2166,22 @@ It is not advisable to use it. OCC::PropagateUploadFileCommon - + File Removed Файл видалено - + Local file changed during syncing. It will be resumed. Локальний файл змінився під час синхронізації. Його буде відновлено. - + Local file changed during sync. Локальний файл змінився під час синхронізації. - + Error writing metadata to the database @@ -2150,32 +2189,32 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Примусове припинення завдання при скиданні HTTP з’єднання з Qt < 5.4.2. - + The local file was removed during sync. Локальний файл було видалено під час синхронізації. - + Local file changed during sync. Локальний файл змінився під час синхронізації. - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2183,32 +2222,32 @@ It is not advisable to use it. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Примусове припинення завдання при скиданні HTTP з’єднання з Qt < 5.4.2. - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. Файл було змінено локально, але він розташований в теці з правами лише на перегляд. Файл відновлено, а ваші зміни розташовані в теці конфліктів. - + Poll URL missing Не вистачає сформованого URL - + The local file was removed during sync. Локальний файл було видалено під час синхронізації. - + Local file changed during sync. Локальний файл змінився під час синхронізації. - + The server did not acknowledge the last chunk. (No e-tag was present) @@ -2226,42 +2265,42 @@ It is not advisable to use it. Мітка - + Time Час - + File Файл - + Folder Тека - + Action Дія - + Size Розмір - + Local sync protocol - + Copy Копіювати - + Copy the activity list to the clipboard. Скопіювати протокол синхронізації до буферу обміну. @@ -2281,7 +2320,7 @@ It is not advisable to use it. Proxy: - + Проксі: @@ -2302,51 +2341,41 @@ It is not advisable to use it. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - Не позначені теки будуть <b>видалені</b> з вашої системи та більше не будуть синхронізуватися - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - Оберіть що синхронізувати: Оберіть теки на віддаленому сервері, які б ви хотіли синхронізувати. - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - Оберіть що синхронізувати: Зніміть вибір з тек на віддаленому сервері, які ви не хочете синхронізувати. - - - + Choose What to Sync Оберіть, що хочете синхронізувати - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... Завантаження ... - - Name - Ім'я + + Deselect remote folders you do not wish to synchronize. + - + + Name + Ім’я + + + Size Розмір - - + + No subfolders currently on the server. На сервері зараз немає підтек. - + An error occurred while loading the list of sub folders. @@ -2650,7 +2679,7 @@ It is not advisable to use it. OCC::SocketApi - + Share with %1 parameter is ownCloud Поділитися з %1 @@ -2859,275 +2888,285 @@ It is not advisable to use it. OCC::SyncEngine - + Success. Успішно. - + CSync failed to load the journal file. The journal file is corrupted. CSync не вдалося завантажити файл журналу. Файл журналу пошкоджений. - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>Не вдалося завантажити плагін для синхронізації %1.<br/>Будь ласка, перевірте його встановлення!</p> - + CSync got an error while processing internal trees. У CSync виникла помилка під час сканування внутрішньої структури каталогів. - + CSync failed to reserve memory. CSync не вдалося зарезервувати пам'ять. - + CSync fatal parameter error. У CSync сталася фатальна помилка параметра. - + CSync processing step update failed. CSync не вдалася зробити оновлення . - + CSync processing step reconcile failed. CSync не вдалася зробити врегулювання. - + CSync could not authenticate at the proxy. CSync не вдалося аутентифікуватися на проксі-сервері. - + CSync failed to lookup proxy or server. CSync не вдалося знайти Проксі або Сервер. - + CSync failed to authenticate at the %1 server. CSync не вдалося аутентифікуватися на %1 сервері. - + CSync failed to connect to the network. CSync не вдалося приєднатися до мережі. - + A network connection timeout happened. Час під'єднання до мережі вичерпався. - + A HTTP transmission error happened. Сталася помилка передачі даних по HTTP. - + The mounted folder is temporarily not available on the server - + An error occurred while opening a folder - + Error while reading folder. - + File/Folder is ignored because it's hidden. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() Доступно лише %1, для початку необхідно хоча б %2 - + Not allowed because you don't have permission to add parent folder - + Not allowed because you don't have permission to add files in that folder - + CSync: No space on %1 server available. CSync: на сервері %1 скінчилося місце. - + CSync unspecified error. Невизначена помилка CSync. - + Aborted by the user Скасовано користувачем - - Filename contains invalid characters that can not be synced cross platform. - - - - + CSync failed to access CSync не вдалося отримати доступ - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. - + CSync failed due to unhandled permission denied. - + CSync tried to create a folder that already exists. - + The service is temporarily unavailable Служба тимчасово недоступна - + Access is forbidden Доступ заборонений - + An internal error number %1 occurred. Виникла внутрішня помилка за номером %1. - + The item is not synced because of previous errors: %1 Шлях не синхронізується через помилки: %1 - + Symbolic links are not supported in syncing. Синхронізація символічних посилань не підтримується. - + File is listed on the ignore list. Файл присутній у списку ігнорованих. - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. Шлях до файлу занадто довгий. - + Stat failed. - + Filename encoding is not valid Кодування файлу не припустиме - + Invalid characters, please rename "%1" - + Unable to initialize a sync journal. Не вдалося ініціалізувати протокол синхронізації. - + Unable to read the blacklist from the local database - + Unable to read from the sync journal. - + Cannot open the sync journal Не вдається відкрити протокол синхронізації - + File name contains at least one invalid character Ім’я файлу містить принаймні один некоректний символ - - + + Ignored because of the "choose what to sync" blacklist Ігнорується через чорний список в "обрати що синхронізувати" - + Not allowed because you don't have permission to add subfolders to that folder Заборонено через відсутність прав додавання підкаталогів в цю теку. - + Not allowed to upload this file because it is read-only on the server, restoring Не дозволено завантажувати цей файл, оскільки він має дозвіл лише на перегляд, відновлюємо - - + + Not allowed to remove, restoring Не дозволено видаляти, відновлюємо - + Local files and share folder removed. Локальні файли та теки в загальному доступі було видалено. - + Move not allowed, item restored Переміщення не дозволено, елемент відновлено - + Move not allowed because %1 is read-only Переміщення не дозволено, оскільки %1 помічений тільки для перегляду - + the destination призначення - + the source джерело @@ -3151,17 +3190,17 @@ It is not advisable to use it. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>Версія %1. Для отримання більш детальної інформації, будь ласка, відвідайте <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>Поширюється через %1 і під ліцензією GNU General Public License (GPL) версії 2.0<br/>%2 логотип %2 є зареєстрованими торговими марками %1 у Сполучених Штатах та інших країнах, або обох.</p> @@ -3348,7 +3387,7 @@ It is not advisable to use it. New account... - + Новий обліковий запис... @@ -3411,10 +3450,10 @@ It is not advisable to use it. - - - - + + + + TextLabel Мітка @@ -3434,7 +3473,23 @@ It is not advisable to use it. Почати синхронізацію &заново (Видалить локальну теку!) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync Оберіть, що хочете синхронізувати @@ -3454,12 +3509,12 @@ It is not advisable to use it. &Зберегти локальні дані - + S&ync everything from server Синхронізувати все з сервером - + Status message Повідомлення про статус @@ -3500,7 +3555,7 @@ It is not advisable to use it. - + TextLabel Мітка @@ -3556,8 +3611,8 @@ It is not advisable to use it. - Server &Address - &Адреса сервера + Ser&ver Address + @@ -3597,7 +3652,7 @@ It is not advisable to use it. QApplication - + QT_LAYOUT_DIRECTION @@ -3605,40 +3660,46 @@ It is not advisable to use it. QObject - + in the future - + у майбутньому - + %n day(s) ago - + %n hour(s) ago - + now зараз - + Less than a minute ago Менше хвилини тому - + %n minute(s) ago - + Some time ago Деякий час тому + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3663,37 +3724,37 @@ It is not advisable to use it. %L1 Б - + %n year(s) - + %n month(s) - + %n day(s) - + %n hour(s) - + %n minute(s) - + %n second(s) - + %1 %2 %1 %2 @@ -3714,7 +3775,7 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>Зібрано з Git ревізії <a href="%1">%2</a> %3, %4, використовуючи Qt %5, %6</small></p> diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts index 2ac209fbb..f6c10133e 100644 --- a/translations/client_zh_CN.ts +++ b/translations/client_zh_CN.ts @@ -126,7 +126,7 @@ - + Cancel 取消 @@ -246,22 +246,32 @@ 登录 - - There are new folders that were not synchronized because they are too big: - 部分新文件夹没有被同步,因为文件过大: + + There are folders that were not synchronized because they are too big: + - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal 确认删除账号 - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>你确定要删除账号的连接? <i>%1</i>?</p><p><b>Note:</b> 这 <b>不会</b> 删除任何文件</p> - + Remove connection 删除连接 @@ -521,6 +531,24 @@ 证书文件 (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database 向数据库写入元数据错误 @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out 连接超时 @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user 用户撤销 @@ -604,160 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. 本地文件夹 %1 不存在。 - + %1 should be a folder but is not. %1 应该是一个文件夹,但是它现在不是文件夹 - + %1 is not readable. %1 不可读。 - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 已移除。 - + %1 has been downloaded. %1 names a file. %1 已下载。 - + %1 has been updated. %1 names a file. %1 已更新。 - + %1 has been renamed to %2. %1 and %2 name files. %1 已更名为 %2。 - + %1 has been moved to %2. %1 已移动至 %2。 - + %1 and %n other file(s) have been removed. %1 和 %n 其它文件已被移除。 - + %1 and %n other file(s) have been downloaded. %1 和 %n 其它文件已下载。 - + %1 and %n other file(s) have been updated. %1 和 %n 其它文件已更新。 - + %1 has been renamed to %2 and %n other file(s) have been renamed. %1 已经更名为 %2,其它 %3 文件也已更名。 - + %1 has been moved to %2 and %n other file(s) have been moved. %1 已移动到 %2,其它 %3 文件也已移动。 - + %1 has and %n other file(s) have sync conflicts. %1 和 %n 其他文件有同步冲突。 - + %1 has a sync conflict. Please check the conflict file! %1 有同步冲突。请检查冲突文件! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. %1 和 %n 其他文件由于错误不能同步。详细信息请查看日志。 - + %1 could not be synced due to an error. See the log for details. %1 同步出错。详情请查看日志。 - + Sync Activity 同步活动 - + Could not read system exclude file 无法读取系统排除的文件 - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - 新文件夹 %2 添加成功,大于 %1 MB。 -请前往设置选择是否下载。 + + - - 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? - 这个同步将会移除在同步文件夹 %1 下的所有文件。 -这可能因为该文件夹被默默地重新配置过,或者所有的文件被手动地移除了。 -你确定执行该操作吗? + + A folder from an external storage has been added. + + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? 删除所有文件? - + Remove all files 删除所有文件 - + Keep files 保持所有文件 - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected 备份已删除 - + Normal Synchronisation 正常同步 - + Keep Local Files as Conflict 保留本地文件为冲突文件 @@ -765,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state 不能重置文件夹状态 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 一个旧的同步日志 '%1' 被找到,但是不能被移除。请确定没有应用程序正在使用它。 - + (backup) (备份) - + (backup %1) (备份 %1) - + Undefined State. 未知状态。 - + Waiting to start syncing. 等待启动同步。 - + Preparing for sync. 准备同步。 - + Sync is running. 同步正在运行。 - + Last Sync was successful. 最后一次同步成功。 - + Last Sync was successful, but with warnings on individual files. 上次同步已成功,不过一些文件出现了警告。 - + Setup Error. 安装失败 - + User Abort. 用户撤销。 - + Sync is paused. 同步已暂停。 - + %1 (Sync is paused) %1 (同步已暂停) - + No valid folder selected! 没有选择有效的文件夹! - + The selected path is not a folder! 选择的路径不是一个文件夹! - + You have no permission to write to the selected folder! 你没有写入所选文件夹的权限! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! 本地文件夹 %1 包含有正在使用的同步文件夹,请选择另一个! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! 本地文件夹 %1 是正在使用的同步文件夹,请选择另一个! - + 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! 选择的文件夹 %1 是一个符号连接,连接指向的是正在使用的同步文件夹,请选择另一个! @@ -896,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder 请先登录后再添加文件夹 - + Click this button to add a folder to synchronize. 点击选择进行同步的本地文件夹。 - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. 载入文件夹列表时发生错误。 - + Signed out 已登出 - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. 你已经设置同步了你的所有文件,无法同步另一文件夹。要同步多个文件夹,请取消当前设置的根文件夹同步。 - + Fetching folder list from server... 获取文件夹列表... - + Checking for changes in '%1' 在 %1 检查更改 - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" 正在同步 %1 - - + + , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) 下载 %1/s - + u2193 %1/s u2193 %1/秒 - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) 上传 %1/s - + u2191 %1/s u2191 %1/秒 - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 / %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" 剩余: %5,%1 / %2, 文件数量 %3 / %4 - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 of %2, file %3 of %4 - + file %1 of %2 第 %1 个文件,共 %2 个 - + Waiting... 请稍等... - + Waiting for %n other folder(s)... 等待 %n 个其他文件(文件夹) - + Preparing to sync... 准备同步... @@ -1030,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection 添加同步文件夹 - + Add Sync Connection 添加同步连接 @@ -1111,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an 你已经设置同步了你的所有文件,无法同步另一文件夹。要同步多个文件夹,请取消当前设置的根文件夹同步。 - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - 选择同步内容(取消选中不需同步的远程子文件夹) - - OCC::FormatWarningsWizardPage @@ -1135,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway 未能收到来自服务器的 E-Tag,请检查代理/网关 - + We received a different E-Tag for resuming. Retrying next time. 我们收到了不同的恢复 E-Tag,将在下次尝试。 - + Server returned wrong content-range 服务器返回了错误的内容长度 - + Connection Timeout 连接超时 @@ -1178,10 +1208,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an 高级 - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1198,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an 使用单色图标 - + Edit &Ignored Files 编辑忽略的文件 - - Ask &confirmation before downloading folders larger than - 提醒并需要我确认,当下载文件夹大于 - - - + S&how crash reporter 显示崩溃报告器 + - About 关于 - + Updates 更新 - + &Restart && Update 重启并更新 (&R) @@ -1398,7 +1434,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::MoveJob - + Connection timed out 连接超时 @@ -1547,24 +1583,24 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::NotificationWidget - + Created at %1 创建于 %1 - + Closing in a few seconds... 关闭几秒钟... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' %1 请求失败于 %2 - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' '%1' 选定于 %2 @@ -1647,28 +1683,28 @@ for additional privileges during the process. 连接... - + %1 folder '%2' is synced to local folder '%3' %1 文件夹 '%2' 将被同步到本地文件夹 '%3' - + Sync the folder '%1' 同步文件夹 %1 - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>警告:</strong> 本地目录非空。选择一个操作!</small></p> - + Local Sync Folder 本地同步文件夹 - - + + (%1) (%1) @@ -1893,7 +1929,7 @@ It is not advisable to use it. 无法移除和备份文件夹,由于文件夹或文件正在被另一程序占用。请关闭程序后重试,或取消安装。 - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>本地同步目录 %1 已成功创建</b></font> @@ -1932,7 +1968,7 @@ It is not advisable to use it. OCC::PUTFileJob - + Connection Timeout 连接超时 @@ -1940,7 +1976,7 @@ It is not advisable to use it. OCC::PollJob - + Invalid JSON reply from the poll URL 推送 URL 传来的 JSON 无效 @@ -1948,7 +1984,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database 向数据库写入元数据错误 @@ -1956,22 +1992,22 @@ It is not advisable to use it. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! 由于本地文件名冲突,文件 %1 无法下载。 - + The download would reduce free disk space below %1 下载将会使用 %1 的磁盘空间 - + Free space on disk is less than %1 空闲磁盘空间少于 %1 - + File was deleted from server 已从服务器删除文件 @@ -2004,17 +2040,17 @@ It is not advisable to use it. OCC::PropagateItemJob - + ; Restoration Failed: %1 ;恢复失败:%1 - + Continue blacklisting: 继续黑名单: - + A file or folder was removed from a read only share, but restoring failed: %1 文件(夹)移除了只读共享,但恢复失败:%1 @@ -2077,7 +2113,7 @@ It is not advisable to use it. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. 文件已经移除只读共享,并已经恢复。 @@ -2090,7 +2126,7 @@ It is not advisable to use it. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". 服务器返回的 HTTP 状态错误,应返回 201,但返回的是“%1 %2”。 @@ -2103,17 +2139,17 @@ It is not advisable to use it. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. 文件无法更名,已经恢复为原文件名。 - + This folder must not be renamed. Please name it back to Shared. 文件无法更名,请改回“Shared”。 - + The file was renamed but is part of a read only share. The original file was restored. 文件已经更名,但这是某个只读分享的一部分,原文件已经恢复。 @@ -2132,22 +2168,22 @@ It is not advisable to use it. OCC::PropagateUploadFileCommon - + File Removed 已移除文件 - + Local file changed during syncing. It will be resumed. 本地文件在同步时已修改,完成后会再次同步 - + Local file changed during sync. 本地文件在同步时已修改。 - + Error writing metadata to the database 向数据库写入元数据错误 @@ -2155,32 +2191,32 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Qt < 5.4.2 时强制中止连接重置。 - + The local file was removed during sync. 本地文件在同步时已删除。 - + Local file changed during sync. 本地文件在同步时已修改。 - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2188,32 +2224,32 @@ It is not advisable to use it. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. Qt < 5.4.2 时强制中止连接重置。 - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. 文件已经在本地修改,但这是某个只读分享的一部分,原文件已经恢复。您的修改已保存在冲突文件中。 - + Poll URL missing 缺少轮询 URL - + The local file was removed during sync. 本地文件在同步时已删除。 - + Local file changed during sync. 本地文件在同步时已修改。 - + The server did not acknowledge the last chunk. (No e-tag was present) 服务器未确认上一分块。(找不到 E-tag) @@ -2231,42 +2267,42 @@ It is not advisable to use it. 文本标签 - + Time 时间 - + File 文件 - + Folder 文件夹 - + Action 动作 - + Size 大小 - + Local sync protocol 本地同步协议 - + Copy 复制 - + Copy the activity list to the clipboard. 复制动态列表到剪贴板。 @@ -2307,51 +2343,41 @@ It is not advisable to use it. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - 取消选中的文件夹将会从本地<b>删除</b>,并不再同步到这台电脑上。 - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - 选择同步内容(选中需同步的远程子文件夹) - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - 选择同步内容(取消选中不需同步的远程子文件夹) - - - + Choose What to Sync 选择同步内容 - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... 加载中... - + + Deselect remote folders you do not wish to synchronize. + + + + Name 名称 - + Size 大小 - - + + No subfolders currently on the server. 这个服务器上暂不存在子文件夹。 - + An error occurred while loading the list of sub folders. 载入子文件夹列表时发生错误。 @@ -2655,7 +2681,7 @@ It is not advisable to use it. OCC::SocketApi - + Share with %1 parameter is ownCloud 使用 %1 共享 @@ -2864,275 +2890,285 @@ It is not advisable to use it. OCC::SyncEngine - + Success. 成功。 - + CSync failed to load the journal file. The journal file is corrupted. CSync同步无法载入日志文件。日志文件已损坏。 - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>csync 的 %1 插件不能加载。<br/>请校验安装!</p> - + CSync got an error while processing internal trees. CSync 在处理内部文件树时出错。 - + CSync failed to reserve memory. CSync 失败,内存不足。 - + CSync fatal parameter error. CSync 致命参数错误。 - + CSync processing step update failed. CSync 处理步骤更新失败。 - + CSync processing step reconcile failed. CSync 处理步骤调和失败。 - + CSync could not authenticate at the proxy. CSync 代理认证失败。 - + CSync failed to lookup proxy or server. CSync 无法查询代理或服务器。 - + CSync failed to authenticate at the %1 server. CSync 于 %1 服务器认证失败。 - + CSync failed to connect to the network. CSync 联网失败。 - + A network connection timeout happened. 网络连接超时。 - + A HTTP transmission error happened. HTTP 传输错误。 - + The mounted folder is temporarily not available on the server 该文件夹在服务器上不可用 - + An error occurred while opening a folder 打开目录失败 - + Error while reading folder. 读取目录时出错 - + File/Folder is ignored because it's hidden. 已忽略隐藏的文件和文件夹。 - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() 仅有 %1 有效,至少需要 %2 才能开始 - + Not allowed because you don't have permission to add parent folder 你没有权限增加父目录 - + Not allowed because you don't have permission to add files in that folder 你没有权限增加文件 - + CSync: No space on %1 server available. CSync:%1 服务器空间已满。 - + CSync unspecified error. CSync 未定义错误。 - + Aborted by the user 用户撤销 - - Filename contains invalid characters that can not be synced cross platform. - 文件包含无效字符无法跨平台同步。 - - - + CSync failed to access 访问 CSync 失败 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. Csync同步失败,请确定是否有本地同步目录的读写权 - + CSync failed due to unhandled permission denied. 出于未处理的权限拒绝,CSync 失败。 - + CSync tried to create a folder that already exists. CSync 尝试创建了已有的文件夹。 - + The service is temporarily unavailable 服务暂时不可用 - + Access is forbidden 访问被拒绝 - + An internal error number %1 occurred. 发生内部错误 %1 - + The item is not synced because of previous errors: %1 文件没有被同步因为之前的错误: %1 - + Symbolic links are not supported in syncing. 符号链接不被同步支持。 - + File is listed on the ignore list. 文件在忽略列表中。 - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. 文件名过长。 - + Stat failed. 状态失败。 - + Filename encoding is not valid 文件名编码无效 - + Invalid characters, please rename "%1" 无效的字符,请更改为 “%1” - + Unable to initialize a sync journal. 无法初始化同步日志 - + Unable to read the blacklist from the local database 无法从本地数据库读取黑名单 - + Unable to read from the sync journal. 无法读取同步日志。 - + Cannot open the sync journal 无法打开同步日志 - + File name contains at least one invalid character 文件名中存在至少一个非法字符 - - + + Ignored because of the "choose what to sync" blacklist 已忽略(“选择同步内容”黑名单) - + Not allowed because you don't have permission to add subfolders to that folder 你没有权限增加子目录 - + Not allowed to upload this file because it is read-only on the server, restoring 无法上传文件,因为服务器端此文件为只读,正在回退 - - + + Not allowed to remove, restoring 无法删除,正在回退 - + Local files and share folder removed. 本地文件和共享文件夹已被删除。 - + Move not allowed, item restored 无法移动,正在回退 - + Move not allowed because %1 is read-only 无法移动,%1为是只读的 - + the destination 目标 - + the source @@ -3156,17 +3192,17 @@ It is not advisable to use it. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>版本 %1。详情请见 <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> <p>%1 使用GNU通用公共许可证 (GPL) 2.0。<br/>%2 以及 %2 标识已由 %1 注册使用。</p> @@ -3416,10 +3452,10 @@ It is not advisable to use it. - - - - + + + + TextLabel 文本标签 @@ -3439,7 +3475,23 @@ It is not advisable to use it. 开始全新同步 (将清空本地文件夹!) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync 选择同步内容 @@ -3459,12 +3511,12 @@ It is not advisable to use it. 保留本地数据 (&K) - + S&ync everything from server 同步服务器的所有内容 (&S) - + Status message 状态信息 @@ -3505,7 +3557,7 @@ It is not advisable to use it. - + TextLabel 文本标签 @@ -3561,8 +3613,8 @@ It is not advisable to use it. - Server &Address - 服务器地址 (&A) + Ser&ver Address + @@ -3602,7 +3654,7 @@ It is not advisable to use it. QApplication - + QT_LAYOUT_DIRECTION QT_LAYOUT_DIRECTION @@ -3610,40 +3662,46 @@ It is not advisable to use it. QObject - + in the future 将来 - + %n day(s) ago %n 天前 - + %n hour(s) ago %n 小时前 - + now 现在 - + Less than a minute ago 刚刚 - + %n minute(s) ago %n 分钟前 - + Some time ago 之前 + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3668,37 +3726,37 @@ It is not advisable to use it. %L1 B - + %n year(s) %n 年 - + %n month(s) %n 月 - + %n day(s) %n 天 - + %n hour(s) %n 小时 - + %n minute(s) %n 分 - + %n second(s) %n 秒 - + %1 %2 %1 %2 @@ -3719,7 +3777,7 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>从 Git 版本 <a href="%1">%2</a> 在 %3 上构建, %4 使用了 Qt %5, %6</small></p> diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts index b13c3acf8..58af11494 100644 --- a/translations/client_zh_TW.ts +++ b/translations/client_zh_TW.ts @@ -126,7 +126,7 @@ - + Cancel 取消 @@ -246,22 +246,32 @@ 登入 - - There are new folders that were not synchronized because they are too big: - 有部份的資料夾因為容量太大沒有辦法同步: + + There are folders that were not synchronized because they are too big: + - + + There are folders that were not synchronized because they are external storages: + + + + + There are folders that were not synchronized because they are too big or external storages: + + + + Confirm Account Removal 確認移除帳號 - + <p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p> <p>您確定要中斷此帳號 <i>%1</i> 的連線?</p><p><b>注意:</b>此操作 <b>不會</b> 刪除任何的檔案。</p> - + Remove connection 移除連線 @@ -521,6 +531,24 @@ 憑證檔案 (*.p12 *.pfx) + + OCC::Application + + + Error accessing the configuration file + + + + + There was an error while accessing the configuration file at %1. + + + + + Quit ownCloud + + + OCC::AuthenticationDialog @@ -547,7 +575,7 @@ OCC::CleanupPollsJob - + Error writing metadata to the database 寫入後設資料(metadata) 時發生錯誤 @@ -588,7 +616,7 @@ OCC::DeleteJob - + Connection timed out 連線逾時 @@ -596,7 +624,7 @@ OCC::DiscoveryMainThread - + Aborted by the user 使用者中斷 @@ -604,160 +632,170 @@ OCC::Folder - + Local folder %1 does not exist. 本地資料夾 %1 不存在 - + %1 should be a folder but is not. 資料夾不存在, %1 必須是資料夾 - + %1 is not readable. %1 是不可讀的 - - %1: %2 - this displays an error string (%2) for a file %1 - %1: %2 - - - + %1 has been removed. %1 names a file. %1 已被移除。 - + %1 has been downloaded. %1 names a file. %1 已被下載。 - + %1 has been updated. %1 names a file. %1 已被更新。 - + %1 has been renamed to %2. %1 and %2 name files. %1 已被重新命名為 %2。 - + %1 has been moved to %2. %1 已被搬移至 %2。 - + %1 and %n other file(s) have been removed. %1 跟 %n 其他檔案已經被刪除 - + %1 and %n other file(s) have been downloaded. %1 跟 %n 其他檔案已經被下載 - + %1 and %n other file(s) have been updated. %1 跟 %n 其他檔案已經被修改 - + %1 has been renamed to %2 and %n other file(s) have been renamed. - + %1 has been moved to %2 and %n other file(s) have been moved. - + %1 has and %n other file(s) have sync conflicts. - + %1 has a sync conflict. Please check the conflict file! - + %1 and %n other file(s) could not be synced due to errors. See the log for details. - + %1 could not be synced due to an error. See the log for details. %1 因為錯誤無法被同步。請從紀錄檔觀看細節。 - + Sync Activity 同步活動 - + Could not read system exclude file 無法讀取系統的排除檔案 - + A new folder larger than %1 MB has been added: %2. -Please go in the settings to select it if you wish to download it. - 一個大於 %1 MB 的資料夾已經新增至: %2. -如果您想要下載它的話,請至設定中選取。 + + - - 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? - 這個動作會移除所有在同步資料夾 '%1' 內檔案。 -原因可能是這個資料夾已經被修改過或是所有檔案之前已經手動已除。 -您確定要執行這項動作? + + A folder from an external storage has been added. + + - + + Please go in the settings to select it if you wish to download it. + + + + + All files in the sync folder '%1' folder were deleted on the server. +These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore. +If you decide to keep the files, they will be re-synced with the server if you have rights to do so. +If you decide to delete the files, they will be unavailable to you, unless you are the owner. + + + + + All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored. +Are you sure you want to sync those actions with the server? +If this was an accident and you decide to keep your files, they will be re-synced from the server. + + + + Remove All Files? 移除所有檔案? - + Remove all files 移除所有檔案 - + Keep files 保留檔案 - + This sync would reset the files to an earlier time in the sync folder '%1'. This might be because a backup was restored on the server. Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files? - + Backup detected - + Normal Synchronisation - + Keep Local Files as Conflict @@ -765,112 +803,112 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderMan - + Could not reset folder state 無法重置資料夾狀態 - + An old sync journal '%1' was found, but could not be removed. Please make sure that no application is currently using it. 發現較舊的同步處理日誌'%1',但無法移除。請確認沒有應用程式正在使用它。 - + (backup) (備份) - + (backup %1) (備份 %1) - + Undefined State. 未知狀態 - + Waiting to start syncing. 正在等待同步開始 - + Preparing for sync. 正在準備同步。 - + Sync is running. 同步執行中 - + Last Sync was successful. 最後一次同步成功 - + Last Sync was successful, but with warnings on individual files. 最新一次的同步已經成功,但是有部份檔案有問題 - + Setup Error. 安裝失敗 - + User Abort. 使用者中斷。 - + Sync is paused. 同步已暫停 - + %1 (Sync is paused) %1 (同步暫停) - + No valid folder selected! 沒有選擇有效的資料夾 - + The selected path is not a folder! 所選的路徑並非資料夾! - + You have no permission to write to the selected folder! 您沒有權限來寫入被選取的資料夾! - + The local folder %1 contains a symbolic link. The link target contains an already synced folder Please pick another one! - + There is already a sync from the server to this local folder. Please pick another local folder! - + The local folder %1 already contains a folder used in a folder sync connection. Please pick another one! 本地資料夾 %1 裡已經有被資料夾同步功能使用的資料夾,請選擇其他資料夾! - + The local folder %1 is already contained in a folder used in a folder sync connection. Please pick another one! 本地資料夾 %1 是被包含在一個已經被資料夾同步功能使用的資料夾,請選擇其他資料夾! - + 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! 本地資料夾 %1 是一個捷徑,此捷徑的目標是被包含在一個已經被資料夾同步功能使用的資料夾,請選擇其他資料夾! @@ -896,133 +934,133 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderStatusModel - + You need to be connected to add a folder 您必須連上伺服器才能新增資料夾 - + Click this button to add a folder to synchronize. 點擊此按鈕來新增同步資料夾 - + %1 (%2) Example text: "File.txt (23KB)" %1 (%2) - + Error while loading the list of folders from the server. 從伺服器端同步資料夾清單時發生錯誤。 - + Signed out 已登出 - + Adding folder is disabled because you are already syncing all your files. If you want to sync multiple folders, please remove the currently configured root folder. 新增資料夾失敗,您已經同步您擁有的所有檔案,如果您想要同步多個資料夾,請移除當前設定的根目錄資料夾。 - + Fetching folder list from server... 從伺服器抓取資料夾清單中... - + Checking for changes in '%1' 檢查 '%1' 的變動 - + , '%1' Build a list of file names , '%1' - + '%1' Argument is a file name '%1' - + Syncing %1 Example text: "Syncing 'foo.txt', 'bar.txt'" 同步 %1 - - + + , , - + download %1/s Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated)) 下載 %1/s - + u2193 %1/s u2193 %1/s - + upload %1/s Example text: "upload 24Kb/s" (%1 is replaced by 24Kb (translated)) 上傳 %1/s - + u2191 %1/s u2191 %1/s - + %1 %2 (%3 of %4) Example text: "uploading foobar.png (2MB of 2MB)" %1 %2 (%3 的 %4) - + %1 %2 Example text: "uploading foobar.png" %1 %2 - + %5 left, %1 of %2, file %3 of %4 Example text: "5 minutes left, 12 MB of 345 MB, file 6 of 7" - + %1 of %2, file %3 of %4 Example text: "12 MB of 345 MB, file 6 of 7" %1 的 %2, 檔案 %3 的 %4 - + file %1 of %2 檔案 %1 的 %2 - + Waiting... 等待中... - + Waiting for %n other folder(s)... 正在等候 %n 的資料夾(可能不只一個) - + Preparing to sync... 正在準備同步... @@ -1030,12 +1068,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::FolderWizard - + Add Folder Sync Connection 新增資料夾同步功能的連線 - + Add Sync Connection 新增同步連線 @@ -1111,14 +1149,6 @@ Continuing the sync as normal will cause all your files to be overwritten by an 您已經同步了所有的檔案。同步另一個資料夾的功能是<b>不支援</b> 的。如果您想要同步多個資料夾,請移除目前設定的根目錄資料夾。 - - OCC::FolderWizardSelectiveSync - - - Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize. - 請選擇要同步的內容: 您可以選擇性的挑選您不想同步的子資料夾 - - OCC::FormatWarningsWizardPage @@ -1135,22 +1165,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an OCC::GETFileJob - + No E-Tag received from server, check Proxy/Gateway 沒有收到來自伺服器的 E-Tag,請檢查代理伺服器或網路閘道 - + We received a different E-Tag for resuming. Retrying next time. 在復原時收到了不同的 E-Tag,將在下一次重新嘗試取得 - + Server returned wrong content-range 伺服器回應錯誤的內容長度 - + Connection Timeout 連線逾時 @@ -1178,10 +1208,21 @@ Continuing the sync as normal will cause all your files to be overwritten by an 進階 - + + Ask for confirmation before synchronizing folders larger than + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" MB + + + Ask for confirmation before synchronizing external storages + + &Launch on System Startup @@ -1198,33 +1239,28 @@ Continuing the sync as normal will cause all your files to be overwritten by an 使用&單色圖示 - + Edit &Ignored Files 編輯&被忽略的檔案 - - Ask &confirmation before downloading folders larger than - 要求&確認資訊當下載的資料夾大於 - - - + S&how crash reporter &顯示意外回報器 + - About 關於 - + Updates 更新 - + &Restart && Update 重新啟動並更新 (&R) @@ -1398,7 +1434,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::MoveJob - + Connection timed out 連線逾時 @@ -1547,23 +1583,23 @@ Items where deletion is allowed will be deleted if they prevent a directory from OCC::NotificationWidget - + Created at %1 - + Closing in a few seconds... - + %1 request failed at %2 The second parameter is a time, such as 'failed at 09:58pm' - + '%1' selected at %2 The second parameter is a time, such as 'selected at 09:58pm' @@ -1647,28 +1683,28 @@ for additional privileges during the process. 連線中... - + %1 folder '%2' is synced to local folder '%3' %1 資料夾 '%2' 與本地資料夾 '%3' 同步 - + Sync the folder '%1' 同步資料夾 '%1' - + <p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p> <p><small><strong>警告:</strong> 本地端的資料夾不是空的. 請選擇解決方案!</small></p> - + Local Sync Folder 本地同步資料夾 - - + + (%1) (%1) @@ -1894,7 +1930,7 @@ It is not advisable to use it. 無法移除與備份此資料夾,因為有其他的程式正在使用其中的資料夾或者檔案。請關閉使用中的資料夾或檔案並重試或者取消設定。 - + <font color="green"><b>Local sync folder %1 successfully created!</b></font> <font color="green"><b>本地同步資料夾 %1 建立成功!</b></font> @@ -1933,7 +1969,7 @@ It is not advisable to use it. OCC::PUTFileJob - + Connection Timeout 連線逾時 @@ -1941,7 +1977,7 @@ It is not advisable to use it. OCC::PollJob - + Invalid JSON reply from the poll URL 不合法的JSON資訊從URL中回傳 @@ -1949,7 +1985,7 @@ It is not advisable to use it. OCC::PropagateDirectory - + Error writing metadata to the database 寫入後設資料(metadata) 時發生錯誤 @@ -1957,22 +1993,22 @@ It is not advisable to use it. OCC::PropagateDownloadFile - + File %1 can not be downloaded because of a local file name clash! 檔案 %1 無法被下載,因為本地端的檔案名稱已毀損! - + The download would reduce free disk space below %1 這次下載將會減少硬碟空間: %1 - + Free space on disk is less than %1 可用的硬碟空間已經少於 %1 - + File was deleted from server 檔案已從伺服器被刪除 @@ -2005,17 +2041,17 @@ It is not advisable to use it. OCC::PropagateItemJob - + ; Restoration Failed: %1 ; 重新儲存失敗 %1 - + Continue blacklisting: 持續的黑名單列表: - + A file or folder was removed from a read only share, but restoring failed: %1 檔案或目錄已經從只供讀取的分享中被移除,但是復原失敗: %1 @@ -2078,7 +2114,7 @@ It is not advisable to use it. OCC::PropagateRemoteDelete - + The file has been removed from a read only share. It was restored. 已復原從只供讀取的分享中被移除檔案 @@ -2091,7 +2127,7 @@ It is not advisable to use it. OCC::PropagateRemoteMkdir - + Wrong HTTP code returned by server. Expected 201, but received "%1 %2". 從伺服器端回傳錯誤的 HTTP 代碼, 預期是 201, 但是接收到的是 "%1 %2". @@ -2104,17 +2140,17 @@ It is not advisable to use it. OCC::PropagateRemoteMove - + This folder must not be renamed. It is renamed back to its original name. 這個資料夾不應該被更名,他已經被改回原本的名稱了。 - + This folder must not be renamed. Please name it back to Shared. 這個資料夾已經被分享,不應該被更名,請改回原本的名稱。 - + The file was renamed but is part of a read only share. The original file was restored. 檔案更名完成,但這檔案是只供讀取的分享,原始檔案已被還原 @@ -2133,22 +2169,22 @@ It is not advisable to use it. OCC::PropagateUploadFileCommon - + File Removed 檔案已移除 - + Local file changed during syncing. It will be resumed. 本地端的檔案在同步的過程中被更改,此檔案將會被還原。 - + Local file changed during sync. 本地端的檔案在同步過程中被更改。 - + Error writing metadata to the database 寫入後設資料(metadata) 時發生錯誤 @@ -2156,32 +2192,32 @@ It is not advisable to use it. OCC::PropagateUploadFileNG - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. HTTP連線工作被強制中斷,Qt版本< 5.4.2 - + The local file was removed during sync. 本地端的檔案在同步過程中被刪除。 - + Local file changed during sync. 本地端的檔案在同步過程中被更改。 - + Unexpected return code from server (%1) - + Missing File ID from server - + Missing ETag from server @@ -2189,32 +2225,32 @@ It is not advisable to use it. OCC::PropagateUploadFileV1 - + Forcing job abort on HTTP connection reset with Qt < 5.4.2. HTTP連線工作被強制中斷,Qt版本< 5.4.2 - + The file was edited locally but is part of a read only share. It is restored and your edit is in the conflict file. 檔案已經在本機上修改,但這檔案是只供讀取的分享,您的修改已還原並保存在衝突檔案中。 - + Poll URL missing 缺少輪詢的超連結 - + The local file was removed during sync. 本地端的檔案在同步過程中被刪除。 - + Local file changed during sync. 本地端的檔案在同步過程中被更改。 - + The server did not acknowledge the last chunk. (No e-tag was present) 伺服器不承認檔案的最後一個分割檔。(e-tag不存在) @@ -2232,42 +2268,42 @@ It is not advisable to use it. 文字標籤 - + Time 時間 - + File 檔案 - + Folder 資料夾 - + Action 動作 - + Size 大小 - + Local sync protocol 本機同步協定 - + Copy 複製 - + Copy the activity list to the clipboard. 複製活動列表到剪貼簿。 @@ -2308,51 +2344,41 @@ It is not advisable to use it. OCC::SelectiveSyncDialog - - Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore - 未標示的資料夾將會從這台電腦被 <b>刪除</b> 而且不會再被同步到這台電腦 - - - - Choose What to Sync: Select remote subfolders you wish to synchronize. - 請選擇要同步的內容: 您可以選擇想要同步的遠端子資料夾。 - - - - Choose What to Sync: Deselect remote subfolders you do not wish to synchronize. - 請選擇要同步的內容: 您可以不要點選不想同步的遠端子資料夾。 - - - + Choose What to Sync 選擇要同步的項目 - OCC::SelectiveSyncTreeView + OCC::SelectiveSyncWidget - + Loading ... 載入中… - + + Deselect remote folders you do not wish to synchronize. + + + + Name 名稱 - + Size 大小 - - + + No subfolders currently on the server. 目前沒有子資料夾在伺服器上。 - + An error occurred while loading the list of sub folders. @@ -2656,7 +2682,7 @@ It is not advisable to use it. OCC::SocketApi - + Share with %1 parameter is ownCloud 與 %1 分享 @@ -2865,275 +2891,285 @@ It is not advisable to use it. OCC::SyncEngine - + Success. 成功。 - + CSync failed to load the journal file. The journal file is corrupted. CSync 讀取歷程檔案失敗,歷程檔案已經損毀。 - + <p>The %1 plugin for csync could not be loaded.<br/>Please verify the installation!</p> <p>用於csync的套件%1</p> - + CSync got an error while processing internal trees. CSync 處理內部資料樹時發生錯誤 - + CSync failed to reserve memory. CSync 無法取得記憶體空間。 - + CSync fatal parameter error. CSync 參數錯誤。 - + CSync processing step update failed. CSync 處理步驟 "update" 失敗。 - + CSync processing step reconcile failed. CSync 處理步驟 "reconcile" 失敗。 - + CSync could not authenticate at the proxy. CSync 無法在代理伺服器認證。 - + CSync failed to lookup proxy or server. CSync 查詢代理伺服器或伺服器失敗。 - + CSync failed to authenticate at the %1 server. CSync 於伺服器 %1 認證失敗。 - + CSync failed to connect to the network. CSync 無法連接到網路。 - + A network connection timeout happened. 網路連線逾時。 - + A HTTP transmission error happened. HTTP 傳輸錯誤。 - + The mounted folder is temporarily not available on the server 掛載的資料夾暫時無法在伺服器上使用 - + An error occurred while opening a folder 開啟資料夾時發生錯誤。 - + Error while reading folder. 讀取資料夾時發生錯誤。 - + File/Folder is ignored because it's hidden. - + Only %1 are available, need at least %2 to start Placeholders are postfixed with file sizes using Utility::octetsToString() 目前僅有 %1 可以使用,至少需要 %2 才能開始 - + Not allowed because you don't have permission to add parent folder 拒絕此操作,您沒有新增母資料夾的權限。 - + Not allowed because you don't have permission to add files in that folder 拒絕此操作,您沒有新增檔案在此資料夾的權限。 - + CSync: No space on %1 server available. CSync:伺服器 %1 沒有可用空間。 - + CSync unspecified error. CSync 未知的錯誤。 - + Aborted by the user 使用者中斷 - - Filename contains invalid characters that can not be synced cross platform. - 檔案名稱含有非法的字元符號導致無法跨平台同步。 - - - + CSync failed to access CSync 存取失敗。 - + CSync failed to load or create the journal file. Make sure you have read and write permissions in the local sync folder. CSync 讀取或創建歷程檔案時失敗,請確定您在此本地資料夾有讀寫的權限。 - + CSync failed due to unhandled permission denied. CSync 失敗,由於權限未處理被拒。 - + CSync tried to create a folder that already exists. CSync 試圖建立一個已經存在的資料夾。 - + The service is temporarily unavailable 這個服務暫時無法使用。 - + Access is forbidden 存取被拒 - + An internal error number %1 occurred. 發生內部錯誤,錯誤代碼 %1。 - + The item is not synced because of previous errors: %1 因為先前的錯誤: %1 物件沒有同步成功 - + Symbolic links are not supported in syncing. 同步不支援捷徑連結 - + File is listed on the ignore list. 檔案被列在忽略清單。 - + + File names ending with a period are not supported on this file system. + + + + + File names containing the character '%1' are not supported on this file system. + + + + + The file name is a reserved name on this file system. + + + + Filename contains trailing spaces. - + Filename is too long. 檔案名稱太長了。 - + Stat failed. 狀態失敗。 - + Filename encoding is not valid 檔案名稱編碼是無效的 - + Invalid characters, please rename "%1" 無效的字元,請您重新命名 "%1" - + Unable to initialize a sync journal. 同步處理日誌無法初始化 - + Unable to read the blacklist from the local database - + Unable to read from the sync journal. - + Cannot open the sync journal 同步處理日誌無法開啟 - + File name contains at least one invalid character 檔案名稱含有不合法的字元 - - + + Ignored because of the "choose what to sync" blacklist 已忽略。根據 "選擇要同步的項目"的黑名單 - + Not allowed because you don't have permission to add subfolders to that folder 拒絕此操作,您沒有在此新增子資料夾的權限。 - + Not allowed to upload this file because it is read-only on the server, restoring 拒絕上傳此檔案,此檔案在伺服器是唯讀檔,復原中 - - + + Not allowed to remove, restoring 不允許刪除,復原中 - + Local files and share folder removed. 本地端檔案和共享資料夾已被刪除。 - + Move not allowed, item restored 不允許移動,物件復原中 - + Move not allowed because %1 is read-only 不允許移動,因為 %1 是唯讀的 - + the destination 目標 - + the source 來源 @@ -3157,17 +3193,17 @@ It is not advisable to use it. OCC::Theme - + <p>Version %1. For more information please visit <a href='%2'>%3</a>.</p> <p>版本 %1. 如欲得知更多資訊,請到此拜訪 <a href='%2'>%3</a>.</p> - + <p>Copyright ownCloud GmbH</p> - + <p>Distributed by %1 and licensed under the GNU General Public License (GPL) Version 2.0.<br/>%2 and the %2 logo are registered trademarks of %1 in the United States, other countries, or both.</p> @@ -3417,10 +3453,10 @@ It is not advisable to use it. - - - - + + + + TextLabel 文字標籤 @@ -3440,7 +3476,23 @@ It is not advisable to use it. 開始清除同步(將資料從本地端刪除) - + + Ask for confirmation before synchroni&zing folders larger than + + + + + MB + Trailing part of "Ask confirmation before syncing folder larger than" + MB + + + + Ask for confirmation before synchronizing e&xternal storages + + + + Choose what to sync 選擇要同步的項目 @@ -3460,12 +3512,12 @@ It is not advisable to use it. 保留本地資料 (&K) - + S&ync everything from server 從伺服器同步任何東西 (&Y) - + Status message 狀態訊息 @@ -3506,7 +3558,7 @@ It is not advisable to use it. - + TextLabel 文字標籤 @@ -3562,8 +3614,8 @@ It is not advisable to use it. - Server &Address - 伺服器位址 (&A) + Ser&ver Address + @@ -3603,7 +3655,7 @@ It is not advisable to use it. QApplication - + QT_LAYOUT_DIRECTION @@ -3611,40 +3663,46 @@ It is not advisable to use it. QObject - + in the future - + %n day(s) ago - + %n hour(s) ago - + now - + Less than a minute ago 不到一分鐘前 - + %n minute(s) ago - + Some time ago 前一段時間 + + + %1: %2 + this displays an error string (%2) for a file %1 + %1: %2 + Utility @@ -3669,37 +3727,37 @@ It is not advisable to use it. %L1 B - + %n year(s) - + %n month(s) - + %n day(s) - + %n hour(s) - + %n minute(s) - + %n second(s) - + %1 %2 %1 %2 @@ -3720,7 +3778,7 @@ It is not advisable to use it. ownCloudTheme::about() - + <p><small>Built from Git revision <a href="%1">%2</a> on %3, %4 using Qt %5, %6</small></p> <p><small>根據Git版本號<a href="%1">%2</a>在 %3建置, %4 使用了Qt %5,%6</small></p>